/* ==========================================================
   CampervanDeal archive refinement v5
   Adds visual anchors to internal archives without making them
   colourful or heavy. Homepage remains the design reference.
   ========================================================== */
:root{
  --cvd-v5-ink:#17171A;
  --cvd-v5-muted:#62666D;
  --cvd-v5-soft:#F4F5F7;
  --cvd-v5-soft-warm:#FAF9FC;
  --cvd-v5-border:#DDE0E5;
  --cvd-v5-brand:#6D55E7;
  --cvd-v5-brand-soft:#F1EEFD;
  --cvd-v5-shadow:0 14px 38px rgba(23,23,26,.07);
}

/* Stronger but still restrained archive heroes */
.cvd-itinerary-archive-hero,
.cvd-destination-archive-hero,
.cvd-review-hero,
.cvd-simple-page-hero,
.cvd-simple-hero,
.cvd-platform-page-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#fff 0%,#fff 55%,#F7F4FE 100%)!important;
  border-bottom:1px solid var(--cvd-v5-border)!important;
}
.cvd-itinerary-archive-hero::after,
.cvd-destination-archive-hero::after,
.cvd-review-hero::after,
.cvd-simple-page-hero::after,
.cvd-simple-hero::after{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  border-radius:50%;
  right:-110px;
  top:-150px;
  background:radial-gradient(circle,rgba(109,85,231,.10),rgba(109,85,231,0) 68%);
  pointer-events:none;
}
.cvd-itinerary-archive-inner,
.cvd-destination-archive-hero>.cvd-container,
.cvd-review-hero>.cvd-container,
.cvd-simple-page-hero>.cvd-container,
.cvd-simple-hero>.cvd-container{
  position:relative;
  z-index:1;
}
.cvd-itinerary-archive-hero{padding:62px 0 54px!important;min-height:0!important}
.cvd-itinerary-archive-bg,.cvd-itinerary-archive-overlay{display:none!important}
.cvd-itinerary-archive-inner{max-width:900px;text-align:left!important}
.cvd-itinerary-archive-inner h1{font-size:clamp(40px,5vw,56px)!important;margin:8px 0 14px!important;letter-spacing:-.04em}
.cvd-itinerary-archive-inner p{max-width:760px!important;color:var(--cvd-v5-muted)!important;font-size:18px!important}

