/* ═══════════════════════════════════════════════════════════════
   ATP PAGE STYLES v11.9 — matches assembler_v4.gs (updated)
   Updated: 2026-02-23
   Changes: trust-top vertical on mobile, hero stats reorder (Miles→Transit→Price)
   ═══════════════════════════════════════════════════════════════ */

:root{--dk:#014D86;--dk2:#013A66;--wh:#FEFEFE;--sl:#6E8997;--lt:#BDCDD3;--lt2:#E8EEF1;--lt3:#F4F7F9;--tx:#1C2B33;--tx2:#4A6170;--ok:#16A34A;--gold:#F59E0B;--font:'DM Sans',sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font);color:var(--tx);line-height:1.6;background:var(--wh)}
img{max-width:100%}
a:focus,button:focus,[tabindex]:focus{outline:3px solid var(--dk);outline-offset:2px}

/* ── Breadcrumb (inside hero-inner) ── */
.breadcrumb{font-size:.8125rem;color:var(--sl);margin-bottom:8px;padding:0}
.breadcrumb a{color:var(--sl);text-decoration:none}
.breadcrumb a:hover{color:var(--dk);text-decoration:underline}
.breadcrumb span{margin:0 6px}

/* ── Hero (no background — inherits page bg) ── */
.hero{background:none;color:var(--tx);padding:48px 24px 56px;position:relative}
.hero-inner{max-width:960px;margin:0 auto;position:relative;z-index:1}
.hero-route{font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sl);margin-bottom:12px}
.hero h1{font-size:2.25rem;font-weight:700;line-height:1.15;margin-bottom:16px;color:var(--dk);text-transform:none}.hero-sub{font-size:1rem;color:var(--tx2);margin-bottom:24px}
.hero-stats{display:flex;gap:32px;flex-wrap:wrap;margin-bottom:32px}
.hero-stat{display:flex;flex-direction:column;padding-left:32px;border-left:1px solid var(--lt)}
.hero-stat:first-child{padding-left:0;border-left:none}
.hero-stat-value{font-size:1.75rem;font-weight:700;line-height:1.2;color:var(--dk)}
.hero-stat-label{font-size:.75rem;font-weight:500;color:var(--sl);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.hero-phone{display:inline-block;color:var(--wh);font-weight:600;font-size:.875rem;text-decoration:none;padding:12px 28px;background:var(--dk);border:2px solid var(--dk);border-radius:100px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 16px rgba(1,77,134,.2)}
.hero-phone:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(1,77,134,.3);text-decoration:none}

a.cta-btn,a.cta-btn:visited,a.cta-btn:hover,a.cta-btn:active{color:var(--wh)!important;text-decoration:none}
a.hero-phone,a.hero-phone:visited,a.hero-phone:hover,a.hero-phone:active{color:var(--wh)!important;text-decoration:none}

/* ── CTA Button (dark bg, white text) ── */
.cta-btn{display:inline-block;background:var(--dk);color:var(--wh);padding:16px 36px;border-radius:100px;font-weight:700;font-size:1rem;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 16px rgba(1,77,134,.2);border:none;cursor:pointer;font-family:var(--font)}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(1,77,134,.3);text-decoration:none}

/* ── Trust Bar ── */
.trust-bar-section{border-bottom:1px solid var(--lt2);padding:16px 24px;background:var(--lt3)}
.trust-bar{max-width:960px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:1rem;color:var(--tx2);font-weight:500}
.trust-top{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px 22px;font-weight:800;font-size:1.125rem}
.trust-bottom{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px 22px;font-size:.9375rem}
.trust-sep{color:var(--lt)}
.trust-link{color:var(--dk);text-decoration:none;font-weight:600;transition:color .15s}
.trust-link:hover{text-decoration:underline}

