/*
Theme Name: CMP Camping Invest
Theme URI: https://www.ictparts.nl/
Author: OpenAI
Author URI: https://www.ictparts.nl/
Description: Zakelijk camping marketplace thema met internationale uitstraling, grote sfeerbeelden en ondersteuning voor Camping Marketplace V4.
Version: 1.2.4
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: cmp-camping-invest
*/

:root{
  --cmpi-bg:#eefaf3;
  --cmpi-surface:#ffffff;
  --cmpi-surface-soft:#f7fffb;
  --cmpi-text:#133b31;
  --cmpi-muted:#4b6f67;
  --cmpi-line:#cfe9dd;
  --cmpi-accent:#ff8b2b;
  --cmpi-accent-dark:#eb6d00;
  --cmpi-accent-yellow:#ffd84d;
  --cmpi-dark:#0e8f6a;
  --cmpi-dark-soft:#1ea67c;
  --cmpi-success:#28b56d;
  --cmpi-blue:#0f7ed8;
  --cmpi-shadow:0 18px 50px rgba(15,126,216,.10);
  --cmpi-radius:22px;
  --cmpi-container:min(1240px, calc(100% - 32px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cmpi-bg);
  color:var(--cmpi-text);
  font-family:"Manrope","Segoe UI",Arial,sans-serif;
  font-size:16px;
  line-height:1.7;
}

h1,h2,h3,h4,h5,h6,
.cmpi-branding a,
.cmpi-nav a,
.cmpi-btn,
.cmpi-results-copy h1,
.cmpi-section-head h2,
.cmpi-page-hero h1{
  font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;
}

a{color:var(--cmpi-accent-dark);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}

.cmpi-shell{min-height:100vh;display:flex;flex-direction:column}
.cmpi-main{flex:1 0 auto}
.cmpi-container{width:var(--cmpi-container);margin:0 auto}
.site-main,
.entry-content,
.cmpi-content-card,
.cmpi-section,
.cmpi-page-hero .cmpi-container,
.cmpi-results-content{
  width:100%;
}

.cmpi-topbar{
  background:linear-gradient(90deg,var(--cmpi-dark),var(--cmpi-blue));
  color:#effff9;
  font-size:13px;
}
.cmpi-topbar-inner{
  width:var(--cmpi-container);
  margin:0 auto;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.cmpi-topbar-links,
.cmpi-topbar-user{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 16px;
}
.cmpi-topbar-links span{
  opacity:.92;
}
.cmpi-topbar-links a,
.cmpi-topbar-user a{
  color:#effff9;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cmpi-topbar-links a:hover,
.cmpi-topbar-user a:hover{
  color:#fff7b8;
  text-decoration:none;
}

.cmpi-header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(15,126,216,.12);
}
.cmpi-header-inner{
  width:var(--cmpi-container);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:82px;
}
.cmpi-branding{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.cmpi-branding a{
  color:var(--cmpi-dark);
  font-size:30px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.cmpi-branding small{
  color:var(--cmpi-muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.18em;
}

.cmpi-nav ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  gap:24px;
}
.cmpi-nav a{
  color:var(--cmpi-dark);
  font-size:15px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.cmpi-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid transparent;
  background:linear-gradient(135deg,var(--cmpi-accent),var(--cmpi-accent-yellow));
  color:#fff;
  font-size:14px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 12px 30px rgba(255,139,43,.26);
}
.cmpi-btn:hover{
  text-decoration:none;
  background:linear-gradient(135deg,var(--cmpi-accent-dark),var(--cmpi-accent));
}
.cmpi-btn-secondary{
  background:transparent;
  color:var(--cmpi-blue);
  border-color:rgba(15,126,216,.22);
  box-shadow:none;
}

.cmpi-hero{
  position:relative;
  min-height:640px;
  color:#fff;
  overflow:hidden;
  background:#0f7ed8;
}
.cmpi-hero-slides,
.cmpi-hero-overlay,
.cmpi-hero-inner{
  position:absolute;
  inset:0;
}
.cmpi-hero-slides{
  z-index:0;
}
.cmpi-hero-slide{
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
  opacity:0;
  filter:saturate(1.08) contrast(1.05) brightness(1.04);
  transform:scale(1.015);
  transition:opacity .9s ease, transform 6s ease, filter .9s ease;
}
.cmpi-hero-slide.is-active{
  opacity:1;
  transform:scale(1);
}
.cmpi-hero-overlay{
  z-index:1;
  background:linear-gradient(90deg,rgba(14,143,106,.28) 0%,rgba(15,126,216,.20) 42%,rgba(255,139,43,.10) 100%);
}
.cmpi-hero-inner{
  z-index:2;
  display:flex;
  align-items:center;
}
.cmpi-hero-grid{
  width:var(--cmpi-container);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:36px;
  align-items:end;
  padding:110px 0 90px;
}
.cmpi-hero-copy h1{
  margin:0 0 18px;
  font-size:64px;
  line-height:1;
  letter-spacing:-.05em;
}
.cmpi-hero-copy p{
  margin:0;
  max-width:760px;
  font-size:19px;
  color:rgba(255,255,255,.88);
}
.cmpi-eyebrow{
  display:inline-block;
  margin-bottom:16px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:#fff7b8;
}

.cmpi-panel{
  background:rgba(255,255,255,.95);
  color:var(--cmpi-text);
  border-radius:26px;
  padding:28px;
  box-shadow:0 22px 60px rgba(0,0,0,.18);
}
.cmpi-panel h3{
  margin:0 0 10px;
  color:var(--cmpi-dark);
  font-size:28px;
}
.cmpi-panel p{
  margin:0 0 18px;
  color:var(--cmpi-muted);
}
.cmpi-hero-map-panel{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(15,126,216,.14);
}
.cmpi-hero-map-head{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:12px;
}
.cmpi-hero-map-head strong{
  color:var(--cmpi-dark);
  font-size:18px;
}
.cmpi-hero-map-head span{
  color:var(--cmpi-muted);
  font-size:14px;
}
.cmpi-hero-map-panel .cmp-map{
  height:260px;
  border-radius:18px;
  box-shadow:0 14px 34px rgba(15,126,216,.12);
}
.cmpi-hero-map-panel .cmp-map-info-link{
  font-size:12px;
}

.cmpi-section{
  padding:72px 0;
}
.cmpi-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:30px;
}
.cmpi-section-head h2{
  margin:0;
  font-size:42px;
  line-height:1.04;
  color:var(--cmpi-dark);
  letter-spacing:-.04em;
}
.cmpi-section-head p{
  margin:10px 0 0;
  color:var(--cmpi-muted);
  max-width:720px;
}

.cmpi-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.cmpi-country-card,
.cmpi-info-card,
.cmpi-side-card,
.cmpi-content-card{
  background:var(--cmpi-surface);
  border:1px solid var(--cmpi-line);
  border-radius:var(--cmpi-radius);
  box-shadow:var(--cmpi-shadow);
}
.cmpi-country-card{
  overflow:hidden;
}
.cmpi-country-card-image{
  position:relative;
  min-height:240px;
  background-size:cover;
  background-position:center;
}
.cmpi-country-card-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,126,216,.04),rgba(14,143,106,.28));
}
.cmpi-country-card-body{
  position:relative;
  margin-top:-84px;
  padding:0 22px 22px;
  z-index:1;
}
.cmpi-country-card-badge{
  display:inline-block;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.32);
  color:#fff;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.cmpi-country-card h3{
  margin:14px 0 10px;
  color:#fff;
  font-size:28px;
}
.cmpi-country-card p{
  color:rgba(255,255,255,.92);
  margin:0 0 16px;
}

