﻿/*
Theme Name: HFS Hotel & B&B Invest
Theme URI: https://hotelforsale.eu/
Author: OpenAI
Author URI: https://hotelforsale.eu/
Description: Zakelijk hotel marketplace thema met internationale uitstraling, grote sfeerbeelden en ondersteuning voor HFS Hospitality Marketplace.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: cmp-camping-invest
*/

:root{
  --cmpi-bg:#f7f5f0;
  --cmpi-surface:#ffffff;
  --cmpi-surface-soft:#faf9f6;
  --cmpi-text:#172d43;
  --cmpi-muted:#65717d;
  --cmpi-line:#dedfdc;
  --cmpi-accent:#a77b40;
  --cmpi-accent-dark:#805b2c;
  --cmpi-accent-yellow:#c8ad77;
  --cmpi-dark:#172d43;
  --cmpi-dark-soft:#27445f;
  --cmpi-success:#28b56d;
  --cmpi-blue:#315b80;
  --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}
html{
  margin-top:0!important;
  padding-top:0!important;
}
body{
  margin:0;
  padding-top:0!important;
  background:var(--cmpi-bg);
  top:0!important;
  color:var(--cmpi-text);
  font-family:"Manrope","Segoe UI",Arial,sans-serif;
  font-size:16px;
  line-height:1.7;
}
.cmpi-shell{
  margin-top:0!important;
  padding-top:0!important;
  background:#fff;
}
body > .skiptranslate,
.goog-te-banner-frame,
iframe.goog-te-banner-frame{
  display:none!important;
  height:0!important;
  visibility:hidden!important;
}

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}

/* Keep Leaflet tiles and markers out of the theme's global img reset. */
.leaflet-container img,
.leaflet-container .leaflet-marker-icon,
.leaflet-container .leaflet-marker-shadow{
  max-width:none !important;
  height:auto !important;
}

.leaflet-container .leaflet-tile{
  width:256px !important;
  height:256px !important;
  max-width:none !important;
}

.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-results-content{
  width:100%;
}

.cmpi-topbar{
  margin:0!important;
  background:linear-gradient(90deg,var(--cmpi-dark),var(--cmpi-blue));
  color:#effff9;
  font-size:13px;
}
.cmpi-shell > .cmpi-topbar{
  margin-top:0!important;
}
.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;
  overflow:visible;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(15,126,216,.12);
}
.admin-bar .cmpi-header{
  top:32px;
}
@media screen and (max-width: 782px){
  .admin-bar .cmpi-header{
    top:46px;
  }
}
.cmpi-header-inner{
  width:var(--cmpi-container);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  height:82px;
  min-height:82px;
  overflow:visible;
}
.cmpi-branding{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:0 0 auto;
}
.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-logo-link{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.cmpi-logo-link:hover{
  text-decoration:none;
}
.cmpi-logo{
  width:220px;
  max-width:32vw;
  height:auto;
  max-height:70px;
  object-fit:contain;
}

.cmpi-menu-toggle,
.cmpi-mobile-tagline,
.cmpi-mobile-menu-links{
  display:none;
}

.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-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-shrink:0;
  gap:12px;
}
.cmpi-language-switcher{
  position:relative;
  display:inline-flex;
  align-items:center;
  width:260px;
  max-width:calc(100vw - 32px);
  height:48px;
  min-height:48px;
  z-index:45;
}
.cmpi-language-switcher .gtranslate_wrapper,
.cmpi-language-switcher .gt_switcher,
.cmpi-language-switcher .gt_float_switcher{
  position:relative;
  overflow:visible;
}
.cmpi-language-switcher .gt_float_switcher{
  width:260px;
  max-width:calc(100vw - 32px);
  height:48px;
}
.cmpi-language-switcher .gt-selected,
.cmpi-language-switcher .gt-current-lang,
.cmpi-language-switcher .gt_options,
.cmpi-language-switcher .gt_option{
  width:260px;
  max-width:calc(100vw - 32px);
}
.cmpi-language-switcher .gt_switcher .gt_option,
.cmpi-language-switcher .gt_float_switcher .gt_options{
  position:absolute;
  top:100%;
  right:0;
  z-index:9999;
  background:#fff;
  border:1px solid rgba(19,59,49,.12);
  box-shadow:0 16px 34px rgba(19,59,49,.16);
}
.cmpi-language-switcher .gt-current-lang,
.cmpi-language-switcher .gt_option a,
.cmpi-language-switcher .gt_options a{
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  text-align:left;
}
.cmpi-language-switcher img{
  flex:0 0 auto;
}
.cmpi-language-switcher span{
  display:inline-block;
}
.cmpi-language-switcher select{
  max-width:190px;
}