/* ── Sections ── */
.sec{padding:72px 24px}
.sec-inner{max-width:960px;margin:0 auto}
.sec-alt{background:var(--lt3)}
h2{font-size:1.5rem;font-weight:700;line-height:1.3;margin-bottom:20px;color:var(--tx)}
h3{font-size:1.125rem;font-weight:600;margin-bottom:8px;color:var(--tx)}
p{margin-bottom:16px;color:var(--tx2)}
p a,li a,.sec-inner a:not(.cta-btn):not(.hero-phone):not(.state-link):not(.card):not(.atp-rr-card):not(.route-card):not(.compare-card):not(.trust-link){color:var(--dk);text-decoration:none;font-weight:500}
p a:hover,li a:hover,.sec-inner a:not(.cta-btn):not(.hero-phone):not(.state-link):not(.card):not(.atp-rr-card):not(.route-card):not(.compare-card):not(.trust-link):hover{text-decoration:underline}

/* ── Steps ── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px}
.step{text-align:center;padding:28px 16px;background:var(--wh);border-radius:16px;border:1px solid var(--lt2)}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--dk);color:var(--wh);font-weight:700;font-size:1rem;margin-bottom:16px}
.step h3{margin-bottom:8px}
.step p{font-size:.875rem;margin-bottom:0}

/* ── Fact Cards (single-column sequential) ── */
.facts-grid{display:flex;flex-direction:column;gap:12px;margin-top:24px}
.fact-card{padding:20px 24px;background:var(--wh);border-radius:12px;border-left:3px solid var(--dk)}
.fact-card p{font-size:.9rem;margin-bottom:0}

