/* ==========================================================
   CampervanDeal Platform Pages v4
   Extends the homepage visual system across archives/singles.
   White + photography + restrained purple + neutral borders.
   ========================================================== */

:root{
  --cvd-page-text:#17171A;
  --cvd-page-muted:#5F6368;
  --cvd-page-soft:#F7F7F8;
  --cvd-page-border:#E4E5E7;
  --cvd-page-border-dark:#D2D4D7;
  --cvd-page-purple:#6D55E7;
  --cvd-page-purple-hover:#5D45D4;
  --cvd-page-purple-soft:#F3F1FD;
  --cvd-page-radius:16px;
  --cvd-page-shadow:0 8px 28px rgba(15,23,42,.07);
}

/* Shared page rhythm */
.cvd-simple-page-hero,
.cvd-simple-hero,
.cvd-legal-header,
.cvd-about-hero,
.cvd-review-hero,
.cvd-platform-page-hero{
  background:#fff!important;
  color:var(--cvd-page-text)!important;
  padding:58px 0 34px!important;
  border-bottom:1px solid var(--cvd-page-border)!important;
}
.cvd-simple-page-hero h1,
.cvd-simple-hero h1,
.cvd-legal-header h1,
.cvd-about-hero h1,
.cvd-review-hero h1,
.cvd-platform-page-hero h1{
  color:var(--cvd-page-text)!important;
  font-size:clamp(36px,4.6vw,52px)!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  margin:6px 0 12px!important;
}
.cvd-simple-page-hero p,
.cvd-simple-hero p,
.cvd-about-hero p,
.cvd-review-hero p,
.cvd-platform-page-hero p{
  color:var(--cvd-page-muted)!important;
  max-width:720px;
  font-size:17px;
  line-height:1.65;
}
.cvd-kicker,.cvd-eyebrow,.cvd-section-label{
  color:var(--cvd-page-purple)!important;
  text-transform:uppercase;
  letter-spacing:.085em;
  font-size:12px!important;
  font-weight:750!important;
}

