/**
 * Public marketing site — Atlas layer (scoped to .layout-public).
 * Loads after app.css + atlas-tokens.css.
 */

.layout-public {
  background: var(--atlas-background);
}

.layout-public .main-wrapper {
  color: var(--atlas-on-background);
  font-family: var(--font-atlas-body);
}

.layout-public .material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
}

.layout-public .main-wrapper h1,
.layout-public .main-wrapper .hero-title-primary,
.layout-public .main-wrapper .page-contact-headline,
.layout-public .main-wrapper .how-page-title {
  font-family: var(--font-atlas-display);
  letter-spacing: -0.02em;
}

/* Shared content width */
.layout-public .public-page {
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem 3rem;
}

.layout-public .public-page--narrow {
  max-width: 42rem;
}

.layout-public .public-page--wide {
  max-width: 72rem;
}

.layout-public .public-page__title {
  text-align: center;
  margin-bottom: 2rem;
  color: var(--atlas-on-background);
  font-family: var(--font-atlas-display);
  font-weight: 800;
}

.layout-public .public-surface-card,
.layout-public .terms-content,
.layout-public .public-page .card {
  background: var(--atlas-surface-container-lowest);
  border-radius: var(--atlas-radius-3xl);
  box-shadow: var(--atlas-ambient-shadow);
  border: 1px solid rgba(190, 201, 190, 0.22);
}

.layout-public .public-legal-prose {
  line-height: 1.75;
  padding: 2rem 1.5rem;
}

.layout-public .public-legal-prose h2 {
  color: var(--atlas-primary);
  font-family: var(--font-atlas-display);
  font-size: 1.15rem;
  margin: 2rem 0 0.75rem;
  font-weight: 700;
}

.layout-public .public-legal-prose h2:first-child {
  margin-top: 0;
}

.layout-public .public-legal-prose a {
  color: var(--atlas-primary);
  font-weight: 600;
}

.layout-public .public-for-businesses-section {
  padding: 2rem;
  margin-bottom: 2rem;
}

.layout-public .public-for-businesses-section h2 {
  color: var(--atlas-primary);
  font-family: var(--font-atlas-display);
  margin-bottom: 1rem;
  font-weight: 800;
}

.layout-public .public-for-businesses-section ul {
  line-height: 1.85;
  padding-left: 1.25rem;
  margin: 0;
  color: var(--atlas-on-surface-variant);
}

.layout-public .public-alert {
  padding: 0.9rem 1rem;
  border-radius: var(--atlas-radius-xl);
  margin-bottom: 1rem;
  font-size: 0.95rem;
}

.layout-public .public-alert--success {
  background: var(--atlas-secondary-container);
  color: var(--atlas-on-secondary-container);
  font-weight: 600;
}

.layout-public .public-alert--error {
  background: var(--atlas-error-container);
  color: var(--atlas-error);
}

.layout-public .public-form-stack label {
  display: block;
  margin-bottom: 0.4rem;
  font-weight: 600;
  color: var(--atlas-on-surface-variant);
  font-size: 0.9rem;
}

.layout-public .public-form-stack input[type="password"],
.layout-public .public-form-stack input[type="email"],
.layout-public .public-form-stack input[type="text"] {
  width: 100%;
  padding: 0.75rem 0.9rem;
  border: none;
  border-radius: var(--atlas-radius-xl);
  background: var(--atlas-surface-container-low);
  color: var(--atlas-on-surface);
  font-family: inherit;
  box-sizing: border-box;
  transition: box-shadow 0.2s ease, background 0.2s ease;
}

.layout-public .public-form-stack input:focus {
  outline: none;
  background: var(--atlas-surface-container);
  box-shadow: inset 0 -2px 0 0 var(--atlas-primary);
}

.layout-public .public-form-stack .field-hint {
  display: block;
  color: var(--atlas-on-surface-variant);
  font-size: 0.85rem;
  margin-top: 0.35rem;
}

.layout-public .public-form-stack .field-group {
  margin-bottom: 1.25rem;
}

.layout-public .public-auth-card {
  max-width: 32rem;
  margin: 3rem auto;
  padding: 0 1rem;
}

.layout-public .public-auth-card .card {
  padding: 1.75rem;
}

.layout-public .terms-page h1,
.layout-public .terms-page .public-page__title {
  text-align: center;
}

.layout-public .terms-content {
  margin-top: 2rem;
  padding: 2rem 1.5rem;
}

.layout-public .terms-content section h2 {
  font-family: var(--font-atlas-display);
  color: var(--atlas-primary);
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}

