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

.av-dest-searchbar{max-width:520px;margin:0 auto 22px}
.av-dest-searchbar input{width:100%;border:1px solid #dccfc0;border-radius:999px;background:#fff;padding:14px 20px;font:inherit}

.av-dest-filters{background:#fff8ef;border:1px solid #eadfd2;border-radius:20px;padding:20px 24px;margin-bottom:20px}
.av-dest-filter-group{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.av-dest-filter-group:last-child{margin-bottom:0}
.av-dest-filter-row{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end}
.av-dest-filter-row label{font-weight:800;color:#24333b;font-size:14px}
.av-dest-filter-row select{display:block;margin-top:7px;border:1px solid #dccfc0;border-radius:10px;background:#fff;padding:10px 12px;font:inherit}

.av-dest-chip{border:1.5px solid #e2d4c5;background:#fff;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:700;color:#24333b;cursor:pointer;transition:.15s}
.av-dest-chip:hover:not(:disabled){border-color:#e97800}
.av-dest-chip.selected{background:#e97800;border-color:#e97800;color:#fff}
.av-dest-chip:disabled{cursor:not-allowed;opacity:.65}
.av-dest-chip-disabled small{display:block;font-size:10px;font-weight:600;text-transform:uppercase;opacity:.8}

.av-dest-results-meta{color:#69757c;font-weight:700;margin:0 0 16px}

.av-dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.av-dest-empty{text-align:center;color:#69757c;padding:40px 0}

.av-dest-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-dest-card-media{position:relative;display:block;height:180px;background-size:cover;background-position:center}
.av-dest-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.av-dest-card-fallback{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px;text-align:center;padding:12px}
.av-dest-gradient-0{background:linear-gradient(135deg,#e97800,#f6a11a)}
.av-dest-gradient-1{background:linear-gradient(135deg,#1b6ea8,#4cb3e0)}
.av-dest-gradient-2{background:linear-gradient(135deg,#23a455,#79d69a)}
.av-dest-gradient-3{background:linear-gradient(135deg,#7a4a00,#c98a2b)}
.av-dest-gradient-4{background:linear-gradient(135deg,#5d3fd3,#9b8cf0)}
.av-dest-urgency-badge{position:absolute;top:12px;right:12px;background:rgba(16,32,42,.75);color:#fff;font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px}

.av-dest-card-body{padding:18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.av-dest-card-body h3{margin:0;font-size:20px}
.av-dest-card-body h3 a{color:#10202a;text-decoration:none}
.av-dest-card-meta{margin:0;color:#69757c;font-size:13px;font-weight:700}
.av-dest-card-excerpt{margin:0;color:#4b5961;font-size:14px;line-height:1.5}
.av-dest-card-facts{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#52636b;font-weight:700}
.av-dest-card-tags{display:flex;flex-wrap:wrap;gap:6px}
.av-dest-tag{background:#fff3df;color:#9a4b00;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:4px 9px;border-radius:999px}
.av-dest-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-dest-detail{max-width:900px;margin:40px auto;font-family:Manrope,Arial,sans-serif;color:#10202a}
.av-dest-detail-header{position:relative;border-radius:24px;overflow:hidden;min-height:260px;display:flex;align-items:flex-end;color:#fff}
.av-dest-detail-header img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.av-dest-detail-header-text{position:relative;z-index:1;padding:28px;background:linear-gradient(0deg,rgba(16,32,42,.75),transparent)}
.av-dest-detail-header-text h1{margin:0 0 6px;font-size:38px}
.av-dest-detail-header-text p{margin:0;font-weight:700}
.av-dest-detail-body{padding:28px 4px}
.av-dest-urgency-callout{background:#fff3df;border:1.5px solid #f6a11a;border-radius:16px;padding:16px 20px;margin:20px 0}
.av-dest-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}
.av-dest-facts div{background:#fff8ef;border:1px solid #eadfd2;border-radius:14px;padding:14px}
.av-dest-facts strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#9a8975;margin-bottom:4px}
.av-dest-detail-description{font-size:16px;line-height:1.7;color:#333}
.av-dest-faqs{display:grid;gap:10px}
.av-dest-faq{border:1px solid #eadfd2;border-radius:14px;padding:14px 18px}
.av-dest-faq summary{font-weight:800;cursor:pointer}
.av-dest-faq p{margin:10px 0 0;color:#4b5961}
.av-dest-faq ul,.av-dest-faq ol{margin:10px 0 0;padding-left:20px;color:#4b5961}
.av-dest-faq a{color:#e97800}
.av-dest-back-link{display:inline-block;margin-top:24px;color:#e97800;font-weight:800;text-decoration:none}

@media (max-width:640px){
  .av-dest-facts{grid-template-columns:1fr 1fr}
  .av-dest-hero h2{font-size:30px}
  .av-dest-detail-header-text h1{font-size:26px}
  .av-dest-detail-header{min-height:200px}
  #page{padding:0 14px}
  #headerimg h1{font-size:26px}
  #headerimg .description{font-size:14px}
  .av-dest-filter-row{flex-direction:column;align-items:stretch}
}

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

/* Admin-entered road status reports — shared markup/classes with routes-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}