/* ── Compare Cards (Open vs Enclosed) ── */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.compare-card{padding:28px 24px;border-radius:16px;border:1px solid var(--lt);transition:border-color .2s,box-shadow .2s}
.compare-card:hover{border-color:var(--dk);box-shadow:0 2px 12px rgba(1,77,134,.1)}
.compare-card h3{margin-bottom:12px}
.compare-card ul{list-style:none;padding:0}
.compare-card ul li{padding:6px 0;font-size:.9rem;color:var(--tx2);display:flex;align-items:flex-start;gap:8px}
.compare-card ul li::before{content:'\2713';color:var(--ok);font-weight:700;flex-shrink:0}
.compare-popular{border-color:var(--dk);position:relative}
.compare-popular::after{content:'Most Popular';position:absolute;top:-12px;left:24px;background:var(--dk);color:#fff;font-size:.6875rem;font-weight:700;padding:4px 12px;border-radius:100px;text-transform:uppercase;letter-spacing:.05em}
.compare-price{font-size:.8125rem;color:var(--sl);margin-top:8px}

/* ── wpautop ghost-element killer for all grids ── */
.compare-grid>br,.compare-grid>p,
.facts-grid>br,.facts-grid>p,
.steps>br,.steps>p,
.d2d-features>br,.d2d-features>p,
.atp-rr-grid>br,.atp-rr-grid>p,
.routes-grid>br,.routes-grid>p,
.card-grid>br,.card-grid>p,
.review-grid>br,.review-grid>p,
.atp-rv-grid>br,.atp-rv-grid>p{display:none!important}

/* ── Door-to-Door Features ── */
.d2d-features{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.d2d-item{padding:20px;background:var(--lt3);border-radius:12px}
.d2d-item h3{font-size:1rem;margin-bottom:4px}
.d2d-item p{font-size:.875rem;margin-bottom:0}

/* ── Map ── */
.map-container{border-radius:16px;overflow:hidden;margin-top:24px;border:1px solid var(--lt2);height:350px}
.map-container iframe{width:100%;height:100%;border:0}

/* ── Card Grids (City Lists) ── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:20px}
.card{display:block;padding:16px 12px;border:1px solid var(--lt);border-radius:12px;text-align:center;font-weight:600;font-size:.9rem;color:var(--tx);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.card:hover{border-color:var(--dk);box-shadow:0 2px 12px rgba(1,77,134,.1);text-decoration:none}

/* ── State Links ── */
.state-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.state-link{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:1px solid var(--lt);border-radius:12px;text-decoration:none;color:var(--tx);font-weight:600;font-size:.9rem;transition:border-color .2s}
.state-link:hover{border-color:var(--dk);text-decoration:none}

/* ── Route Cards (Related Routes) ── */
.routes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:20px}
.atp-rr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px}
.card,.card:visited{display:block;padding:16px 12px;border:1px solid var(--lt);border-radius:12px;text-align:center;font-weight:600;font-size:.9rem;color:var(--tx)!important;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.atp-rr-card:hover{border-color:var(--dk);box-shadow:0 2px 12px rgba(1,77,134,.1);text-decoration:none}
.route-card{display:block;padding:20px;border:1px solid var(--lt);border-radius:12px;text-decoration:none;transition:border-color .2s,box-shadow .2s}.route-card:hover{border-color:var(--dk);box-shadow:0 2px 12px rgba(1,77,134,.1);text-decoration:none}
.route-card-name{font-weight:600;color:var(--tx);font-size:.95rem;margin-bottom:4px}
.route-card-meta{font-size:.8125rem;color:var(--sl)}

/* ── Lead Form ── */
.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.lead-form .lead-form-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lead-form input,.lead-form select{padding:14px 16px;border:1px solid var(--lt);border-radius:10px;font-size:1rem;font-family:var(--font);color:var(--tx);background:var(--wh);transition:border-color .2s}
.lead-form input:focus,.lead-form select:focus{border-color:var(--dk);outline:none;box-shadow:0 0 0 3px rgba(1,77,134,.1)}
.lead-form input::placeholder{color:var(--sl)}
.lead-form .lead-form-submit{display:flex;align-items:center;gap:8px}
.lead-form .lead-form-submit .cta-btn{width:100%;text-align:center;padding:16px 36px}
.lead-form .lead-form-note{grid-column:1/-1;font-size:.8125rem;color:var(--sl);margin:0}
.lead-form .lead-form-note a{color:var(--dk);font-weight:600}
.lead-form-msg{display:none;margin-top:16px;padding:16px;border-radius:10px;text-align:center;font-weight:500}
.lead-form-msg.success{display:block;background:#D1FAE5;color:#065F46}
.lead-form-msg.error{display:block;background:#FEE2E2;color:#991B1B}

/* ── Reviews (legacy) ── */
.review-grid{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px}
.review-card{flex:1;min-width:240px;padding:28px 24px;background:var(--wh);border-radius:16px;border:1px solid var(--lt2)}
.review-stars{color:var(--gold);font-size:1.125rem;margin-bottom:8px}
.review-card p{font-size:.9375rem;color:var(--tx2);margin-bottom:16px}
.review-author{font-weight:600;color:var(--tx)}
.review-city{font-size:.8125rem;color:var(--sl)}

/* ── Reviews v2 (atp-rv) ── */
.atp-rv-star{width:16px;height:16px;color:var(--gold)}
.atp-rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:960px;margin:0 auto}
.atp-rv-card{background:var(--wh);border:1px solid var(--lt2);border-radius:12px;padding:28px 24px 24px;display:flex;flex-direction:column;position:relative;transition:box-shadow 200ms}
.atp-rv-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.05)}
.atp-rv-qmark{position:absolute;top:16px;right:20px;font-size:48px;line-height:1;color:var(--lt2);font-family:Georgia,serif;font-weight:700;user-select:none}
.atp-rv-stars{display:flex;gap:2px;margin-bottom:14px}
.atp-rv-text{font-size:14px;line-height:1.65;color:var(--tx2);flex:1;margin-bottom:18px}
.atp-rv-text a{color:var(--dk);font-weight:500;text-decoration:none}
.atp-rv-text a:hover{text-decoration:underline}
.atp-rv-attr{display:flex;align-items:center;gap:10px;padding-top:16px;border-top:1px solid var(--lt2)}
.atp-rv-avatar{width:36px;height:36px;border-radius:50%;background:var(--dk);color:var(--wh);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}
.atp-rv-name{font-size:14px;font-weight:600;color:var(--tx)}
.atp-rv-rbar{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 36px}
.atp-rv-rbar .atp-rv-rtext{font-size:14px;color:var(--tx2);font-weight:500}
.atp-rv-rbar .atp-rv-rnum{font-weight:700;color:var(--tx)}
.atp-rv-gbadge{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--sl);font-weight:500;text-decoration:none}
.atp-rv-gbadge:hover{color:var(--dk)}