.layout-public .contact-form-card,
.layout-public .contact-success-card {
  border-radius: var(--atlas-radius-3xl);
}

.layout-public .page-login .btn-primary,
.layout-public .page-register .btn-primary,
.layout-public .page-forgot-password .btn-primary {
  border-radius: var(--atlas-radius-xl);
}

/* Public-page stabilization: improve readability/contrast without layout changes. */
.layout-public .main-wrapper.atlas-public-main {
  color: var(--atlas-on-background);
}

.layout-public .main-wrapper.atlas-public-main [class*="text-on-background/70"] {
  color: rgba(36, 26, 7, 0.82) !important;
}

.layout-public .main-wrapper.atlas-public-main [class*="text-outline"] {
  color: rgba(63, 73, 65, 0.92) !important;
}

.layout-public .main-wrapper.atlas-public-main details {
  background: var(--atlas-surface-container-lowest);
  border-color: rgba(111, 122, 112, 0.24);
}

.layout-public .main-wrapper.atlas-public-main input[type="text"],
.layout-public .main-wrapper.atlas-public-main input[type="email"],
.layout-public .main-wrapper.atlas-public-main input[type="search"] {
  color: var(--atlas-on-surface);
}

.layout-public .main-wrapper.atlas-public-main input::placeholder {
  color: rgba(63, 73, 65, 0.72);
}

/* Home hero search hardening: prevent global input rules from breaking icon/text alignment. */
.layout-public .home-hero-search-form {
  background: #ffffff;
  border-color: rgba(111, 122, 112, 0.26);
}

.layout-public .home-hero-search-field {
  background: #ffffff;
  border-radius: 999px;
}

.layout-public .home-hero-search-icon {
  z-index: 2;
  pointer-events: none;
}