/* Search/filter module: give it enough physical presence */
.cvd-itinerary-filter-wrap{
  padding:0 0 18px!important;
  background:#fff!important;
  border-bottom:0!important;
}
.cvd-itinerary-filter-wrap .cvd-container{position:relative;z-index:3}
.cvd-itinerary-filter{
  margin-top:-20px!important;
  background:#fff!important;
  border:1px solid var(--cvd-v5-border)!important;
  border-radius:16px!important;
  padding:20px!important;
  box-shadow:var(--cvd-v5-shadow)!important;
  gap:14px!important;
}
.cvd-itinerary-filter label>span{font-weight:700!important;color:#454A52!important;font-size:12px!important;margin-bottom:7px!important}
.cvd-itinerary-filter input,.cvd-itinerary-filter select{
  height:50px!important;
  border-radius:10px!important;
  background:#fff!important;
  border:1px solid #D8DBE0!important;
}
.cvd-itinerary-filter .cvd-btn{height:50px!important;border-radius:10px!important;padding-inline:24px!important}

/* Stronger section separation */
.cvd-category-section-v5{
  background:var(--cvd-v5-soft)!important;
  border-top:1px solid #ECEDEF;
  border-bottom:1px solid #ECEDEF;
  padding-top:62px!important;
  padding-bottom:66px!important;
}
.cvd-category-section-v5 .cvd-section-header{max-width:720px;margin:0 auto 30px!important}
.cvd-category-section-v5 .cvd-section-header h2{margin:7px 0 8px!important}
.cvd-category-section-v5 .cvd-section-header p{margin:0 auto;max-width:610px}

/* Category cards with visual anchors, not empty rectangles */
.cvd-category-icon-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:14px!important}
.cvd-category-icon-card{
  min-height:150px!important;
  padding:20px 14px!important;
  display:flex!important;
  flex-direction:column;
  justify-content:center!important;
  align-items:center!important;
  gap:9px!important;
  text-align:center!important;
  border-radius:14px!important;
  border:1px solid #DADDE2!important;
  background:#fff!important;
}
.cvd-category-icon-card:hover{transform:translateY(-3px)!important;box-shadow:0 10px 26px rgba(20,24,34,.08)!important;border-color:#CFC9F5!important}
.cvd-editorial-category-icon{
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 4px!important;
  color:var(--cvd-v5-brand)!important;
  background:var(--cvd-v5-brand-soft)!important;
  font-size:0!important;
}
.cvd-editorial-category-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cvd-category-tone-2 .cvd-editorial-category-icon{background:#EAF7EF!important;color:#247A50!important}
.cvd-category-tone-3 .cvd-editorial-category-icon{background:#EEF2FF!important;color:#4C63C6!important}
.cvd-category-tone-4 .cvd-editorial-category-icon{background:#FFF4E7!important;color:#B56A1B!important}
.cvd-category-tone-5 .cvd-editorial-category-icon{background:#F6ECFA!important;color:#8A4A9E!important}
.cvd-category-tone-6 .cvd-editorial-category-icon{background:#EAF5F7!important;color:#287283!important}
.cvd-category-icon-card strong{font-size:15px!important;line-height:1.25;color:var(--cvd-v5-ink)!important}
.cvd-category-icon-card small{font-size:12px!important;color:#757A82!important}

/* Main content sections get more contrast than the old pale grey */
.cvd-bg-gray{background:var(--cvd-v5-soft)!important}
.cvd-section.cvd-bg-white + .cvd-section.cvd-bg-gray,
.cvd-section.cvd-bg-gray + .cvd-section.cvd-bg-white{border-top:1px solid #ECEDEF}

/* Archive card collections should feel substantial once imagery begins */
.cvd-grid-3{row-gap:28px!important}
.cvd-itin-card,.cvd-card,.cvd-company-card,.cvd-coupon-card,.cvd-dest-card{
  border-color:#DDE0E5!important;
}
.cvd-itin-card:hover,.cvd-card:hover,.cvd-company-card:hover,.cvd-coupon-card:hover,.cvd-dest-card:hover{
  box-shadow:0 12px 32px rgba(22,27,38,.08)!important;
}

/* Destination archive: tabs get a defined control area */
.cvd-destination-archive-hero{padding:58px 0 46px!important}
.cvd-destination-archive-hero p{max-width:760px!important}
.cvd-destination-tabs{
  display:flex!important;
  flex-wrap:wrap;
  gap:8px!important;
  margin:0 0 28px!important;
  padding:10px!important;
  width:max-content;
  max-width:100%;
  background:var(--cvd-v5-soft)!important;
  border:1px solid var(--cvd-v5-border)!important;
  border-radius:14px!important;
}
.cvd-destination-tabs .cvd-btn{min-height:40px!important;border-radius:9px!important}
.cvd-archive-result-count{font-size:13px;color:#747980;margin:0 0 18px}

/* Reviews: make search a real utility surface */
.cvd-review-hero{padding-bottom:42px!important}
.cvd-review-directory{padding-top:0!important}
.cvd-review-search{
  margin-top:-18px!important;
  padding:20px!important;
  border-radius:16px!important;
  border:1px solid var(--cvd-v5-border)!important;
  box-shadow:var(--cvd-v5-shadow)!important;
  background:#fff!important;
}
.cvd-review-company-grid{margin-top:34px!important}
.cvd-company-card{overflow:hidden!important}

/* Coupons: prevent pale-on-pale archive feeling */
.cvd-simple-hero .cvd-coupon-search{
  margin-top:24px!important;
  max-width:720px;
  background:#fff!important;
  border:1px solid var(--cvd-v5-border)!important;
  border-radius:14px!important;
  padding:8px!important;
  box-shadow:0 10px 28px rgba(23,23,26,.05)!important;
}
.archive.post-type-archive-cvd_coupon .cvd-bg-gray{background:#F5F6F8!important}

/* Guides/search/general pages need an anchor between hero and content */
.cvd-simple-page-hero + .cvd-section,
.cvd-simple-hero + .cvd-section,
.cvd-review-hero + .cvd-review-directory{
  position:relative;
}
.cvd-search-results{display:grid;gap:16px}
.cvd-search-results .cvd-content-card{padding:24px!important;background:#fff!important;border-color:#DDE0E5!important}

/* Subtle section header accent gives hierarchy without more colour */
.cvd-section-header:not(.text-center){position:relative}
.cvd-section-header:not(.text-center)::before{
  content:"";
  display:block;
  width:34px;
  height:3px;
  border-radius:99px;
  background:var(--cvd-v5-brand);
  margin-bottom:12px;
}

@media(max-width:1050px){
  .cvd-category-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .cvd-itinerary-archive-hero{padding:42px 0 36px!important}
  .cvd-itinerary-archive-inner h1{font-size:38px!important}
  .cvd-itinerary-archive-inner p{font-size:16px!important}
  .cvd-itinerary-filter-wrap{padding:0 0 8px!important}
  .cvd-itinerary-filter{margin-top:0!important;padding:16px!important;box-shadow:none!important;border-radius:14px!important}
  .cvd-category-section-v5{padding-top:48px!important;padding-bottom:50px!important}
  .cvd-category-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
  .cvd-category-icon-card{min-height:132px!important;padding:15px 10px!important}
  .cvd-editorial-category-icon{width:42px!important;height:42px!important}
  .cvd-review-search{margin-top:0!important;box-shadow:none!important}
  .cvd-destination-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap!important}
  .cvd-destination-tabs .cvd-btn{white-space:nowrap}
}
