/* v3.13.1 — TFWG-inspired UI refresh
   Visual reference: zoeytransportation.tfwgsite.com
   Keeps the established Zoey 2026 dark/gold brand system and existing app behavior. */
:root{
  --tf-bg:#0b0d10;
  --tf-bg-2:#0d1014;
  --tf-panel:#15191e;
  --tf-panel-2:#1b2026;
  --tf-panel-3:#222831;
  --tf-gold:#f0cf70;
  --tf-gold-2:#d9b455;
  --tf-text:#f6f3ea;
  --tf-muted:#9fa6af;
  --tf-line:rgba(246,243,234,.12);
  --tf-line-gold:rgba(240,207,112,.36);
  --tf-max:1480px;
  --tf-radius:18px;
  --tf-shadow:0 24px 70px rgba(0,0,0,.24);
}
*{box-sizing:border-box}
html{background:var(--tf-bg)}
body{background:var(--tf-bg);color:var(--tf-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.01em}
body:not(.portal-body){background:linear-gradient(180deg,var(--tf-bg),var(--tf-bg-2) 52%,var(--tf-bg));}
body:not(.portal-body) .container{width:min(var(--tf-max),calc(100% - clamp(28px,6vw,112px)));}

/* Public navigation */
body:not(.portal-body) .site-header{
  min-height:78px!important;
  padding:0 clamp(18px,4vw,64px)!important;
  background:rgba(11,13,16,.94)!important;
  border-bottom:1px solid var(--tf-line)!important;
  box-shadow:none!important;
}
body:not(.portal-body) .site-header .brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:max-content}
body:not(.portal-body) .site-header .brand-emblem{width:46px;height:46px;border-radius:50%;object-fit:cover;border:1px solid var(--tf-line-gold)}
body:not(.portal-body) .brand-copy strong{display:block;color:var(--tf-text);font-size:1rem;letter-spacing:-.02em}
body:not(.portal-body) .brand-copy small{display:block;color:var(--tf-muted);font-size:.72rem;margin-top:2px}
body:not(.portal-body) .main-nav{gap:clamp(12px,1.6vw,24px)!important}
body:not(.portal-body) .main-nav a{font-size:.88rem!important;color:#d9dde2!important;font-weight:700!important;text-decoration:none!important}
body:not(.portal-body) .main-nav a:hover{color:var(--tf-gold)!important}
body:not(.portal-body) .main-nav .nav-button{background:var(--tf-gold)!important;color:#17130b!important;padding:12px 18px!important;border-radius:8px!important}

/* Editorial typography + section rhythm */
body:not(.portal-body) h1,body:not(.portal-body) h2,body:not(.portal-body) h3{color:var(--tf-text)}
body:not(.portal-body) h1{font-size:clamp(3.1rem,7.2vw,7rem);line-height:.92;letter-spacing:-.065em;font-weight:800}
body:not(.portal-body) h2{font-size:clamp(2.25rem,4.5vw,4.75rem);line-height:.98;letter-spacing:-.05em;font-weight:780}
body:not(.portal-body) h3{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.08;letter-spacing:-.035em}
body:not(.portal-body) p{line-height:1.68}
body:not(.portal-body) .kicker,
body:not(.portal-body) .portal-eyebrow,
body:not(.portal-body) .hero-badge{
  color:var(--tf-gold)!important;
  text-transform:uppercase;
  letter-spacing:.16em!important;
  font-size:.72rem!important;
  font-weight:900!important;
}
body:not(.portal-body) .section,body:not(.portal-body) .inner-section{padding:clamp(74px,8vw,126px) 0!important}
body:not(.portal-body) .section-intro,body:not(.portal-body) .fleet-heading{align-items:end;gap:36px;margin-bottom:clamp(36px,5vw,68px)}
body:not(.portal-body) .section-lead{max-width:640px;font-size:clamp(1rem,1.3vw,1.18rem);color:var(--tf-muted)}

/* Hero — closer to the reference site's large two-column lead */
body:not(.portal-body) .focused-hero{
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  min-height:clamp(680px,82vh,920px);
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 76% 18%,rgba(240,207,112,.12),transparent 28rem),
    linear-gradient(180deg,#0b0d10,#0d1014)!important;
  box-shadow:none!important;
  overflow:hidden;
}
body:not(.portal-body) .focused-hero .hero-grid{padding:clamp(66px,8vw,118px) 0!important;align-items:center!important}
body:not(.portal-body) .hero-copy{max-width:780px}
body:not(.portal-body) .hero-copy h1 span{color:var(--tf-gold)!important}
body:not(.portal-body) .hero-copy>p{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:720px;color:#b7bdc5!important}
body:not(.portal-body) .hero-badge{display:inline-flex!important;border:0!important;background:transparent!important;padding:0!important;margin-bottom:22px!important}
body:not(.portal-body) .hero-actions{gap:12px!important;margin-top:30px!important;flex-wrap:wrap}
body:not(.portal-body) .button,body:not(.portal-body) .btn,body:not(.portal-body) button{
  border-radius:8px!important;
  min-height:48px;
  padding:13px 20px;
  font-weight:850;
}
body:not(.portal-body) .button-gold,body:not(.portal-body) .booking-primary-action{background:var(--tf-gold)!important;color:#17130b!important;border:1px solid var(--tf-gold)!important;box-shadow:none!important}
body:not(.portal-body) .button-ghost{background:transparent!important;border:1px solid rgba(246,243,234,.34)!important;color:var(--tf-text)!important}
body:not(.portal-body) .button-ghost:hover{border-color:var(--tf-gold)!important;color:var(--tf-gold)!important}
body:not(.portal-body) .hero-proof{margin-top:44px!important;border-top:1px solid var(--tf-line);padding-top:24px!important;gap:0!important}
body:not(.portal-body) .hero-proof>div{padding-right:28px;margin-right:28px;border-right:1px solid var(--tf-line)}
body:not(.portal-body) .hero-proof>div:last-child{border-right:0}
body:not(.portal-body) .hero-proof strong{font-size:1.05rem;color:var(--tf-text)}
body:not(.portal-body) .hero-proof span{color:var(--tf-muted)}
body:not(.portal-body) .hero-visual{min-height:540px}
body:not(.portal-body) .hero-photo{height:100%;min-height:540px;border-radius:18px!important;overflow:hidden;border:1px solid var(--tf-line)}
body:not(.portal-body) .hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04)}
body:not(.portal-body) .floating-card{background:rgba(21,25,30,.94)!important;border:1px solid var(--tf-line)!important;border-radius:12px!important;box-shadow:var(--tf-shadow)!important}
body:not(.portal-body) .marquee{border-top:1px solid var(--tf-line)!important;border-bottom:1px solid var(--tf-line)!important;background:#0a0c0f!important}
body:not(.portal-body) .marquee-track span{color:#c7ccd3!important;font-size:.74rem!important;letter-spacing:.18em!important}
body:not(.portal-body) .marquee-track i{color:var(--tf-gold)!important}

/* Trust + service cards */
body:not(.portal-body) .trust-bar{background:#0a0c0f!important;border-top:1px solid var(--tf-line)!important;border-bottom:1px solid var(--tf-line)!important}
body:not(.portal-body) .trust-items>div{padding:26px 0!important}
body:not(.portal-body) .trust-items span{color:var(--tf-gold)!important}
body:not(.portal-body) .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;border-top:1px solid var(--tf-line);border-left:1px solid var(--tf-line)}
body:not(.portal-body) .service-card{
  min-height:350px;
  padding:34px!important;
  border:0!important;
  border-right:1px solid var(--tf-line)!important;
  border-bottom:1px solid var(--tf-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex;flex-direction:column;
}
body:not(.portal-body) .service-card:hover{background:var(--tf-panel)!important;transform:none!important}
body:not(.portal-body) .service-card h3{margin-top:auto!important}
body:not(.portal-body) .service-card p{color:var(--tf-muted)!important}
body:not(.portal-body) .service-card a{color:var(--tf-gold)!important;font-weight:800;margin-top:20px}
body:not(.portal-body) .service-top>span{color:var(--tf-gold)!important;font-size:.8rem}
body:not(.portal-body) .service-icon{background:transparent!important;border:1px solid var(--tf-line)!important;color:var(--tf-text)!important;border-radius:8px!important}

/* Process row inspired by reference site */
body:not(.portal-body) .tfwg-process{background:var(--tf-panel)!important;border-block:1px solid var(--tf-line)}
body:not(.portal-body) .tfwg-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--tf-line);border-left:1px solid var(--tf-line);margin-top:48px}
body:not(.portal-body) .tfwg-process-step{padding:30px;border-right:1px solid var(--tf-line);border-bottom:1px solid var(--tf-line);min-height:245px}
body:not(.portal-body) .tfwg-process-step>span{display:block;color:var(--tf-gold);font-size:.76rem;font-weight:900;letter-spacing:.16em;margin-bottom:62px}
body:not(.portal-body) .tfwg-process-step h3{margin:0 0 12px}
body:not(.portal-body) .tfwg-process-step p{margin:0;color:var(--tf-muted)}

/* Memorial + standard — quieter, editorial */
body:not(.portal-body) .zoey-memorial{padding:clamp(72px,8vw,120px) 0!important;background:#0a0c0f!important;border-top:1px solid var(--tf-line)}
body:not(.portal-body) .zoey-memorial-grid{gap:clamp(42px,6vw,90px)!important;align-items:center}
body:not(.portal-body) .zoey-memorial-photo{border-radius:16px!important;overflow:hidden;border:1px solid var(--tf-line)!important;background:var(--tf-panel)!important}
body:not(.portal-body) .zoey-memorial-photo img{aspect-ratio:4/5;object-fit:cover;width:100%}
body:not(.portal-body) .zoey-memorial-photo figcaption{padding:14px 16px;color:var(--tf-muted);font-size:.82rem}
body:not(.portal-body) .zoey-values{gap:8px!important}
body:not(.portal-body) .zoey-values span{border:1px solid var(--tf-line)!important;background:transparent!important;border-radius:999px!important;color:#dfe3e7!important}
body:not(.portal-body) .zoey-memorial-copy blockquote{border-left:2px solid var(--tf-gold)!important;color:#e9e7df!important;background:transparent!important}
body:not(.portal-body) .standard-grid{gap:0!important;border-left:1px solid var(--tf-line);border-top:1px solid var(--tf-line)}
body:not(.portal-body) .standard-grid article{border-radius:0!important;border:0!important;border-right:1px solid var(--tf-line)!important;border-bottom:1px solid var(--tf-line)!important;background:transparent!important;box-shadow:none!important;padding:30px!important}
body:not(.portal-body) .standard-grid article>span{color:var(--tf-gold)!important}

/* Fleet, marketplace and generic cards */
body:not(.portal-body) .fleet-section{background:#0a0c0f!important}
body:not(.portal-body) .fleet-card,body:not(.portal-body) .trailer-card,body:not(.portal-body) .card,body:not(.portal-body) .panel,body:not(.portal-body) .content-card,body:not(.portal-body) .contact-card,body:not(.portal-body) .faq-item{
  background:var(--tf-panel)!important;
  border:1px solid var(--tf-line)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
body:not(.portal-body) .fleet-photo{border-radius:12px 12px 0 0!important;overflow:hidden}
body:not(.portal-body) .fleet-card:hover,body:not(.portal-body) .trailer-card:hover{border-color:var(--tf-line-gold)!important;transform:translateY(-2px)}
body:not(.portal-body) .fleet-price strong{color:var(--tf-gold)!important}
body:not(.portal-body) .availability{background:rgba(11,13,16,.88)!important;border:1px solid var(--tf-line)!important;color:var(--tf-text)!important}
body:not(.portal-body) .availability i{background:#73d39a!important}

/* Forms */
body:not(.portal-body) input,body:not(.portal-body) select,body:not(.portal-body) textarea{
  border-radius:8px!important;
  border:1px solid rgba(246,243,234,.18)!important;
  background:#0d1014!important;
  color:var(--tf-text)!important;
  box-shadow:none!important;
}
body:not(.portal-body) input:focus,body:not(.portal-body) select:focus,body:not(.portal-body) textarea:focus{border-color:var(--tf-gold)!important;box-shadow:0 0 0 3px rgba(240,207,112,.08)!important}
/* preserve the intentionally light fillable booking controls */
body:not(.portal-body) .booking-page input:not([type="checkbox"]):not([type="radio"]):not(:disabled),
body:not(.portal-body) .booking-page select:not(:disabled),
body:not(.portal-body) .booking-page textarea:not(:disabled){background:#f6f3ea!important;color:#111318!important}

/* Footer */
body:not(.portal-body) .site-footer-premium,body:not(.portal-body) .site-footer{background:#080a0c!important;border-top:1px solid var(--tf-line)!important;margin-top:0!important}
body:not(.portal-body) .footer-main{padding-top:66px!important;padding-bottom:54px!important}
body:not(.portal-body) .footer-links strong{color:var(--tf-text)!important}
body:not(.portal-body) .footer-links a{color:var(--tf-muted)!important}
body:not(.portal-body) .footer-links a:hover{color:var(--tf-gold)!important}

/* PORTALS — same visual language, no behavior changes */
body.portal-body{background:#0b0d10!important;color:var(--tf-text)!important}
body.portal-body .portal-shell{background:#0b0d10!important;min-height:100vh}
body.portal-body .portal-topbar{
  height:72px!important;
  padding:0 clamp(18px,2.5vw,36px)!important;
  background:#0b0d10!important;
  border-bottom:1px solid var(--tf-line)!important;
  box-shadow:none!important;
}
body.portal-body .portal-brand{gap:12px!important}
body.portal-body .portal-brand img{width:40px!important;height:40px!important;border-radius:50%!important;border:1px solid var(--tf-line-gold)!important}
body.portal-body .portal-brand span{font-weight:850!important;letter-spacing:-.02em!important}
body.portal-body .dashboard-layout{gap:0!important;max-width:none!important;margin:0!important}
body.portal-body .portal-sidebar{
  width:280px!important;
  background:#0d1014!important;
  border-right:1px solid var(--tf-line)!important;
  border-radius:0!important;
  padding:26px 18px!important;
  min-height:calc(100vh - 72px)!important;
  box-shadow:none!important;
}
body.portal-body .sidebar-brand-block{padding:0 10px 24px!important;border-bottom:1px solid var(--tf-line)!important;margin-bottom:20px!important}
body.portal-body .sidebar-kicker,body.portal-body .admin-nav-label,body.portal-body .portal-eyebrow{color:var(--tf-gold)!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-size:.67rem!important;font-weight:900!important}
body.portal-body .sidebar-brand-block strong{font-size:1.35rem!important;color:var(--tf-text)!important}
body.portal-body .sidebar-brand-block small{color:var(--tf-muted)!important}
body.portal-body .admin-nav-2026 button,body.portal-body .portal-sidebar nav button,body.portal-body .portal-sidebar nav a{
  min-height:44px!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#c8cdd3!important;
  border:1px solid transparent!important;
  padding:10px 12px!important;
}
body.portal-body .admin-nav-2026 button:hover,body.portal-body .portal-sidebar nav button:hover,body.portal-body .portal-sidebar nav a:hover{background:#15191e!important;color:var(--tf-text)!important}
body.portal-body .admin-nav-2026 button.active,body.portal-body .portal-sidebar nav button.active,body.portal-body .portal-sidebar nav a.active{
  background:rgba(240,207,112,.10)!important;
  color:var(--tf-gold)!important;
  border-color:rgba(240,207,112,.18)!important;
}
body.portal-body .nav-badge{background:#1b2026!important;color:var(--tf-gold)!important;border:1px solid var(--tf-line)!important}
body.portal-body .dashboard-main{padding:clamp(24px,3vw,44px)!important;max-width:1680px!important;width:100%!important;margin:0 auto!important}
body.portal-body .dashboard-hero{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--tf-line)!important;
  border-radius:0!important;
  padding:10px 0 28px!important;
  margin-bottom:28px!important;
  box-shadow:none!important;
}
body.portal-body .dashboard-hero h1{font-size:clamp(2.2rem,4vw,4.4rem)!important;line-height:.96!important;letter-spacing:-.055em!important;margin:.35rem 0 .6rem!important}
body.portal-body .dashboard-hero p{color:var(--tf-muted)!important}
body.portal-body .portal-button{
  border-radius:7px!important;
  background:var(--tf-gold)!important;
  color:#16130b!important;
  border:1px solid var(--tf-gold)!important;
  font-weight:850!important;
  box-shadow:none!important;
}
body.portal-body .portal-button.secondary{background:transparent!important;color:var(--tf-text)!important;border-color:rgba(246,243,234,.22)!important}
body.portal-body .portal-button.secondary:hover{border-color:var(--tf-gold)!important;color:var(--tf-gold)!important}
body.portal-body .portal-card,body.portal-body .stat-card,body.portal-body .portal-form,body.portal-body .record-card,body.portal-body .dashboard-card{
  background:#15191e!important;
  border:1px solid var(--tf-line)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
body.portal-body .stat-card{padding:22px!important;min-height:150px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important}
body.portal-body .stat-card>span{font-size:.77rem!important;text-transform:uppercase!important;letter-spacing:.1em!important;color:var(--tf-muted)!important;font-weight:800!important}
body.portal-body .stat-card>strong{font-size:clamp(2.5rem,4vw,4.4rem)!important;letter-spacing:-.06em!important;color:var(--tf-text)!important;line-height:1!important}
body.portal-body .stat-card.attention{border-color:rgba(240,207,112,.44)!important}
body.portal-body .stat-card.attention>strong{color:var(--tf-gold)!important}
body.portal-body .section-heading{padding-bottom:16px!important;border-bottom:1px solid var(--tf-line)!important;margin-bottom:20px!important}
body.portal-body .section-heading h2{font-size:clamp(1.8rem,3vw,2.8rem)!important;letter-spacing:-.045em!important}
body.portal-body .section-heading p,body.portal-body .portal-card p,body.portal-body .fine-print{color:var(--tf-muted)!important}
body.portal-body input,body.portal-body select,body.portal-body textarea{
  border-radius:7px!important;
  background:#0d1014!important;
  border:1px solid rgba(246,243,234,.15)!important;
  color:var(--tf-text)!important;
  box-shadow:none!important;
}
body.portal-body input:focus,body.portal-body select:focus,body.portal-body textarea:focus{border-color:var(--tf-gold)!important;box-shadow:0 0 0 3px rgba(240,207,112,.08)!important}
body.portal-body table{background:#15191e!important;border:1px solid var(--tf-line)!important;border-radius:10px!important}
body.portal-body th{background:#1b2026!important;color:var(--tf-text)!important}
body.portal-body th,body.portal-body td{border-color:var(--tf-line)!important}
body.portal-body .portal-section{animation:none!important}
body.portal-body .portal-message{border-radius:8px!important}

/* High-visibility GPS launch cards */
body.portal-body .gps-launch-card{position:relative;overflow:hidden;border-color:var(--tf-line-gold)!important;background:linear-gradient(135deg,rgba(240,207,112,.08),transparent 42%),#15191e!important}
body.portal-body .gps-launch-card::after{content:"GPS";position:absolute;right:18px;top:10px;font-size:4.4rem;font-weight:900;letter-spacing:-.08em;color:rgba(240,207,112,.055);pointer-events:none}

@media(max-width:1100px){
  body:not(.portal-body) .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not(.portal-body) .tfwg-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.portal-body .portal-sidebar{width:240px!important}
}
@media(max-width:760px){
  body:not(.portal-body) h1{font-size:clamp(2.85rem,15vw,4.7rem)}
  body:not(.portal-body) h2{font-size:clamp(2.1rem,11vw,3.5rem)}
  body:not(.portal-body) .focused-hero{min-height:auto}
  body:not(.portal-body) .focused-hero .hero-grid{padding:64px 0 48px!important}
  body:not(.portal-body) .hero-visual{min-height:360px}
  body:not(.portal-body) .hero-photo{min-height:360px}
  body:not(.portal-body) .hero-proof{display:grid!important;grid-template-columns:1fr 1fr;gap:18px!important}
  body:not(.portal-body) .hero-proof>div{border-right:0!important;padding-right:0!important;margin-right:0!important}
  body:not(.portal-body) .service-grid,body:not(.portal-body) .tfwg-process-grid{grid-template-columns:1fr!important}
  body:not(.portal-body) .tfwg-process-step>span{margin-bottom:30px}
  body.portal-body .dashboard-layout{display:block!important}
  body.portal-body .portal-sidebar{width:100%!important;min-height:auto!important;border-right:0!important;border-bottom:1px solid var(--tf-line)!important;padding:12px!important;position:static!important}
  body.portal-body .sidebar-brand-block{display:none!important}
  body.portal-body .portal-sidebar nav,body.portal-body .admin-nav-2026{display:flex!important;overflow-x:auto!important;gap:8px!important;padding-bottom:4px!important}
  body.portal-body .admin-nav-group{display:contents!important}
  body.portal-body .admin-nav-label{display:none!important}
  body.portal-body .portal-sidebar nav button,body.portal-body .portal-sidebar nav a,body.portal-body .admin-nav-2026 button{white-space:nowrap!important;flex:0 0 auto!important}
  body.portal-body .dashboard-main{padding:22px 14px!important}
  body.portal-body .dashboard-hero{align-items:flex-start!important}
}

/* v3.13.6 — marketplace spec chips: black box / white text */
body:not(.portal-body) .market-spec{
  background:#0B0D10 !important;
  color:#F6F3EA !important;
  border:1px solid rgba(240,207,112,.55) !important;
  font-weight:800 !important;
}
body:not(.portal-body) .market-spec *,
body:not(.portal-body) .market-spec strong,
body:not(.portal-body) .market-spec span{
  color:#F6F3EA !important;
}