.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:var(--cmpi-accent);
  background-image:none;
  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:var(--cmpi-accent-dark);
  background-image:none;
}
.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:#315b80;
}
.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-no-hero{
  padding-top:38px;
}
.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;
  position:relative;
}
.cmpi-country-card-image{
  display:block;
  position:relative;
  min-height:240px;
  background-size:cover;
  background-position:center;
}
.cmpi-country-card-image:hover{
  text-decoration:none;
}
.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-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.cmpi-country-card-new{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:#ff8f2a;
  color:#fff;
  box-shadow:0 10px 24px rgba(255,143,42,.28);
  font-size:11px;
  font-weight:900;
  letter-spacing:0;
  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-listing-single-shell{
  width:100%;
}
.cmpi-single-title{
  margin:0 0 26px;
  padding-bottom:20px;
  border-bottom:1px solid var(--cmpi-line);
}
.cmpi-single-title h1{
  margin:8px 0 0;
}
.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-page-hero-compact{min-height:360px;padding:0;display:flex;align-items:center}
.cmpi-page-hero-compact .cmpi-container{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}
.cmpi-page-hero-compact p{margin-left:auto;margin-right:auto}
.cmpi-unavailable-card{max-width:760px;margin:0 auto;text-align:center}
.cmpi-unavailable-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center}
.cmpi-compare-empty{text-align:center;padding:18px 0}
.cmpi-compare-empty h2{margin:0 0 12px}
.cmpi-compare-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-bottom:28px}
.cmpi-compare-card{border:1px solid var(--cmpi-line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:var(--cmpi-shadow)}
.cmpi-compare-image{display:block;background:#eef8f4}
.cmpi-compare-image img{display:block;width:100%;height:240px;object-fit:contain;background:#eef8f4}
.cmpi-compare-image.is-empty{display:flex;align-items:center;justify-content:center;height:240px;color:var(--cmpi-muted);font-weight:700;text-decoration:none}
.cmpi-compare-card-body{padding:20px}
.cmpi-compare-card-body h3{margin:0 0 10px;font-size:24px}
.cmpi-compare-card-body h3 a{color:var(--cmpi-dark);text-decoration:none}
.cmpi-compare-card-body p{margin:0 0 16px;color:var(--cmpi-muted)}
.cmpi-compare-table-wrap{overflow-x:auto;border:1px solid var(--cmpi-line);border-radius:22px;background:#fff}
.cmpi-compare-table{width:100%;min-width:860px;border-collapse:collapse}
.cmpi-compare-table th,.cmpi-compare-table td{padding:14px 16px;border-bottom:1px solid rgba(19,59,49,.08);text-align:left;vertical-align:top}
.cmpi-compare-table thead th{background:#faf9f6;color:var(--cmpi-dark)}
.cmpi-compare-table tbody th{background:#fcfffd;color:var(--cmpi-dark);min-width:240px}
.cmpi-compare-group-row th,.cmpi-compare-group-row td{background:#eef8f4;font-weight:800}
.cmpi-compare-feature{padding-left:28px!important;color:var(--cmpi-muted)!important;font-weight:700!important}
.cmpi-compare-pill{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.cmpi-compare-pill.is-yes{background:#e8fbef;color:#18794e}
.cmpi-compare-pill.is-no{background:#f3f4f6;color:#6b7280}
.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 .8fr;
  gap:26px;
  padding:56px 0 30px;
}
.cmpi-footer h3{
  margin:0 0 16px;
  font-size:20px;
  color:#fff;
}
.cmpi-footer a{
  color:#fff7b8;
  font-size:17px;
  font-weight:800;
  line-height:1.45;
  text-decoration:none;
}
.cmpi-footer a:hover,
.cmpi-footer a:focus{text-decoration:underline}
.cmpi-footer p,
.cmpi-footer li{color:#e9fff6}
.cmpi-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.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;
  align-items:center;
  gap:14px;
  margin:24px 0 0!important;
}

.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-front-page .cmpi-results-hero-home .cmpi-results-map-wrap{
  background:
    linear-gradient(90deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.03) 28%,rgba(255,255,255,0) 58%);
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
.cmpi-results-map-wrap,
.cmpi-results-overlay,
.cmpi-results-content{
  position:absolute;
  inset:0;
}
.cmpi-results-map-wrap{
  overflow:hidden;
}
.cmpi-results-map-wrap::before,
.cmpi-results-map-wrap::after{
  content:"";
  position:absolute;
  inset:auto;
  z-index:1;
  pointer-events:none;
}
.cmpi-results-map-wrap::before{
  top:-120px;
  right:-120px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,168,92,.24) 0%,rgba(255,168,92,.10) 34%,rgba(255,168,92,0) 72%);
  filter:blur(10px);
}
.cmpi-results-map-wrap::after{
  left:-140px;
  bottom:-180px;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(14,143,106,.30) 0%,rgba(14,143,106,.12) 42%,rgba(14,143,106,0) 78%);
  filter:blur(14px);
}
.cmpi-results-map-wrap .cmp-map{
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
}
.cmpi-results-hero .cmpi-hero-slides{
  position:absolute;
  inset:0;
  z-index:0;
}
.cmpi-results-hero .cmpi-hero-slide{
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0;
  transform:scale(1.04);
  filter:saturate(1.16) contrast(1.02) brightness(.96);
  transition:opacity 1s ease, transform 7s ease, filter 1s ease;
}
.cmpi-results-hero .cmpi-hero-slide::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg,rgba(10,98,138,.26) 0%,rgba(10,98,138,.10) 38%,rgba(255,255,255,0) 68%),
    linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 28%,rgba(18,92,76,.18) 100%);
}
.cmpi-results-hero .cmpi-hero-slide.is-active{
  opacity:1;
  transform:scale(1);
}
.cmpi-results-hero-home .cmpi-hero-slide{
  filter:saturate(1.2) contrast(1.02) brightness(1.02);
}
.cmpi-results-hero-home .cmpi-hero-slide::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 24%),
    radial-gradient(circle at 18% 78%,rgba(72,193,145,.16) 0%,rgba(72,193,145,0) 34%),
    radial-gradient(circle at 82% 18%,rgba(255,196,94,.18) 0%,rgba(255,196,94,0) 30%);
}
.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:#315b80;
  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,#315b80,#172d43);
}
.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(255,255,255,.08) 0%,rgba(255,255,255,.02) 20%,rgba(255,255,255,0) 52%,rgba(255,255,255,0) 100%),
    linear-gradient(90deg,rgba(18,124,153,.08) 0%,rgba(18,124,153,0) 38%,rgba(72,193,145,.06) 100%);
}
.cmpi-front-page .cmpi-results-hero-home.cmpi-results-hero-filter-visible .cmpi-results-overlay{
  background:
    linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.03) 16%,rgba(255,255,255,0) 48%,rgba(255,255,255,0) 100%),
    linear-gradient(90deg,rgba(17,116,144,.12) 0%,rgba(17,116,144,.04) 32%,rgba(255,255,255,0) 56%),
    linear-gradient(0deg,rgba(14,143,106,.10) 0%,rgba(14,143,106,0) 26%);
}
.cmpi-results-hero-map-only .cmpi-results-overlay{
  background:transparent;
}
.cmpi-results-content{
  z-index:2;
  display:grid;
  align-items:stretch;
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);
  gap:32px;
  width:var(--cmpi-container);
  margin:0 auto;
  padding:104px 0 56px;
  pointer-events:none;
}
.cmpi-results-copy,
.cmpi-results-filter{
  pointer-events:auto;
  height:100%;
}
.cmpi-results-hero-map-only .cmpi-results-copy,
.cmpi-results-hero-map-only .cmpi-results-filter{
  display:none!important;
}
.cmpi-results-copy{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:30px 34px;
  border-radius:28px;
  background:linear-gradient(90deg,rgba(7,37,66,.80) 0%,rgba(7,37,66,.58) 54%,rgba(7,37,66,.16) 100%);
  backdrop-filter:blur(6px);
  box-shadow:none;
  border:0;
}
.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{
  align-self:stretch;
  justify-self:end;
  width:min(100%,420px);
  padding:16px 16px 14px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(9,42,73,.88) 0%,rgba(7,32,56,.92) 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 26px 60px rgba(2,18,34,.38);
  backdrop-filter:blur(14px);
  display:flex;
  flex-direction:column;
}
.cmpi-results-filter::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0));
  pointer-events:none;
}
.cmpi-results-filter{
  position:relative;
}
.cmpi-results-filter-home{
  align-self:stretch;
}
.cmpi-results-filter[hidden]{
  display:none!important;
}
.cmpi-results-filter-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  height:100%;
}
.cmpi-results-filter-grid p{
  margin:0;
}
.cmpi-results-filter label{
  display:block;
  margin-bottom:2px;
  color:#f4fbff;
  font-size:12px;
  font-weight:700;
}
.cmpi-results-filter input,
.cmpi-results-filter select{
  width:100%;
  min-height:42px;
  padding:9px 14px;
  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 .cmpi-price-filter{
  margin-top:-1px;
}
.cmpi-results-filter .cmpi-results-filter-submit{
  margin-top:0;
}
.cmpi-results-filter-submit label{
  display:none;
}
.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%;
  min-height:42px;
  padding:8px 16px;
}