.cvd-section{padding-top:72px;padding-bottom:72px}
.cvd-bg-gray{background:var(--cvd-page-soft)!important}
.cvd-bg-white{background:#fff!important}
.cvd-section-header h2,.cvd-section-heading h2{
  color:var(--cvd-page-text);
  font-size:clamp(28px,3vw,34px);
  letter-spacing:-.025em;
  line-height:1.15;
}
.cvd-section-header p{color:var(--cvd-page-muted);line-height:1.65}

/* Shared cards */
.cvd-card,
.cvd-content-card,
.cvd-simple-card,
.cvd-coupon-card,
.cvd-company-card,
.cvd-review-card,
.cvd-editorial-category-card,
.cvd-itinerary-route-context,
.cvd-coupon-article,
.cvd-coupon-sidebar,
.cvd-destination-copy{
  background:#fff!important;
  border:1px solid var(--cvd-page-border)!important;
  border-radius:var(--cvd-page-radius)!important;
  box-shadow:none!important;
}
.cvd-card,.cvd-simple-card,.cvd-company-card,.cvd-coupon-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.cvd-card:hover,.cvd-simple-card:hover,.cvd-company-card:hover,.cvd-coupon-card:hover{
  transform:translateY(-2px);
  border-color:#D8D4EE!important;
  box-shadow:var(--cvd-page-shadow)!important;
}

/* Archive filters/search */
.cvd-itinerary-filter-wrap,
.cvd-review-search,
.cvd-coupon-search{
  background:#fff!important;
  border:1px solid var(--cvd-page-border)!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
.cvd-itinerary-filter input,
.cvd-itinerary-filter select,
.cvd-review-search input,
.cvd-review-search select,
.cvd-coupon-search input,
.cvd-review-filters select,
.cvd-review-form input,
.cvd-review-form select,
.cvd-review-form textarea{
  border:1px solid var(--cvd-page-border-dark)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--cvd-page-text)!important;
  box-shadow:none!important;
}
.cvd-review-form input:focus,
.cvd-review-form select:focus,
.cvd-review-form textarea:focus,
.cvd-review-search input:focus,
.cvd-itinerary-filter input:focus,
.cvd-itinerary-filter select:focus{
  border-color:var(--cvd-page-purple)!important;
  outline:3px solid rgba(109,85,231,.12)!important;
}

/* Destination archive */
.cvd-destination-archive-hero{background:#fff;border-bottom:1px solid var(--cvd-page-border);padding:58px 0 34px}
.cvd-destination-archive-hero h1{font-size:clamp(36px,4.6vw,52px);line-height:1.06;letter-spacing:-.035em;color:var(--cvd-page-text);margin:8px 0 12px}
.cvd-destination-archive-hero p{font-size:17px;color:var(--cvd-page-muted);line-height:1.65;max-width:720px;margin:0}
.cvd-destination-breadcrumb{display:flex;align-items:center;gap:9px;color:#777B82;font-size:13px;margin-bottom:14px}
.cvd-destination-breadcrumb a{color:#555A61;text-decoration:none}
.cvd-destination-breadcrumb a:hover{color:var(--cvd-page-purple)}
.cvd-destination-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
.cvd-destination-tabs .cvd-btn{border-radius:999px!important;padding:9px 15px!important;font-size:13px!important}
.cvd-archive-result-count{font-size:13px;color:#777B82;margin:0 0 18px}

/* Destination single */
.cvd-destination-hero{
  min-height:430px!important;
  display:flex!important;
  align-items:flex-end!important;
  padding:70px 0 54px!important;
  background-color:#E9EBEF!important;
  background-size:cover!important;
  background-position:center!important;
}
.cvd-destination-hero .cvd-container{position:relative;z-index:2}
.cvd-destination-hero h1{font-size:clamp(40px,5vw,58px)!important;line-height:1.04!important;letter-spacing:-.04em!important;color:#fff!important;max-width:850px;margin:6px 0 10px!important}
.cvd-destination-hero p{color:rgba(255,255,255,.92)!important;font-size:18px!important;max-width:680px!important}
.cvd-destination-hero .cvd-kicker{color:#fff!important;background:rgba(10,12,18,.36);padding:7px 10px;border-radius:999px;display:inline-flex;backdrop-filter:blur(6px)}
.cvd-destination-page{padding-top:34px;padding-bottom:78px}
.cvd-destination-layout{gap:42px!important}
.cvd-destination-layout main>section{margin-top:64px}
.cvd-highlight-grid{gap:14px!important}
.cvd-highlight-item{background:var(--cvd-page-soft)!important;border:1px solid var(--cvd-page-border)!important;border-radius:12px!important;color:#2F3136!important}
.cvd-simple-card a{color:inherit;text-decoration:none}
.cvd-simple-card img{border-radius:15px 15px 0 0;width:100%;height:190px;object-fit:cover}
.cvd-simple-card h3,.cvd-simple-card p{margin-left:18px;margin-right:18px}
.cvd-simple-card p{color:var(--cvd-page-muted);padding-bottom:18px}

/* Itinerary archive/single */
.cvd-itinerary-archive-hero{min-height:330px!important;background:#fff!important;color:var(--cvd-page-text)!important;border-bottom:1px solid var(--cvd-page-border)}
.cvd-itinerary-archive-overlay{background:rgba(255,255,255,.88)!important}
.cvd-itinerary-archive-inner h1{color:var(--cvd-page-text)!important;font-size:clamp(38px,5vw,54px)!important;letter-spacing:-.04em!important}
.cvd-itinerary-archive-inner p{color:var(--cvd-page-muted)!important}
.cvd-archive-stats{color:#555A61!important}
.cvd-itinerary-facts{background:#fff!important;border:1px solid var(--cvd-page-border)!important;border-radius:16px!important;box-shadow:none!important}
.cvd-itinerary-fact{border-color:var(--cvd-page-border)!important}
.cvd-itinerary-article-layout{gap:42px!important}
.cvd-itinerary-article-layout main{min-width:0}
.cvd-itinerary-article-layout main h2{font-size:clamp(27px,3vw,34px);letter-spacing:-.025em;margin-top:48px}
.cvd-itinerary-article-layout main p{color:#4F545B;line-height:1.78}
.cvd-badge{border-radius:999px!important;background:#F3F4F5!important;color:#4C5157!important;border:0!important}
.cvd-badge-brand{background:var(--cvd-page-purple-soft)!important;color:var(--cvd-page-purple-hover)!important}

/* Company reviews */
.cvd-review-directory{padding-top:34px!important;padding-bottom:76px!important}
.cvd-review-company-grid{gap:18px!important}
.cvd-company-card{overflow:hidden!important}
.cvd-company-card-media{background:#F1F2F4!important}
.cvd-company-card h2 a{color:var(--cvd-page-text)!important}
.cvd-company-country{background:var(--cvd-page-purple-soft)!important;color:var(--cvd-page-purple-hover)!important}
.cvd-company-rating .cvd-stars,.cvd-rating-summary .cvd-stars{color:var(--cvd-page-purple)!important}
.cvd-company-page{padding-top:38px!important;padding-bottom:78px!important}
.cvd-company-profile-head{background:#fff!important;border:1px solid var(--cvd-page-border)!important;border-radius:18px!important;box-shadow:none!important;padding:28px!important}
.cvd-company-layout{gap:36px!important}
.cvd-review-insights,.cvd-rating-summary{gap:12px!important}
.cvd-rating-grid>*,.cvd-review-insights>*{background:var(--cvd-page-soft)!important;border:1px solid var(--cvd-page-border)!important;border-radius:12px!important}
.cvd-review-form-wrap{max-width:900px!important;margin-left:auto!important;margin-right:auto!important}
.cvd-review-form{padding:30px!important;background:#fff!important;border:1px solid var(--cvd-page-border)!important;border-radius:18px!important}
.cvd-review-card{padding:24px!important}
.cvd-company-response{background:var(--cvd-page-soft)!important;border-left:3px solid var(--cvd-page-purple)!important}

/* Coupon/deals */
.cvd-coupon-card{padding:22px!important}
.cvd-coupon-partner{color:#666B72!important;text-transform:uppercase;letter-spacing:.06em;font-size:11px!important}
.cvd-coupon-code{background:var(--cvd-page-soft)!important;border:1px dashed var(--cvd-page-border-dark)!important;border-radius:10px!important}
.cvd-coupon-link{color:var(--cvd-page-purple-hover)!important}
.cvd-coupon-single{background:#fff!important}
.cvd-coupon-single-layout{gap:34px!important;padding-top:40px!important;padding-bottom:78px!important}
.cvd-coupon-redeem{background:var(--cvd-page-purple-soft)!important;border:1px solid #DFDAFA!important;border-radius:14px!important}

/* Blog archive and article */
.cvd-blog-archive-hero,.cvd-blog-header{background:#fff!important;border-bottom:1px solid var(--cvd-page-border)!important}
.cvd-editorial-blog-card{border-radius:16px!important;overflow:hidden!important}
.cvd-editorial-blog-image img{width:100%;height:220px;object-fit:cover}
.cvd-editorial-blog-card h3 a{color:var(--cvd-page-text)!important}
.cvd-blog-cat{color:var(--cvd-page-purple-hover)!important;background:transparent!important;font-weight:700!important}
.single-post .cvd-container>article{max-width:820px;margin-left:auto!important;margin-right:auto!important}
.single-post .cvd-container>article h1{font-size:clamp(38px,4.8vw,54px)!important;line-height:1.06!important;letter-spacing:-.04em!important;color:var(--cvd-page-text)!important}
.single-post .cvd-container>article img{border-radius:16px!important}
.single-post .cvd-container>article p,.single-post .cvd-container>article li{color:#454A51;line-height:1.82}

/* Static/about/contact/legal */
.cvd-editorial-page{max-width:860px!important;padding-top:46px!important;padding-bottom:72px!important}
.cvd-about-content,.cvd-legal-content{font-size:17px;line-height:1.8;color:#444A51}
.cvd-legal-updated{color:#7B8087!important;font-size:13px!important}
.cvd-contact-page .cvd-editorial-page{max-width:760px!important}
.cvd-editorial-page h2{margin-top:42px;font-size:clamp(26px,3vw,32px);letter-spacing:-.02em}
.cvd-editorial-page h3{margin-top:30px;font-size:22px}

/* Search / 404 */
.cvd-search-results{display:grid;gap:14px;margin-top:28px}
.cvd-search-results .cvd-content-card{padding:22px!important}
.cvd-search-results h2{font-size:22px;margin:7px 0}
.cvd-search-results h2 a{color:var(--cvd-page-text);text-decoration:none}
.cvd-search-results p{color:var(--cvd-page-muted);margin:0}
.cvd-404-page{padding:90px 24px 100px;text-align:center}
.cvd-404-code{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--cvd-page-purple);font-weight:760}
.cvd-404-page h1{font-size:clamp(42px,6vw,66px);letter-spacing:-.045em;margin:12px 0 12px}
.cvd-404-page p{max-width:580px;margin:0 auto 28px;color:var(--cvd-page-muted);font-size:17px;line-height:1.65}
.cvd-404-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* CTA: keep purple restrained */
.cvd-content-cta{background:var(--cvd-page-purple-soft)!important;color:var(--cvd-page-text)!important;border-top:1px solid #E6E1FA;border-bottom:1px solid #E6E1FA}
.cvd-content-cta h2{color:var(--cvd-page-text)!important}
.cvd-content-cta p{color:var(--cvd-page-muted)!important}

/* Forms and buttons */
.cvd-btn{border-radius:10px!important;box-shadow:none!important}
.cvd-btn-white{background:#fff!important;color:var(--cvd-page-text)!important;border:1px solid var(--cvd-page-border)!important}

/* Responsive */
@media(max-width:900px){
  .cvd-section{padding-top:58px;padding-bottom:58px}
  .cvd-company-layout,.cvd-destination-layout,.cvd-itinerary-article-layout{grid-template-columns:1fr!important}
  .cvd-review-form-wrap{max-width:100%!important}
  .cvd-destination-hero{min-height:360px!important;padding:56px 0 44px!important}
}
@media(max-width:640px){
  .cvd-simple-page-hero,.cvd-simple-hero,.cvd-legal-header,.cvd-about-hero,.cvd-review-hero,.cvd-platform-page-hero{padding:42px 0 26px!important}
  .cvd-section{padding-top:48px;padding-bottom:48px}
  .cvd-destination-page,.cvd-company-page{padding-bottom:56px!important}
  .cvd-review-form{padding:20px!important;border-radius:14px!important}
  .cvd-company-profile-head{padding:20px!important;border-radius:14px!important}
  .cvd-destination-hero{min-height:320px!important}
}

/* Additional archive polish */
.blog .cvd-editorial-blog-card h2,
.archive .cvd-editorial-blog-card h2{font-size:20px;line-height:1.28;margin:9px 0 8px}
.blog .cvd-editorial-blog-card h2 a,
.archive .cvd-editorial-blog-card h2 a{color:var(--cvd-page-text);text-decoration:none}
.cvd-pagination{margin-top:34px}
.cvd-pagination .page-numbers{border-radius:9px!important;border:1px solid var(--cvd-page-border)!important;background:#fff!important;color:#4E535A!important}
.cvd-pagination .page-numbers.current{background:var(--cvd-page-purple)!important;color:#fff!important;border-color:var(--cvd-page-purple)!important}
.cvd-empty-state{background:var(--cvd-page-soft)!important;border:1px solid var(--cvd-page-border)!important;border-radius:16px!important;padding:42px!important;text-align:center}
.cvd-empty-state h2,.cvd-empty-state h3{color:var(--cvd-page-text)!important}
.cvd-empty-state p{color:var(--cvd-page-muted)!important}