.layout-public .main-wrapper.atlas-public-main input.home-hero-search-input[type="text"] {
  -webkit-appearance: none;
  appearance: none;
  min-height: 56px;
  height: 56px;
  border: 1px solid rgba(111, 122, 112, 0.42) !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 2px rgba(34, 27, 10, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  padding-left: 2.9rem !important;
  padding-right: 1rem !important;
  line-height: 1.2;
  color: var(--atlas-on-background) !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

/* ----- Public mobile correction pass (iPhone widths) ----- */
@media (max-width: 639px) {
  .layout-public .public-page {
    padding: 1.1rem 0.45rem 1.6rem;
  }

  .layout-public .main-wrapper h1,
  .layout-public .main-wrapper .hero-title-primary,
  .layout-public .main-wrapper .page-contact-headline,
  .layout-public .main-wrapper .how-page-title {
    font-size: clamp(1.5rem, 7vw, 2rem) !important;
    line-height: 1.16 !important;
    word-break: break-word;
  }

  .layout-public .main-wrapper h2 {
    font-size: clamp(1.2rem, 5.6vw, 1.55rem) !important;
    line-height: 1.2 !important;
  }

  .layout-public .main-wrapper p,
  .layout-public .main-wrapper li {
    line-height: 1.45;
  }

  .layout-public .public-legal-prose,
  .layout-public .terms-content,
  .layout-public .public-for-businesses-section,
  .layout-public .public-auth-card .card {
    padding: 0.85rem 0.65rem;
    border-radius: 12px;
    box-shadow: none;
  }

  .layout-public .public-surface-card,
  .layout-public .terms-content,
  .layout-public .public-page .card {
    border-radius: 12px;
    box-shadow: none;
  }

  .layout-public .main-wrapper > .public-page > .public-surface-card,
  .layout-public .main-wrapper > .public-page > .card,
  .layout-public .public-auth-card {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding-left: 0;
    padding-right: 0;
  }

  .layout-public .main-wrapper .btn,
  .layout-public .main-wrapper button,
  .layout-public .main-wrapper a.btn {
    min-height: 44px;
    white-space: normal;
    word-break: break-word;
  }

  .layout-public .main-wrapper [class*="pill"],
  .layout-public .main-wrapper [class*="chip"],
  .layout-public .main-wrapper [class*="tab"],
  .layout-public .main-wrapper [class*="filter"] {
    min-width: 0;
    white-space: normal;
  }

  .layout-public .main-wrapper input,
  .layout-public .main-wrapper select,
  .layout-public .main-wrapper textarea {
    font-size: 16px;
  }
}

.layout-public .main-wrapper.atlas-public-main input.home-hero-search-input[type="text"]:focus {
  border-color: rgba(196, 92, 46, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(196, 92, 46, 0.18) !important;
  outline: none !important;
}

/* Smartphone: no outer “pill” shell — stacked fields stay clearly visible (solid inputs). */
@media (max-width: 767px) {
  .layout-public .home-hero-search-form {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  .layout-public .home-hero-search-field {
    background: transparent;
    border-radius: 0;
  }

  .layout-public .main-wrapper.atlas-public-main input.home-hero-search-input[type="text"] {
    border-radius: 1rem !important;
    border: 1px solid rgba(111, 122, 112, 0.45) !important;
    box-shadow: 0 1px 3px rgba(34, 27, 10, 0.1) !important;
  }

  .layout-public .home-hero-search-submit {
    border-radius: 1rem !important;
  }
}

.layout-public .main-wrapper.atlas-public-main input.home-hero-search-input[type="text"]::placeholder {
  color: rgba(63, 73, 65, 0.72);
  opacity: 1;
}

.layout-public .home-hero-search-submit {
  min-height: 56px;
  border: 0;
  white-space: nowrap;
  background: var(--atlas-primary);
  color: var(--atlas-on-primary);
}

.layout-public .home-hero-search-submit:hover {
  background: var(--atlas-primary-container);
}

.layout-public .home-hero-quicklink {
  border-color: rgba(111, 122, 112, 0.35);
  color: var(--atlas-on-background);
  background: rgba(255, 255, 255, 0.8);
}

.layout-public .home-hero-quicklink:hover {
  border-color: var(--atlas-primary);
  color: var(--atlas-primary);
}

/* Shared public utility normalization for upgraded pages */
.layout-public .text-primary {
  color: var(--atlas-primary) !important;
}

.layout-public .text-on-primary {
  color: var(--atlas-on-primary) !important;
}

.layout-public .text-on-background {
  color: var(--atlas-on-background) !important;
}

.layout-public .text-on-surface {
  color: var(--atlas-on-surface) !important;
}

.layout-public .text-on-surface-variant {
  color: var(--atlas-on-surface-variant) !important;
}

.layout-public .text-outline {
  color: rgba(63, 73, 65, 0.92) !important;
}

.layout-public .text-outline-variant {
  color: rgba(111, 122, 112, 0.92) !important;
}

.layout-public .text-ink {
  color: var(--atlas-on-background) !important;
}

.layout-public .text-soft {
  color: rgba(63, 73, 65, 0.88) !important;
}

.layout-public .text-soft\/80 {
  color: rgba(63, 73, 65, 0.8) !important;
}

.layout-public .text-on-background\/70 {
  color: rgba(36, 26, 7, 0.82) !important;
}

.layout-public .text-primary\/60 {
  color: color-mix(in srgb, var(--atlas-primary) 60%, transparent) !important;
}

.layout-public .text-primary\/80 {
  color: color-mix(in srgb, var(--atlas-primary) 80%, transparent) !important;
}

.layout-public .text-green {
  color: var(--atlas-secondary) !important;
}

.layout-public .text-amber {
  color: #8a5c12 !important;
}

.layout-public .bg-background,
.layout-public .bg-surface {
  background-color: var(--atlas-background) !important;
}

.layout-public .bg-white,
.layout-public .bg-surface-container-lowest {
  background-color: var(--atlas-surface-container-lowest) !important;
}

.layout-public .bg-surface-container-low {
  background-color: var(--atlas-surface-container-low) !important;
}

.layout-public .bg-surface-container {
  background-color: var(--atlas-surface-container) !important;
}

.layout-public .bg-surface-container\/30 {
  background-color: color-mix(in srgb, var(--atlas-surface-container) 30%, transparent) !important;
}

.layout-public .bg-surface-container\/40 {
  background-color: color-mix(in srgb, var(--atlas-surface-container) 40%, transparent) !important;
}

.layout-public .bg-primary\/10 {
  background-color: color-mix(in srgb, var(--atlas-primary) 10%, transparent) !important;
}

.layout-public .bg-green\/10 {
  background-color: color-mix(in srgb, var(--atlas-secondary) 12%, transparent) !important;
}

.layout-public .bg-amber\/10 {
  background-color: rgba(138, 92, 18, 0.1) !important;
}

.layout-public .bg-black\/50 {
  background-color: rgba(0, 0, 0, 0.5) !important;
}

.layout-public .bg-surface-container-high {
  background-color: var(--atlas-surface-container-high) !important;
}

.layout-public .bg-surface-container-highest {
  background-color: var(--atlas-surface-container-highest) !important;
}

.layout-public .bg-card {
  background-color: var(--atlas-surface-container-lowest) !important;
}

.layout-public .bg-primary {
  background-color: var(--atlas-primary) !important;
  color: var(--atlas-on-primary);
}

.layout-public .bg-primary-container {
  background-color: var(--atlas-primary-container) !important;
  color: var(--atlas-on-primary);
}

.layout-public .bg-primary-dark {
  background-color: color-mix(in srgb, var(--atlas-primary) 86%, #000 14%) !important;
  color: var(--atlas-on-primary);
}

.layout-public .bg-tertiary {
  background-color: var(--atlas-secondary) !important;
  color: var(--atlas-on-secondary);
}

.layout-public .hover\:bg-primary-container:hover {
  background-color: var(--atlas-primary-container) !important;
}

.layout-public .hover\:text-primary:hover {
  color: var(--atlas-primary) !important;
}

.layout-public .hover\:border-primary:hover {
  border-color: var(--atlas-primary) !important;
}

.layout-public .border-outline-variant,
.layout-public .border-outline-variant\/10,
.layout-public .border-outline-variant\/20,
.layout-public .border-outline-variant\/30 {
  border-color: rgba(111, 122, 112, 0.28) !important;
}

.layout-public .border-primary\/10,
.layout-public .border-primary\/20 {
  border-color: color-mix(in srgb, var(--atlas-primary) 22%, transparent) !important;
}

.layout-public .border-line,
.layout-public .border-line\/70,
.layout-public .border-line\/80 {
  border-color: rgba(111, 122, 112, 0.28) !important;
}

/* Utility compatibility: if markup explicitly asks transparent/no-border, keep it. */
.layout-public input.bg-transparent.border-none,
.layout-public select.bg-transparent.border-none,
.layout-public textarea.bg-transparent.border-none {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Register page hardening (e.g. /driver/register): restore strong contrast. */
.layout-public .page-register > .max-w-6xl {
  position: relative;
  z-index: 1;
}

.layout-public .page-register::before {
  background:
    radial-gradient(ellipse 78% 58% at 14% 16%, rgba(26, 95, 74, 0.07) 0%, transparent 52%),
    radial-gradient(ellipse 70% 52% at 92% 82%, rgba(156, 63, 18, 0.06) 0%, transparent 48%),
    linear-gradient(180deg, rgba(255, 248, 242, 0.96) 0%, rgba(241, 231, 214, 0.94) 100%);
}

.layout-public .page-register .page-register-main {
  background: var(--atlas-surface-container-lowest) !important;
  border-color: rgba(111, 122, 112, 0.3) !important;
}

.layout-public .page-register .page-register-headline {
  color: var(--atlas-primary) !important;
}

.layout-public .page-register .page-register-subtext,
.layout-public .page-register .register-label,
.layout-public .page-register .register-legend,
.layout-public .page-register .register-role-hint,
.layout-public .page-register .register-field-hint,
.layout-public .page-register .register-login-prompt,
.layout-public .page-register .register-micro-trust {
  color: rgba(63, 73, 65, 0.9) !important;
}

.layout-public .page-register .register-role-title,
.layout-public .page-register .register-section-title {
  color: var(--atlas-on-background) !important;
}

.layout-public .page-register .register-role-desc {
  color: rgba(63, 73, 65, 0.86) !important;
}

.layout-public .page-register .register-role-card {
  border-color: rgba(111, 122, 112, 0.3) !important;
  background: var(--atlas-surface-container-lowest) !important;
}

.layout-public .page-register .register-role-card:has(.register-role-input:checked),
.layout-public .page-register .register-role-card.register-role-card--active {
  border-color: var(--atlas-secondary) !important;
  background: color-mix(in srgb, var(--atlas-secondary) 8%, white) !important;
}

.layout-public .page-register .register-driver-note {
  color: #2c5344 !important;
  background: color-mix(in srgb, var(--atlas-secondary) 10%, white) !important;
  border-color: color-mix(in srgb, var(--atlas-secondary) 28%, transparent) !important;
}

.layout-public .page-register .register-form input.register-field-input[type="email"],
.layout-public .page-register .register-form input.register-field-input[type="tel"],
.layout-public .page-register .register-form input.register-field-input[type="password"] {
  color: var(--atlas-on-surface) !important;
  background: var(--atlas-surface-container-lowest) !important;
  border-color: rgba(111, 122, 112, 0.34) !important;
}

.layout-public .page-register .register-form input.register-field-input[type="email"]:focus,
.layout-public .page-register .register-form input.register-field-input[type="tel"]:focus,
.layout-public .page-register .register-form input.register-field-input[type="password"]:focus {
  border-color: var(--atlas-secondary) !important;
  box-shadow: 0 0 0 3px rgba(0, 109, 56, 0.2) !important;
}

.layout-public .page-register .btn-register-submit {
  background: var(--atlas-primary) !important;
  color: var(--atlas-on-primary) !important;
}

.layout-public .page-register .btn-register-submit:not(:disabled):hover {
  background: var(--atlas-primary-container) !important;
}

/* Login page hardening: same fade/contrast issues as register */
.layout-public .page-login > .max-w-6xl {
  position: relative;
  z-index: 1;
}

.layout-public .page-login::before {
  background:
    radial-gradient(ellipse 78% 58% at 18% 16%, rgba(26, 95, 74, 0.07) 0%, transparent 52%),
    radial-gradient(ellipse 68% 50% at 88% 80%, rgba(156, 63, 18, 0.06) 0%, transparent 48%),
    linear-gradient(180deg, rgba(255, 248, 242, 0.96) 0%, rgba(241, 231, 214, 0.94) 100%);
}

.layout-public .page-login section.bg-card {
  background: var(--atlas-surface-container-lowest) !important;
  border-color: rgba(111, 122, 112, 0.3) !important;
}

.layout-public .page-login h1.text-primary {
  color: var(--atlas-primary) !important;
}

.layout-public .page-login .text-soft,
.layout-public .page-login label.text-soft,
.layout-public .page-login p.text-soft {
  color: rgba(63, 73, 65, 0.9) !important;
}

.layout-public .page-login .bg-green\/10 {
  background-color: color-mix(in srgb, var(--atlas-secondary) 12%, transparent) !important;
}

.layout-public .page-login .text-green {
  color: var(--atlas-secondary) !important;
}

.layout-public .page-login input[type="email"],
.layout-public .page-login input[type="password"] {
  color: var(--atlas-on-surface) !important;
  background: var(--atlas-surface-container-lowest) !important;
  border-color: rgba(111, 122, 112, 0.34) !important;
}

.layout-public .page-login input[type="email"]:focus,
.layout-public .page-login input[type="password"]:focus {
  border-color: var(--atlas-secondary) !important;
  box-shadow: 0 0 0 3px rgba(0, 109, 56, 0.2) !important;
}

.layout-public .page-login .btn-login-submit {
  background: var(--atlas-primary) !important;
  color: var(--atlas-on-primary) !important;
}

.layout-public .page-login .btn-login-submit:not(:disabled):hover {
  background: var(--atlas-primary-container) !important;
}

/* Forgot-password page hardening: align with login/register contrast baseline */
.layout-public .page-forgot-password > [class*="max-w-"] {
  position: relative;
  z-index: 1;
}

.layout-public .page-forgot-password::before {
  background:
    radial-gradient(ellipse 76% 56% at 20% 18%, rgba(26, 95, 74, 0.07) 0%, transparent 52%),
    radial-gradient(ellipse 66% 48% at 86% 78%, rgba(156, 63, 18, 0.06) 0%, transparent 48%),
    linear-gradient(180deg, rgba(255, 248, 242, 0.96) 0%, rgba(241, 231, 214, 0.94) 100%);
}

.layout-public .page-forgot-password .card-forgot {
  background: var(--atlas-surface-container-lowest) !important;
  border-color: rgba(111, 122, 112, 0.3) !important;
}

.layout-public .page-forgot-password .forgot-label,
.layout-public .page-forgot-password .forgot-security-note,
.layout-public .page-forgot-password .forgot-trust-line,
.layout-public .page-forgot-password .forgot-subtext,
.layout-public .page-forgot-password .page-forgot-subtext {
  color: rgba(63, 73, 65, 0.9) !important;
}

.layout-public .page-forgot-password .forgot-field-input[type="email"] {
  color: var(--atlas-on-surface) !important;
  background: var(--atlas-surface-container-lowest) !important;
  border-color: rgba(111, 122, 112, 0.34) !important;
}

.layout-public .page-forgot-password .forgot-field-input[type="email"]:focus {
  border-color: var(--atlas-secondary) !important;
  box-shadow: 0 0 0 3px rgba(0, 109, 56, 0.2) !important;
}

.layout-public .page-forgot-password .btn-forgot-submit,
.layout-public .page-forgot-password .btn-forgot-primary {
  background: var(--atlas-primary) !important;
  color: var(--atlas-on-primary) !important;
}

.layout-public .page-forgot-password .btn-forgot-submit:not(:disabled):hover,
.layout-public .page-forgot-password .btn-forgot-primary:hover {
  background: var(--atlas-primary-container) !important;
}

/* Contact page (modern template) stabilization */
.layout-public .page-contact-modern {
  color: var(--atlas-on-background);
}

.layout-public .page-contact-modern .text-on-surface-variant {
  color: rgba(63, 73, 65, 0.9) !important;
}

.layout-public .page-contact-modern .bg-surface-container-low,
.layout-public .page-contact-modern .bg-surface-container-highest {
  background-color: var(--atlas-surface-container-low) !important;
  border-color: rgba(111, 122, 112, 0.28) !important;
}

.layout-public .page-contact-modern input[type="text"],
.layout-public .page-contact-modern input[type="email"],
.layout-public .page-contact-modern textarea,
.layout-public .page-contact-modern select {
  color: var(--atlas-on-surface) !important;
  background: var(--atlas-surface-container-lowest) !important;
  border-color: rgba(111, 122, 112, 0.34) !important;
}

.layout-public .page-contact-modern input[type="text"]:focus,
.layout-public .page-contact-modern input[type="email"]:focus,
.layout-public .page-contact-modern textarea:focus,
.layout-public .page-contact-modern select:focus {
  border-color: var(--atlas-secondary) !important;
  box-shadow: 0 0 0 3px rgba(0, 109, 56, 0.2) !important;
}

/* Native <select> often ignores logical padding in RTL; use physical sides + explicit direction */
.layout-public.ltr .page-contact-modern .contact-topic-select {
  padding: 1rem 3.75rem 1rem 1rem !important;
  direction: ltr;
  text-align: left;
}

.layout-public.rtl .page-contact-modern .contact-topic-select {
  padding: 1rem 1rem 1rem 3.75rem !important;
  direction: rtl !important;
  text-align: right !important;
}

/* Chevron: pin to physical edge so it stays opposite the text start in both directions */
.layout-public.ltr .page-contact-modern .contact-topic-chevron {
  left: auto !important;
  right: 1rem !important;
}

.layout-public.rtl .page-contact-modern .contact-topic-chevron {
  right: auto !important;
  left: 1rem !important;
}

.layout-public .page-contact-modern button.bg-primary,
.layout-public .page-contact-modern .btn.btn-primary {
  background: var(--atlas-primary) !important;
  color: var(--atlas-on-primary) !important;
}

.layout-public .page-contact-modern button.bg-primary:hover,
.layout-public .page-contact-modern .btn.btn-primary:hover {
  background: var(--atlas-primary-container) !important;
}

/* Drivers page (modern template) stabilization */
.layout-public .page-drivers-modern {
  color: var(--atlas-on-background);
}

.layout-public .page-drivers-modern .text-on-surface-variant {
  color: rgba(63, 73, 65, 0.9) !important;
}

.layout-public .page-drivers-modern .bg-surface-container-low,
.layout-public .page-drivers-modern .bg-surface-container,
.layout-public .page-drivers-modern .bg-surface-container-lowest,
.layout-public .page-drivers-modern .bg-surface-container-high {
  border-color: rgba(111, 122, 112, 0.28) !important;
}

.layout-public .page-drivers-modern input[type="text"],
.layout-public .page-drivers-modern input[type="date"],
.layout-public .page-drivers-modern input[type="number"] {
  color: var(--atlas-on-surface) !important;
  background: var(--atlas-surface-container-lowest) !important;
  border-color: rgba(111, 122, 112, 0.34) !important;
}

.layout-public .page-drivers-modern input.bg-transparent.border-none[type="text"] {
  background: transparent !important;
  border: none !important;
}

.layout-public .page-drivers-modern input[type="text"]:focus,
.layout-public .page-drivers-modern input[type="date"]:focus,
.layout-public .page-drivers-modern input[type="number"]:focus {
  border-color: var(--atlas-secondary) !important;
  box-shadow: 0 0 0 3px rgba(0, 109, 56, 0.2) !important;
}

.layout-public .page-drivers-modern button.bg-primary {
  background: var(--atlas-primary) !important;
  color: var(--atlas-on-primary) !important;
}

.layout-public .page-drivers-modern button.bg-primary:hover {
  background: var(--atlas-primary-container) !important;
}