.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%,420px);
    justify-self:end;
  }
}

@media (max-width: 720px){
  .cmpi-topbar{display:none}
  .cmpi-header-inner{
    position:relative;
    width:100%;
    height:auto;
    min-height:156px;
    padding:12px 14px 16px;
    display:grid;
    grid-template-columns:44px minmax(104px,1fr) auto;
    grid-template-areas:
      "tagline tagline tagline"
      "logo logo logo"
      "menu lang cta";
    align-items:center;
    gap:12px 8px;
  }
  .cmpi-menu-toggle{
    grid-area:menu;
    display:inline-flex;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    border:0;
    border-radius:8px;
    padding:0;
    background:#172d43;
    cursor:pointer;
  }
  .cmpi-menu-toggle span{
    display:block;
    width:22px;
    height:2px;
    border-radius:999px;
    background:#fff;
  }
  .cmpi-branding{
    grid-area:logo;
    justify-self:center;
    align-items:center;
  }
  .cmpi-mobile-tagline{
    grid-area:tagline;
    display:block;
    justify-self:center;
    color:var(--cmpi-muted);
    font-size:13px;
    line-height:1.35;
    text-align:center;
  }
  .cmpi-logo{
    width:150px;
    max-width:48vw;
    max-height:64px;
  }
  .cmpi-nav{
    position:absolute;
    top:148px;
    left:12px;
    right:12px;
    z-index:60;
    display:none;
    padding:12px;
    border:1px solid rgba(19,59,49,.12);
    border-radius:8px;
    background:#fff;
    box-shadow:0 18px 38px rgba(19,59,49,.18);
  }
  .cmpi-nav.is-open{display:block}
  .cmpi-nav ul{
    display:grid;
    align-items:stretch;
    gap:4px;
  }
  .cmpi-nav a,
  .cmpi-mobile-menu-links a{
    display:block;
    padding:12px 10px;
    color:var(--cmpi-dark);
    font-size:14px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .cmpi-mobile-menu-links{
    display:grid;
    gap:4px;
    margin-top:0;
    padding-top:0;
    border-top:0;
  }
  .cmpi-header-actions{
    display:contents;
    min-width:0;
  }
  .cmpi-language-switcher{
    grid-area:lang;
    justify-self:center;
  }
  .cmpi-header-actions .cmpi-btn{
    grid-area:cta;
    justify-self:end;
  }
  .cmpi-menu-toggle{justify-self:start}
  .cmpi-header-actions .cmpi-btn{
    min-height:42px;
    padding:0 10px;
    font-size:11px;
    white-space:nowrap;
  }
  .cmpi-language-switcher{
    width:122px;
    max-width:122px;
    height:42px;
    min-height:42px;
  }
  .cmpi-language-switcher .gt_float_switcher,
  .cmpi-language-switcher .gt-selected,
  .cmpi-language-switcher .gt-current-lang{
    width:122px;
    max-width:122px;
  }
  .cmpi-language-switcher .gt_options,
  .cmpi-language-switcher .gt_option{
    width:220px;
    max-width:calc(100vw - 32px);
  }
  .cmpi-language-switcher select{max-width:122px}
  .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-page-hero-compact{min-height:300px}
  .cmpi-home-hero-actions{flex-direction:column}
  .cmpi-container{width:min(100%,calc(100% - 16px))}
  .cmpi-results-hero,
  .cmpi-results-hero-home{
    min-height:0;
    overflow:visible;
  }
  .cmpi-results-content{
    position:relative;
    inset:auto;
    width:calc(100% - 16px);
    padding:74px 0 34px;
    align-items:start;
  }
  .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;
  }
}

