/* Zoey Transportation V3.7.6 — Customer UI Refresh */
:root{
  --zt-gold:#d7b34b;
  --zt-gold-soft:#f7edc5;
  --zt-ink:#17181c;
  --zt-muted:#667085;
  --zt-surface:#ffffff;
  --zt-line:rgba(23,24,28,.12);
  --zt-shadow:0 18px 48px rgba(15,23,42,.10);
  --zt-radius:22px;
}
html{scroll-behavior:smooth}
body:not(.portal-body){background:linear-gradient(180deg,#15191E 0%,#15191E 100%);text-rendering:optimizeLegibility}
body.portal-body{text-rendering:optimizeLegibility}
main{isolation:isolate}
img{max-width:100%;height:auto}
body:not(.portal-body) .card,body:not(.portal-body) .panel,body:not(.portal-body) .portal-card,body:not(.portal-body) .trailer-card,body:not(.portal-body) .booking-card,body:not(.portal-body) .document-card,body:not(.portal-body) .status-card{
  border-radius:var(--zt-radius)!important;
  border:1px solid var(--zt-line)!important;
  box-shadow:var(--zt-shadow)!important;
  background:var(--zt-surface)!important;
}
.btn,button,.button,[role="button"]{min-height:46px;border-radius:14px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover,button:hover,.button:hover,[role="button"]:hover{transform:translateY(-1px)}
.btn:active,button:active,.button:active,[role="button"]:active{transform:translateY(0)}
.btn-primary,.primary,.cta-button{box-shadow:0 12px 26px rgba(215,179,75,.28)}
body:not(.portal-body) input,body:not(.portal-body) select,body:not(.portal-body) textarea{border-radius:14px!important;min-height:48px;border:1px solid rgba(23,24,28,.18)!important;background:#15191E!important}
body:not(.portal-body) input:focus,body:not(.portal-body) select:focus,body:not(.portal-body) textarea:focus{outline:3px solid rgba(215,179,75,.22)!important;border-color:var(--zt-gold)!important}
.hero,.page-hero,.portal-hero{position:relative;overflow:hidden}
.hero::after,.page-hero::after{content:"";position:absolute;inset:auto -8% -45% 42%;height:320px;background:radial-gradient(circle,rgba(215,179,75,.18),transparent 66%);pointer-events:none}
.section-heading h2,.page-title,h1{letter-spacing:-.03em}
.badge,.status-badge,.pill{border-radius:999px!important;padding:.48rem .75rem!important;font-weight:800!important}
.trailer-card img,.gallery img,.hero-media img{object-fit:cover;border-radius:18px}
.trailer-card{overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.trailer-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(15,23,42,.14)!important}
.price,.price-value,.total-amount{font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.empty-state{padding:2.25rem;text-align:center;border:1px dashed rgba(23,24,28,.20);border-radius:20px;background:rgba(34,40,49,.72)}
.skeleton{position:relative;overflow:hidden;background:#15191E!important;color:transparent!important}
.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(34,40,49,.72),transparent);animation:zt-shimmer 1.35s infinite}
@keyframes zt-shimmer{100%{transform:translateX(100%)}}
.site-footer{margin-top:clamp(3rem,8vw,7rem)}
@media(max-width:760px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  h1{font-size:clamp(2rem,10vw,3.2rem)!important;line-height:1.02!important}
  h2{font-size:clamp(1.55rem,7vw,2.25rem)!important}
  .container,.shell,.page-shell{width:min(100% - 28px,1180px)!important}
  body:not(.portal-body) .card,body:not(.portal-body) .panel,body:not(.portal-body) .portal-card,body:not(.portal-body) .trailer-card,body:not(.portal-body) .booking-card,body:not(.portal-body) .document-card,body:not(.portal-body) .status-card{border-radius:18px!important;box-shadow:0 12px 30px rgba(15,23,42,.09)!important}
  .btn,button,.button,[role="button"]{width:100%;min-height:50px}
  .actions,.button-row,.cta-row,.toolbar{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .grid,.cards,.trailer-grid,.dashboard-grid{grid-template-columns:1fr!important}
  .sticky-booking,.booking-summary{position:static!important}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.trailer-card,.btn,button,.button,[role="button"]{transition:none}.skeleton::after{animation:none}}


/* V3.8.4 portal contrast guard: keep owner, customer, and partner dashboards dark and readable. */
.portal-body .portal-card,
.portal-body .stat-card,
.portal-body .data-card,
.portal-body .record-card,
.portal-body .action-card,
.portal-body .customer-summary-card,
.portal-body .next-action-card {
  background:rgba(34,40,49,.72)!important;
  color:#F6F3EA!important;
  border-color:rgba(212,175,55,.24)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.22)!important;
}
.portal-body .portal-card h1,
.portal-body .portal-card h2,
.portal-body .portal-card h3,
.portal-body .portal-card h4,
.portal-body .portal-card label,
.portal-body .portal-card strong,
.portal-body .data-card h1,
.portal-body .data-card h2,
.portal-body .data-card h3,
.portal-body .record-card h1,
.portal-body .record-card h2,
.portal-body .record-card h3 {color:#F6F3EA!important}
.portal-body .portal-card p,
.portal-body .portal-card small,
.portal-body .data-card p,
.portal-body .record-card p {color:#c9c3b8!important}
.portal-body input,
.portal-body select,
.portal-body textarea {
  background:#111214!important;
  color:#F6F3EA!important;
  border-color:#45464a!important;
}
.portal-body input::placeholder,
.portal-body textarea::placeholder {color:#8f8b84!important;opacity:1}
.portal-body input:focus,
.portal-body select:focus,
.portal-body textarea:focus {
  outline:3px solid rgba(212,175,55,.22)!important;
  border-color:var(--gold)!important;
}
.portal-body option{background:#111214;color:#F6F3EA}

/* V3.8.6 partner value proposition */
.partner-benefits{margin:1rem 0;padding-left:1.2rem;display:grid;gap:.55rem}
.partner-benefits li::marker{color:#F0CF70}
