/* GraceRace responsive production hardening */
html,body,#root{width:100%;max-width:100%;overflow-x:hidden}
*{box-sizing:border-box}
img,video,canvas,svg{max-width:100%}
img,video,canvas{height:auto}
main,section,article,aside,header,footer,nav,div{min-width:0}
.container,.gr-container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,3vw,2rem);padding-right:clamp(1rem,3vw,2rem)}
[data-slot="dialog-content"]{max-width:min(96vw,56rem)}
[data-slot="sheet-content"]{max-width:94vw}
.overflow-x-auto{-webkit-overflow-scrolling:touch}

@media (max-width:1023px){
  .gr-enhanced-hero{min-height:420px;background-position:66% center}
  .gr-enhanced-hero:before{background:linear-gradient(90deg,rgba(6,45,34,.97),rgba(6,45,34,.84) 60%,rgba(6,45,34,.46))}
  .gr-enhanced-hero.gr-light:before{background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.9) 60%,rgba(255,255,255,.56))}
  .gr-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gr-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gr-process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gr-faq-layout,.gr-faq-cta,.gr-about-story{grid-template-columns:1fr}
  .gr-faq-aside{position:static}
  .gr-about-image{min-height:320px}
}

@media (max-width:767px){
  body{font-size:15px}
  .container,.gr-container{padding-left:1rem!important;padding-right:1rem!important}
  header .container{min-height:4rem!important;padding-top:.45rem!important;padding-bottom:.45rem!important}
  header img.gr-brand-logo,header img[alt*="GraceRace"]{max-height:3rem!important;max-width:3rem!important}
  main>section{scroll-margin-top:4.5rem}
  .gr-enhanced-hero{min-height:360px;background-position:72% center}
  .gr-enhanced-hero:before{background:linear-gradient(90deg,rgba(6,45,34,.98),rgba(6,45,34,.9) 68%,rgba(6,45,34,.65))}
  .gr-enhanced-hero.gr-light:before{background:linear-gradient(90deg,rgba(255,255,255,.985),rgba(255,255,255,.94) 68%,rgba(255,255,255,.76))}
  .gr-hero-title{font-size:clamp(2.15rem,10vw,3.2rem);max-width:100%}
  .gr-hero-copy{font-size:1rem;line-height:1.65;max-width:95%}
  .gr-section{padding:3.25rem 0}
  .gr-grid-4,.gr-grid-3,.gr-grid-2,.gr-process,.gr-route-careers .gr-job-grid{grid-template-columns:1fr!important}
  .gr-card{padding:1.15rem}
  .gr-hero-actions{display:grid;grid-template-columns:1fr;gap:.65rem;width:100%}
  .gr-hero-actions .gr-btn{width:100%}
  .gr-pill-row{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.4rem;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem;scrollbar-width:none}
  .gr-pill-row::-webkit-scrollbar{display:none}
  .gr-pill{flex:0 0 auto;white-space:nowrap}
  .gr-faq-cta{padding:1.25rem}
  .gr-faq-list [data-slot="accordion-item"]{padding:0 .9rem!important}
  .gr-faq-list [data-slot="accordion-trigger"]{font-size:.95rem!important}
  footer .container.grid{grid-template-columns:1fr!important;gap:2rem!important;padding-top:2.5rem!important;padding-bottom:2.5rem!important}
  footer .container .flex.items-center{align-items:flex-start}
  footer form .flex{flex-direction:column}
  footer form button{width:100%}
  [role="tablist"]{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden;padding:.25rem!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  [role="tablist"]::-webkit-scrollbar{display:none}
  [role="tab"]{flex:0 0 auto!important;white-space:nowrap}
  [data-slot="card-header"]{padding:1rem!important}
  [data-slot="card-content"]{padding-left:1rem!important;padding-right:1rem!important}
  [data-slot="dialog-content"]{width:calc(100vw - 1rem)!important;max-width:calc(100vw - 1rem)!important;max-height:92vh!important;padding:1rem!important;overflow-y:auto!important}
  [data-slot="alert-dialog-content"]{width:calc(100vw - 1rem)!important;max-width:calc(100vw - 1rem)!important}
  table{font-size:.82rem}
  th,td{white-space:nowrap}
  input,select,textarea,button{font-size:16px}
  button,a,[role="button"]{touch-action:manipulation}
  .recharts-responsive-container{min-height:250px}
  .fixed.inset-y-0.w-72{width:min(18rem,88vw)!important}
  .lg\:pl-72{padding-left:0!important}
  header.sticky .text-xl{font-size:1rem!important}
  header.sticky p.text-xs{max-width:56vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  header.sticky a[href="/dashboard"]{padding-left:.6rem!important;padding-right:.6rem!important}
  header.sticky a[href="/dashboard"] svg{margin-right:0!important}
  header.sticky a[href="/dashboard"]{font-size:0!important}
  header.sticky a[href="/dashboard"] svg{font-size:initial!important}
  .flex-row.items-center.justify-between{flex-wrap:wrap}
}

@media (max-width:479px){
  .gr-enhanced-hero{min-height:335px}
  .gr-hero-title{font-size:2.05rem}
  .gr-section h2,.gr-faq-section-title h2,.gr-faq-cta h2{font-size:1.85rem}
  .gr-card{border-radius:.85rem}
  .gr-about-image{min-height:240px}
  .gr-route-faq .gr-faq-enhanced{padding-top:2.5rem!important;padding-bottom:3rem!important}
  [data-slot="card-header"] h3,[data-slot="card-title"]{font-size:1rem}
  .grid.sm\:grid-cols-2,.grid.sm\:grid-cols-3,.grid.lg\:grid-cols-2,.grid.lg\:grid-cols-3,.grid.lg\:grid-cols-4{grid-template-columns:1fr!important}
}

@media (min-width:1440px){
  .container,.gr-container{max-width:1360px}
}

/* Public navigation hardening */
.gr-public-nav-shell{position:sticky;top:0;z-index:60}
.gr-public-nav-shell .gr-brand-logo,
.gr-public-nav-shell .gr-public-nav-container>a img,
.gr-public-nav-shell .gr-public-nav-container img[alt*="GraceRace"]{
  width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain!important;border-radius:9999px!important;flex:none!important
}
.gr-public-nav-shell .gr-public-nav-container{min-height:64px!important;padding-top:6px!important;padding-bottom:6px!important}
.gr-public-nav-shell .gr-public-nav-container>a{gap:.65rem!important;min-width:0!important}
.gr-public-nav-shell .gr-public-nav-container>a .font-serif{font-size:1.05rem!important;line-height:1!important;white-space:nowrap!important}
.gr-mobile-nav-panel{display:none}
@media(max-width:1199px){
  .gr-public-nav-shell .gr-public-nav-container{min-height:60px!important}
  .gr-public-nav-shell .gr-brand-logo,
  .gr-public-nav-shell .gr-public-nav-container>a img,
  .gr-public-nav-shell .gr-public-nav-container img[alt*="GraceRace"]{width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important}
  .gr-public-nav-shell .gr-public-nav-container>a .font-serif{font-size:.98rem!important}
  .gr-mobile-nav-panel{display:block;position:absolute;left:0;right:0;top:100%;z-index:70;border-top:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.99);box-shadow:0 18px 36px rgba(15,23,42,.14);backdrop-filter:blur(12px)}
  .gr-mobile-nav-panel[hidden]{display:none!important}
  .gr-mobile-nav-inner{width:100%;max-height:calc(100vh - 60px);overflow-y:auto;padding:.75rem 1rem 1rem}
  .gr-mobile-nav-inner nav{display:grid;gap:.15rem}
  .gr-mobile-nav-inner nav a{display:block;border-radius:.65rem;padding:.72rem .85rem;color:#334155;font-size:.94rem;font-weight:650;text-decoration:none}
  .gr-mobile-nav-inner nav a:hover,.gr-mobile-nav-inner nav a:focus-visible{background:#f1f5f3;color:#0b5a3c;outline:none}
  .gr-mobile-nav-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e5e7eb}
  .gr-mobile-nav-actions a{display:flex;min-height:42px;align-items:center;justify-content:center;border-radius:.6rem;padding:.65rem .75rem;font-size:.9rem;font-weight:700;text-decoration:none}
  .gr-mobile-nav-primary{grid-column:1/-1;background:#0b5a3c;color:#fff}
  .gr-mobile-nav-secondary{border:1px solid #d1d5db;color:#0f172a;background:#fff}
  .dark .gr-mobile-nav-panel{background:rgba(15,23,42,.99);border-color:rgba(255,255,255,.08)}
  .dark .gr-mobile-nav-inner nav a{color:#e2e8f0}.dark .gr-mobile-nav-inner nav a:hover{background:rgba(255,255,255,.06);color:#fff}
  .dark .gr-mobile-nav-secondary{background:transparent;color:#f8fafc;border-color:#475569}
}
@media(max-width:480px){
  .gr-public-nav-shell .gr-public-nav-container>a .font-serif{font-size:.92rem!important}
  .gr-mobile-nav-actions{grid-template-columns:1fr}
  .gr-mobile-nav-primary{grid-column:auto}
}
footer img.gr-brand-logo,footer img[alt*="GraceRace"]{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;object-fit:contain!important;border-radius:9999px!important}

@media(max-width:1199px){
  .gr-public-nav-shell .gr-desktop-nav{display:none!important}
  .gr-public-nav-shell .gr-mobile-menu-trigger{display:inline-flex!important;visibility:visible!important}
  .gr-public-nav-shell .gr-public-nav-container>div a[href="/register"],
  .gr-public-nav-shell .gr-public-nav-container>div a[href="/login"],
  .gr-public-nav-shell .gr-public-nav-container>div a[href="/book"],
  .gr-public-nav-shell .gr-public-nav-container>div a[href="/contact"]{display:none!important}
}
@media(min-width:1200px){.gr-public-nav-shell .gr-mobile-menu-trigger{display:none!important}.gr-mobile-nav-panel{display:none!important}}