@media (max-width: 380px){
  .cmpi-logo{
    width:132px;
    max-width:46vw;
  }
  .cmpi-header-inner{gap:10px}
  .cmpi-header-actions{gap:4px}
  .cmpi-header-actions .cmpi-btn{
    padding:0 8px;
    font-size:10px;
  }
  .cmpi-language-switcher,
  .cmpi-language-switcher .gt_float_switcher,
  .cmpi-language-switcher .gt-selected,
  .cmpi-language-switcher .gt-current-lang{
    width:104px;
    max-width:104px;
  }
  .cmpi-language-switcher select{max-width:104px}
}

.cmpi-btn,
.cmpi-panel,
.cmpi-country-card,
.cmpi-info-card,
.cmpi-side-card,
.cmpi-content-card,
.cmpi-results-filter,
.cmpi-results-copy,
.cmpi-map-filter-toggle,
.cmpi-map-filter-clear{
  border-radius:8px;
}
.cmpi-hero-copy h1,
.cmpi-results-copy h1,
.cmpi-page-hero h1{
  font-size:40px;
  letter-spacing:0;
}
.cmpi-content-card h1{
  font-size:34px;
  letter-spacing:0;
}
.cmpi-section-head h2{
  font-size:28px;
  letter-spacing:0;
}
.cmpi-content-card h2{
  font-size:26px;
  letter-spacing:0;
}
.cmpi-content-card h3,
.cmpi-country-card h3{
  font-size:20px;
  letter-spacing:0;
}
.cmpi-section{
  padding:54px 0;
}
.cmpi-hero{
  min-height:540px;
}
.cmpi-results-hero{
  min-height:500px;
}