.cmpi-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:28px;
  align-items:start;
}
.cmpi-content-card{
  padding:34px;
}
.cmpi-content-card h1,
.cmpi-content-card h2,
.cmpi-content-card h3{
  color:var(--cmpi-dark);
  letter-spacing:-.03em;
  line-height:1.08;
}
.cmpi-content-card h1{font-size:52px;margin:0 0 18px}
.cmpi-content-card h2{font-size:34px;margin:0 0 16px}
.cmpi-content-card h3{font-size:26px;margin:0 0 14px}
.cmpi-content-card p:last-child{margin-bottom:0}
.cmpi-side-stack{display:grid;gap:18px}
.cmpi-side-card{padding:24px}
.cmpi-side-card h3{margin:0 0 14px;font-size:22px;color:var(--cmpi-dark)}

.cmpi-footer{
  margin-top:40px;
  background:linear-gradient(135deg,var(--cmpi-dark),var(--cmpi-blue));
  color:#e9fff6;
}
.cmpi-footer-inner{
  width:var(--cmpi-container);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:26px;
  padding:56px 0 30px;
}
.cmpi-footer h3{
  margin:0 0 16px;
  font-size:20px;
  color:#fff;
}
.cmpi-footer a{color:#fff7b8}
.cmpi-footer p,
.cmpi-footer li{color:#e9fff6}
.cmpi-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.cmpi-footer-bottom{
  width:var(--cmpi-container);
  margin:0 auto;
  padding:18px 0 30px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:13px;
  color:#c7f3ea;
}

.cmpi-page-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,var(--cmpi-dark),var(--cmpi-blue));
  color:#fff;
  padding:78px 0 62px;
}
.cmpi-page-hero-bg,
.cmpi-page-hero-overlay,
.cmpi-page-hero-content{
  position:relative;
}
.cmpi-page-hero-photo .cmpi-page-hero-bg{
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
  filter:saturate(1.06) contrast(1.03) brightness(1.02);
  transform:scale(1.02);
}
.cmpi-page-hero-photo .cmpi-page-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(14,143,106,.42) 0%,rgba(15,126,216,.34) 46%,rgba(255,139,43,.18) 100%);
}
.cmpi-page-hero-content{
  z-index:2;
}
.cmpi-page-hero-photo{
  min-height:340px;
  display:flex;
  align-items:center;
}
.cmpi-page-hero h1{
  margin:0 0 14px;
  font-size:54px;
  letter-spacing:-.04em;
  max-width:980px;
}
.cmpi-page-hero p{
  margin:0;
  max-width:820px;
  color:rgba(255,255,255,.84);
}

