.av-route-hub{max-width:1200px;margin:40px auto;font-family:Manrope,Arial,sans-serif;color:#10202a}
.av-route-hub *{box-sizing:border-box}
.av-route-hero{text-align:center;margin-bottom:24px}
.av-route-hero span{display:inline-block;color:#e97800;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.08em}
.av-route-hero h2{font-size:42px;line-height:1.1;margin:10px 0;color:#10202a}
.av-route-hero p{max-width:720px;margin:0 auto;color:#5d6870;font-size:17px}

.av-route-map-section{display:flex;gap:20px;margin-bottom:28px}
.av-route-map-layers{flex:0 0 220px;background:#fff8ef;border:1px solid #eadfd2;border-radius:16px;padding:16px}
.av-route-map-layers strong{display:block;margin-bottom:10px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#9a8975}
.av-route-map-layers label{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;font-weight:700;color:#24333b}
.av-route-map-layers label.av-route-layer-disabled{color:#a8a196;cursor:not-allowed}
.av-route-map-layers label small{font-size:10px;font-weight:700;text-transform:uppercase;background:#eadfd2;color:#7a6f5f;padding:2px 6px;border-radius:999px;margin-left:auto}
.av-route-legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%}
.av-route-legend-destination{background:#e97800}
.av-route-legend-campsite{background:#23a455}
.av-route-legend-lodge{background:#5d3fd3}
.av-route-map{flex:1;height:480px;border-radius:16px;border:1px solid #eadfd2;overflow:hidden;z-index:0}

.av-route-results-meta{text-align:center;color:#69757c;font-weight:700;margin:0 0 20px}

.av-route-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}

.av-route-card{background:#fff;border:1px solid #eadfd2;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(16,32,42,.06);display:flex;flex-direction:column}
.av-route-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:18px 20px;color:#fff;text-decoration:none}
.av-route-card-title{font-weight:800;font-size:18px;line-height:1.3}
.av-route-comfort-badge{background:rgba(255,255,255,.25);font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;white-space:nowrap}
.av-route-risk-low{background:linear-gradient(135deg,#23a455,#79d69a)}
.av-route-risk-medium{background:linear-gradient(135deg,#e97800,#f6a11a)}
.av-route-risk-high{background:linear-gradient(135deg,#b91c1c,#f87171)}

.av-route-card-body{padding:18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.av-route-card-facts{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:#4b5961;font-weight:700}
.av-route-card-recommend{margin:0;font-size:14px;color:#4b5961}
.av-route-card-link{margin-top:auto;padding-top:8px;color:#e97800;font-weight:800;text-decoration:none}

/* Theme's classic-compat header/footer wrapper (rendered when get_header()/get_footer()
   fall back to core's default markup on this custom-routed page) — contain it to match
   the rest of the site instead of bleeding full-width, and clip anything that still
   manages to overflow rather than letting the whole page scroll horizontally. */
#page{max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box;overflow-x:hidden}
#page img{max-width:100%;height:auto}
#headerimg h1{overflow-wrap:break-word}

/* Detail page */
.av-route-detail{max-width:900px;margin:40px auto;font-family:Manrope,Arial,sans-serif;color:#10202a}
.av-route-detail-header{border-radius:24px;padding:32px 28px;color:#fff}
.av-route-detail-header-text h1{margin:0 0 6px;font-size:34px}
.av-route-detail-header-text p{margin:0;font-weight:700}
.av-route-detail-body{padding:28px 4px}
.av-route-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}
.av-route-facts div{background:#fff8ef;border:1px solid #eadfd2;border-radius:14px;padding:14px}
.av-route-facts strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#9a8975;margin-bottom:4px}
.av-route-curated{background:#fff8ef;border:1px solid #eadfd2;border-radius:16px;padding:16px 20px;margin:16px 0}
.av-route-curated p{margin:6px 0}
.av-route-fuel,.av-route-overnight,.av-route-safety{margin:14px 0}
.av-route-faqs{display:grid;gap:10px}
.av-route-faq{border:1px solid #eadfd2;border-radius:14px;padding:14px 18px}
.av-route-faq summary{font-weight:800;cursor:pointer}
.av-route-faq p{margin:10px 0 0;color:#4b5961}
.av-route-faq ul,.av-route-faq ol{margin:10px 0 0;padding-left:20px;color:#4b5961}
.av-route-faq a{color:#e97800}
.av-route-back-link{display:inline-block;margin-top:24px;color:#e97800;font-weight:800;text-decoration:none}

@media (max-width:640px){
  .av-route-facts{grid-template-columns:1fr 1fr}
  .av-route-hero h2{font-size:30px}
  .av-route-detail-header-text h1{font-size:26px}
  #page{padding:0 14px}
  #headerimg h1{font-size:26px}
  #headerimg .description{font-size:14px}
  .av-route-map-section{flex-direction:column}
  .av-route-map-layers{flex:none}
  .av-route-map{height:320px}
}

@media (max-width:420px){
  .av-route-facts{grid-template-columns:1fr}
}

.av-route-recent-reports{margin-bottom:24px}
.av-route-recent-reports h3{font-size:18px;margin:0 0 10px;color:#10202a}

/* Admin-entered road status reports — shared markup/classes with destinations-hub.css */
.av-road-reports{display:grid;gap:10px;margin-bottom:20px}
.av-road-report{border-radius:12px;padding:12px 16px;border:1.5px solid #eadfd2;background:#fff}
.av-road-report-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.av-road-report-status{font-weight:800;font-size:14px}
.av-road-report-age{font-size:12px;color:#9aa3a8}
.av-road-report-title{margin:0;font-weight:700;color:#10202a}
.av-road-report-details{margin:4px 0 0;color:#4b5961;font-size:14px;line-height:1.5}
.av-road-report-source{display:inline-block;margin-top:6px;font-size:13px;font-weight:700;color:#e97800;text-decoration:none}
.av-road-report-source:hover{text-decoration:underline}
.av-road-status-clear{border-color:#bfe3c8;background:#f2fbf4}
.av-road-status-caution{border-color:#f4d9a3;background:#fff8ef}
.av-road-status-closed{border-color:#f1b3b3;background:#fdf2f2}
.av-road-status-flooding{border-color:#a9c9e8;background:#f0f6fc}
.av-road-status-fuel-alert{border-color:#d7bce8;background:#f8f2fc}
.av-road-status-roadworks{border-color:#dcdcdc;background:#f7f7f7}