@media (max-width: 720px){
  .cmpi-hero-copy h1,
  .cmpi-results-copy h1,
  .cmpi-page-hero h1,
  .cmpi-content-card h1{
    font-size:30px;
  }
  .cmpi-unavailable-actions{
    flex-direction:column;
  }
  .cmpi-unavailable-actions .cmpi-btn{
    width:100%;
  }
  .cmpi-section-head h2{
    font-size:24px;
  }
}

/* Newsletter signup: enforce theme-consistent look */
.cfs-newsletter-prefooter-wrap{
  background:var(--cmpi-bg)!important;
  padding:34px 0!important;
  margin:0!important;
}
.cfs-newsletter-signup{
  width:var(--cmpi-container)!important;
  max-width:none!important;
  margin:0 auto!important;
  background:var(--cmpi-surface)!important;
  border:1px solid var(--cmpi-line)!important;
  border-radius:8px!important;
  box-shadow:var(--cmpi-shadow)!important;
  padding:26px!important;
  box-sizing:border-box!important;
}
.cfs-newsletter-signup-pre-footer{
  width:var(--cmpi-container)!important;
  max-width:none!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
.cfs-newsletter-signup .cfs-newsletter-title{
  color:var(--cmpi-dark)!important;
  font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:0!important;
  line-height:1.08!important;
}
.cfs-newsletter-signup h1,
.cfs-newsletter-signup h2,
.cfs-newsletter-signup h3{
  font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:0!important;
  line-height:1.08!important;
}

/* Keep buttons stable on hover (no vertical jump) */
.cmpi-btn:hover{
  transform:none!important;
}
.cfs-newsletter-signup .cfs-newsletter-intro,
.cfs-newsletter-signup label{
  color:var(--cmpi-muted)!important;
}
.cfs-newsletter-signup input[type="email"]{
  min-height:52px!important;
  border:1px solid rgba(19,59,49,.18)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--cmpi-text)!important;
  box-shadow:none!important;
}
.cfs-newsletter-signup input[type="email"]:focus{
  outline:none!important;
  border-color:rgba(255,216,77,.92)!important;
  box-shadow:0 0 0 3px rgba(255,216,77,.18)!important;
}
.cfs-newsletter-signup button,
.cfs-newsletter-signup input[type="submit"]{
  min-height:48px!important;
  padding:0 22px!important;
  border-radius:8px!important;
  border:1px solid transparent!important;
  background:var(--cmpi-accent)!important;
  background-image:none!important;
  color:#fff!important;
  font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  box-shadow:0 12px 30px rgba(255,139,43,.26)!important;
}
.cfs-newsletter-signup button:hover,
.cfs-newsletter-signup input[type="submit"]:hover{
  background:var(--cmpi-accent-dark)!important;
  background-image:none!important;
  transform:none!important;
}
@media (max-width: 720px){
  .cfs-newsletter-signup-pre-footer{
    width:min(100%,calc(100% - 16px))!important;
  }
  .cfs-newsletter-signup{
    width:min(100%,calc(100% - 16px))!important;
    padding:18px!important;
  }
  .cfs-newsletter-signup button,
  .cfs-newsletter-signup input[type="submit"]{
    width:100%!important;
  }
}