.cmpi-home-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.cmpi-home-hero-actions .cmpi-btn-secondary{
  background:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.92);
}

.cmpi-results-hero{
  position:relative;
  min-height:560px;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(135deg,var(--cmpi-dark),var(--cmpi-blue));
}
.cmpi-results-hero-home{
  min-height:640px;
}
.cmpi-results-map-wrap,
.cmpi-results-overlay,
.cmpi-results-content{
  position:absolute;
  inset:0;
}
.cmpi-results-map-wrap .cmp-map{
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
}
.cmpi-map-toolbar{
  position:absolute;
  top:24px;
  right:24px;
  z-index:4;
  display:flex;
  align-items:center;
  gap:12px;
}
.cmpi-map-filter-toggle,
.cmpi-map-filter-clear{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#0f7ed8;
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 14px 34px rgba(8,54,84,.18);
  cursor:pointer;
  text-decoration:none;
}
.cmpi-map-filter-clear{
  background:rgba(14,143,106,.96);
  color:#fff;
}
.cmpi-results-hero-has-filter .cmpi-results-content{
  grid-template-columns:minmax(0,1fr);
}
.cmpi-results-map-wrap .cmp-map-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#0f7ed8,#0e8f6a);
}
.cmpi-results-overlay{
  background:transparent;
  z-index:1;
  pointer-events:none;
  transition:background .25s ease;
}
.cmpi-results-hero-filter-visible .cmpi-results-overlay{
  background:linear-gradient(180deg,rgba(6,34,63,.10) 0%,rgba(6,34,63,.04) 24%,rgba(255,255,255,0) 55%,rgba(255,255,255,0) 100%);
}
.cmpi-results-content{
  z-index:2;
  display:grid;
  align-items:end;
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);
  gap:32px;
  width:var(--cmpi-container);
  margin:0 auto;
  padding:100px 0 56px;
  pointer-events:none;
}
.cmpi-results-copy,
.cmpi-results-filter{
  pointer-events:auto;
}
.cmpi-results-copy{
  align-self:end;
  padding:30px 34px;
  border-radius:28px;
  background:linear-gradient(90deg,rgba(7,37,66,.72) 0%,rgba(7,37,66,.54) 52%,rgba(7,37,66,.08) 100%);
  backdrop-filter:blur(6px);
  box-shadow:0 22px 54px rgba(2,18,34,.20);
}
.cmpi-results-copy h1{
  margin:0 0 14px;
  font-size:58px;
  line-height:1.02;
  letter-spacing:-.05em;
  max-width:840px;
  text-shadow:0 8px 26px rgba(4,22,44,.22);
}
.cmpi-results-copy p{
  margin:0;
  max-width:760px;
  font-size:18px;
  color:rgba(255,255,255,.92);
  text-shadow:0 6px 22px rgba(4,22,44,.18);
}
.cmpi-results-filter{
  padding:24px;
  border-radius:24px;
  background:rgba(11, 46, 80, .88);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 56px rgba(2,18,34,.34);
  backdrop-filter:blur(12px);
}
.cmpi-results-filter-home{
  align-self:end;
}
.cmpi-results-filter[hidden]{
  display:none!important;
}
.cmpi-results-filter-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.cmpi-results-filter-grid p{
  margin:0;
}
.cmpi-results-filter label{
  display:block;
  margin-bottom:8px;
  color:#f4fbff;
  font-size:14px;
  font-weight:700;
}
.cmpi-results-filter input,
.cmpi-results-filter select{
  width:100%;
  min-height:52px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.96);
  color:#12324d;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