/* ── Recent Shipments ── */
.shipments-scroll{display:flex;gap:12px;overflow-x:auto;padding:8px 0 16px;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}
.shipment-card{min-width:240px;max-width:240px;border:1px solid var(--lt2);border-radius:16px;overflow:hidden;background:var(--wh);scroll-snap-align:start;flex-shrink:0;position:relative}
.shipment-img{width:100%;height:160px;object-fit:cover;display:block}
.shipment-meta{padding:10px 12px}
.shipment-badge{position:absolute;top:8px;right:8px;background:rgba(22,163,74,.92);color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px}
.shipment-vehicle{font-weight:600;font-size:14px;margin-bottom:2px}
.shipment-location{font-size:12.5px;color:var(--sl)}
.shipment-date{font-size:11.5px;color:var(--sl);margin-top:2px}

/* ── FAQ (details/summary — no JS needed) ── */
.faq-item{border-bottom:1px solid var(--lt2)!important;background:none!important;margin:0!important;padding:0!important}
.faq-item summary{padding:20px 0!important;font-weight:600;font-size:1.0625rem;color:var(--tx)!important;cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;font-family:var(--font);background:none!important;border:none!important;border-radius:0!important}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:1.25rem;color:var(--sl);transition:transform .2s;flex-shrink:0;margin-left:16px}
.faq-item[open] summary::after{transform:rotate(45deg)}
/* Kill old button-based FAQ styles so they never interfere */
.faq-q{display:none!important}
.faq-a{display:none!important}

/* ── Seasonal Note ── */
.seasonal-note{margin-top:20px;padding:16px 20px;background:#FEF3C7;border-radius:12px;border-left:3px solid var(--gold)}
.seasonal-note p{color:#92400E;font-size:.9rem;margin-bottom:0}

/* ── Content Body (generic pages) ── */
.content-body{max-width:960px;margin:0 auto;padding:48px 24px}
.content-body h2{margin-top:40px}
.content-body ul,.content-body ol{margin:0 0 16px 24px;color:var(--tx2)}
.content-body li{margin-bottom:8px;font-size:.9rem}

/* ── Responsive ── */
@media(max-width:768px){
  .hero{padding:40px 24px 48px}
  .hero h1{font-size:1.75rem}
  .steps{grid-template-columns:1fr!important}
  .compare-grid,.d2d-features{grid-template-columns:1fr}
  .hero-actions{flex-direction:column;align-items:stretch;gap:12px}
  .hero-stats{gap:20px}
  .hero-stat{padding-left:0;border-left:none;flex-direction:row;gap:8px;align-items:baseline}
  .state-links{flex-direction:column}
  .trust-bar{font-size:.8125rem;gap:4px}
  .trust-top{font-size:.8125rem!important;font-weight:700!important;gap:10px!important;flex-direction:column;align-items:center;text-align:center}
  .trust-sep{display:none}
  .trust-bottom{gap:4px 20px!important}
  .lead-form{grid-template-columns:1fr}
  .lead-form .lead-form-row{grid-template-columns:1fr}
  .atp-rv-grid{grid-template-columns:1fr;gap:16px}
  .atp-rr-grid{grid-template-columns:1fr!important}
}