/* Global UI consistency: one radius + one button font across site */
:root{
  --cmpi-unified-radius:8px;
}

.cmpi-card-grid > *,
.cmpi-content-card,
.cmpi-country-card,
.cmpi-info-card,
.cmpi-side-card,
.cmpi-results-filter,
.cmpi-results-copy,
.cmpi-panel,
.cmpi-compare-card,
.cmpi-compare-table-wrap,
.cfs-newsletter-signup,
.cfs-newsletter-signup-pre-footer,
.cmp-auth-visual,
.cmp-auth-panel,
.cmp-contact-intro,
.cmp-security-question{
  border-radius:var(--cmpi-unified-radius)!important;
}

.cmpi-btn,
.cmp-btn,
.cmp-map-info-link,
.cmp-inline-action.cmp-btn,
.cfs-newsletter-signup button,
.cfs-newsletter-signup input[type="submit"]{
  border-radius:var(--cmpi-unified-radius)!important;
  font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
  letter-spacing:.06em!important;
  font-weight:700!important;
}

.cmpi-results-filter input,
.cmpi-results-filter select,
.cmp-form input[type=text],
.cmp-form input[type=email],
.cmp-form input[type=password],
.cmp-form input[type=url],
.cmp-form input[type=file],
.cmp-form input[type=number],
.cmp-form select,
.cmp-form textarea,
.cmp-top-search input,
.cmp-top-search select,
.cfs-newsletter-signup input[type="email"]{
  border-radius:var(--cmpi-unified-radius)!important;
}