.cmpi-results-filter input::placeholder{
  color:#6c8194;
}
.cmpi-results-filter select:focus,
.cmpi-results-filter input:focus{
  outline:none;
  border-color:rgba(255,216,77,.92);
  box-shadow:0 0 0 3px rgba(255,216,77,.18);
}
.cmpi-results-filter-submit .cmpi-btn{
  width:100%;
}

.cmpi-sidebar-links{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.cmpi-sidebar-links a{
  display:block;
  padding:12px 14px;
  border-radius:14px;
  background:var(--cmpi-surface-soft);
  border:1px solid var(--cmpi-line);
  color:var(--cmpi-blue);
  font-weight:700;
}

@media (max-width: 1100px){
  .cmpi-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmpi-hero-grid,
  .cmpi-split,
  .cmpi-results-content,
  .cmpi-footer-inner{grid-template-columns:1fr}
  .cmpi-results-content{
    width:min(100%,calc(100% - 24px));
    padding:88px 0 34px;
    gap:22px;
  }
  .cmpi-results-filter{
    width:min(100%,480px);
    justify-self:end;
  }
}

@media (max-width: 720px){
  .cmpi-topbar-inner{
    align-items:flex-start;
    flex-direction:column;
    padding:8px 0;
  }
  .cmpi-header-inner{min-height:74px}
  .cmpi-nav{display:none}
  .cmpi-hero{min-height:560px}
  .cmpi-hero-grid{padding:90px 0 48px}
  .cmpi-hero-copy h1,
  .cmpi-results-copy h1,
  .cmpi-page-hero h1,
  .cmpi-content-card h1{font-size:38px}
  .cmpi-section-head h2{font-size:32px}
  .cmpi-card-grid{grid-template-columns:1fr}
  .cmpi-content-card{padding:24px}
  .cmpi-home-hero-actions{flex-direction:column}
  .cmpi-container{width:min(100%,calc(100% - 16px))}
  .cmpi-results-hero,
  .cmpi-results-hero-home{min-height:620px}
  .cmpi-results-content{
    width:calc(100% - 16px);
    padding:74px 0 18px;
    align-items:end;
  }
  .cmpi-results-copy{
    padding:20px 18px;
    border-radius:22px;
    background:linear-gradient(180deg,rgba(7,37,66,.78) 0%,rgba(7,37,66,.58) 70%,rgba(7,37,66,.14) 100%);
  }
  .cmpi-results-copy p{font-size:16px}
  .cmpi-results-filter{
    width:100%;
    padding:18px;
    border-radius:20px;
  }
  .cmpi-map-toolbar{
    top:14px;
    right:14px;
    left:14px;
    justify-content:flex-end;
    flex-wrap:wrap;
  }
  .cmpi-map-filter-toggle,
  .cmpi-map-filter-clear{
    min-height:42px;
    padding:0 14px;
    font-size:12px;
  }
}
