/* CasaMia componenten v3.9 */

.cm-section-title {
  --cm-removed-font-size: 42px;
  --cm-removed-line-height: 1.15;
  color: var(--cm-dark);
  margin: 0;
}

.cm-verhuurobjecten { margin: 60px 0; }

.cm-verhuurobjecten-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 32px;
}

.cm-carousel-controls { display: flex; gap: 10px; }

.cm-carousel-controls button {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 0;
  background: var(--cm-orange);
  color: #fff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.cm-carousel-controls button:hover { background: #A9562D; }

.cm-carousel-controls button:disabled { cursor: default; }

.cm-verhuurobject-carousel {
  overflow: hidden;
  width: 100%;
  padding-bottom: 8px;
}

.cm-verhuurobject-track {
  display: flex;
  gap: 28px;
  transition: transform 0.35s ease;
  will-change: transform;
}

.cm-verhuurobject-slide {
  flex: 0 0 calc((100% - 56px) / 3);
  min-width: 0;
}

.cm-verhuurobject-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.cm-verhuurobject-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 12px 35px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.cm-verhuurobject-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 45px rgba(0,0,0,0.12);
}

.cm-verhuurobject-image {
  display: block;
  aspect-ratio: 16 / 10;
  background: var(--cm-light);
  overflow: hidden;
}

.cm-verhuurobject-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.cm-verhuurobject-card:hover .cm-verhuurobject-image img { transform: scale(1.04); }

.cm-verhuurobject-placeholder {
  height: 100%;
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #777;
  background: linear-gradient(135deg, #f2f2f2, #e6e6e6);
}

.cm-verhuurobject-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.cm-verhuurobject-type {
  color: var(--cm-orange);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
}

.cm-verhuurobject-title {
  --cm-removed-font-size: 28px;
  --cm-removed-line-height: 1.15;
  margin: 0 0 10px;
  color: var(--cm-dark);
}

.cm-verhuurobject-title a { color: inherit; text-decoration: none; }

.cm-verhuurobject-intro {
  --cm-removed-font-size: 16px;
  --cm-removed-line-height: 1.6;
  margin: 0 0 18px;
  color: var(--cm-text);
}

.cm-verhuurobject-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 10px;
  font-size: 15px;
  margin-bottom: 18px;
}

.cm-verhuurobject-meta span {
  background: var(--cm-beige);
  padding: 7px 10px;
  border-radius: 999px;
}

.cm-verhuurobject-pricebox {
  margin-top: auto;
  margin-bottom: 18px;
  padding-top: 8px;
}

.cm-verhuurobject-price-label {
  font-size: 13px;
  line-height: 1.2;
  color: var(--cm-orange);
  text-transform: uppercase;
  letter-spacing: 1.3px;
  font-weight: 800;
  margin-bottom: 6px;
}

.cm-verhuurobject-price,
.cm-verhuurobject-price-placeholder {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  color: var(--cm-dark);
  font-weight: 800;
  font-size: 18px;
}

.cm-verhuurobject-price-empty {
  color: #777;
  font-weight: 600;
}

.cm-verhuurobject-button {
  display: inline-block;
  background: var(--cm-orange);
  color: #fff !important;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  text-align: center;
}

.cm-verhuurobject-button:hover {
  background: #A9562D;
  color: #fff !important;
}

.cm-verhuurobjecten-empty {
  padding: 24px;
  background: var(--cm-beige);
  border-radius: 12px;
}

.cm-debug {
  background: #111827;
  color: #fff;
  padding: 18px;
  border-radius: 10px;
  margin: 20px 0;
  font-size: 14px;
  overflow-x: auto;
}

@media (max-width: 980px) {
  .cm-verhuurobject-slide { flex: 0 0 calc((100% - 28px) / 2); }
  .cm-verhuurobject-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .cm-verhuurobjecten-head { align-items: flex-start; }
  .cm-verhuurobject-slide { flex: 0 0 100%; }
  .cm-verhuurobject-grid { grid-template-columns: 1fr; }
  .cm-section-title { }
  .cm-carousel-controls button { width: 40px; height: 40px; }
}


/* CasaMia prijstabellen v2.0 */

.cm-prijstabel {
  margin: 60px 0;
}

.cm-price-group {
  margin: 0 0 42px;
}

.cm-price-heading {
  font-size: 28px;
  line-height: 1.2;
  color: var(--cm-dark);
  margin: 0 0 20px;
}

.cm-price-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.cm-price-card {
  background: var(--cm-beige);
  border-radius: 16px;
  padding: 24px 18px;
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
  overflow: hidden;
  position: relative;
}

.cm-price-card:nth-child(4n/**/+1) {
  background: linear-gradient(180deg, #9DCCF5 0%, #83B8E4 100%);
}

.cm-price-card:nth-child(4n/**/+2) {
  background: linear-gradient(180deg, #98F2C2 0%, #80DCAE 100%);
}

.cm-price-card:nth-child(4n/**/+3) {
  background: linear-gradient(180deg, #FFFDCB 0%, #E9E6B4 100%);
}

.cm-price-card:nth-child(4n/**/+4) {
  background: linear-gradient(180deg, #FFFF8E 0%, #E5E678 100%);
}

.cm-price-period {
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  color: #4B4B55;
}

.cm-price-min {
  font-size: 17px;
  line-height: 1.35;
  font-weight: 700;
  color: #4B4B55;
  margin: 14px 0;
}

.cm-price-amount {
  margin: 20px -18px -24px;
  padding: 16px 12px;
  background: rgba(0,0,0,0.08);
  color: #2E2E35;
  font-size: 24px;
  font-weight: 800;
}

.cm-prijstabel-empty {
  padding: 24px;
  background: var(--cm-beige);
  border-radius: 12px;
}

@media (max-width: 980px) {
  .cm-price-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .cm-price-cards {
    grid-template-columns: 1fr;
  }

  .cm-price-card {
    min-height: auto;
  }
}


/* CasaMia prijstabel v2.6 */
.cm-price-periods {
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: center;
}

.cm-price-periods .cm-price-period {
  font-size: 21px;
  line-height: 1.2;
}

.cm-price-card .cm-price-min {
  display: none;
}


/* CasaMia contactblok v2.7 */
.cm-contactblok {
  margin: 70px 0;
}

.cm-contactblok-inner {
  background: var(--cm-beige);
  border-radius: 22px;
  padding: 42px;
  box-shadow: 0 12px 35px rgba(0,0,0,0.07);
}

.cm-contactblok-title {
  color: var(--cm-dark);
  font-size: 36px;
  line-height: 1.15;
  margin: 0 0 16px;
}

.cm-contactblok-text {
  color: var(--cm-text);
  font-size: 18px;
  line-height: 1.65;
  max-width: 780px;
  margin: 0 0 28px;
}

.cm-contactblok-button {
  display: inline-block;
  background: var(--cm-orange);
  color: #fff !important;
  padding: 14px 24px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 800;
}

.cm-contactblok-button:hover {
  background: #A9562D;
  color: #fff !important;
}

@media (max-width: 640px) {
  .cm-contactblok-inner {
    padding: 28px;
  }

  .cm-contactblok-title {
    font-size: 30px;
  }
}


/* CasaMia verhuurobject detailpagina v2.8 */

.cm-detail-hero {
  position: relative;
  min-height: 540px;
  border-radius: 26px;
  overflow: hidden;
  margin: 30px 0 36px;
  background: var(--cm-dark);
  display: flex;
  align-items: flex-end;
}

.cm-detail-hero-image {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.cm-detail-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cm-detail-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.68), rgba(0,0,0,0.22), rgba(0,0,0,0.08));
  z-index: 2;
}

.cm-detail-hero-content {
  position: relative;
  z-index: 3;
  max-width: 720px;
  padding: 64px;
  color: #fff;
}

.cm-detail-eyebrow {
  color: #F1C48F;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 800;
  font-size: 14px;
  margin-bottom: 12px;
}

.cm-detail-title {
  color: #fff;
  font-size: clamp(42px, 6vw, 72px);
  line-height: 1.04;
  margin: 0 0 18px;
}

.cm-detail-intro {
  color: rgba(255,255,255,0.92);
  font-size: 20px;
  line-height: 1.55;
  margin: 0;
}

.cm-detail-kenmerken {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 56px;
}

.cm-detail-kenmerk {
  background: #fff;
  border-radius: 18px;
  padding: 22px 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.07);
  text-align: center;
}

.cm-detail-kenmerk-icon {
  font-size: 28px;
  line-height: 1;
  margin-bottom: 10px;
}

.cm-detail-kenmerk-label {
  color: var(--cm-dark);
  font-weight: 800;
  font-size: 16px;
  line-height: 1.35;
}

.cm-detail-beschrijving {
  margin: 60px 0;
}

.cm-detail-beschrijving-text {
  max-width: 900px;
  color: var(--cm-text);
  --cm-removed-font-size: 18px;
  --cm-removed-line-height: 1.8;
}

.cm-detail-beschrijving-text p {
  margin-bottom: 1.2em;
}

@media (max-width: 980px) {
  .cm-detail-hero {
    min-height: 460px;
  }

  .cm-detail-hero-content {
    padding: 42px;
  }

  .cm-detail-kenmerken {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .cm-detail-hero {
    min-height: 420px;
    border-radius: 18px;
  }

  .cm-detail-hero-content {
    padding: 28px;
  }

  .cm-detail-title {
    font-size: 38px;
  }

  .cm-detail-intro {
    font-size: 17px;
  }

  .cm-detail-kenmerken {
    grid-template-columns: 1fr;
  }
}


/* CasaMia warme achtergrond v2.10 — veilige versie */

/* Alleen voorkant, niet Divi Visual Builder */
body:not(.et-fb) {
  background: #F5E8C8;
}

body:not(.et-fb) #page-container,
body:not(.et-fb) #main-content {
  background: transparent;
}

/* Wit canvas alleen rond de hoofdcontent, zonder links/knoppen te blokkeren */
body:not(.et-fb) #main-content {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  box-shadow: 0 10px 35px rgba(62,49,40,0.12);
  position: relative;
  z-index: 1;
}

/* Divi Theme Builder-content netjes binnen het canvas houden */
body:not(.et-fb) #main-content .et_builder_inner_content {
  background: transparent;
  padding-left: 34px;
  padding-right: 34px;
}

/* Voorkom dat oude standaard Divi blog-elementen bovenop CasaMia-blokken komen */
body:not(.et-fb).single-verhuurobject #main-content,
body:not(.et-fb).single-verhuurobjecten #main-content,
body:not(.et-fb).single-accommodatie #main-content,
body:not(.et-fb).single-accommodaties #main-content {
  overflow: visible;
}

/* Mobiel: geen schaduwbak, dat oogt rustiger */
@media (max-width: 640px) {
  body:not(.et-fb) {
    background: #fff;
  }

  body:not(.et-fb) #main-content {
    box-shadow: none;
    max-width: none;
  }

  body:not(.et-fb) #main-content .et_builder_inner_content {
    padding-left: 14px;
    padding-right: 14px;
  }
}


/* CasaMia galerijen v3.0 */
.cm-gallery { margin: 34px 0 46px; }
.cm-gallery button { font: inherit; }

.cm-gallery-back {
  color: rgba(255,255,255,0.86);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 28px;
}

.cm-gallery-eyebrow {
  color: #D06C34;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 900;
  font-size: 14px;
  margin-bottom: 12px;
}

.cm-gallery-title {
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: 1.04;
  margin: 0 0 16px;
}

.cm-gallery-intro {
  color: rgba(255,255,255,0.94);
  font-size: 21px;
  line-height: 1.55;
  max-width: 620px;
  margin: 0;
  font-style: italic;
}

.cm-gallery-count {
  position: absolute;
  top: 26px;
  right: 26px;
  z-index: 5;
  background: rgba(0,0,0,0.62);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 11px 16px;
  font-weight: 800;
  cursor: pointer;
}

/* Optie 1: Luxe hero */
.cm-gallery-luxe {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 12px 36px rgba(62,49,40,0.12);
  overflow: hidden;
}

.cm-gallery-main {
  position: relative;
  min-height: 520px;
  overflow: hidden;
}

.cm-gallery-main-img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
}

.cm-gallery-main-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.72), rgba(0,0,0,0.28), rgba(0,0,0,0.05));
  z-index: 2;
}

.cm-gallery-main-content {
  position: absolute;
  left: 58px;
  bottom: 64px;
  z-index: 4;
  color: #fff;
}

.cm-gallery-luxe-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 8px;
}

.cm-gallery-thumb {
  position: relative;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
  border-radius: 10px;
}

.cm-gallery-thumb-img {
  width: 100%;
  height: 145px;
  object-fit: cover;
  display: block;
  transition: transform 0.28s ease;
}

.cm-gallery-thumb:hover .cm-gallery-thumb-img { transform: scale(1.04); }

.cm-gallery-more {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 900;
}

/* Optie 3: Italiaans magazine */
.cm-gallery-magazine {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 12px 36px rgba(62,49,40,0.12);
  overflow: hidden;
  padding: 44px;
}

.cm-gallery-magazine-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.8fr;
  gap: 44px;
  align-items: center;
}

.cm-gallery-magazine-copy .cm-gallery-back {
  color: #B35B2D;
  margin-bottom: 34px;
}

.cm-gallery-titleblock-compact .cm-gallery-title {
  color: var(--cm-dark);
  font-size: clamp(40px, 4vw, 64px);
}

.cm-gallery-titleblock-compact .cm-gallery-intro {
  color: var(--cm-dark);
  font-size: 20px;
}

.cm-gallery-titleblock-compact .cm-gallery-eyebrow { color: var(--cm-orange); }

.cm-gallery-magazine-photo {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}

.cm-gallery-magazine-photo .cm-gallery-main-img { min-height: 430px; }

.cm-gallery-magazine-strip {
  display: grid;
  grid-template-columns: 62px 1fr 62px;
  gap: 18px;
  align-items: center;
  margin-top: 26px;
}

.cm-gallery-magazine-thumbs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}

.cm-gallery-magazine-thumbs .cm-gallery-thumb-img { height: 92px; }

.cm-gallery-nav {
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 999px;
  background: #F5E8C8;
  color: var(--cm-dark);
  font-size: 38px;
  cursor: pointer;
}

/* Lightbox */
.cm-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.92);
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
}

.cm-lightbox.is-open { display: flex; }
.cm-lightbox-open { overflow: hidden; }

.cm-lightbox-inner {
  width: min(1180px, 88vw);
  height: 82vh;
}

.cm-lightbox-slide {
  width: 100%;
  height: 100%;
  margin: 0;
  align-items: center;
  justify-content: center;
}

.cm-lightbox-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.cm-lightbox-close,
.cm-lightbox-prev,
.cm-lightbox-next {
  position: fixed;
  z-index: 1000000;
  border: 0;
  background: rgba(255,255,255,0.14);
  color: #fff;
  cursor: pointer;
}

.cm-lightbox-close {
  top: 24px;
  right: 30px;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  font-size: 34px;
}

.cm-lightbox-prev,
.cm-lightbox-next {
  top: 50%;
  transform: translateY(-50%);
  width: 58px;
  height: 70px;
  font-size: 54px;
  border-radius: 12px;
}

.cm-lightbox-prev { left: 28px; }
.cm-lightbox-next { right: 28px; }

@media (max-width: 980px) {
  .cm-gallery-main,
  .cm-gallery-main-img { min-height: 430px; }

  .cm-gallery-main-content {
    left: 34px;
    bottom: 42px;
  }

  .cm-gallery-luxe-thumbs { grid-template-columns: repeat(2, 1fr); }

  .cm-gallery-magazine { padding: 28px; }

  .cm-gallery-magazine-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .cm-gallery-magazine-thumbs { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
  .cm-gallery-main,
  .cm-gallery-main-img,
  .cm-gallery-magazine-photo .cm-gallery-main-img { min-height: 360px; }

  .cm-gallery-main-content {
    left: 24px;
    right: 24px;
    bottom: 30px;
  }

  .cm-gallery-title { font-size: 38px; }
  .cm-gallery-intro { font-size: 17px; }
  .cm-gallery-count { top: 16px; right: 16px; }

  .cm-gallery-luxe-thumbs { grid-template-columns: 1fr; }

  .cm-gallery-magazine-strip { grid-template-columns: 1fr; }
  .cm-gallery-nav { display: none; }
  .cm-gallery-magazine-thumbs { grid-template-columns: repeat(2, 1fr); }
}


/* CasaMia v3.1: Deluxe galerij-navigatie en objectnavigatie */

.cm-gallery-hero-prev,
.cm-gallery-hero-next {
  position: absolute;
  top: 50%;
  z-index: 6;
  transform: translateY(-50%);
  width: 54px;
  height: 64px;
  border: 0;
  border-radius: 14px;
  background: rgba(0,0,0,0.46);
  color: #fff;
  font-size: 46px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.cm-gallery-hero-prev {
  left: 24px;
}

.cm-gallery-hero-next {
  right: 24px;
}

.cm-gallery-hero-prev:hover,
.cm-gallery-hero-next:hover {
  background: rgba(0,0,0,0.68);
}

.cm-object-nav {
  margin: 54px 0 36px;
}

.cm-object-nav-inner {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.cm-object-nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cm-beige);
  color: var(--cm-dark) !important;
  border-radius: 12px;
  padding: 14px 20px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(62,49,40,0.08);
}

.cm-object-nav-button:hover {
  background: #EBD7AE;
  color: var(--cm-dark) !important;
}

.cm-object-nav-next {
  background: var(--cm-orange);
  color: #fff !important;
}

.cm-object-nav-next:hover {
  background: #A9562D;
  color: #fff !important;
}

@media (max-width: 640px) {
  .cm-gallery-hero-prev,
  .cm-gallery-hero-next {
    width: 42px;
    height: 52px;
    font-size: 36px;
  }

  .cm-gallery-hero-prev {
    left: 12px;
  }

  .cm-gallery-hero-next {
    right: 12px;
  }

  .cm-object-nav-inner {
    flex-direction: column;
  }

  .cm-object-nav-button {
    width: 100%;
  }
}


/* CasaMia v3.2: vaste herohoogte voor Deluxe galerie */
.cm-gallery-luxe .cm-gallery-main {
  height: 560px;
  min-height: 560px;
  max-height: 560px;
}

.cm-gallery-luxe .cm-gallery-main-img {
  width: 100%;
  height: 560px;
  min-height: 560px;
  max-height: 560px;
  object-fit: cover;
  object-position: center center;
}

@media (max-width: 980px) {
  .cm-gallery-luxe .cm-gallery-main {
    height: 460px;
    min-height: 460px;
    max-height: 460px;
  }

  .cm-gallery-luxe .cm-gallery-main-img {
    height: 460px;
    min-height: 460px;
    max-height: 460px;
  }
}

@media (max-width: 640px) {
  .cm-gallery-luxe .cm-gallery-main {
    height: 380px;
    min-height: 380px;
    max-height: 380px;
  }

  .cm-gallery-luxe .cm-gallery-main-img {
    height: 380px;
    min-height: 380px;
    max-height: 380px;
  }
}


/* CasaMia v3.3: Next Stay fotobanners */
.cm-nextstay {
  margin: 58px 0 42px;
}

.cm-nextstay-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.cm-nextstay-card {
  position: relative;
  min-height: 245px;
  border-radius: 22px;
  overflow: hidden;
  background-color: var(--cm-dark);
  background-size: cover;
  background-position: center;
  color: #fff !important;
  text-decoration: none;
  display: flex;
  align-items: flex-end;
  box-shadow: 0 12px 34px rgba(62,49,40,0.14);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.cm-nextstay-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 44px rgba(62,49,40,0.18);
  color: #fff !important;
}

.cm-nextstay-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.72));
  z-index: 1;
}

.cm-nextstay-content {
  position: relative;
  z-index: 2;
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cm-nextstay-kicker {
  color: #F1C48F;
  text-transform: uppercase;
  letter-spacing: 1.7px;
  font-size: 12px;
  font-weight: 900;
}

.cm-nextstay-title {
  color: #fff;
  font-size: 30px;
  line-height: 1.12;
  font-weight: 900;
}

.cm-nextstay-text {
  color: rgba(255,255,255,0.9);
  font-size: 16px;
  line-height: 1.45;
}

@media (max-width: 780px) {
  .cm-nextstay-grid {
    grid-template-columns: 1fr;
  }

  .cm-nextstay-card {
    min-height: 210px;
  }

  .cm-nextstay-title {
    font-size: 26px;
  }
}


/* CasaMia v3.4: Next Stay als één klikbare fotobanner + terugknop onderaan */
.cm-nextstay-v34 {
  margin: 58px 0 42px;
}

.cm-nextstay-v34 .cm-nextstay-hero {
  position: relative;
  min-height: 255px;
  border-radius: 22px;
  overflow: hidden;
  background-color: var(--cm-dark);
  background-size: cover;
  background-position: center;
  color: #fff !important;
  text-decoration: none;
  display: flex;
  align-items: flex-end;
  box-shadow: 0 12px 34px rgba(62,49,40,0.14);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.cm-nextstay-v34 .cm-nextstay-hero:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 44px rgba(62,49,40,0.18);
  color: #fff !important;
}

.cm-nextstay-v34 .cm-nextstay-content {
  padding: 34px;
}

.cm-nextstay-v34 .cm-nextstay-bottom {
  margin-top: 18px;
  display: flex;
  justify-content: flex-start;
}

.cm-nextstay-v34 .cm-nextstay-backlink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cm-beige);
  color: var(--cm-dark) !important;
  border-radius: 12px;
  padding: 13px 18px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(62,49,40,0.08);
}

.cm-nextstay-v34 .cm-nextstay-backlink:hover {
  background: #EBD7AE;
  color: var(--cm-dark) !important;
}

@media (max-width: 780px) {
  .cm-nextstay-v34 .cm-nextstay-hero {
    min-height: 220px;
  }

  .cm-nextstay-v34 .cm-nextstay-title {
    font-size: 26px;
  }

  .cm-nextstay-v34 .cm-nextstay-bottom {
    justify-content: stretch;
  }

  .cm-nextstay-v34 .cm-nextstay-backlink {
    width: 100%;
  }
}


/* CasaMia v3.5: compactere objectpagina en betere galerie */
body:not(.et-fb) #main-content {
  max-width: 1380px;
}

body:not(.et-fb) #main-content .et_builder_inner_content {
  padding-left: 22px;
  padding-right: 22px;
}

.cm-gallery {
  margin-top: 22px;
  margin-bottom: 34px;
}

.cm-gallery-luxe {
  max-width: 100%;
}

.cm-gallery-main-content {
  left: 42px;
  bottom: 42px;
}

.cm-gallery-back-below {
  margin-top: 18px;
}

.cm-gallery-back-below .cm-gallery-back {
  margin-bottom: 0;
  color: rgba(255,255,255,0.92);
  background: rgba(0,0,0,0.28);
  padding: 8px 12px;
  border-radius: 999px;
  text-decoration: none;
}

.cm-gallery-back-below .cm-gallery-back:hover {
  background: rgba(0,0,0,0.45);
  color: #fff;
}

.cm-detail-kenmerken {
  gap: 12px;
  margin-bottom: 38px;
}

.cm-detail-kenmerk {
  padding: 16px 12px;
  border-radius: 14px;
}

.cm-detail-kenmerk-icon {
  font-size: 24px;
  margin-bottom: 7px;
}

.cm-detail-kenmerk-label {
  font-size: 14px;
}

.cm-detail-beschrijving {
  margin-top: 38px;
  margin-bottom: 38px;
}

.cm-prijstabel {
  margin-top: 38px;
  margin-bottom: 38px;
}

.cm-contactblok {
  margin-top: 42px;
  margin-bottom: 42px;
}

.cm-nextstay-v34 {
  margin-top: 42px;
  margin-bottom: 34px;
}

/* Galeriebediening duidelijker en boven alles */
.cm-gallery-hero-prev,
.cm-gallery-hero-next,
.cm-gallery-count {
  z-index: 30;
}

.cm-gallery-hero-prev,
.cm-gallery-hero-next {
  background: rgba(0,0,0,0.58);
  backdrop-filter: blur(2px);
}

.cm-gallery-hero-prev:hover,
.cm-gallery-hero-next:hover {
  background: rgba(0,0,0,0.78);
}

/* Lightbox moet altijd boven Divi/iconen liggen */
.cm-lightbox {
  z-index: 2147483000;
}

.cm-lightbox-close,
.cm-lightbox-prev,
.cm-lightbox-next {
  z-index: 2147483001;
}

/* Voorkom dat onderliggende iconen/knoppen door de lightbox heen klikbaar lijken */
body.cm-lightbox-open .cm-detail-kenmerken,
body.cm-lightbox-open .cm-prijstabel,
body.cm-lightbox-open .cm-contactblok,
body.cm-lightbox-open .cm-nextstay {
  pointer-events: none;
}

/* Next Stay banner iets compacter */
.cm-nextstay-v34 .cm-nextstay-hero {
  min-height: 220px;
}

.cm-nextstay-v34 .cm-nextstay-content {
  padding: 28px;
}

@media (max-width: 980px) {
  body:not(.et-fb) #main-content .et_builder_inner_content {
    padding-left: 18px;
    padding-right: 18px;
  }

  .cm-gallery-main-content {
    left: 30px;
    bottom: 34px;
  }
}

@media (max-width: 640px) {
  body:not(.et-fb) #main-content .et_builder_inner_content {
    padding-left: 10px;
    padding-right: 10px;
  }

  .cm-gallery-main-content {
    left: 20px;
    right: 20px;
    bottom: 26px;
  }

  .cm-detail-kenmerken {
    gap: 10px;
    margin-bottom: 30px;
  }
}


/* CasaMia v3.6: banner-accommodatie groter + faciliteiten uit database */
.cm-nextstay-title {
  font-size: 34px;
}

.cm-nextstay-card-back .cm-nextstay-title,
.cm-nextstay-v34 .cm-nextstay-backlink {
  font-size: 17px;
}

.cm-nextstay-v34 .cm-nextstay-hero .cm-nextstay-title {
  font-size: 36px;
}

.cm-detail-faciliteiten {
  margin: 38px 0;
}

.cm-facility-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.cm-facility-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: #fff;
  border-radius: 999px;
  padding: 11px 15px;
  box-shadow: 0 8px 22px rgba(62,49,40,0.07);
  color: var(--cm-dark);
  font-weight: 700;
}

.cm-facility-icon {
  font-size: 20px;
  line-height: 1;
}

.cm-facility-label {
  font-size: 15px;
  line-height: 1.2;
}

@media (max-width: 640px) {
  .cm-nextstay-v34 .cm-nextstay-hero .cm-nextstay-title {
    font-size: 28px;
  }

  .cm-facility-pill {
    width: 100%;
    border-radius: 14px;
  }
}


/* CasaMia v3.7: faciliteiten-pills verfijnd */
.cm-detail-faciliteiten .cm-section-title {
  margin-bottom: 18px;
}

.cm-facility-grid {
  gap: 10px;
}

.cm-facility-pill {
  background: #fffaf1;
  border: 1px solid rgba(208,108,52,0.12);
}

.cm-facility-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(62,49,40,0.10);
}

/* v3.8 Banner typography */
.cm-nextstay-kicker{font-size:11px;letter-spacing:2px;opacity:.9}
.cm-nextstay-title{font-size:46px!important;font-weight:900;line-height:1.05;text-transform:uppercase;text-shadow:0 3px 14px rgba(0,0,0,.45)}
.cm-nextstay-text{font-size:24px!important;font-weight:600;opacity:.98;margin-top:8px}
.cm-nextstay-overlay{background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.78))}
@media(max-width:980px){
 .cm-nextstay-title{font-size:38px!important}
 .cm-nextstay-text{font-size:21px!important}
}
@media(max-width:640px){
 .cm-nextstay-title{font-size:30px!important}
 .cm-nextstay-text{font-size:18px!important}
}


/* CasaMia v3.9: Hero hiërarchie aangepast
   Accommodatie groot, verhuurobject kleiner */
.cm-gallery-luxe .cm-gallery-eyebrow {
  color: #fff;
  font-size: clamp(34px, 4.8vw, 54px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: 0.4px;
  text-transform: none;
  margin-bottom: 10px;
  text-shadow: 0 4px 18px rgba(0,0,0,0.48);
}

.cm-gallery-luxe .cm-gallery-title {
  color: #F1A15F;
  font-size: clamp(24px, 2.4vw, 30px);
  line-height: 1.18;
  font-weight: 700;
  margin: 0 0 18px;
  text-shadow: 0 3px 14px rgba(0,0,0,0.42);
}

.cm-gallery-luxe .cm-gallery-intro {
  margin-top: 6px;
  max-width: 720px;
  font-size: 19px;
  line-height: 1.55;
}

.cm-gallery-luxe .cm-gallery-main-overlay {
  background: linear-gradient(90deg, rgba(0,0,0,0.68), rgba(0,0,0,0.30), rgba(0,0,0,0.07));
}

.cm-gallery-luxe .cm-gallery-back-below {
  margin-top: 20px;
}

/* Next Stay banner: accommodatie blijft duidelijk, object/tekst subtieler */
.cm-nextstay-v34 .cm-nextstay-title,
.cm-nextstay-title {
  font-size: 42px !important;
  line-height: 1.08;
}

.cm-nextstay-v34 .cm-nextstay-text,
.cm-nextstay-text {
  font-size: 17px !important;
  line-height: 1.4;
  font-weight: 500;
  opacity: 0.92;
}

@media (max-width: 980px) {
  .cm-gallery-luxe .cm-gallery-eyebrow {
    font-size: 40px;
  }

  .cm-gallery-luxe .cm-gallery-title {
    font-size: 26px;
  }

  .cm-nextstay-v34 .cm-nextstay-title,
  .cm-nextstay-title {
    font-size: 34px !important;
  }
}

@media (max-width: 640px) {
  .cm-gallery-luxe .cm-gallery-eyebrow {
    font-size: 30px;
  }

  .cm-gallery-luxe .cm-gallery-title {
    font-size: 22px;
  }

  .cm-gallery-luxe .cm-gallery-intro {
    font-size: 16px;
  }

  .cm-nextstay-v34 .cm-nextstay-title,
  .cm-nextstay-title {
    font-size: 28px !important;
  }

  .cm-nextstay-v34 .cm-nextstay-text,
  .cm-nextstay-text {
    font-size: 15px !important;
  }
}


/* Objectpagina v4.0: dagprijs + aanbieding + liggende informatiekaarten */
.cm-object-aanbieding {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin: 0 0 28px;
  padding: 22px 26px;
  border-radius: 22px;
  background: linear-gradient(135deg, #FFF7EA 0%, #FDF1DF 100%);
  border: 1px solid rgba(201, 110, 58, 0.20);
  box-shadow: 0 18px 45px rgba(62, 49, 40, 0.10);
}

.cm-object-aanbieding-in-prices {
  margin-top: 12px;
  margin-bottom: 30px;
}

.cm-object-aanbieding-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #C96E3A;
  color: #fff;
  font-size: 21px;
  line-height: 1;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(201, 110, 58, 0.24);
}

.cm-object-aanbieding-label {
  margin: 0 0 6px;
  color: #A00036;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 800;
}

.cm-object-aanbieding-text {
  color: #34383f;
  font-size: 17px;
  line-height: 1.65;
}

.cm-object-extra-info {
  margin: 34px 0 0;
}

.cm-object-extra-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.cm-object-extra-card {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  padding: 26px 26px 24px;
  border-radius: 22px;
  background: #FBF5EC;
  border: 1px solid rgba(62, 49, 40, 0.08);
  box-shadow: 0 18px 45px rgba(62, 49, 40, 0.10);
}

.cm-object-extra-card:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: #C96E3A;
}

.cm-object-extra-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
}

.cm-object-extra-icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(201, 110, 58, 0.13);
  color: #C96E3A;
  font-size: 18px;
  font-weight: 800;
}

.cm-object-extra-card h3 {
  margin: 0;
  color: #A00036;
  --cm-removed-font-size: 20px;
  --cm-removed-line-height: 1.2;
  --cm-removed-font-weight: 800;
}

.cm-object-extra-content {
  color: #34383f;
  --cm-removed-font-size: 16px;
  --cm-removed-line-height: 1.68;
}

.cm-object-extra-content p,
.cm-object-aanbieding-text p {
  margin: 0 0 10px;
}

.cm-object-extra-content p:last-child,
.cm-object-aanbieding-text p:last-child,
.cm-object-extra-content ul:last-child,
.cm-object-extra-content ol:last-child {
  margin-bottom: 0;
}

.cm-object-extra-content ul,
.cm-object-extra-content ol,
.cm-object-extra-list {
  margin: 0;
  padding-left: 1.15em;
}

.cm-object-extra-content li {
  margin: 0 0 8px;
  padding-left: 2px;
}

.cm-object-extra-content li::marker {
  color: #C96E3A;
}

.cm-object-extra-exclusief:before { background: #A00036; }
.cm-object-extra-exclusief .cm-object-extra-icon {
  background: rgba(160, 0, 54, 0.11);
  color: #A00036;
}

.cm-object-extra-overige:before { background: #D89652; }
.cm-object-extra-overige .cm-object-extra-icon {
  background: rgba(216, 150, 82, 0.14);
  color: #B86F2C;
}

@media (max-width: 1100px) {
  .cm-object-extra-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .cm-object-extra-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .cm-object-aanbieding {
    padding: 18px;
    border-radius: 18px;
  }

  .cm-object-aanbieding-icon {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
    font-size: 18px;
  }

  .cm-object-extra-card {
    padding: 22px 20px 20px;
    border-radius: 18px;
  }

  .cm-object-extra-card h3 {
    --cm-removed-font-size: 19px;
  }
}


/* CasaMia objectpagina v4.0 overrides */
.cm-object-aanbieding {
  align-items: center;
}

.cm-object-aanbieding-main {
  flex: 1 1 auto;
  min-width: 0;
}

.cm-object-dagprijs {
  margin: 0 0 8px;
  color: #A00036;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 850;
}

.cm-object-aanbieding-text {
  margin: 0;
}

.cm-object-aanbieding-text ul,
.cm-object-aanbieding-text ol {
  margin: 0;
  padding-left: 1.15em;
}

.cm-object-aanbieding-text li {
  margin: 0 0 6px;
}

.cm-object-extra-card:before,
.cm-object-extra-exclusief:before,
.cm-object-extra-overige:before {
  background: #C96E3A;
}

.cm-object-extra-exclusief .cm-object-extra-icon,
.cm-object-extra-overige .cm-object-extra-icon,
.cm-object-extra-icon {
  background: rgba(201, 110, 58, 0.13);
  color: #C96E3A;
}

@media (min-width: 701px) {
  .cm-object-extra-grid {
    grid-auto-rows: 1fr;
  }

  .cm-object-extra-card {
    height: 100%;
  }
}

/* CasaMia v4.2: Inclusief / Exclusief / Overige onder elkaar */
.cm-object-extra-info .cm-object-extra-grid {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 20px !important;
  width: 100% !important;
}

.cm-object-extra-info .cm-object-extra-card {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 700px) {
  .cm-object-extra-info .cm-object-extra-grid {
    gap: 16px !important;
  }
}

/* CasaMia v4.3: prijstabel breed, aaneengesloten en duidelijke dagprijs */
.cm-prijstabel {
  width: 100% !important;
  max-width: 100% !important;
  margin: 52px 0 !important;
}

.cm-price-group {
  width: 100% !important;
  margin: 0 0 42px !important;
}

.cm-price-heading {
  margin-bottom: 18px !important;
}

.cm-price-cards {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
  border: 1px solid rgba(62, 49, 40, 0.08) !important;
}

.cm-price-card {
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 255px !important;
  padding: 0 !important;
  border-right: 1px solid rgba(255,255,255,0.70) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.cm-price-card:last-child {
  border-right: 0 !important;
}

.cm-price-card-top {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 34px 22px 30px !important;
  text-align: center !important;
}

.cm-price-periods {
  gap: 0 !important;
}

.cm-price-period,
.cm-price-periods .cm-price-period {
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  color: #45474F !important;
}

.cm-price-card .cm-price-min {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 18px 0 0 !important;
  color: #45474F !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.cm-price-card .cm-price-min span,
.cm-price-card .cm-price-min strong {
  display: block !important;
  font: inherit !important;
  color: inherit !important;
}

.cm-price-amount {
  margin: 0 !important;
  padding: 18px 12px !important;
  background: rgba(62, 49, 40, 0.10) !important;
  color: #2F323A !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

.cm-price-card:nth-child(4n/**/+1) {
  background: linear-gradient(180deg, #98F1C2 0%, #80DCAE 100%) !important;
}

.cm-price-card:nth-child(4n/**/+2) {
  background: linear-gradient(180deg, #FFFDCB 0%, #E9E6B4 100%) !important;
}

.cm-price-card:nth-child(4n/**/+3) {
  background: linear-gradient(180deg, #FFFF8E 0%, #E5E678 100%) !important;
}

.cm-price-card:nth-child(4n/**/+4) {
  background: linear-gradient(180deg, #BCE3FF 0%, #96C8EF 100%) !important;
}

.cm-object-dagprijs {
  font-size: 21px !important;
}

@media (max-width: 980px) {
  .cm-price-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cm-price-card:nth-child(2n) {
    border-right: 0 !important;
  }
}

@media (max-width: 640px) {
  .cm-price-cards {
    grid-template-columns: 1fr !important;
  }

  .cm-price-card {
    min-height: auto !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.70) !important;
  }

  .cm-price-card:last-child {
    border-bottom: 0 !important;
  }

  .cm-price-card-top {
    padding: 28px 18px 24px !important;
  }

  .cm-price-period,
  .cm-price-periods .cm-price-period,
  .cm-price-card .cm-price-min {
    font-size: 21px !important;
  }
}

/* CasaMia v4.4: prijstabel compacter, oude kleurvolgorde terug, gelijke prijzen gegroepeerd */
.cm-prijstabel .cm-price-heading {
  display: none !important;
}

.cm-prijstabel .cm-price-group {
  margin: 0 0 34px !important;
}

.cm-prijstabel .cm-price-card {
  min-height: 145px !important;
}

.cm-prijstabel .cm-price-card-top {
  padding: 22px 18px 18px !important;
}

.cm-prijstabel .cm-price-periods {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
}

.cm-prijstabel .cm-price-period-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 8px 14px !important;
  width: 100% !important;
  text-align: center !important;
}

.cm-prijstabel .cm-price-period,
.cm-prijstabel .cm-price-periods .cm-price-period {
  font-size: 22px !important;
  line-height: 1.15 !important;
}

.cm-prijstabel .cm-price-card .cm-price-min,
.cm-prijstabel .cm-price-min {
  display: inline-flex !important;
  flex-direction: row !important;
  gap: 0 !important;
  align-items: baseline !important;
  margin: 0 !important;
  color: #45474F !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 750 !important;
}

.cm-prijstabel .cm-price-amount {
  padding: 14px 12px !important;
}

/* oude CasaMia kleurvolgorde behouden */
.cm-prijstabel .cm-price-card:nth-child(4n/**/+1) {
  background: linear-gradient(180deg, #9DCCF5 0%, #83B8E4 100%) !important;
}

.cm-prijstabel .cm-price-card:nth-child(4n/**/+2) {
  background: linear-gradient(180deg, #98F2C2 0%, #80DCAE 100%) !important;
}

.cm-prijstabel .cm-price-card:nth-child(4n/**/+3) {
  background: linear-gradient(180deg, #FFFDCB 0%, #E9E6B4 100%) !important;
}

.cm-prijstabel .cm-price-card:nth-child(4n/**/+4) {
  background: linear-gradient(180deg, #FFFF8E 0%, #E5E678 100%) !important;
}

@media (max-width: 640px) {
  .cm-prijstabel .cm-price-card {
    min-height: auto !important;
  }

  .cm-prijstabel .cm-price-card-top {
    padding: 20px 16px 16px !important;
  }

  .cm-prijstabel .cm-price-period,
  .cm-prijstabel .cm-price-periods .cm-price-period {
    font-size: 20px !important;
  }

  .cm-prijstabel .cm-price-card .cm-price-min,
  .cm-prijstabel .cm-price-min {
    font-size: 16px !important;
  }
}


/* CasaMia v4.6 stable: compacte prijstabel en definitieve objectpagina */
.cm-price-cards {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
}

.cm-price-card {
  min-height: 0 !important;
}

.cm-price-card-top {
  padding: 18px 16px 16px !important;
  min-height: 92px !important;
}

.cm-price-periods {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  width: 100% !important;
}

.cm-price-period-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 6px 10px !important;
  width: 100% !important;
}

.cm-price-period,
.cm-price-periods .cm-price-period {
  font-size: 19px !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
}

.cm-price-card .cm-price-min {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.cm-price-amount {
  padding: 12px 10px !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
}

.cm-object-extra-info .cm-object-extra-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

@media (max-width: 640px) {
  .cm-price-card-top {
    padding: 17px 14px 15px !important;
    min-height: 0 !important;
  }

  .cm-price-period,
  .cm-price-periods .cm-price-period {
    font-size: 18px !important;
  }

  .cm-price-card .cm-price-min {
    font-size: 14px !important;
  }

  .cm-price-amount {
    font-size: 21px !important;
  }
}

/* CasaMia Regiopagina v5.0 — Hero */
.cm-fullbleed {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.cm-regio-hero {
  position: relative;
  min-height: 650px;
  background-color: #3E3128;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

.cm-regio-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.55), rgba(0,0,0,0.28), rgba(0,0,0,0.10));
  z-index: 1;
}

.cm-regio-hero-inner {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 68px));
  margin: 0 auto;
  padding: 0 0 72px;
}

.cm-regio-hero-panel {
  width: min(620px, 48%);
  background: rgba(0,0,0,0.55);
  color: #fff;
  border-radius: 14px;
  padding: 70px 70px 60px 60px;
  box-shadow: 0 24px 70px rgba(0,0,0,0.25);
  backdrop-filter: blur(2px);
}

.cm-regio-country {
  color: #F1C48F;
  text-transform: uppercase;
  letter-spacing: 2.2px;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 10px;
}

.cm-regio-title {
  color: #fff;
  --cm-removed-font-size: clamp(46px, 5vw, 72px);
  --cm-removed-line-height: 1;
  margin: 0 0 16px;
}

.cm-regio-slogan {
  color: #fff;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.25;
  font-weight: 700;
  margin: 0 0 18px;
}

.cm-regio-intro {
  color: rgba(255,255,255,0.92);
  --cm-removed-font-size: 18px;
  --cm-removed-line-height: 1.7;
  margin: 0 0 28px;
}

.cm-regio-intro p { margin: 0; }

.cm-regio-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.cm-regio-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 10px;
  font-weight: 900;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.cm-regio-btn:hover { transform: translateY(-1px); }

.cm-regio-btn-primary {
  background: var(--cm-orange, #D06C34);
  color: #fff !important;
}

.cm-regio-btn-primary:hover { background: #A9562D; color: #fff !important; }

.cm-regio-btn-secondary {
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.86);
  background: rgba(255,255,255,0.08);
}

.cm-regio-btn-secondary:hover { background: rgba(255,255,255,0.18); color: #fff !important; }

.cm-regio-count {
  position: absolute;
  z-index: 3;
  top: 34px;
  right: max(34px, calc((100vw - 1180px) / 2));
  background: rgba(255,255,255,0.92);
  color: #3E3128;
  padding: 11px 16px;
  border-radius: 999px;
  font-weight: 900;
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

.cm-regio-placeholder,
.cm-regio-empty {
  margin: 36px 0;
  padding: 24px;
  background: var(--cm-beige, #F7EFE3);
  border-radius: 16px;
  color: var(--cm-text, #3d3d45);
}

@media (max-width: 980px) {
  .cm-regio-hero { min-height: 500px; }
  .cm-regio-hero-inner { width: min(100% - 40px, 900px); padding-bottom: 48px; }
  .cm-regio-hero-panel { width: min(680px, 76%); padding: 46px; }
  .cm-regio-count { top: 22px; right: 22px; }
}

@media (max-width: 640px) {
  .cm-regio-hero { min-height: 400px; }
  .cm-regio-hero-inner { width: calc(100% - 28px); padding-bottom: 24px; }
  .cm-regio-hero-panel { width: auto; padding: 28px; border-radius: 12px; }
  .cm-regio-title { --cm-removed-font-size: 40px; }
  .cm-regio-slogan { font-size: 20px; }
  .cm-regio-intro { --cm-removed-font-size: 16px; --cm-removed-line-height: 1.55; }
  .cm-regio-actions { flex-direction: column; }
  .cm-regio-btn { width: 100%; }
  .cm-regio-count { display: none; }
}

/* CasaMia Regiopagina v5.1 — Regio Engine */
.cm-regio-page {
  --cm-brown: #3E3128;
  --cm-orange: #D06C34;
  --cm-beige: #F7EFE3;
  --cm-cream: #FFF8ED;
  --cm-line: rgba(62,49,40,0.12);
  --cm-text: #3d3d45;
  color: var(--cm-text);
}

.cm-regio-section {
  width: min(1180px, calc(100% - 48px));
  margin: 72px auto;
}

.cm-eyebrow {
  margin: 0 0 10px !important;
  color: var(--cm-orange);
  font-size: 13px;
  letter-spacing: 1.8px;
  font-weight: 900;
  text-transform: uppercase;
}

.cm-regio-section h2,
.cm-regio-copy h2 {
  color: var(--cm-brown);
  --cm-removed-font-size: clamp(30px, 3vw, 46px);
  --cm-removed-line-height: 1.15;
  margin: 0 0 20px;
}

.cm-regio-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.78fr);
  gap: 48px;
  align-items: center;
}

.cm-regio-copy {
  background: var(--cm-cream);
  border-radius: 18px;
  padding: clamp(28px, 4vw, 54px);
  box-shadow: 0 18px 60px rgba(62,49,40,0.08);
}

.cm-regio-text {
  --cm-removed-font-size: 17px;
  --cm-removed-line-height: 1.8;
}
.cm-regio-text p:last-child { margin-bottom: 0; }

.cm-regio-photo img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
  border-radius: 18px;
  box-shadow: 0 22px 65px rgba(62,49,40,0.13);
}

.cm-regio-section-head {
  max-width: 820px;
  margin-bottom: 28px;
}

.cm-regio-section-intro {
  --cm-removed-font-size: 17px;
  --cm-removed-line-height: 1.7;
}

.cm-regio-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.cm-regio-info-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: var(--cm-cream);
  border: 1px solid var(--cm-line);
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 12px 36px rgba(62,49,40,0.06);
}

.cm-regio-info-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 999px;
  background: var(--cm-beige);
  display: grid;
  place-items: center;
  font-size: 20px;
}

.cm-regio-info-card strong {
  display: block;
  color: var(--cm-brown);
  font-size: 15px;
  margin-bottom: 5px;
}
.cm-regio-info-card span { display: block; line-height: 1.45; }

.cm-regio-map-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 0;
  background: var(--cm-cream);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(62,49,40,0.09);
  border: 1px solid var(--cm-line);
}

.cm-regio-map-canvas {
  min-height: 460px;
  background: linear-gradient(135deg, #E5F0D8, #F6E9C8 52%, #D9EEF3);
  position: relative;
  display: grid;
  place-items: center;
  text-align: center;
  color: var(--cm-brown);
  overflow: hidden;
}
.cm-regio-map-canvas:before,
.cm-regio-map-canvas:after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: rgba(255,255,255,0.35);
}
.cm-regio-map-canvas:before { width: 380px; height: 180px; left: 10%; top: 18%; transform: rotate(-20deg); }
.cm-regio-map-canvas:after { width: 460px; height: 230px; right: -8%; bottom: 10%; transform: rotate(18deg); }
.cm-regio-map-bg { position: relative; z-index: 1; font-size: 30px; font-weight: 900; }
.cm-regio-map-note { position: absolute; z-index: 2; left: 24px; bottom: 22px; right: 24px; padding: 12px 16px; border-radius: 12px; background: rgba(255,255,255,0.76); font-size: 14px; }

.cm-regio-map-list {
  padding: 28px;
  background: #fff;
  border-left: 1px solid var(--cm-line);
  max-height: 460px;
  overflow: auto;
}
.cm-regio-map-list h3 {
  color: var(--cm-brown);
  margin: 0 0 12px;
  --cm-removed-font-size: 19px;
}
.cm-regio-map-list h3:not(:first-child) { margin-top: 24px; }
.cm-regio-map-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--cm-text) !important;
  text-decoration: none;
  padding: 10px 0;
  border-bottom: 1px solid rgba(62,49,40,0.08);
}
.cm-regio-map-item:hover span { color: var(--cm-orange); }

.cm-regio-accommodation-grid,
.cm-regio-highlight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.cm-regio-accommodation-card,
.cm-regio-highlight-card,
.cm-regio-practical-card,
.cm-regio-contact-card {
  background: var(--cm-cream);
  border-radius: 18px;
  border: 1px solid var(--cm-line);
  overflow: hidden;
  box-shadow: 0 18px 55px rgba(62,49,40,0.08);
}

.cm-regio-accommodation-image {
  display: block;
  height: 235px;
  background: var(--cm-beige) center/cover no-repeat;
}

.cm-regio-accommodation-body { padding: 24px; }
.cm-regio-accommodation-body h3 { margin: 0 0 8px; --cm-removed-font-size: 24px; --cm-removed-line-height: 1.2; }
.cm-regio-accommodation-body h3 a { color: var(--cm-brown) !important; text-decoration: none; }
.cm-regio-location { color: var(--cm-orange); font-weight: 800; margin-bottom: 12px; }
.cm-regio-accommodation-body p { --cm-removed-line-height: 1.6; margin: 0 0 16px; }
.cm-regio-features { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.cm-regio-features span { background: #fff; border: 1px solid var(--cm-line); border-radius: 999px; padding: 7px 10px; font-size: 13px; font-weight: 800; }
.cm-regio-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }
.cm-regio-card-bottom strong { color: var(--cm-brown); font-size: 17px; }
.cm-regio-card-btn { background: var(--cm-orange); color: #fff !important; border-radius: 9px; padding: 11px 14px; text-decoration: none; font-weight: 900; white-space: nowrap; }
.cm-regio-card-btn:hover { background: #A9562D; color: #fff !important; }

.cm-regio-highlight-photo {
  height: 210px;
  background: var(--cm-beige) center/cover no-repeat;
  position: relative;
}
.cm-regio-highlight-photo span {
  position: absolute;
  left: 16px;
  bottom: 16px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}
.cm-regio-highlight-body { padding: 22px; }
.cm-regio-highlight-body h3 { margin: 0 0 10px; color: var(--cm-brown); --cm-removed-font-size: 22px; }
.cm-regio-highlight-body p { margin: 0 0 14px; --cm-removed-line-height: 1.6; }
.cm-regio-highlight-body a { color: var(--cm-orange); font-weight: 900; text-decoration: none; }

.cm-regio-practical-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.cm-regio-practical-card {
  display: flex;
  gap: 16px;
  padding: 24px;
}
.cm-regio-practical-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #fff;
  font-size: 22px;
}
.cm-regio-practical-card h3 { margin: 0 0 8px; color: var(--cm-brown); --cm-removed-font-size: 20px; }
.cm-regio-practical-card p { margin: 0 0 12px; --cm-removed-line-height: 1.6; }
.cm-regio-practical-card a { color: var(--cm-orange); font-weight: 900; text-decoration: none; }

.cm-regio-contact-card {
  padding: clamp(28px, 4vw, 48px);
  background: var(--cm-cream);
}
.cm-regio-contact-card h2 { margin: 0 0 10px; color: var(--cm-brown); }
.cm-regio-contact-card p { max-width: 680px; margin: 0 0 22px; --cm-removed-line-height: 1.7; }

@media (max-width: 980px) {
  .cm-regio-section { width: min(900px, calc(100% - 38px)); margin: 56px auto; }
  .cm-regio-two-col,
  .cm-regio-map-shell { grid-template-columns: 1fr; }
  .cm-regio-map-list { border-left: 0; border-top: 1px solid var(--cm-line); max-height: none; }
  .cm-regio-info-grid,
  .cm-regio-accommodation-grid,
  .cm-regio-highlight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .cm-regio-section { width: calc(100% - 28px); margin: 42px auto; }
  .cm-regio-copy { padding: 26px; }
  .cm-regio-photo img { height: 280px; }
  .cm-regio-info-grid,
  .cm-regio-accommodation-grid,
  .cm-regio-highlight-grid,
  .cm-regio-practical-grid { grid-template-columns: 1fr; }
  .cm-regio-map-canvas { min-height: 330px; }
  .cm-regio-card-bottom { align-items: flex-start; flex-direction: column; }
  .cm-regio-card-btn { width: 100%; text-align: center; }
}

/* CasaMia Regiopagina v5.3 — designronde hero + infokaarten */
.cm-regio-hero {
  min-height: 650px !important;
  align-items: center !important;
  background-position: center center !important;
}

.cm-regio-hero-overlay {
  background: linear-gradient(90deg, rgba(0,0,0,0.58), rgba(0,0,0,0.34) 52%, rgba(0,0,0,0.16)) !important;
}

.cm-regio-hero-inner {
  width: min(1180px, calc(100% - 68px)) !important;
  padding: 0 !important;
}

.cm-regio-hero-panel {
  width: min(520px, 48vw) !important;
  margin-left: clamp(24px, 4vw, 72px);
  padding: 68px 66px 58px 58px !important;
  border-radius: 16px !important;
  background: rgba(0,0,0,0.58) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,0.32) !important;
}

.cm-regio-country {
  font-size: 13px !important;
  letter-spacing: 2.4px !important;
  margin-bottom: 12px !important;
}

.cm-regio-title {
  --cm-removed-font-size: clamp(56px, 5.4vw, 78px) !important;
  --cm-removed-line-height: 0.98 !important;
  margin-bottom: 18px !important;
}

.cm-regio-slogan {
  font-size: clamp(24px, 2.25vw, 32px) !important;
  line-height: 1.24 !important;
  margin-bottom: 20px !important;
}

.cm-regio-actions {
  gap: 16px !important;
}

.cm-regio-btn {
  min-height: 52px !important;
  padding: 14px 24px !important;
  border-radius: 11px !important;
}

.cm-regio-section {
  margin-top: 88px !important;
  margin-bottom: 88px !important;
}

.cm-regio-oogopslag {
  margin-top: 96px !important;
}

.cm-regio-section h2,
.cm-regio-copy h2 {
  --cm-removed-font-size: clamp(36px, 3.4vw, 50px) !important;
  margin-bottom: 28px !important;
}

.cm-regio-info-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.cm-regio-info-card {
  min-height: 170px !important;
  padding: 28px 24px !important;
  border-radius: 18px !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: 18px !important;
  background: #FFF8ED !important;
  box-shadow: 0 18px 50px rgba(62,49,40,0.08) !important;
}

.cm-regio-info-icon {
  width: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;
  font-size: 23px !important;
  background: #F7EFE3 !important;
  color: #3E3128 !important;
  border: 1px solid rgba(62,49,40,0.10);
}

.cm-regio-info-card strong {
  font-size: 18px !important;
  line-height: 1.18 !important;
  margin-bottom: 9px !important;
}

.cm-regio-info-card span {
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* In Divi Theme Builder mag de regio-hero echt breed blijven. */
body:not(.et-fb) .cm-regio-hero.cm-fullbleed,
.et-fb .cm-regio-hero.cm-fullbleed {
  width: 100vw !important;
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 980px) {
  .cm-regio-hero { min-height: 500px !important; }
  .cm-regio-hero-panel {
    width: min(680px, 78vw) !important;
    margin-left: 0;
    padding: 46px !important;
  }
  .cm-regio-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
  .cm-regio-hero { min-height: 420px !important; }
  .cm-regio-hero-inner { width: calc(100% - 28px) !important; }
  .cm-regio-hero-panel {
    width: auto !important;
    padding: 28px !important;
  }
  .cm-regio-title { --cm-removed-font-size: 42px !important; }
  .cm-regio-info-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .cm-regio-info-card { min-height: 0 !important; }
}


/* CasaMia Regiopagina v6.0 — inspirerende regio-landing */
.cm-regio-hero {
  min-height: 640px !important;
  display: flex !important;
  align-items: center !important;
  background-position: center center !important;
  background-size: cover !important;
  background-color: #2f261f !important;
}

.cm-regio-hero-overlay {
  background:
    linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.42) 34%, rgba(0,0,0,.12) 68%, rgba(0,0,0,.03) 100%),
    linear-gradient(0deg, rgba(0,0,0,.22), rgba(0,0,0,.06)) !important;
}

.cm-regio-hero-inner {
  width: min(1240px, calc(100% - 96px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.cm-regio-hero-panel {
  width: min(600px, 52vw) !important;
  margin-left: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.cm-regio-country {
  color: #F0B885 !important;
  font-size: 13px !important;
  letter-spacing: 2.8px !important;
  margin-bottom: 16px !important;
}

.cm-regio-title {
  color: #fff !important;
  --cm-removed-font-size: clamp(64px, 7vw, 106px) !important;
  --cm-removed-line-height: .92 !important;
  margin: 0 0 18px !important;
  text-shadow: 0 4px 24px rgba(0,0,0,.34);
}

.cm-regio-slogan {
  position: relative;
  color: #fff !important;
  font-size: clamp(24px, 2.4vw, 36px) !important;
  line-height: 1.25 !important;
  font-style: italic;
  font-weight: 500 !important;
  margin: 0 0 24px !important;
  padding-bottom: 22px;
  text-shadow: 0 3px 18px rgba(0,0,0,.30);
}

.cm-regio-slogan:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 92px;
  height: 2px;
  background: #D06C34;
}

.cm-regio-intro {
  max-width: 560px;
  color: rgba(255,255,255,.94) !important;
  --cm-removed-font-size: 18px !important;
  --cm-removed-line-height: 1.75 !important;
  margin: 0 0 32px !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.28);
}

.cm-regio-actions { gap: 14px !important; }
.cm-regio-btn-primary { background: #D06C34 !important; }
.cm-regio-btn-secondary {
  background: rgba(0,0,0,.10) !important;
  border: 2px solid rgba(255,255,255,.88) !important;
}

.cm-regio-count { display: none !important; }

.cm-regio-page {
  background: #fff;
  padding-top: 0;
}

.cm-regio-section {
  width: min(1180px, calc(100% - 56px)) !important;
  margin: 92px auto !important;
}

.cm-regio-intro-section {
  margin-top: 84px !important;
}

.cm-regio-two-col {
  grid-template-columns: minmax(0, .92fr) minmax(360px, .72fr) !important;
  gap: 72px !important;
}

.cm-regio-copy {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  text-align: left;
}

.cm-regio-copy h2,
.cm-regio-section h2 {
  --cm-removed-font-size: clamp(38px, 4vw, 58px) !important;
  --cm-removed-line-height: 1.08 !important;
  color: #3E3128 !important;
}

.cm-regio-text {
  max-width: 690px;
  --cm-removed-font-size: 18px !important;
  --cm-removed-line-height: 1.85 !important;
}

.cm-regio-photo img {
  height: 460px !important;
  border-radius: 22px !important;
  box-shadow: 0 24px 70px rgba(62,49,40,.14) !important;
}

.cm-regio-oogopslag {
  text-align: center;
  padding: 76px 0;
  background: linear-gradient(180deg, #fff 0%, #FFF8ED 100%);
  width: 100vw !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
}

.cm-regio-oogopslag > .cm-eyebrow,
.cm-regio-oogopslag > h2,
.cm-regio-oogopslag > .cm-regio-info-grid {
  width: min(1180px, calc(100% - 56px));
  margin-left: auto !important;
  margin-right: auto !important;
}

.cm-regio-oogopslag h2 {
  margin-bottom: 42px !important;
}

.cm-regio-info-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 34px !important;
}

.cm-regio-info-card {
  min-height: 190px !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  align-items: center !important;
  text-align: center !important;
  padding: 14px 18px !important;
}

.cm-regio-info-icon {
  width: 62px !important;
  height: 62px !important;
  font-size: 28px !important;
  background: transparent !important;
  border: 0 !important;
  color: #D06C34 !important;
}

.cm-regio-info-card strong {
  font-size: 18px !important;
  margin-bottom: 10px !important;
}

.cm-regio-info-card span {
  color: #4d4540;
  font-size: 16px !important;
}

.cm-regio-map-shell,
.cm-regio-accommodation-card,
.cm-regio-highlight-card,
.cm-regio-practical-card,
.cm-regio-contact-card {
  border-radius: 22px !important;
}

.cm-regio-final-cta {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #3E3128 center/cover no-repeat;
  overflow: hidden;
  text-align: center;
  margin-top: 80px;
}

.cm-regio-final-cta-overlay {
  position: absolute;
  inset: 0;
  background: rgba(38,28,22,.52);
}

.cm-regio-final-cta-inner {
  position: relative;
  z-index: 2;
  width: min(840px, calc(100% - 48px));
  color: #fff;
  padding: 72px 0;
}

.cm-eyebrow-light { color: #F0B885 !important; }
.cm-regio-final-cta h2 {
  color: #fff !important;
  --cm-removed-font-size: clamp(36px, 4vw, 58px);
  margin: 0 0 16px;
}
.cm-regio-final-cta p {
  --cm-removed-font-size: 18px;
  --cm-removed-line-height: 1.7;
  margin: 0 auto 28px;
  max-width: 680px;
}

@media (max-width: 980px) {
  .cm-regio-hero { min-height: 540px !important; }
  .cm-regio-hero-inner { width: min(100% - 48px, 900px) !important; }
  .cm-regio-hero-panel { width: min(650px, 82vw) !important; }
  .cm-regio-title { --cm-removed-font-size: clamp(54px, 8vw, 78px) !important; }
  .cm-regio-two-col { grid-template-columns: 1fr !important; gap: 38px !important; }
  .cm-regio-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 24px !important; }
}

@media (max-width: 640px) {
  .cm-regio-hero { min-height: 500px !important; }
  .cm-regio-hero-inner { width: calc(100% - 34px) !important; }
  .cm-regio-title { --cm-removed-font-size: 48px !important; }
  .cm-regio-slogan { font-size: 22px !important; }
  .cm-regio-intro { --cm-removed-font-size: 16px !important; }
  .cm-regio-actions { flex-direction: column; align-items: stretch; }
  .cm-regio-section { width: calc(100% - 30px) !important; margin: 58px auto !important; }
  .cm-regio-oogopslag { padding: 54px 0; }
  .cm-regio-info-grid { grid-template-columns: 1fr !important; }
  .cm-regio-info-card { min-height: 0 !important; }
}

/* CasaMia Regiopagina v6.1 — full-width hero, strakkere spacing, carousel en werkende kaart */
html body,
body.et_divi_theme,
body.custom-background {
  background: #fff !important;
}

/* Geen gele banen rond de regio-hero. */
body:not(.et-fb) .cm-regio-hero.cm-fullbleed,
.et-fb .cm-regio-hero.cm-fullbleed,
.cm-regio-hero.cm-fullbleed {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  transform: none !important;
}

.cm-regio-hero {
  min-height: 620px !important;
  margin-top: 0 !important;
}

.cm-regio-hero-inner {
  width: min(1240px, calc(100% - 80px)) !important;
}

.cm-regio-hero-panel {
  width: min(620px, 52vw) !important;
  transform: translateY(-18px);
}

.cm-regio-title {
  --cm-removed-font-size: clamp(62px, 6.4vw, 96px) !important;
}

.cm-regio-section {
  margin-top: 64px !important;
  margin-bottom: 64px !important;
}

.cm-regio-intro-section {
  margin-top: 54px !important;
}

.cm-regio-intro-carousel-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, .82fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: center;
}

.cm-regio-slow-carousel {
  position: relative;
  height: 460px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(62,49,40,.14);
  background: #F7EFE3;
}

.cm-regio-slow-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transform: scale(1.03);
  transition: opacity 1.15s ease, transform 6.5s ease;
}

.cm-regio-slow-slide.is-active {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}

.cm-regio-slow-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cm-regio-slow-slide figcaption {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 18px;
  color: #fff;
  font-weight: 800;
  text-shadow: 0 2px 16px rgba(0,0,0,.45);
  z-index: 3;
}

.cm-regio-slow-carousel:after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.38));
  z-index: 2;
  pointer-events: none;
}

.cm-regio-oogopslag {
  padding: 56px 0 !important;
  margin-top: 54px !important;
  margin-bottom: 62px !important;
}

.cm-regio-oogopslag h2 {
  margin-bottom: 28px !important;
}

.cm-regio-info-grid {
  gap: 22px !important;
}

.cm-regio-info-card {
  min-height: 150px !important;
  padding: 24px 20px !important;
}

.cm-regio-map-canvas {
  min-height: 520px !important;
  background: #EAF2E4 !important;
  display: block !important;
  text-align: left !important;
}

.cm-regio-map-canvas:before,
.cm-regio-map-canvas:after,
.cm-regio-map-bg,
.cm-regio-map-note { display: none !important; }

.cm-leaflet-marker {
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px;
  display: grid !important;
  place-items: center;
  background: #fff;
  border: 3px solid #D06C34;
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
  font-size: 17px;
}

.cm-leaflet-marker.is-accommodation {
  background: #D06C34;
  color: #fff;
  border-color: #fff;
}

.cm-map-popup { max-width: 220px; }
.cm-map-popup img { width: 100%; height: 105px; object-fit: cover; border-radius: 10px; margin-bottom: 8px; }
.cm-map-popup strong { display: block; color: #3E3128; font-size: 15px; margin-bottom: 5px; }
.cm-map-popup p { margin: 0 0 8px; line-height: 1.45; }
.cm-map-popup a { color: #D06C34 !important; font-weight: 900; text-decoration: none; }
.leaflet-popup-content { margin: 12px; }

@media (max-width: 980px) {
  .cm-regio-hero { min-height: 540px !important; }
  .cm-regio-hero-inner { width: min(100% - 44px, 900px) !important; }
  .cm-regio-hero-panel { width: min(650px, 84vw) !important; transform: none; }
  .cm-regio-intro-carousel-layout { grid-template-columns: 1fr; }
  .cm-regio-slow-carousel { height: 380px; }
}

@media (max-width: 640px) {
  .cm-regio-hero { min-height: 500px !important; }
  .cm-regio-title { --cm-removed-font-size: 50px !important; }
  .cm-regio-intro-section { margin-top: 42px !important; }
  .cm-regio-slow-carousel { height: 290px; border-radius: 18px; }
  .cm-regio-map-canvas { min-height: 360px !important; }
}

/* CasaMia Regiopagina v6.2 — definitieve avondcorrecties
   - hero sluit schoon aan, zonder beige achtergrond/balk
   - carousel rustiger
   - kenmerken direct na intro, accommodaties voor kaart
   - Leaflet kaart zichtbaar en stabiel
*/
html, body { background: #fff !important; }
body.tax-regio,
body.term-regio,
body.archive,
body .cm-regio-page { background: #fff !important; }

/* Haal storende Divi/sectie-achtergrond rond losse shortcodes weg */
.et_pb_section:has(.cm-regio-hero),
.et_pb_row:has(.cm-regio-hero),
.et_pb_column:has(.cm-regio-hero),
.et_pb_module:has(.cm-regio-hero),
.et_pb_code:has(.cm-regio-hero),
.et_pb_text:has(.cm-regio-hero) {
  background: transparent !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* Fallback voor browsers zonder :has: Divi-secties mogen geen gele vlakken afdwingen */
.cm-regio-hero,
.cm-regio-hero * { box-sizing: border-box; }

.cm-regio-hero.cm-fullbleed {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
}

.cm-regio-hero {
  min-height: clamp(640px, 78vh, 760px) !important;
  margin-top: 0 !important;
  border: 0 !important;
  background-color: #2f261f !important;
  align-items: center !important;
}

.cm-regio-hero-overlay {
  background:
    linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.42) 34%, rgba(0,0,0,.12) 70%, rgba(0,0,0,.02) 100%) !important;
}

.cm-regio-hero-inner {
  width: min(1240px, calc(100% - 96px)) !important;
  margin: 0 auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.cm-regio-hero-panel {
  transform: translateY(-24px);
}

/* Paginaritme: minder onnodige lucht */
.cm-regio-page {
  background: #fff !important;
  overflow: hidden;
}

.cm-regio-section {
  margin-top: 72px !important;
  margin-bottom: 72px !important;
}

.cm-regio-intro-section {
  margin-top: 72px !important;
  margin-bottom: 42px !important;
}

.cm-regio-oogopslag {
  margin-top: 0 !important;
  margin-bottom: 48px !important;
  padding: 34px 0 48px !important;
  background: #fff !important;
  text-align: center !important;
}

.cm-regio-oogopslag h2 {
  margin-bottom: 28px !important;
}

.cm-regio-info-grid {
  gap: 18px !important;
}

.cm-regio-info-card {
  min-height: 142px !important;
  padding: 22px 18px !important;
  border-right: 1px solid rgba(62,49,40,.12) !important;
  border-radius: 0 !important;
}
.cm-regio-info-card:last-child { border-right: 0 !important; }

/* Intro met rustige carousel */
.cm-regio-intro-carousel-layout {
  display: grid;
  grid-template-columns: minmax(0,.82fr) minmax(380px,1.18fr);
  gap: 72px;
  align-items: center;
}

.cm-regio-slow-carousel {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(62,49,40,.14);
  background: #f7efe3;
}

.cm-regio-slow-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 2.2s ease-in-out;
  margin: 0;
}
.cm-regio-slow-slide.is-active { opacity: 1; }
.cm-regio-slow-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cm-regio-slow-slide figcaption {
  position: absolute;
  left: 20px;
  bottom: 18px;
  background: rgba(255,255,255,.90);
  color: #3E3128;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
  font-size: 13px;
}

/* Accommodaties direct na de kenmerken */
.cm-regio-accommodaties {
  margin-top: 58px !important;
}

/* Kaart zichtbaar herstellen */
.cm-regio-map-section {
  margin-top: 82px !important;
}
.cm-regio-map-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  min-height: 540px !important;
  background: #fff !important;
}
.cm-regio-map-canvas,
.cm-regio-map-canvas.leaflet-container {
  display: block !important;
  width: 100% !important;
  height: 540px !important;
  min-height: 540px !important;
  z-index: 1;
}
.cm-regio-map-list {
  max-height: 540px !important;
}
.cm-leaflet-marker {
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
  border: 2px solid #D06C34;
}
.cm-leaflet-marker.is-accommodation { background: #D06C34; color: #fff; }
.cm-map-popup img { width: 180px; height: 100px; object-fit: cover; display: block; margin-bottom: 8px; border-radius: 8px; }
.cm-map-popup strong { display: block; color: #3E3128; margin-bottom: 6px; }
.cm-map-popup p { margin: 0 0 8px; }
.cm-map-popup a { color: #D06C34; font-weight: 800; text-decoration: none; }

@media (max-width: 980px) {
  .cm-regio-hero { min-height: 560px !important; }
  .cm-regio-hero-inner { width: calc(100% - 48px) !important; }
  .cm-regio-hero-panel { transform: none; width: min(620px, 78vw) !important; }
  .cm-regio-intro-carousel-layout { grid-template-columns: 1fr; gap: 34px; }
  .cm-regio-slow-carousel { min-height: 340px; }
  .cm-regio-map-shell { grid-template-columns: 1fr !important; }
  .cm-regio-map-canvas, .cm-regio-map-canvas.leaflet-container { height: 420px !important; min-height: 420px !important; }
  .cm-regio-map-list { max-height: none !important; }
}

@media (max-width: 640px) {
  .cm-regio-hero { min-height: 520px !important; }
  .cm-regio-title { --cm-removed-font-size: 54px !important; }
  .cm-regio-section { width: calc(100% - 28px) !important; margin-top: 48px !important; margin-bottom: 48px !important; }
  .cm-regio-oogopslag { padding: 28px 0 34px !important; }
  .cm-regio-info-card { border-right: 0 !important; border-bottom: 1px solid rgba(62,49,40,.10) !important; }
  .cm-regio-slow-carousel { min-height: 280px; border-radius: 16px; }
}

/* CasaMia Regiopagina v6.3 — accommodatieblok als eerste echte aanbodsectie */
.cm-regio-accommodaties {
  margin-top: 54px !important;
  margin-bottom: 76px !important;
}

.cm-regio-accommodaties .cm-regio-section-head {
  max-width: 760px;
  margin-bottom: 34px !important;
}

.cm-regio-accommodation-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

.cm-regio-accommodation-card {
  display: flex;
  flex-direction: column;
  background: #fff !important;
  border: 1px solid rgba(62,49,40,.10) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 48px rgba(62,49,40,.08) !important;
  transition: transform .18s ease, box-shadow .18s ease;
}

.cm-regio-accommodation-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 60px rgba(62,49,40,.12) !important;
}

.cm-regio-accommodation-image {
  height: 250px !important;
  border-radius: 20px 20px 0 0;
  position: relative;
  overflow: hidden;
}

.cm-regio-accommodation-image:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.22) 100%);
  pointer-events: none;
}

.cm-regio-accommodation-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 26px !important;
}

.cm-regio-accommodation-body h3 {
  --cm-removed-font-size: 25px !important;
  margin-bottom: 8px !important;
}

.cm-regio-features {
  margin-top: auto !important;
}

.cm-regio-card-bottom {
  padding-top: 18px;
  border-top: 1px solid rgba(62,49,40,.10);
}

@media (max-width: 980px) {
  .cm-regio-accommodation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
  .cm-regio-accommodation-grid { grid-template-columns: 1fr !important; }
  .cm-regio-accommodation-image { height: 220px !important; }
}

/* =========================================================
   CasaMia v7.0 stable regio rebuild overrides
   ========================================================= */
body .cm-fullbleed {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
body .cm-regio-page,
body .cm-regio-section {
  background: #fff !important;
  box-shadow: none !important;
}
body .cm-regio-section {
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body .cm-regio-hero {
  margin-top: 0 !important;
  min-height: 700px !important;
  background-size: cover !important;
  background-position: center center !important;
  background-color: #2d211b !important;
}
body .cm-regio-hero-panel {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding-left: 0 !important;
}
body .cm-regio-hero-overlay {
  background: linear-gradient(90deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.32) 36%, rgba(0,0,0,.08) 72%, rgba(0,0,0,.02) 100%) !important;
}
body .cm-regio-map-section {
  margin-top: 72px !important;
}
body .cm-regio-map-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  min-height: 540px !important;
  background: #fff !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  border: 1px solid rgba(62,49,40,.12) !important;
  box-shadow: 0 22px 70px rgba(62,49,40,.10) !important;
}
body .cm-regio-map-canvas,
body .cm-regio-map-canvas.leaflet-container {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 540px !important;
  min-height: 540px !important;
  z-index: 1 !important;
  background: #e9efe2 !important;
}
body .cm-regio-map-canvas:before,
body .cm-regio-map-canvas:after,
body .cm-regio-map-bg,
body .cm-regio-map-note {
  display: none !important;
}
body .cm-map-loading,
body .cm-map-error {
  height: 100%;
  display: grid;
  place-items: center;
  color: #6c5c52;
  font-weight: 700;
  background: #f7f0e6;
}
body .cm-regio-map-list {
  max-height: 540px !important;
  overflow: auto !important;
  background: #fff !important;
  border-left: 1px solid rgba(62,49,40,.12) !important;
}
body .cm-leaflet-marker {
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.24) !important;
  border: 2px solid #D06C34 !important;
  font-size: 17px !important;
}
body .cm-leaflet-marker.is-accommodation {
  background: #D06C34 !important;
  color: #fff !important;
}
body .cm-regio-accommodation-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body .cm-regio-accommodation-card {
  overflow: hidden !important;
}
body .cm-regio-accommodation-image {
  display: block !important;
  height: 230px !important;
  background-size: cover !important;
  background-position: center !important;
  background-color: #f4eadb !important;
}
@media (max-width: 980px) {
  body .cm-regio-hero { min-height: 560px !important; }
  body .cm-regio-map-shell { grid-template-columns: 1fr !important; }
  body .cm-regio-map-canvas,
  body .cm-regio-map-canvas.leaflet-container { height: 420px !important; min-height: 420px !important; }
  body .cm-regio-map-list { border-left: 0 !important; border-top: 1px solid rgba(62,49,40,.12) !important; max-height: none !important; }
  body .cm-regio-accommodation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 680px) {
  body .cm-regio-hero { min-height: 500px !important; }
  body .cm-regio-accommodation-grid { grid-template-columns: 1fr !important; }
}

/* =========================================================
   CasaMia v7.1 — stabiele regiopagina designrelease
   Structuur: Hero → ontdekken → accommodaties → oogopslag → kaart → locaties
   ========================================================= */

/* Geen storende gele/beige Divi-balken rond regio-componenten */
html body,
body.tax-regio,
body.archive,
body.custom-background,
body .cm-regio-page,
body .entry-content,
body #main-content {
  background: #fff !important;
}
body .cm-regio-page {
  overflow: visible !important;
}
body .et_pb_section:has(.cm-regio-page),
body .et_pb_section:has(.cm-regio-hero),
body .et_pb_section:has(.cm-regio-section),
body .et_pb_row:has(.cm-regio-page),
body .et_pb_row:has(.cm-regio-hero),
body .et_pb_row:has(.cm-regio-section),
body .et_pb_column:has(.cm-regio-page),
body .et_pb_column:has(.cm-regio-hero),
body .et_pb_column:has(.cm-regio-section),
body .et_pb_module:has(.cm-regio-page),
body .et_pb_module:has(.cm-regio-hero),
body .et_pb_module:has(.cm-regio-section) {
  background: transparent !important;
  box-shadow: none !important;
}
body .et_pb_section:has(.cm-regio-hero),
body .et_pb_row:has(.cm-regio-hero),
body .et_pb_column:has(.cm-regio-hero),
body .et_pb_module:has(.cm-regio-hero) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* Hero schoon, full width, zonder achterliggende balk */
body .cm-regio-hero.cm-fullbleed {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  transform: none !important;
}
body .cm-regio-hero {
  min-height: clamp(680px, 82vh, 790px) !important;
  border: 0 !important;
  margin-top: 0 !important;
  background-color: #2f261f !important;
}
body .cm-regio-hero-panel {
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Stabiel paginaritme */
body .cm-regio-section {
  width: min(1240px, calc(100% - 56px)) !important;
  max-width: 1240px !important;
  margin: 76px auto !important;
  padding: 0 !important;
  background: #fff !important;
}
body .cm-regio-intro-section {
  margin-top: 70px !important;
  margin-bottom: 46px !important;
}
body .cm-regio-accommodaties {
  margin-top: 52px !important;
  margin-bottom: 78px !important;
}

/* In één oogopslag: gecentreerd, niet afgesneden, nette kaarten */
body .cm-regio-oogopslag {
  width: min(1240px, calc(100% - 56px)) !important;
  max-width: 1240px !important;
  margin: 78px auto !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: visible !important;
  background: #fff !important;
}
body .cm-regio-oogopslag > .cm-eyebrow,
body .cm-regio-oogopslag > h2,
body .cm-regio-oogopslag > .cm-regio-info-grid {
  margin-left: auto !important;
  margin-right: auto !important;
}
body .cm-regio-oogopslag h2 {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  transform: none !important;
  margin: 0 auto 30px !important;
  padding: 0 !important;
  text-align: center !important;
  white-space: normal !important;
}
body .cm-regio-info-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
}
body .cm-regio-info-card {
  display: flex !important;
  align-items: flex-start !important;
  text-align: left !important;
  min-height: 138px !important;
  background: #fffaf2 !important;
  border: 1px solid rgba(62,49,40,.11) !important;
  border-radius: 18px !important;
  padding: 22px 20px !important;
  box-shadow: 0 14px 40px rgba(62,49,40,.07) !important;
}
body .cm-regio-info-card:last-child {
  border-right: 1px solid rgba(62,49,40,.11) !important;
}
body .cm-regio-info-icon {
  background: #f5ead9 !important;
  color: #3E3128 !important;
}

/* Locatiekaarten: zelfde uitstraling als accommodatiekaarten */
body .cm-regio-locaties {
  margin-top: 82px !important;
  margin-bottom: 78px !important;
}
body .cm-regio-location-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}
body .cm-regio-location-card {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(62,49,40,.10) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 48px rgba(62,49,40,.08) !important;
  transition: transform .18s ease, box-shadow .18s ease;
}
body .cm-regio-location-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 60px rgba(62,49,40,.12) !important;
}
body .cm-regio-location-image {
  display: block !important;
  height: 230px !important;
  background: #f4eadb center/cover no-repeat !important;
}
body .cm-regio-location-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  padding: 26px !important;
  flex: 1 1 auto !important;
}
body .cm-regio-location-body h3 {
  margin: 0 !important;
  color: #3E3128 !important;
  --cm-removed-font-size: 25px !important;
  --cm-removed-line-height: 1.2 !important;
}
body .cm-regio-location-body h3 a {
  color: #3E3128 !important;
  text-decoration: none !important;
}
body .cm-regio-location-body p {
  margin: 0 !important;
  line-height: 1.65 !important;
}
body .cm-regio-location-body .cm-regio-card-btn {
  align-self: flex-start !important;
  margin-top: auto !important;
}

/* Kaartsectie blijft stabiel na het locatieblok */
body .cm-regio-map-section {
  margin-top: 82px !important;
  margin-bottom: 82px !important;
}

@media (max-width: 980px) {
  body .cm-regio-section,
  body .cm-regio-oogopslag {
    width: min(900px, calc(100% - 40px)) !important;
    margin-top: 62px !important;
    margin-bottom: 62px !important;
  }
  body .cm-regio-info-grid,
  body .cm-regio-location-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 680px) {
  body .cm-regio-hero { min-height: 520px !important; }
  body .cm-regio-section,
  body .cm-regio-oogopslag {
    width: calc(100% - 28px) !important;
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
  body .cm-regio-info-grid,
  body .cm-regio-location-grid {
    grid-template-columns: 1fr !important;
  }
  body .cm-regio-info-card {
    min-height: 0 !important;
  }
  body .cm-regio-location-image { height: 210px !important; }
}


/* CasaMia Foundation v8.0 — globale layout reset
   Doel: verwijder de boxed-layout/verticale banen op regio-, locatie-, accommodatie- en objectpagina's.
   Divi blijft de contentbreedte via rijen bepalen; de site-wrapper zelf is weer volledig wit en full-width. */
html,
body:not(.et-fb),
body:not(.et-fb) #page-container,
body:not(.et-fb) #et-main-area,
body:not(.et-fb) #main-content,
body:not(.et-fb) #main-content .et_builder_inner_content {
  background: #fff !important;
}

body:not(.et-fb) #main-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-shadow: none !important;
  border-left: 0 !important;
  border-right: 0 !important;
  overflow: visible !important;
}

body:not(.et-fb) #main-content .et_builder_inner_content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-shadow: none !important;
}

/* Ook de standaard Divi-containers mogen geen canvas-schaduw veroorzaken. */
body:not(.et-fb) .container,
body:not(.et-fb) .et_pb_section,
body:not(.et-fb) .et_pb_row,
body:not(.et-fb) .et_pb_column {
  box-shadow: none;
}

/* Shortcode-secties mogen zelf geen brede achtergrondbanen maken. */
body:not(.et-fb) .cm-regio-section,
body:not(.et-fb) .cm-regio-intro,
body:not(.et-fb) .cm-regio-oogopslag,
body:not(.et-fb) .cm-regio-accommodaties,
body:not(.et-fb) .cm-regio-map-section,
body:not(.et-fb) .cm-regio-locaties {
  background: transparent !important;
}

/* Regio-archieven: geen standaard WordPress-sidebar in de contentkolom. */
body.tax-regio #sidebar,
body.tax-regio .et_pb_widget_area,
body.tax-regio #left-area + #sidebar {
  display: none !important;
}
body.tax-regio #left-area {
  width: 100% !important;
  padding-right: 0 !important;
}
body.tax-regio #main-content .container:before {
  display: none !important;
}

/* Footerwidgets met Archieven/Categorieën horen niet onder de regiopagina-template. */
body.tax-regio #footer-widgets {
  display: none !important;
}

/* Veilige contentbreedte helper voor CasaMia-componenten. */
.cm-site-container,
.cm-regio-container,
.cm-section-inner {
  width: min(1180px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 640px) {
  .cm-site-container,
  .cm-regio-container,
  .cm-section-inner {
    width: min(100% - 28px, 1180px);
  }
}

/* CasaMia v8.1 — Regio design stabilisatie
   - In één oogopslag opnieuw vastgezet als nette responsive grid
   - Locatiekaarten onder de kaart gelijkgetrokken met accommodatiekaarten
*/
body:not(.et-fb) .cm-regio-oogopslag {
  box-sizing: border-box !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  clear: both !important;
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin: 74px auto 76px !important;
  padding: 0 !important;
  overflow: visible !important;
  text-align: center !important;
  background: transparent !important;
}
body:not(.et-fb) .cm-regio-oogopslag .cm-eyebrow,
body:not(.et-fb) .cm-regio-oogopslag > .cm-eyebrow {
  display: block !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
  text-align: center !important;
  letter-spacing: .16em !important;
  color: #D56B3A !important;
}
body:not(.et-fb) .cm-regio-oogopslag h2,
body:not(.et-fb) .cm-regio-oogopslag > h2 {
  box-sizing: border-box !important;
  display: block !important;
  position: static !important;
  left: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 auto 34px !important;
  padding: 0 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: visible !important;
  --cm-removed-font-size: clamp(36px, 4.2vw, 58px) !important;
  --cm-removed-line-height: 1.05 !important;
}
body:not(.et-fb) .cm-regio-oogopslag .cm-regio-info-grid,
body:not(.et-fb) .cm-regio-oogopslag > .cm-regio-info-grid {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  clear: both !important;
}
body:not(.et-fb) .cm-regio-oogopslag .cm-regio-info-card {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  min-height: 168px !important;
  padding: 28px 22px !important;
  text-align: center !important;
  background: #fffaf2 !important;
  border: 1px solid rgba(62,49,40,.11) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 44px rgba(62,49,40,.07) !important;
}
body:not(.et-fb) .cm-regio-oogopslag .cm-regio-info-card > div:last-child {
  width: 100% !important;
}
body:not(.et-fb) .cm-regio-oogopslag .cm-regio-info-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  margin: 0 auto 4px !important;
  background: #f5ead9 !important;
  font-size: 22px !important;
  line-height: 1 !important;
}
body:not(.et-fb) .cm-regio-oogopslag .cm-regio-info-card strong {
  display: block !important;
  margin: 0 0 8px !important;
  color: #3E3128 !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
}
body:not(.et-fb) .cm-regio-oogopslag .cm-regio-info-card span {
  display: block !important;
  color: #655a52 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body:not(.et-fb) .cm-regio-locaties {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin: 74px auto 80px !important;
  padding: 0 !important;
  background: transparent !important;
}
body:not(.et-fb) .cm-regio-location-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
}
body:not(.et-fb) .cm-regio-location-card {
  min-width: 0 !important;
}

@media (max-width: 980px) {
  body:not(.et-fb) .cm-regio-oogopslag,
  body:not(.et-fb) .cm-regio-locaties {
    width: min(900px, calc(100% - 40px)) !important;
  }
  body:not(.et-fb) .cm-regio-oogopslag .cm-regio-info-grid,
  body:not(.et-fb) .cm-regio-location-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-regio-oogopslag,
  body:not(.et-fb) .cm-regio-locaties {
    width: calc(100% - 28px) !important;
    margin-top: 52px !important;
    margin-bottom: 56px !important;
  }
  body:not(.et-fb) .cm-regio-oogopslag .cm-regio-info-grid,
  body:not(.et-fb) .cm-regio-location-grid {
    grid-template-columns: 1fr !important;
  }
  body:not(.et-fb) .cm-regio-oogopslag .cm-regio-info-card {
    min-height: 0 !important;
  }
}

/* CasaMia v8.2 — Design System cards
   Eén kaartstijl voor verhuurobjecten, accommodaties en locaties.
   De PHP gebruikt nu dezelfde cm-verhuurobject-card basisstructuur op de regiopagina. */
body:not(.et-fb) .cm-uniform-card-grid,
body:not(.et-fb) .cm-regio-accommodation-grid.cm-uniform-card-grid,
body:not(.et-fb) .cm-regio-location-grid.cm-uniform-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
}

body:not(.et-fb) .cm-uniform-card,
body:not(.et-fb) .cm-regio-accommodation-card.cm-uniform-card,
body:not(.et-fb) .cm-regio-location-card.cm-uniform-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(62,49,40,.10) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 35px rgba(0,0,0,.08) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

body:not(.et-fb) .cm-uniform-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.12) !important;
}

body:not(.et-fb) .cm-uniform-card-image,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-image,
body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-image {
  display: block !important;
  aspect-ratio: 16 / 10 !important;
  height: auto !important;
  min-height: 0 !important;
  background: var(--cm-light, #f2f2f2) !important;
  overflow: hidden !important;
}

body:not(.et-fb) .cm-uniform-card-image img,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-image img,
body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .35s ease !important;
}

body:not(.et-fb) .cm-uniform-card:hover .cm-uniform-card-image img {
  transform: scale(1.04) !important;
}

body:not(.et-fb) .cm-uniform-card-content,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-content,
body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-content {
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

body:not(.et-fb) .cm-uniform-card-type,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-type,
body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-type {
  color: var(--cm-orange, #C96E3A) !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
}

body:not(.et-fb) .cm-uniform-card-title,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-title,
body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-title {
  --cm-removed-font-size: 28px !important;
  --cm-removed-line-height: 1.15 !important;
  margin: 0 0 10px !important;
  color: var(--cm-dark, #3E3128) !important;
}

body:not(.et-fb) .cm-uniform-card-title a,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-title a,
body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-title a {
  color: inherit !important;
  text-decoration: none !important;
}

body:not(.et-fb) .cm-uniform-card-location {
  color: var(--cm-orange, #C96E3A) !important;
  font-weight: 800 !important;
  margin: -2px 0 12px !important;
}

body:not(.et-fb) .cm-uniform-card-intro,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-intro,
body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-intro {
  --cm-removed-font-size: 16px !important;
  --cm-removed-line-height: 1.6 !important;
  margin: 0 0 18px !important;
  color: var(--cm-text, #333) !important;
}

body:not(.et-fb) .cm-uniform-card-meta,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  font-size: 15px !important;
  margin: 0 0 18px !important;
}

body:not(.et-fb) .cm-uniform-card-meta span,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-meta span {
  background: var(--cm-beige, #F8F4EE) !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  border: 0 !important;
}

body:not(.et-fb) .cm-uniform-card-pricebox,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-pricebox {
  margin-top: auto !important;
  margin-bottom: 18px !important;
  padding-top: 8px !important;
}

body:not(.et-fb) .cm-uniform-card-button,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-button,
body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-button {
  display: block !important;
  width: 100% !important;
  background: var(--cm-orange, #C96E3A) !important;
  color: #fff !important;
  padding: 12px 18px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin-top: auto !important;
}

body:not(.et-fb) .cm-uniform-card-button:hover,
body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-button:hover,
body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-button:hover {
  background: #A9562D !important;
  color: #fff !important;
}

@media (max-width: 980px) {
  body:not(.et-fb) .cm-uniform-card-grid,
  body:not(.et-fb) .cm-regio-accommodation-grid.cm-uniform-card-grid,
  body:not(.et-fb) .cm-regio-location-grid.cm-uniform-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body:not(.et-fb) .cm-uniform-card-grid,
  body:not(.et-fb) .cm-regio-accommodation-grid.cm-uniform-card-grid,
  body:not(.et-fb) .cm-regio-location-grid.cm-uniform-card-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  body:not(.et-fb) .cm-uniform-card-title,
  body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-title,
  body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-title {
    --cm-removed-font-size: 24px !important;
  }
}

/* CasaMia v8.3 — Regio cards: 3 zichtbaar, overige horizontaal scrollen
   Geldt voor accommodaties en locaties op de regiopagina. */
body:not(.et-fb) .cm-regio-accommodation-grid,
body:not(.et-fb) .cm-regio-location-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 28px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 4px 4px 24px !important;
  margin-left: -4px !important;
  margin-right: -4px !important;
}

body:not(.et-fb) .cm-regio-accommodation-grid > .cm-regio-accommodation-card,
body:not(.et-fb) .cm-regio-location-grid > .cm-regio-location-card,
body:not(.et-fb) .cm-regio-accommodation-grid > .cm-uniform-card,
body:not(.et-fb) .cm-regio-location-grid > .cm-uniform-card {
  flex: 0 0 calc((100% - 56px) / 3) !important;
  max-width: calc((100% - 56px) / 3) !important;
  min-width: 0 !important;
  scroll-snap-align: start !important;
}

/* Scrollbar subtiel, zodat zichtbaar is dat er meer kaarten zijn. */
body:not(.et-fb) .cm-regio-accommodation-grid::-webkit-scrollbar,
body:not(.et-fb) .cm-regio-location-grid::-webkit-scrollbar {
  height: 9px;
}
body:not(.et-fb) .cm-regio-accommodation-grid::-webkit-scrollbar-track,
body:not(.et-fb) .cm-regio-location-grid::-webkit-scrollbar-track {
  background: rgba(62,49,40,.08);
  border-radius: 999px;
}
body:not(.et-fb) .cm-regio-accommodation-grid::-webkit-scrollbar-thumb,
body:not(.et-fb) .cm-regio-location-grid::-webkit-scrollbar-thumb {
  background: rgba(180,91,48,.45);
  border-radius: 999px;
}
body:not(.et-fb) .cm-regio-accommodation-grid::-webkit-scrollbar-thumb:hover,
body:not(.et-fb) .cm-regio-location-grid::-webkit-scrollbar-thumb:hover {
  background: rgba(180,91,48,.65);
}

@media (max-width: 980px) {
  body:not(.et-fb) .cm-regio-accommodation-grid > .cm-regio-accommodation-card,
  body:not(.et-fb) .cm-regio-location-grid > .cm-regio-location-card,
  body:not(.et-fb) .cm-regio-accommodation-grid > .cm-uniform-card,
  body:not(.et-fb) .cm-regio-location-grid > .cm-uniform-card {
    flex-basis: calc((100% - 28px) / 2) !important;
    max-width: calc((100% - 28px) / 2) !important;
  }
}

@media (max-width: 640px) {
  body:not(.et-fb) .cm-regio-accommodation-grid,
  body:not(.et-fb) .cm-regio-location-grid {
    gap: 18px !important;
    padding-bottom: 20px !important;
  }
  body:not(.et-fb) .cm-regio-accommodation-grid > .cm-regio-accommodation-card,
  body:not(.et-fb) .cm-regio-location-grid > .cm-regio-location-card,
  body:not(.et-fb) .cm-regio-accommodation-grid > .cm-uniform-card,
  body:not(.et-fb) .cm-regio-location-grid > .cm-uniform-card {
    flex-basis: 86% !important;
    max-width: 86% !important;
  }
}


/* =========================================================
   CasaMia v9.0 — Regio Engine final / Design System cards
   - Accommodaties en locaties gebruiken dezelfde carousel-opmaak als verhuurobjecten
   - 3 zichtbaar desktop, 2 tablet, 1 mobiel
   - pijlen rechtsboven wanneer er meer items zijn
   - geen uitgerekte kaart-hoogtes
   ========================================================= */
body:not(.et-fb) .cm-card-carousel-section {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin: 76px auto !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

body:not(.et-fb) .cm-card-carousel-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 28px !important;
  margin-bottom: 32px !important;
}

body:not(.et-fb) .cm-card-carousel-head .cm-regio-section-head {
  max-width: 760px !important;
  margin: 0 !important;
}

body:not(.et-fb) .cm-regio-card-carousel-wrap {
  width: 100% !important;
  overflow: hidden !important;
  padding: 0 0 8px !important;
  margin: 0 !important;
}

body:not(.et-fb) .cm-regio-card-carousel {
  width: 100% !important;
  overflow: hidden !important;
}

body:not(.et-fb) .cm-regio-card-track,
body:not(.et-fb) .cm-regio-card-carousel .cm-verhuurobject-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 28px !important;
  align-items: stretch !important;
}

body:not(.et-fb) .cm-regio-card-slide,
body:not(.et-fb) .cm-regio-card-carousel .cm-verhuurobject-slide {
  flex: 0 0 calc((100% - 56px) / 3) !important;
  max-width: calc((100% - 56px) / 3) !important;
  min-width: 0 !important;
  height: auto !important;
}

body:not(.et-fb) .cm-regio-card-slide .cm-verhuurobject-card,
body:not(.et-fb) .cm-regio-accommodation-card,
body:not(.et-fb) .cm-regio-location-card {
  height: 100% !important;
  min-height: 0 !important;
}

body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-image,
body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-image,
body:not(.et-fb) .cm-regio-accommodation-card .cm-uniform-card-image,
body:not(.et-fb) .cm-regio-location-card .cm-uniform-card-image {
  aspect-ratio: 16 / 10 !important;
  height: auto !important;
  min-height: 0 !important;
}

body:not(.et-fb) .cm-regio-accommodation-card .cm-verhuurobject-placeholder,
body:not(.et-fb) .cm-regio-location-card .cm-verhuurobject-placeholder {
  min-height: 0 !important;
  height: 100% !important;
}

body:not(.et-fb) .cm-card-carousel-section .cm-carousel-controls {
  flex: 0 0 auto !important;
  display: flex !important;
  gap: 10px !important;
  margin-bottom: 6px !important;
}

body:not(.et-fb) .cm-card-carousel-section .cm-carousel-controls button {
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: var(--cm-orange, #C96E3A) !important;
  color: #fff !important;
  font-size: 30px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 10px 24px rgba(62,49,40,.12) !important;
}

body:not(.et-fb) .cm-card-carousel-section .cm-carousel-controls button:hover {
  background: #A9562D !important;
}

body:not(.et-fb) .cm-regio-accommodaties {
  margin-top: 56px !important;
}

body:not(.et-fb) .cm-regio-locaties {
  margin-top: 76px !important;
}

@media (max-width: 980px) {
  body:not(.et-fb) .cm-card-carousel-section {
    width: min(900px, calc(100% - 40px)) !important;
    margin: 62px auto !important;
  }
  body:not(.et-fb) .cm-regio-card-slide,
  body:not(.et-fb) .cm-regio-card-carousel .cm-verhuurobject-slide {
    flex-basis: calc((100% - 28px) / 2) !important;
    max-width: calc((100% - 28px) / 2) !important;
  }
}

@media (max-width: 640px) {
  body:not(.et-fb) .cm-card-carousel-section {
    width: calc(100% - 28px) !important;
    margin: 50px auto !important;
  }
  body:not(.et-fb) .cm-card-carousel-head {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 18px !important;
  }
  body:not(.et-fb) .cm-regio-card-track,
  body:not(.et-fb) .cm-regio-card-carousel .cm-verhuurobject-track {
    gap: 18px !important;
  }
  body:not(.et-fb) .cm-regio-card-slide,
  body:not(.et-fb) .cm-regio-card-carousel .cm-verhuurobject-slide {
    flex-basis: 86% !important;
    max-width: 86% !important;
  }
}

/* =========================================================
   CasaMia v10.0 — Accommodatie Engine start
   ========================================================= */
body:not(.et-fb) .cm-acco-hero {
  position: relative;
  min-height: 78vh;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
}
body:not(.et-fb) .cm-acco-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(35,27,22,.72) 0%, rgba(35,27,22,.46) 42%, rgba(35,27,22,.12) 78%, rgba(35,27,22,.02) 100%);
  z-index: 1;
}
body:not(.et-fb) .cm-acco-hero-inner {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}
body:not(.et-fb) .cm-acco-hero-content {
  max-width: 620px;
  padding: 110px 0 90px;
}
body:not(.et-fb) .cm-acco-hero-eyebrow,
body:not(.et-fb) .cm-acco-hero .cm-eyebrow {
  color: #fff !important;
  opacity: .92;
  letter-spacing: .16em;
}
body:not(.et-fb) .cm-acco-hero h1 {
  color: #fff !important;
  --cm-removed-font-size: clamp(44px, 6vw, 78px);
  --cm-removed-line-height: 1.02;
  margin: 0 0 22px;
  text-shadow: 0 10px 34px rgba(0,0,0,.28);
}
body:not(.et-fb) .cm-acco-hero-intro {
  --cm-removed-font-size: 19px;
  --cm-removed-line-height: 1.7;
  max-width: 580px;
  color: rgba(255,255,255,.96);
}
body:not(.et-fb) .cm-acco-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}
body:not(.et-fb) .cm-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 24px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none !important;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
body:not(.et-fb) .cm-button:hover { transform: translateY(-1px); }
body:not(.et-fb) .cm-button-primary { background: var(--cm-orange, #C96E3A); color: #fff !important; }
body:not(.et-fb) .cm-button-primary:hover { background: #A9562D; color:#fff !important; }
body:not(.et-fb) .cm-button-secondary { background: rgba(255,255,255,.12); color:#fff !important; border:1px solid rgba(255,255,255,.65); backdrop-filter: blur(3px); }
body:not(.et-fb) .cm-button-secondary:hover { background:#fff; color:#3d3028 !important; }
body:not(.et-fb) .cm-button-ghost { background: #fff; border: 1px solid rgba(90,72,58,.16); color: var(--cm-brown, #3d3028) !important; }
body:not(.et-fb) .cm-acco-hero-location {
  margin-top: 22px;
  font-weight: 650;
  color: rgba(255,255,255,.92);
}

body:not(.et-fb) .cm-acco-section {
  width: min(1180px, calc(100% - 48px));
  margin: 76px auto;
  padding: 0;
  background: transparent;
}
body:not(.et-fb) .cm-acco-section-head,
body:not(.et-fb) .cm-section-head {
  max-width: 760px;
  margin-bottom: 30px;
}
body:not(.et-fb) .cm-acco-section h2,
body:not(.et-fb) .cm-section-head h2 {
  --cm-removed-font-size: clamp(32px, 4vw, 48px);
  --cm-removed-line-height: 1.12;
  color: var(--cm-brown, #3d3028);
  margin: 0;
}
body:not(.et-fb) .cm-acco-feature-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}
body:not(.et-fb) .cm-acco-feature-card {
  background: #fff;
  border: 1px solid rgba(90,72,58,.10);
  border-radius: 18px;
  padding: 18px 16px;
  box-shadow: 0 14px 34px rgba(62,49,40,.07);
  min-height: 120px;
}
body:not(.et-fb) .cm-acco-feature-icon { display:block; font-size:28px; margin-bottom:10px; }
body:not(.et-fb) .cm-acco-feature-card strong { display:block; color:var(--cm-brown,#3d3028); font-size:15px; }
body:not(.et-fb) .cm-acco-feature-card small { display:block; color:#74665c; margin-top:5px; font-size:14px; }
body:not(.et-fb) .cm-acco-narrow { max-width: 860px; margin: 0 auto; }
body:not(.et-fb) .cm-acco-text { --cm-removed-font-size: 18px; --cm-removed-line-height: 1.85; color:#554940; }
body:not(.et-fb) .cm-acco-two-col {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 42px;
  align-items: center;
}
body:not(.et-fb) .cm-acco-panel {
  background: #fff;
  border: 1px solid rgba(90,72,58,.10);
  border-radius: 24px;
  padding: 38px;
  box-shadow: 0 18px 44px rgba(62,49,40,.08);
}
body:not(.et-fb) .cm-acco-gallery-panel,
body:not(.et-fb) .cm-acco-map-panel {
  min-height: 420px;
  border-radius: 24px;
  overflow: hidden;
  background: #f7f1ea;
  box-shadow: 0 18px 44px rgba(62,49,40,.08);
}
body:not(.et-fb) .cm-acco-map-frame { width:100%; height:460px; border:0; display:block; }
body:not(.et-fb) .cm-acco-map-placeholder {
  min-height: 420px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
  color:#74665c;
  text-align:center;
}
body:not(.et-fb) .cm-acco-cta {
  background: linear-gradient(135deg, #3d3028, #6a4a36);
  color:#fff;
  border-radius: 28px;
  padding: clamp(36px, 6vw, 70px);
  text-align: center;
  box-shadow: 0 18px 50px rgba(62,49,40,.16);
}
body:not(.et-fb) .cm-acco-cta h2 { color:#fff !important; --cm-removed-font-size: clamp(32px, 5vw, 54px); margin:0 0 14px; }
body:not(.et-fb) .cm-acco-cta p { color:rgba(255,255,255,.88); --cm-removed-font-size:18px; }
body:not(.et-fb) .cm-acco-cta .cm-acco-hero-actions { justify-content:center; }

@media (max-width: 980px) {
  body:not(.et-fb) .cm-acco-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body:not(.et-fb) .cm-acco-two-col { grid-template-columns: 1fr; }
  body:not(.et-fb) .cm-acco-hero { min-height: 68vh; }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-acco-hero-inner,
  body:not(.et-fb) .cm-acco-section { width: calc(100% - 28px); }
  body:not(.et-fb) .cm-acco-hero-content { padding: 84px 0 70px; }
  body:not(.et-fb) .cm-acco-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:not(.et-fb) .cm-acco-panel { padding: 26px; }
  body:not(.et-fb) .cm-acco-hero-actions { flex-direction: column; align-items: stretch; }
  body:not(.et-fb) .cm-button { width: 100%; }
}

/* =========================================================
   CasaMia v10.1 — Accommodatie Engine Hero+ / CM Kenmerken / CM Gallery
   ========================================================= */
body:not(.et-fb) .cm-acco-hero-overlay {
  background: linear-gradient(90deg, rgba(35,27,22,.62) 0%, rgba(35,27,22,.38) 42%, rgba(35,27,22,.10) 78%, rgba(35,27,22,.02) 100%) !important;
}
body:not(.et-fb) .cm-acco-hero-content { max-width: 680px !important; }
body:not(.et-fb) .cm-acco-hero-eyebrow,
body:not(.et-fb) .cm-acco-hero .cm-eyebrow {
  color: var(--cm-orange, #C96E3A) !important;
  opacity: 1 !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
  letter-spacing: .20em !important;
  font-weight: 900 !important;
  text-shadow: 0 6px 18px rgba(0,0,0,.32);
}
body:not(.et-fb) .cm-acco-hero h1 {
  --cm-removed-font-size: clamp(50px, 6.6vw, 86px) !important;
  margin-bottom: 18px !important;
}
body:not(.et-fb) .cm-acco-hero-intro {
  max-width: 620px !important;
  --cm-removed-font-size: 18px !important;
  --cm-removed-line-height: 1.65 !important;
}

body:not(.et-fb) .cm-feature-bar {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto 34px;
  background: #fff;
  border: 1px solid rgba(90,72,58,.10);
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(62,49,40,.08);
  overflow: hidden;
}
body:not(.et-fb) .cm-feature-bar-inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  align-items: stretch;
}
body:not(.et-fb) .cm-feature-bar-item {
  min-height: 138px;
  padding: 24px 18px 22px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(90,72,58,.10);
}
body:not(.et-fb) .cm-feature-bar-item:last-child { border-right: 0; }
body:not(.et-fb) .cm-feature-bar-icon {
  font-size: 30px;
  line-height: 1;
  margin-bottom: 10px;
}
body:not(.et-fb) .cm-feature-bar-value {
  color: var(--cm-dark, #3E3128);
  font-size: 22px;
  line-height: 1.15;
  font-weight: 900;
  margin-bottom: 5px;
}
body:not(.et-fb) .cm-feature-bar-label {
  color: #74665c;
  font-size: 13px;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-weight: 800;
}
body:not(.et-fb) .cm-acco-kenmerken {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body:not(.et-fb) .cm-acco-sfeer-gallery {
  margin-top: 34px !important;
  margin-bottom: 78px !important;
}
body:not(.et-fb) .cm-acco-gallery-mosaic {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, .85fr);
  gap: 18px;
  min-height: 520px;
}
body:not(.et-fb) .cm-acco-gallery-main,
body:not(.et-fb) .cm-acco-gallery-thumb {
  display: block;
  position: relative;
  overflow: hidden;
  background: var(--cm-beige, #F8F4EE);
}
body:not(.et-fb) .cm-acco-gallery-main { border-radius: 24px 0 0 24px; }
body:not(.et-fb) .cm-acco-gallery-side {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
body:not(.et-fb) .cm-acco-gallery-side .cm-acco-gallery-thumb:first-child { border-radius: 0 24px 0 0; }
body:not(.et-fb) .cm-acco-gallery-side .cm-acco-gallery-thumb:last-child { border-radius: 0 0 24px 0; }
body:not(.et-fb) .cm-acco-gallery-main img,
body:not(.et-fb) .cm-acco-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
body:not(.et-fb) .cm-acco-gallery-main:hover img,
body:not(.et-fb) .cm-acco-gallery-thumb:hover img { transform: scale(1.035); }
body:not(.et-fb) .cm-acco-gallery-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
  color: #74665c;
  font-weight: 650;
}
body:not(.et-fb) .cm-gallery-view-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 999px;
  background: var(--cm-orange, #C96E3A);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800;
}
body:not(.et-fb) .cm-gallery-view-all:hover { background: #A9562D; color:#fff !important; }

@media (max-width: 980px) {
  body:not(.et-fb) .cm-feature-bar-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body:not(.et-fb) .cm-feature-bar-item:nth-child(3n) { border-right: 0; }
  body:not(.et-fb) .cm-acco-gallery-mosaic { grid-template-columns: 1fr; min-height: auto; }
  body:not(.et-fb) .cm-acco-gallery-main { min-height: 430px; border-radius: 24px 24px 0 0; }
  body:not(.et-fb) .cm-acco-gallery-side { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; }
  body:not(.et-fb) .cm-acco-gallery-thumb { min-height: 180px; }
  body:not(.et-fb) .cm-acco-gallery-side .cm-acco-gallery-thumb:first-child { border-radius: 0 0 0 24px; }
  body:not(.et-fb) .cm-acco-gallery-side .cm-acco-gallery-thumb:last-child { border-radius: 0 0 24px 0; }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-feature-bar { width: calc(100% - 28px); border-radius: 18px; }
  body:not(.et-fb) .cm-feature-bar-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:not(.et-fb) .cm-feature-bar-item { min-height: 124px; padding: 20px 14px; border-right: 1px solid rgba(90,72,58,.10) !important; }
  body:not(.et-fb) .cm-feature-bar-item:nth-child(2n) { border-right: 0 !important; }
  body:not(.et-fb) .cm-feature-bar-value { font-size: 19px; }
  body:not(.et-fb) .cm-acco-gallery-main { min-height: 300px; border-radius: 18px 18px 0 0; }
  body:not(.et-fb) .cm-acco-gallery-side { gap: 10px; }
  body:not(.et-fb) .cm-acco-gallery-thumb { min-height: 105px; }
  body:not(.et-fb) .cm-acco-gallery-footer { flex-direction: column; align-items: flex-start; }
  body:not(.et-fb) .cm-gallery-view-all { width: 100%; }
}

/* =========================================================
   CasaMia v10.5 — CM Kenmerken definitief
   Repeater: icoon/select + titel + subtitel. Sleepvolgorde is leidend.
   ========================================================= */
body:not(.et-fb) .cm-feature-bar-icon {
  color: var(--cm-orange, #C96E3A);
  font-size: 34px;
  margin-bottom: 14px;
}
body:not(.et-fb) .cm-feature-bar-icon i {
  display: inline-block;
  line-height: 1;
}
body:not(.et-fb) .cm-feature-bar-value {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--cm-dark, #3E3128);
  font-size: clamp(21px, 2vw, 28px);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
body:not(.et-fb) .cm-feature-bar-label {
  color: #74665c;
  font-size: 14px;
  line-height: 1.45;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
  max-width: 170px;
}

/* =========================================================
   CasaMia v10.6 — Sfeergalerij verfijning
   - hero-foto overslaan in de zichtbare mozaïek
   - rechterkolom subtiel verticaal laten bewegen
   - eigen lightbox met vorige/volgende
   ========================================================= */
body:not(.et-fb) .cm-acco-gallery-side {
  overflow: hidden;
  max-height: 520px;
}
body:not(.et-fb) .cm-acco-gallery-side-track {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 18px;
  min-height: 100%;
}
body:not(.et-fb) .cm-acco-gallery-side-scrolling .cm-acco-gallery-side-track {
  grid-auto-rows: 160px;
  grid-template-rows: none;
  animation: cmAccoGalleryDrift 38s linear infinite;
}
body:not(.et-fb) .cm-acco-gallery-side-scrolling:hover .cm-acco-gallery-side-track {
  animation-play-state: paused;
}
@keyframes cmAccoGalleryDrift {
  from { transform: translateY(0); }
  to { transform: translateY(calc(-50% - 9px)); }
}
body:not(.et-fb) .cm-acco-gallery-footer .cm-gallery-view-all {
  border: 0;
  cursor: pointer;
}
body:not(.et-fb) .cm-acco-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(18, 13, 10, .88);
  padding: 34px;
}
body:not(.et-fb) .cm-acco-lightbox.is-open { display: flex; }
body.cm-lightbox-open { overflow: hidden; }
body:not(.et-fb) .cm-acco-lightbox-stage {
  width: min(1180px, 86vw);
  height: min(760px, 82vh);
  display: flex;
  align-items: center;
  justify-content: center;
}
body:not(.et-fb) .cm-acco-lightbox-slide {
  display: none;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
body:not(.et-fb) .cm-acco-lightbox-slide.is-active { display: flex; }
body:not(.et-fb) .cm-acco-lightbox-slide img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 16px;
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
}
body:not(.et-fb) .cm-acco-lightbox-close,
body:not(.et-fb) .cm-acco-lightbox-prev,
body:not(.et-fb) .cm-acco-lightbox-next {
  position: absolute;
  border: 0;
  background: rgba(255,255,255,.92);
  color: #3b2b24;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 35px rgba(0,0,0,.18);
}
body:not(.et-fb) .cm-acco-lightbox-close {
  top: 22px;
  right: 24px;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  font-size: 30px;
  line-height: 1;
}
body:not(.et-fb) .cm-acco-lightbox-prev,
body:not(.et-fb) .cm-acco-lightbox-next {
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border-radius: 999px;
  font-size: 34px;
}
body:not(.et-fb) .cm-acco-lightbox-prev { left: 26px; }
body:not(.et-fb) .cm-acco-lightbox-next { right: 26px; }
@media (max-width: 980px) {
  body:not(.et-fb) .cm-acco-gallery-side { max-height: none; }
  body:not(.et-fb) .cm-acco-gallery-side-scrolling .cm-acco-gallery-side-track { animation: none; grid-auto-rows: auto; }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-acco-lightbox { padding: 18px; }
  body:not(.et-fb) .cm-acco-lightbox-stage { width: 92vw; height: 76vh; }
  body:not(.et-fb) .cm-acco-lightbox-prev,
  body:not(.et-fb) .cm-acco-lightbox-next { width: 44px; height: 44px; font-size: 28px; }
  body:not(.et-fb) .cm-acco-lightbox-prev { left: 12px; }
  body:not(.et-fb) .cm-acco-lightbox-next { right: 12px; }
}

/* =========================================================
   CasaMia v10.7 — CM Beschrijving 1.0
   Verhalend tekstblok met sfeerfoto. Geen dubbele iconen.
   ========================================================= */
body:not(.et-fb) .cm-acco-description-story {
  margin-top: 86px !important;
  margin-bottom: 86px !important;
}
body:not(.et-fb) .cm-acco-description-grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: center;
}
body:not(.et-fb) .cm-acco-description-content h2 {
  --cm-removed-font-size: clamp(36px, 5vw, 62px);
  --cm-removed-line-height: 1.08;
  margin: 0;
  color: var(--cm-dark, #3E3128);
}
body:not(.et-fb) .cm-acco-description-rule {
  width: 64px;
  height: 2px;
  background: var(--cm-orange, #C96E3A);
  margin: 28px 0 30px;
}
body:not(.et-fb) .cm-acco-description-text {
  max-width: 650px;
  --cm-removed-font-size: clamp(17px, 1.35vw, 20px);
  --cm-removed-line-height: 1.85;
  color: #554940;
}
body:not(.et-fb) .cm-acco-description-text p {
  margin: 0 0 24px;
}
body:not(.et-fb) .cm-acco-description-text p:last-child {
  margin-bottom: 0;
}
body:not(.et-fb) .cm-acco-description-quote {
  margin: 34px 0 0;
  padding: 0;
  border: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2.6vw, 38px);
  line-height: 1.25;
  color: var(--cm-orange, #C96E3A);
  font-style: italic;
}
body:not(.et-fb) .cm-acco-description-image-wrap {
  min-height: 520px;
  border-radius: 26px;
  overflow: hidden;
  background: var(--cm-beige, #F8F4EE);
  box-shadow: 0 22px 60px rgba(62,49,40,.11);
}
body:not(.et-fb) .cm-acco-description-image-wrap img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
}

@media (max-width: 980px) {
  body:not(.et-fb) .cm-acco-description-grid {
    grid-template-columns: 1fr;
  }
  body:not(.et-fb) .cm-acco-description-image-wrap,
  body:not(.et-fb) .cm-acco-description-image-wrap img {
    min-height: 420px;
  }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-acco-description-story {
    margin-top: 56px !important;
    margin-bottom: 64px !important;
  }
  body:not(.et-fb) .cm-acco-description-image-wrap,
  body:not(.et-fb) .cm-acco-description-image-wrap img {
    min-height: 300px;
    border-radius: 20px;
  }
}

/* =========================================================
   CasaMia v10.8 — Accommodatie polish + CM Beschrijving 2.0
   ========================================================= */
body:not(.et-fb) .cm-acco-gallery-main {
  border-radius: 24px 0 0 24px !important;
}
body:not(.et-fb) .cm-acco-gallery-side {
  border-radius: 0 24px 24px 0 !important;
  overflow: hidden !important;
  background: var(--cm-beige, #F8F4EE);
}
body:not(.et-fb) .cm-acco-gallery-side .cm-acco-gallery-thumb,
body:not(.et-fb) .cm-acco-gallery-side .cm-acco-gallery-thumb:first-child,
body:not(.et-fb) .cm-acco-gallery-side .cm-acco-gallery-thumb:last-child {
  border-radius: 0 !important;
}
body:not(.et-fb) .cm-acco-gallery-main::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 40%;
  background: linear-gradient(to top, rgba(0,0,0,.38), transparent);
  pointer-events: none;
  opacity: .9;
}
body:not(.et-fb) .cm-gallery-view-all-overlay {
  position: absolute;
  right: 22px;
  bottom: 22px;
  z-index: 3;
  min-height: 44px;
  padding: 11px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--cm-dark, #3E3128) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.18);
  backdrop-filter: blur(3px);
  font-weight: 800;
  transition: transform .2s ease, background .2s ease;
}
body:not(.et-fb) .cm-acco-gallery-main:hover .cm-gallery-view-all-overlay {
  transform: translateY(-2px);
  background: #fff;
}
body:not(.et-fb) .cm-acco-gallery-footer {
  display: none !important;
}

body:not(.et-fb) .cm-acco-storyblocks {
  margin-top: 92px !important;
  margin-bottom: 96px !important;
}
body:not(.et-fb) .cm-acco-storyblock {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: center;
  margin: 0 0 96px;
}
body:not(.et-fb) .cm-acco-storyblock:last-child {
  margin-bottom: 0;
}
body:not(.et-fb) .cm-story-image-left {
  grid-template-columns: minmax(420px, 1.08fr) minmax(0, .92fr);
}
body:not(.et-fb) .cm-acco-story-content h2 {
  --cm-removed-font-size: clamp(36px, 5vw, 62px);
  --cm-removed-line-height: 1.08;
  margin: 0;
  color: var(--cm-dark, #3E3128);
}
body:not(.et-fb) .cm-acco-story-image-wrap {
  min-height: 500px;
  border-radius: 26px;
  overflow: hidden;
  background: var(--cm-beige, #F8F4EE);
  box-shadow: 0 22px 60px rgba(62,49,40,.11);
}
body:not(.et-fb) .cm-acco-story-image-wrap img {
  width: 100%;
  height: 100%;
  min-height: 500px;
  object-fit: cover;
  display: block;
  transition: transform .55s ease;
}
body:not(.et-fb) .cm-acco-story-image-wrap:hover img {
  transform: scale(1.025);
}
body:not(.et-fb) .cm-acco-reasons-list {
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
  display: grid;
  gap: 16px;
}
body:not(.et-fb) .cm-acco-reasons-list li {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: start;
  gap: 12px;
  color: #554940;
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.55;
}
body:not(.et-fb) .cm-acco-check {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(201,110,58,.12);
  color: var(--cm-orange, #C96E3A);
  font-weight: 900;
  font-size: 17px;
  margin-top: 2px;
}
body:not(.et-fb) .cm-acco-storyblock .cm-acco-description-rule {
  margin: 26px 0 28px;
}

@media (max-width: 980px) {
  body:not(.et-fb) .cm-acco-gallery-main {
    border-radius: 24px 24px 0 0 !important;
  }
  body:not(.et-fb) .cm-acco-gallery-side {
    border-radius: 0 0 24px 24px !important;
  }
  body:not(.et-fb) .cm-acco-storyblock,
  body:not(.et-fb) .cm-story-image-left {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-bottom: 72px;
  }
  body:not(.et-fb) .cm-story-image-left .cm-acco-story-image-wrap {
    order: 2;
  }
  body:not(.et-fb) .cm-story-image-left .cm-acco-story-content {
    order: 1;
  }
  body:not(.et-fb) .cm-acco-story-image-wrap,
  body:not(.et-fb) .cm-acco-story-image-wrap img {
    min-height: 380px;
  }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-gallery-view-all-overlay {
    right: 14px;
    bottom: 14px;
    min-height: 40px;
    padding: 9px 14px;
    font-size: 14px;
  }
  body:not(.et-fb) .cm-acco-storyblocks {
    margin-top: 64px !important;
    margin-bottom: 72px !important;
  }
  body:not(.et-fb) .cm-acco-story-image-wrap,
  body:not(.et-fb) .cm-acco-story-image-wrap img {
    min-height: 290px;
    border-radius: 20px;
  }
  body:not(.et-fb) .cm-acco-reasons-list li {
    grid-template-columns: 30px 1fr;
  }
}


/* =========================================================
   CasaMia v11.3 stable — accommodatiepagina
   ========================================================= */
body:not(.et-fb) .cm-acco-kenmerken,
body:not(.et-fb) .cm-feature-bar,
body:not(.et-fb) .cm-acco-kenmerken-bar,
body:not(.et-fb) .cm-feature-bar-item {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body:not(.et-fb) .cm-feature-bar-item { padding-inline: 12px; }
body:not(.et-fb) .cm-acco-gallery-side-scrolling .cm-acco-gallery-side-track { animation: none !important; will-change: transform; }
body:not(.et-fb) .cm-verhuurobject-type { display: none !important; }
body:not(.et-fb) .cm-verhuurobject-title { --cm-removed-font-size: clamp(19px, 1.45vw, 22px); --cm-removed-line-height: 1.25; margin-bottom: 10px; }
body:not(.et-fb) .cm-object-count-head { margin-bottom: 28px; }
body:not(.et-fb) .cm-object-count-title {
  color: var(--cm-orange);
  --cm-removed-font-family: inherit;
  --cm-removed-font-size: clamp(28px, 3vw, 42px);
  --cm-removed-font-weight: 500;
  --cm-removed-line-height: 1.15;
  --cm-removed-letter-spacing: -.02em;
  --cm-removed-text-transform: none;
  margin: 0;
}
body:not(.et-fb) .cm-carousel-controls { gap: 18px; align-items: center; }
body:not(.et-fb) .cm-carousel-controls button {
  width: auto; min-width: 24px; height: auto; padding: 2px 0;
  border: 0 !important; border-radius: 0 !important; background: transparent !important;
  box-shadow: none !important; color: var(--cm-dark) !important;
  font-size: 42px; font-weight: 300; line-height: .8;
  transition: color .2s ease, transform .2s ease, opacity .2s ease;
}
body:not(.et-fb) .cm-carousel-prev:hover { color: var(--cm-orange) !important; transform: translateX(-3px); }
body:not(.et-fb) .cm-carousel-next:hover { color: var(--cm-orange) !important; transform: translateX(3px); }
body:not(.et-fb) .cm-carousel-controls button:disabled { opacity: .28; }
body:not(.et-fb) .cm-acco-related .cm-uniform-card-title { --cm-removed-font-size: clamp(19px, 1.35vw, 22px); }
body:not(.et-fb) .cm-related-scrolltext { max-height: 112px; overflow-y: auto; padding-right: 8px; scrollbar-width: thin; }
body:not(.et-fb) .cm-related-scrolltext p { margin: 0; }
body:not(.et-fb) .cm-review-card {
  height: 100%; min-height: 300px; padding: 34px; border-radius: 22px;
  background: #fff; box-shadow: 0 14px 38px rgba(55,42,30,.08);
  display: flex; flex-direction: column;
}
body:not(.et-fb) .cm-review-stars { color: var(--cm-orange); letter-spacing: 3px; margin-bottom: 22px; }
body:not(.et-fb) .cm-review-card blockquote { margin: 0 0 28px; --cm-removed-font-size: 18px; --cm-removed-line-height: 1.7; flex: 1; border: 0; padding: 0; }
body:not(.et-fb) .cm-review-card footer { display: grid; gap: 4px; }
body:not(.et-fb) .cm-review-card footer span { opacity: .68; font-size: 14px; }
body:not(.et-fb) .cm-contact-feature {
  position: relative; overflow: hidden; min-height: 430px; border-radius: 30px;
  background: linear-gradient(105deg,#f3ede3 0%,#f8f4ed 57%,#eee4d5 100%);
  display: grid; grid-template-columns: minmax(260px, 38%) 1fr; align-items: stretch;
  box-shadow: 0 18px 55px rgba(70,50,28,.09);
}
body:not(.et-fb) .cm-contact-feature::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(circle at 15% 15%,rgba(255,255,255,.65),transparent 32%), linear-gradient(90deg,transparent 30%,rgba(255,255,255,.15));
}
body:not(.et-fb) .cm-contact-feature-photo {
  min-height: 430px;
  background-image: linear-gradient(to right,rgba(243,237,227,.08),rgba(243,237,227,.1)), url("../images/casamia-contact-team.jpg");
  background-size: cover; background-position: center 38%;
  clip-path: polygon(0 0, 93% 0, 100% 18%, 95% 42%, 100% 67%, 93% 100%, 0 100%);
}
body:not(.et-fb) .cm-contact-feature-content { position: relative; z-index: 1; padding: clamp(44px,6vw,82px); align-self: center; max-width: 760px; }
body:not(.et-fb) .cm-contact-feature-content h2 { margin: 8px 0 18px; }
body:not(.et-fb) .cm-contact-feature-content > p { font-size: 17px; line-height: 1.75; }
body:not(.et-fb) .cm-contact-benefits { list-style: none; padding: 0; margin: 26px 0 30px; display: grid; gap: 10px; }
body:not(.et-fb) .cm-contact-benefits li::before { content: "✓"; color: var(--cm-orange); font-weight: 700; margin-right: 10px; }
@media (max-width: 767px) {
  body:not(.et-fb) .cm-carousel-controls button { font-size: 36px; }
  body:not(.et-fb) .cm-object-count-title { --cm-removed-font-size: 28px; }
  body:not(.et-fb) .cm-contact-feature { grid-template-columns: 1fr; }
  body:not(.et-fb) .cm-contact-feature-photo { min-height: 250px; clip-path: none; background-position: center 32%; }
  body:not(.et-fb) .cm-contact-feature-content { padding: 34px 26px 42px; }
}

.cm-price-year-title{margin:0 0 18px;color:#5b4636;--cm-removed-font-size:clamp(22px,2vw,30px);--cm-removed-line-height:1.25;--cm-removed-font-weight:700;}

/* =========================================================
   CasaMia v12.2.1 — accommodatiebeschrijving compacter
   Alleen [casamia_accommodatie_beschrijving]
   ========================================================= */
body:not(.et-fb) .cm-acco-storyblocks-balanced {
  margin-top: 56px !important;
  margin-bottom: 64px !important;
}
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-storyblock {
  gap: clamp(28px, 4vw, 56px);
  margin-bottom: 48px;
}
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-story-content h2 {
  --cm-removed-font-size: clamp(31px, 3.7vw, 46px);
  --cm-removed-line-height: 1.08;
}
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-eyebrow {
  margin-bottom: 12px;
}
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-story-image-wrap,
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-story-image-wrap img {
  min-height: 390px;
  height: 390px;
}
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-reasons-list {
  margin-top: 22px;
  gap: 11px;
}
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-reasons-list li {
  font-size: clamp(16px, 1.15vw, 18px);
  line-height: 1.42;
}
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-check {
  width: 25px;
  height: 25px;
  font-size: 15px;
}
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-storyblock .cm-acco-description-rule {
  margin: 18px 0 20px;
}
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-balanced-readmore {
  margin-top: 8px;
}
@media (max-width: 980px) {
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-storyblock,
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-story-image-left {
    gap: 24px;
    margin-bottom: 46px;
  }
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-story-image-wrap,
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-story-image-wrap img {
    min-height: 340px;
    height: 340px;
  }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-acco-storyblocks-balanced {
    margin-top: 44px !important;
    margin-bottom: 52px !important;
  }
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-story-content h2 {
    --cm-removed-font-size: clamp(29px, 9vw, 38px);
  }
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-story-image-wrap,
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-story-image-wrap img {
    min-height: 270px;
    height: 270px;
  }
}

/* =========================================================
   CasaMia v12.2.2 — kenmerkeniconen + echte viewport-lightbox
   ========================================================= */
body:not(.et-fb) .cm-feature-bar-icon {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
}
body:not(.et-fb) .cm-feature-svg {
  width: 34px;
  height: 34px;
  display: block;
  overflow: visible;
}

/* De geopende galerij moet boven Divi-secties, sticky inhoud en transforms liggen. */
body:not(.et-fb) .cm-acco-lightbox {
  z-index: 2147483000 !important;
  background: #241f1c !important;
  isolation: isolate;
  transform: none !important;
  opacity: 1 !important;
}
body.cm-lightbox-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}
body.cm-lightbox-open > *:not(.cm-acco-lightbox-portal) {
  pointer-events: none;
}
body:not(.et-fb) .cm-acco-lightbox.cm-acco-lightbox-portal {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  max-width: none !important;
}


/* =========================================================
   CasaMia v12.2.4 — zwevende accommodatiekenmerken in hero
   ========================================================= */
body:not(.et-fb) .cm-acco-hero {
  padding-bottom: 118px;
}
body:not(.et-fb) .cm-acco-hero-content {
  padding-bottom: 72px !important;
}
body:not(.et-fb) .cm-acco-hero-features-wrap {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 28px;
  width: min(1180px, calc(100% - 48px));
  transform: translateX(-50%);
  pointer-events: none;
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar {
  width: 100%;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-inner {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(24px, 4vw, 64px);
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-item {
  flex: 0 1 auto;
  min-width: 92px;
  min-height: 0;
  padding: 0;
  border: 0;
  color: #fff;
  text-shadow: 0 3px 14px rgba(0,0,0,.68);
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin: 0 auto 7px;
  color: #fff;
  font-size: 32px;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,.55));
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-svg {
  width: 34px;
  height: 34px;
  display: block;
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-icon:has(.cm-hero-feature-image) {
  width: 68px;
  height: 54px;
  margin-bottom: 10px;
  overflow: visible;
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-hero-feature-image {
  display: block;
  width: 50px !important;
  height: 50px !important;
  max-width: none !important;
  object-fit: contain;
  opacity: 1;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-hero-feature-svg {
  width: 42px;
  height: 42px;
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-hero-feature-svg .cm-hero-icon-primary {
  stroke: rgba(255,255,255,.98);
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-hero-feature-svg .cm-hero-icon-secondary {
  stroke: rgba(243,240,233,.76);
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-hero-feature-svg .cm-hero-icon-fill {
  fill: rgba(243,240,233,.76);
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-value {
  margin: 0 0 3px;
  color: #fff;
  font-size: 17px;
  line-height: 1.15;
  font-weight: 800;
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-label {
  color: rgba(255,255,255,.92);
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: .09em;
  font-weight: 750;
}
/* Het oude losse kenmerkenblok in de Divi-template niet dubbel tonen. */
body:not(.et-fb) .cm-acco-kenmerken-bar {
  display: none !important;
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-acco-hero-features {
  display: block !important;
}
@media (max-width: 980px) {
  body:not(.et-fb) .cm-acco-hero {
    padding-bottom: 150px;
  }
  body:not(.et-fb) .cm-acco-hero-features-wrap {
    bottom: 24px;
  }
  body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-inner {
    gap: 22px 34px;
  }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-acco-hero {
    min-height: auto;
    padding-bottom: 178px;
  }
  body:not(.et-fb) .cm-acco-hero-content {
    padding-bottom: 48px !important;
  }
  body:not(.et-fb) .cm-acco-hero-features-wrap {
    width: calc(100% - 28px);
    bottom: 20px;
  }
  body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 10px;
  }
  body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-item {
    min-width: 0;
  }
  body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-icon {
    width: 30px;
    height: 30px;
    margin-bottom: 5px;
  }
  body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-svg {
    width: 28px;
    height: 28px;
  }
  body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-value {
    font-size: 14px;
  }
  body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-label {
    font-size: 9px;
  }
}


/* =========================================================
   CasaMia v12.2.7 — kenmerken dichter bij locatie in hero
   ========================================================= */
@media (min-width: 981px) {
  body:not(.et-fb) .cm-acco-hero-features-wrap {
    bottom: 72px;
  }
}
@media (min-width: 641px) and (max-width: 980px) {
  body:not(.et-fb) .cm-acco-hero-features-wrap {
    bottom: 52px;
  }
}


/* v12.4.7 Typography normalization */
.cm-acco-section h2,
.cm-section-head h2,
.cm-acco-description-content h2,
.cm-acco-story-content h2,
.cm-acco-storyblocks-balanced .cm-acco-story-content h2{
  --cm-removed-font-size:42px !important;
  --cm-removed-line-height:1.2 !important;
  --cm-removed-font-weight:700 !important;
}


/* =========================================================
   CasaMia v12.5.1 — locatiekaarten accommodatiepagina
   Definitieve kaartstijl: CasaMia rood en losse pijlen
   ========================================================= */
body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-regio-location-card .cm-verhuurobject-title,
body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-regio-location-card .cm-uniform-card-title {
  color: #990033 !important;
  --cm-removed-font-size: clamp(17px, 1.15vw, 19px) !important;
  --cm-removed-line-height: 1.25 !important;
  --cm-removed-font-weight: 600 !important;
  margin: 0 0 10px !important;
}

body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-regio-location-card .cm-verhuurobject-title a,
body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-regio-location-card .cm-uniform-card-title a {
  color: #990033 !important;
}

body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-regio-location-card .cm-verhuurobject-button,
body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-regio-location-card .cm-uniform-card-button {
  margin-top: auto !important;
  background: #990033 !important;
  border-color: #990033 !important;
  color: #fff !important;
}

body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-regio-location-card .cm-verhuurobject-button:hover,
body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-regio-location-card .cm-uniform-card-button:hover {
  background: #7d0029 !important;
  border-color: #7d0029 !important;
  color: #fff !important;
}

body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-card-carousel-section .cm-carousel-controls {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-bottom: 6px !important;
}

body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-card-carousel-section .cm-carousel-controls button {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #990033 !important;
  font-size: 38px !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-card-carousel-section .cm-carousel-controls button:hover {
  background: transparent !important;
  color: #7d0029 !important;
}

/* =========================================================
   CasaMia v12.5.2 — locaties in regio op accommodatiepagina
   Standaardtitel en één navigatiepijl links/rechts van de kop
   ========================================================= */
body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-acco-location-nav-row {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) 48px !important;
  align-items: start !important;
  column-gap: 24px !important;
  margin-bottom: 28px !important;
}

body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-acco-location-nav-row .cm-regio-section-head {
  min-width: 0 !important;
}

body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-acco-location-nav-row .cm-overview-title {
  margin: 0 0 22px !important;
  color: #3e3128 !important;
  --cm-removed-font-size: 42px !important;
  --cm-removed-line-height: 1.15 !important;
  --cm-removed-font-weight: 700 !important;
}

body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-acco-location-nav-row .cm-regio-section-intro,
body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-acco-location-nav-row .cm-regio-section-intro p {
  margin: 0 !important;
}

body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-acco-location-arrow {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  padding: 0 !important;
  border: 1px solid #990033 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #990033 !important;
  box-shadow: none !important;
  font-size: 38px !important;
  font-weight: 400 !important;
  line-height: 42px !important;
  text-align: center !important;
  cursor: pointer !important;
  margin-top: 2px !important;
}

body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-acco-location-arrow:hover,
body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-acco-location-arrow:focus-visible {
  background: #990033 !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-acco-location-nav-row {
    grid-template-columns: 40px minmax(0, 1fr) 40px !important;
    column-gap: 10px !important;
  }
  body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-acco-location-nav-row .cm-overview-title {
    --cm-removed-font-size: 30px !important;
  }
  body:not(.et-fb) .cm-acco-locaties-regio-v3 .cm-acco-location-arrow {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    font-size: 31px !important;
    line-height: 35px !important;
  }
}

/* =========================================================
   CasaMia v12.5.5 — Andere accommodaties in dezelfde regio
   Herstelde brede kop, pijlen links/rechts en rode knoppen
   ========================================================= */
body:not(.et-fb) .cm-acco-related-accommodations,
body:not(.et-fb) .cm-acco-related-section {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body:not(.et-fb) .cm-acco-related-section {
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body:not(.et-fb) .cm-acco-related-heading {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) 48px !important;
  align-items: start !important;
  column-gap: 24px !important;
  margin: 0 0 30px !important;
}

body:not(.et-fb) .cm-acco-related-heading-text {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:not(.et-fb) .cm-acco-related-heading-text h2 {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #3e3128 !important;
  --cm-removed-font-size: 42px !important;
  --cm-removed-line-height: 1.15 !important;
  --cm-removed-font-weight: 700 !important;
  --cm-removed-letter-spacing: 0 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

body:not(.et-fb) .cm-acco-related-heading-text p {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #333 !important;
  --cm-removed-font-size: 16px !important;
  --cm-removed-line-height: 1.65 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

body:not(.et-fb) .cm-acco-related-arrow {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  padding: 0 !important;
  margin: 2px 0 0 !important;
  border: 1px solid #990033 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #990033 !important;
  box-shadow: none !important;
  font-size: 38px !important;
  font-weight: 400 !important;
  line-height: 42px !important;
  text-align: center !important;
  cursor: pointer !important;
}

body:not(.et-fb) .cm-acco-related-arrow:hover,
body:not(.et-fb) .cm-acco-related-arrow:focus-visible {
  background: #990033 !important;
  color: #fff !important;
}

body:not(.et-fb) .cm-acco-related-card .cm-verhuurobject-title,
body:not(.et-fb) .cm-acco-related-card .cm-uniform-card-title {
  color: #990033 !important;
  --cm-removed-font-size: clamp(17px, 1.15vw, 19px) !important;
  --cm-removed-line-height: 1.25 !important;
  --cm-removed-font-weight: 600 !important;
  margin: 0 0 10px !important;
}

body:not(.et-fb) .cm-acco-related-card .cm-verhuurobject-title a,
body:not(.et-fb) .cm-acco-related-card .cm-uniform-card-title a {
  color: #990033 !important;
}

body:not(.et-fb) .cm-acco-related-card .cm-related-scrolltext {
  max-height: 112px !important;
  overflow-y: auto !important;
  scrollbar-width: thin;
}

body:not(.et-fb) .cm-acco-related-card .cm-verhuurobject-button,
body:not(.et-fb) .cm-acco-related-card .cm-uniform-card-button {
  margin-top: auto !important;
  background: #990033 !important;
  border-color: #990033 !important;
  color: #fff !important;
}

body:not(.et-fb) .cm-acco-related-card .cm-verhuurobject-button:hover,
body:not(.et-fb) .cm-acco-related-card .cm-uniform-card-button:hover {
  background: #7d0029 !important;
  border-color: #7d0029 !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  body:not(.et-fb) .cm-acco-related-heading {
    grid-template-columns: 40px minmax(0, 1fr) 40px !important;
    column-gap: 10px !important;
  }
  body:not(.et-fb) .cm-acco-related-heading-text h2 {
    --cm-removed-font-size: 30px !important;
  }
  body:not(.et-fb) .cm-acco-related-arrow {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    font-size: 31px !important;
    line-height: 35px !important;
  }
}

/* =========================================================
   CasaMia v12.5.6 — Andere accommodaties kop definitief
   Volledige breedte, standaard titel en pijlen links/rechts
   ========================================================= */
body:not(.et-fb) .cm-acco-related-section .cm-acco-related-heading {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: 0 64px !important;
  margin: 0 0 30px !important;
}

body:not(.et-fb) .cm-acco-related-section .cm-acco-related-heading-text {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body:not(.et-fb) .cm-acco-related-section .cm-acco-related-heading-text h2 {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  --cm-removed-font-size: 42px !important;
  --cm-removed-line-height: 1.15 !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body:not(.et-fb) .cm-acco-related-section .cm-acco-related-heading-text p {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body:not(.et-fb) .cm-acco-related-section .cm-acco-related-arrow {
  position: absolute !important;
  top: 2px !important;
  z-index: 3 !important;
}

body:not(.et-fb) .cm-acco-related-section .cm-carousel-prev.cm-acco-related-arrow {
  left: 0 !important;
}

body:not(.et-fb) .cm-acco-related-section .cm-carousel-next.cm-acco-related-arrow {
  right: 0 !important;
}

@media (max-width: 767px) {
  body:not(.et-fb) .cm-acco-related-section .cm-acco-related-heading {
    padding: 0 48px !important;
  }
  body:not(.et-fb) .cm-acco-related-section .cm-acco-related-heading-text h2 {
    --cm-removed-font-size: 30px !important;
  }
}

/* =========================================================
   CasaMia v12.5.16 — blokafstand 20px
   Vermindert de verticale buitenruimte van alle shortcodeblokken.
   ========================================================= */
body:not(.et-fb) .cm-acco-section {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

body:not(.et-fb) .cm-acco-sfeer-gallery {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

/* Geen extra witruimte vanuit de Divi-tekstmodule rond shortcodes. */
body:not(.et-fb) .et_pb_text_inner > .cm-acco-section:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-acco-hero:first-child {
  margin-top: 0 !important;
}
body:not(.et-fb) .et_pb_text_inner > .cm-acco-section:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-acco-hero:last-child {
  margin-bottom: 0 !important;
}

/* =========================================================
   CasaMia v12.5.17 — Divi 5 verticale tussenruimte hoofdsectie
   De accommodatie-shortcodes staan elk in een eigen Divi-rij.
   Daarom moet de gap op de bovenliggende sectie worden begrensd.
   ========================================================= */
body:not(.et-fb) .et_pb_section:has(.cm-acco-hero),
body:not(.et-fb) .et_pb_section:has(.cm-acco-sfeer-gallery) {
  row-gap: 20px !important;
  column-gap: 0 !important;
  gap: 20px 0 !important;
}

body:not(.et-fb) .et_pb_section:has(.cm-acco-hero) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-acco-sfeer-gallery) > .et_pb_row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* =========================================================
   CasaMia v12.5.18 — 20px tussen alle accommodatieblokken
   Geldt voor de volledige Divi-hoofdsectie met alle shortcodes.
   ========================================================= */
body:not(.et-fb) .et_pb_section:has(.cm-acco-hero),
body:not(.et-fb) .et_pb_section:has(.cm-acco-sfeer-gallery),
body:not(.et-fb) .et_pb_section:has(.cm-acco-description),
body:not(.et-fb) .et_pb_section:has(.cm-prijstabel),
body:not(.et-fb) .et_pb_section:has(.cm-acco-verhuurobjecten),
body:not(.et-fb) .et_pb_section:has(.cm-verhuurobjecten),
body:not(.et-fb) .et_pb_section:has(.cm-acco-reviews),
body:not(.et-fb) .et_pb_section:has(.cm-acco-related-section) {
  row-gap: 20px !important;
  column-gap: 0 !important;
  gap: 20px 0 !important;
}

body:not(.et-fb) .et_pb_section:has(.cm-acco-hero) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-acco-sfeer-gallery) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-acco-description) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-prijstabel) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-acco-verhuurobjecten) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-verhuurobjecten) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-acco-reviews) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-acco-related-section) > .et_pb_row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* =========================================================
   CasaMia v12.5.19 — beschrijvingstekst en galerijknop gelijkgetrokken
   ========================================================= */
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-description-text,
body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-description-text p {
  --cm-removed-font-size: 18px !important;
  --cm-removed-line-height: 1.7 !important;
  --cm-removed-font-weight: 400 !important;
}

/* 'Bekijk alle foto's' dezelfde transparante witte knopstijl
   als 'Bekijk verhuurobjecten' in de accommodatiehero. */
body:not(.et-fb) .cm-acco-gallery-main .cm-gallery-view-all-overlay {
  min-height: 48px;
  padding: 13px 24px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff !important;
  box-shadow: none;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  font-weight: 700;
}
body:not(.et-fb) .cm-acco-gallery-main:hover .cm-gallery-view-all-overlay,
body:not(.et-fb) .cm-acco-gallery-main .cm-gallery-view-all-overlay:hover {
  background: #fff;
  color: #3d3028 !important;
  transform: translateY(-1px);
}


/* =========================================================
   CasaMia v12.6.15 — verhuurobjectpagina centraal 20px
   Exact dezelfde bewezen wrapper-aanpak als accommodatie v12.5.18.
   ========================================================= */
body:not(.et-fb) .cm-detail-hero,
body:not(.et-fb) .cm-gallery,
body:not(.et-fb) .cm-detail-kenmerken,
body:not(.et-fb) .cm-detail-kenmerken-bar,
body:not(.et-fb) .cm-detail-beschrijving,
body:not(.et-fb) .cm-prijstabel,
body:not(.et-fb) .cm-prijstabel-v2,
body:not(.et-fb) .cm-prijsoptie2,
body:not(.et-fb) .cm-verhuurobjecten,
body:not(.et-fb) .cm-faciliteiten-v1,
body:not(.et-fb) .cm-object-extra-grid,
body:not(.et-fb) .cm-object-aanbieding,
body:not(.et-fb) .cm-contactblok {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

/* Geen extra buitenruimte vanuit de tekstmodule rondom één shortcode. */
body:not(.et-fb) .et_pb_text_inner > .cm-detail-hero:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-gallery:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-detail-kenmerken:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-detail-kenmerken-bar:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-detail-beschrijving:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-prijstabel:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-prijstabel-v2:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-prijsoptie2:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-verhuurobjecten:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-faciliteiten-v1:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-object-extra-grid:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-object-aanbieding:first-child,
body:not(.et-fb) .et_pb_text_inner > .cm-contactblok:first-child {
  margin-top: 0 !important;
}

body:not(.et-fb) .et_pb_text_inner > .cm-detail-hero:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-gallery:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-detail-kenmerken:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-detail-kenmerken-bar:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-detail-beschrijving:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-prijstabel:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-prijstabel-v2:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-prijsoptie2:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-verhuurobjecten:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-faciliteiten-v1:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-object-extra-grid:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-object-aanbieding:last-child,
body:not(.et-fb) .et_pb_text_inner > .cm-contactblok:last-child {
  margin-bottom: 0 !important;
}

/* De volledige Divi-hoofdsectie met objectshortcodes: centrale gap van 20px. */
body:not(.et-fb) .et_pb_section:has(.cm-detail-hero),
body:not(.et-fb) .et_pb_section:has(.cm-gallery),
body:not(.et-fb) .et_pb_section:has(.cm-detail-kenmerken),
body:not(.et-fb) .et_pb_section:has(.cm-detail-kenmerken-bar),
body:not(.et-fb) .et_pb_section:has(.cm-detail-beschrijving),
body:not(.et-fb) .et_pb_section:has(.cm-prijstabel),
body:not(.et-fb) .et_pb_section:has(.cm-prijstabel-v2),
body:not(.et-fb) .et_pb_section:has(.cm-prijsoptie2),
body:not(.et-fb) .et_pb_section:has(.cm-verhuurobjecten),
body:not(.et-fb) .et_pb_section:has(.cm-faciliteiten-v1),
body:not(.et-fb) .et_pb_section:has(.cm-object-extra-grid),
body:not(.et-fb) .et_pb_section:has(.cm-object-aanbieding),
body:not(.et-fb) .et_pb_section:has(.cm-contactblok) {
  row-gap: 20px !important;
  column-gap: 0 !important;
  gap: 20px 0 !important;
}

body:not(.et-fb) .et_pb_section:has(.cm-detail-hero) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-gallery) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-detail-kenmerken) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-detail-kenmerken-bar) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-detail-beschrijving) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-prijstabel) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-prijstabel-v2) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-prijsoptie2) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-verhuurobjecten) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-faciliteiten-v1) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-object-extra-grid) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-object-aanbieding) > .et_pb_row,
body:not(.et-fb) .et_pb_section:has(.cm-contactblok) > .et_pb_row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* CasaMia v12.6.16: object extra-info in de rustige opmaak van de prijsblokken */
.cm-object-extra-info {
  margin: 20px 0 !important;
  width: 100% !important;
}

.cm-object-extra-info .cm-object-extra-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
}

.cm-object-extra-info .cm-object-extra-card {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid #ead9d2 !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 12px rgba(62,49,40,.05) !important;
}

.cm-object-extra-info .cm-object-extra-card::before {
  display: none !important;
  content: none !important;
}

.cm-object-extra-info .cm-object-extra-head {
  display: block !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  background: #f3eee4 !important;
  border-bottom: 1px solid #ead9d2 !important;
}

.cm-object-extra-info .cm-object-extra-head h3 {
  margin: 0 !important;
  color: #990033 !important;
  --cm-removed-font-size: 17px !important;
  --cm-removed-line-height: 1.25 !important;
  --cm-removed-font-weight: 700 !important;
}

.cm-object-extra-info .cm-object-extra-icon {
  display: none !important;
}

.cm-object-extra-info .cm-object-extra-content {
  padding: 16px 18px 18px !important;
  color: #3f382f !important;
  --cm-removed-font-size: 15px !important;
  --cm-removed-line-height: 1.55 !important;
}

.cm-object-extra-info .cm-object-extra-content p {
  margin: 0 0 6px !important;
}

.cm-object-extra-info .cm-object-extra-content ul,
.cm-object-extra-info .cm-object-extra-content ol {
  margin: 0 !important;
  padding-left: 1.2em !important;
}

.cm-object-extra-info .cm-object-extra-content li {
  margin: 0 0 4px !important;
}

@media (max-width: 700px) {
  .cm-object-extra-info .cm-object-extra-head {
    padding: 12px 14px !important;
  }
  .cm-object-extra-info .cm-object-extra-content {
    padding: 14px !important;
    --cm-removed-font-size: 14px !important;
  }
}


/* =========================================================
   CasaMia v12.6.27 — stabiele verhuurobject-lightbox
   ========================================================= */
body:not(.et-fb) .cm-lightbox {
  background: #111 !important;
  isolation: isolate;
  transform: none !important;
  opacity: 1 !important;
  overscroll-behavior: contain;
}
body:not(.et-fb) .cm-lightbox.cm-lightbox-portal {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  max-width: none !important;
  z-index: 2147483000 !important;
}
body.cm-lightbox-open > *:not(.cm-lightbox-portal):not(.cm-acco-lightbox-portal) {
  pointer-events: none;
}
body.cm-lightbox-open .cm-lightbox-portal,
body.cm-lightbox-open .cm-acco-lightbox-portal {
  pointer-events: auto;
}


/* =========================================================
   CasaMia v12.6.28 — iPad 13 inch / tussenbreedte beschrijving
   Houdt de desktopindeling en Lees meer actief op brede tablets.
   ========================================================= */
@media (min-width: 821px) and (max-width: 1180px) {
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-storyblock,
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-story-image-left {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: clamp(28px, 4vw, 44px) !important;
  }
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-story-image-left .cm-acco-story-image-wrap,
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-story-image-left .cm-acco-story-content {
    order: initial !important;
  }
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-story-image-wrap,
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-story-image-wrap img {
    min-height: 340px !important;
    height: 340px !important;
  }
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-story-content h2 {
    --cm-removed-font-size: clamp(32px, 3.5vw, 42px) !important;
  }
}

@media (max-width: 820px) {
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-acco-storyblock,
  body:not(.et-fb) .cm-acco-storyblocks-balanced .cm-story-image-left {
    grid-template-columns: 1fr !important;
  }
}

/* CasaMia v12.6.31 — navigatie onderaan verhuurobjectpagina */
.cm-nextstay-v34 .cm-nextstay-bottom {
  gap: 14px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.cm-nextstay-v34 .cm-nextstay-home {
  margin-left: auto;
}

@media (max-width: 780px) {
  .cm-nextstay-v34 .cm-nextstay-bottom {
    flex-direction: column;
    gap: 10px;
  }

  .cm-nextstay-v34 .cm-nextstay-home {
    margin-left: 0;
  }
}

/* =========================================================
   CasaMia v12.6.32 — los verplaatsbaar navigatieblok
   Shortcode: [casamia_navigatie]
   ========================================================= */
.cm-page-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
  margin: 18px auto;
  text-align: center;
}

.cm-page-navigation__link {
  color: #990033;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  text-decoration: none;
  transition: opacity .2s ease;
}

.cm-page-navigation__link:hover,
.cm-page-navigation__link:focus {
  color: #990033;
  opacity: .7;
}

.cm-page-navigation__separator {
  color: #b9a99f;
  font-weight: 400;
}

@media (max-width: 640px) {
  .cm-page-navigation {
    gap: 8px 10px;
  }

  .cm-page-navigation__link {
    font-size: 14px;
  }
}


/* CasaMia v12.6.34 — verhuurobjecthero op basis van accommodatiehero */
body:not(.et-fb) .cm-object-hero {
  min-height: 560px !important;
  margin-bottom: 28px;
}
body:not(.et-fb) .cm-object-hero .cm-acco-hero-overlay {
  background: linear-gradient(90deg, rgba(22,18,15,.70) 0%, rgba(22,18,15,.42) 46%, rgba(22,18,15,.10) 100%) !important;
}
body:not(.et-fb) .cm-object-hero .cm-acco-hero-content {
  padding-top: 68px;
  padding-bottom: 150px;
}
body:not(.et-fb) .cm-object-hero-accommodation {
  margin: -4px 0 14px;
  color: #f1c48f;
  --cm-removed-font-family: Georgia, "Times New Roman", serif;
  --cm-removed-font-size: clamp(20px, 2vw, 28px);
  --cm-removed-line-height: 1.2;
  --cm-removed-font-weight: 700;
}
body:not(.et-fb) .cm-object-hero-intro {
  max-width: 640px;
}
body:not(.et-fb) .cm-object-hero-features-wrap {
  bottom: 0;
}

/* De objectgalerij is nu een pure fotocarrousel: geen tekst en geen donkere laag. */
body:not(.et-fb) .cm-gallery-luxe .cm-gallery-main-overlay,
body:not(.et-fb) .cm-gallery-luxe .cm-gallery-main-content {
  display: none !important;
}
body:not(.et-fb) .cm-gallery-luxe .cm-gallery-main-img {
  filter: none !important;
}

@media (max-width: 980px) {
  body:not(.et-fb) .cm-object-hero {
    min-height: 600px !important;
  }
  body:not(.et-fb) .cm-object-hero .cm-acco-hero-content {
    padding-top: 56px;
    padding-bottom: 190px;
  }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-object-hero {
    min-height: 660px !important;
  }
  body:not(.et-fb) .cm-object-hero .cm-acco-hero-content {
    padding-top: 44px;
    padding-bottom: 245px;
  }
  body:not(.et-fb) .cm-object-hero-accommodation {
    --cm-removed-font-size: 20px;
  }
}


/* CasaMia v12.6.36 — hero object verfijnd */
body:not(.et-fb) .cm-object-hero-features-wrap {
  bottom: 28px !important;
}
body:not(.et-fb) .cm-object-hero .cm-acco-hero-content {
  padding-bottom: 178px !important;
}
body:not(.et-fb) #casamia-verhuurobjecten {
  scroll-margin-top: 110px;
}
@media (max-width: 980px) {
  body:not(.et-fb) .cm-object-hero-features-wrap { bottom: 22px !important; }
  body:not(.et-fb) .cm-object-hero .cm-acco-hero-content { padding-bottom: 210px !important; }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-object-hero-features-wrap { bottom: 18px !important; }
  body:not(.et-fb) .cm-object-hero .cm-acco-hero-content { padding-bottom: 265px !important; }
}


/* CasaMia v12.6.37 — verhuurobjecthero lager / ruimer */
body:not(.et-fb) .cm-object-hero {
  min-height: 660px !important;
}
body:not(.et-fb) .cm-object-hero .cm-acco-hero-content {
  padding-top: 82px !important;
  padding-bottom: 205px !important;
}
body:not(.et-fb) .cm-object-hero-features-wrap {
  bottom: 30px !important;
}
@media (max-width: 980px) {
  body:not(.et-fb) .cm-object-hero { min-height: 680px !important; }
  body:not(.et-fb) .cm-object-hero .cm-acco-hero-content {
    padding-top: 62px !important;
    padding-bottom: 220px !important;
  }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-object-hero { min-height: 700px !important; }
  body:not(.et-fb) .cm-object-hero .cm-acco-hero-content {
    padding-top: 46px !important;
    padding-bottom: 275px !important;
  }
}


/* =========================================================
   CasaMia v12.6.38 — verhuurobjecthero daadwerkelijk lager
   Vaste desktophoogte voorkomt dat oudere min-height-regels
   de aanpassing onzichtbaar maken.
   ========================================================= */
@media (min-width: 981px) {
  body:not(.et-fb) .cm-object-hero {
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
    padding-bottom: 0 !important;
  }
  body:not(.et-fb) .cm-object-hero .cm-acco-hero-inner {
    align-self: stretch !important;
    display: flex !important;
    align-items: flex-start !important;
  }
  body:not(.et-fb) .cm-object-hero .cm-acco-hero-content {
    padding-top: 48px !important;
    padding-bottom: 150px !important;
  }
  body:not(.et-fb) .cm-object-hero-features-wrap {
    bottom: 24px !important;
  }
}


/* CasaMia v12.6.42 — vaste standaard voor object-sectietitels */
.cm-detail-objectnaam,
.cm-object-extra-card h3.cm-object-section-title {
  color: #A00036 !important;
  --cm-removed-font-size: 20px !important;
  --cm-removed-line-height: 1.2 !important;
  --cm-removed-font-weight: 800 !important;
}

.cm-detail-objectnaam {
  margin: 0 0 14px !important;
}

/* =========================================================
   CasaMia v12.7.9 — verhuurobjecthero direct onder globale header
   De globale header was al gelijk. De afwijking kwam van standaard
   Divi-padding/marges op de body-sectie rond [casamia_verhuurobject_hero].
   Alleen de wrappers die daadwerkelijk de objecthero bevatten worden gereset.
   ========================================================= */
@supports selector(.et_pb_section:has(.cm-object-hero)) {
  :is(body.single-verhuurobject, body.single-verhuurobjecten):not(.et-fb) #main-content :is(
    .et_pb_section,
    .et_pb_row,
    .et_pb_column,
    .et_pb_module,
    .et_pb_module_inner,
    .et_pb_code_inner,
    .et_pb_text_inner
  ):has(.cm-object-hero) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
  }

}

:is(body.single-verhuurobject, body.single-verhuurobjecten):not(.et-fb) #main-content .cm-object-hero {
  margin-top: 0 !important;
}

/* =========================================================
   CasaMia v12.7.11 — verhuurobjectgalerij exact gelijk aan prijsblok
   De Divi-rij houdt weer zijn normale contentbreedte. De hero breekt zelf
   schermbreed uit; de galerij vult de normale rij en lijnt daardoor exact
   uit met het huurprijzenblok en de overige objectinhoud.
   ========================================================= */
:is(body.single-verhuurobject, body.single-verhuurobjecten):not(.et-fb) #main-content .cm-gallery-luxe {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 22px 0 34px !important;
}

@media (max-width: 640px) {
  :is(body.single-verhuurobject, body.single-verhuurobjecten):not(.et-fb) #main-content .cm-gallery-luxe {
    width: 100% !important;
    margin-top: 16px !important;
    margin-bottom: 26px !important;
  }
}



/* CasaMia v12.7.21 — regiobeschrijving vaste hoogte en bewerkbare koppen */
@media (min-width: 981px) {
  body .cm-regio-intro-carousel-layout {
    --cm-regio-intro-height: 460px;
    align-items: stretch !important;
  }

  body .cm-regio-intro-carousel-layout .cm-regio-copy,
  body .cm-regio-intro-carousel-layout .cm-regio-slow-carousel {
    height: var(--cm-regio-intro-height) !important;
    min-height: var(--cm-regio-intro-height) !important;
    max-height: var(--cm-regio-intro-height) !important;
  }

  body .cm-regio-intro-carousel-layout .cm-regio-copy {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
    overflow: hidden;
  }

  body .cm-regio-intro-carousel-layout .cm-regio-copy > .cm-eyebrow,
  body .cm-regio-intro-carousel-layout .cm-regio-copy > h2 {
    flex: 0 0 auto;
  }

  body .cm-regio-intro-carousel-layout .cm-regio-text {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 16px;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #990033 #f3ece4;
  }

  body .cm-regio-intro-carousel-layout .cm-regio-text::-webkit-scrollbar {
    width: 8px;
  }

  body .cm-regio-intro-carousel-layout .cm-regio-text::-webkit-scrollbar-track {
    background: #f3ece4;
    border-radius: 999px;
  }

  body .cm-regio-intro-carousel-layout .cm-regio-text::-webkit-scrollbar-thumb {
    background: #990033;
    border-radius: 999px;
  }
}

body .cm-regio-intro-carousel-layout--copy-only,
body .cm-regio-intro-carousel-layout--image-only {
  grid-template-columns: minmax(0, 1fr) !important;
}

body .cm-regio-intro-carousel-layout--image-only .cm-regio-slow-carousel {
  width: min(760px, 100%);
  margin: 0 auto;
}

@media (max-width: 980px) {
  body .cm-regio-intro-carousel-layout .cm-regio-copy {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body .cm-regio-intro-carousel-layout .cm-regio-text {
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0;
  }

  body .cm-regio-intro-carousel-layout .cm-regio-slow-carousel {
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
  }
}

@media (max-width: 640px) {
  body .cm-regio-intro-carousel-layout .cm-regio-slow-carousel {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }
}

body:not(.et-fb) .cm-acco-hero-features-wrap .cm-hero-feature-image {
  width: 54px;
  height: 54px;
  display: block;
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.18));
}
@media (max-width: 767px) {
  body:not(.et-fb) .cm-acco-hero-features-wrap .cm-hero-feature-image {
    width: 46px;
    height: 46px;
  }
}


/* v12.7.37 – laatste fijnafstelling hero-iconen: rustige sans-serif labels */
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-icon:has(.cm-hero-feature-image) {
  width: 58px;
  height: 50px;
  margin-bottom: 8px;
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-hero-feature-image {
  width: 48px !important;
  height: 48px !important;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.28));
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-value {
  margin: 0 0 2px;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0;
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-label {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: .03em;
}


/* v12.7.38 – hero-iconen: één vast veilig beeldvlak, niets afsnijden */
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-feature-bar-icon:has(.cm-hero-feature-image) {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  margin: 0 auto 6px !important;
  padding: 0 !important;
  overflow: visible !important;
  line-height: 1 !important;
}
body:not(.et-fb) .cm-acco-hero-features-wrap .cm-hero-feature-image {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
  margin: auto !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  overflow: visible !important;
}


/* =========================================================
   CasaMia v12.7.43 — verhuurobjecthero gebruikt eigen CasaMia-icoonset
   Vier vaste iconen als losse SVG-bestanden in assets/icons/object-hero/
   ========================================================= */
body:not(.et-fb) .cm-object-hero-features .cm-feature-bar-icon {
  width: 68px;
  height: 54px;
  margin-bottom: 10px;
  overflow: visible;
}
body:not(.et-fb) .cm-object-hero-features .cm-object-hero-feature-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/* =========================================================
   CasaMia v12.7.45 — negen automatische objecttype-iconen
   Appartement, villa, kamer, studio, suite, bungalow,
   chalet, mobilhome en glamping.
   ========================================================= */
body:not(.et-fb) .cm-object-hero-features .cm-feature-bar-icon:has(.cm-object-hero-type-image) {
  width: 72px;
  height: 54px;
  min-width: 72px;
  min-height: 54px;
  margin-bottom: 10px;
  overflow: visible;
}
body:not(.et-fb) .cm-object-hero-features .cm-object-hero-type-image {
  display: block;
  width: 72px;
  height: 54px;
  max-width: 72px;
  max-height: 54px;
  object-fit: contain;
  object-position: center center;
}
body:not(.et-fb) .cm-object-hero-features .cm-object-hero-type-image {
  opacity: 0.92;
}

/* =========================================================
   CasaMia v12.7.48 — complete locatie-detailpagina
   ========================================================= */
body:not(.et-fb) .cm-locatie-page {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  color: var(--cm-dark, #3e3128);
  background: #fff;
  overflow: hidden;
}
body:not(.et-fb) .cm-locatie-hero {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center;
  background-color: #4b443d;
  color: #fff;
}
body:not(.et-fb) .cm-locatie-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(20,18,16,.78) 0%, rgba(20,18,16,.50) 48%, rgba(20,18,16,.14) 100%);
}
body:not(.et-fb) .cm-locatie-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 92px 0 72px;
}
body:not(.et-fb) .cm-locatie-hero__copy { max-width: 680px; }
body:not(.et-fb) .cm-locatie-hero__eyebrow,
body:not(.et-fb) .cm-locatie-eyebrow {
  margin: 0 0 12px;
  color: #d6b36a;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body:not(.et-fb) .cm-locatie-hero h1 {
  margin: 0 0 16px;
  color: #fff;
}
body:not(.et-fb) .cm-locatie-hero__subtitle {
  margin: 0 0 14px;
  font-size: 22px;
  font-weight: 650;
}
body:not(.et-fb) .cm-locatie-hero__intro {
  max-width: 640px;
  font-size: 18px;
  line-height: 1.6;
}
body:not(.et-fb) .cm-locatie-hero__intro p { margin: 0; }
body:not(.et-fb) .cm-locatie-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 28px;
}
body:not(.et-fb) .cm-locatie-main { background: #fff; }
body:not(.et-fb) .cm-locatie-section.cm-locatie-storyblocks {
  width: min(964px, calc(100% - 48px));
}
body:not(.et-fb) .cm-locatie-section {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 76px 0;
}
body:not(.et-fb) .cm-locatie-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
  gap: 64px;
  align-items: stretch;
}
body:not(.et-fb) .cm-locatie-intro__grid.is-text-only { grid-template-columns: 1fr; }
body:not(.et-fb) .cm-locatie-intro__copy {
  padding: 28px 0;
  align-self: center;
}
body:not(.et-fb) .cm-locatie-intro h2,
body:not(.et-fb) .cm-locatie-section__heading h2 { margin: 0 0 22px; color: #990033; }
body:not(.et-fb) .cm-locatie-richtext {
  max-height: 390px;
  overflow: auto;
  padding-right: 14px;
  font-size: 17px;
  line-height: 1.75;
}
body:not(.et-fb) .cm-locatie-richtext > *:first-child { margin-top: 0; }
body:not(.et-fb) .cm-locatie-intro__image {
  min-height: 460px;
  border-radius: 24px;
  overflow: hidden;
  background: #f4efe8;
}
body:not(.et-fb) .cm-locatie-intro__image img {
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
  display: block;
}
body:not(.et-fb) .cm-locatie-accommodaties,
body:not(.et-fb) .cm-locatie-other {
  padding-top: 76px;
  padding-bottom: 76px;
}
body:not(.et-fb) .cm-locatie-accommodaties {
  width: min(1280px, calc(100% - 48px));
  padding-left: 50px;
  padding-right: 50px;
  border-radius: 28px;
  background: #f8f4ee;
}
body:not(.et-fb) .cm-locatie-map-section {
  display: grid;
  grid-template-columns: minmax(270px, .42fr) minmax(0, 1fr);
  gap: 52px;
  align-items: center;
}
body:not(.et-fb) .cm-locatie-section__heading p:last-child {
  margin-bottom: 0;
  font-size: 17px;
  line-height: 1.65;
}
body:not(.et-fb) .cm-locatie-map {
  width: 100%;
  height: 480px;
  border-radius: 24px;
  overflow: hidden;
  background: #f4efe8;
  box-shadow: 0 18px 44px rgba(62,49,40,.10);
}
body:not(.et-fb) .cm-locatie-other { border-top: 1px solid rgba(90,72,58,.12); }
body:not(.et-fb) .cm-locatie-page .cm-contactblok { margin-top: 20px; }

@media (max-width: 980px) {
  body:not(.et-fb) .cm-locatie-hero { min-height: 470px; }
  body:not(.et-fb) .cm-locatie-intro__grid,
  body:not(.et-fb) .cm-locatie-map-section { grid-template-columns: 1fr; gap: 34px; }
  body:not(.et-fb) .cm-locatie-intro__image,
  body:not(.et-fb) .cm-locatie-intro__image img { min-height: 380px; }
  body:not(.et-fb) .cm-locatie-richtext { max-height: none; overflow: visible; }
  body:not(.et-fb) .cm-locatie-accommodaties { padding-left: 28px; padding-right: 28px; }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-locatie-hero { min-height: 520px; }
  body:not(.et-fb) .cm-locatie-hero__inner,
  body:not(.et-fb) .cm-locatie-section { width: calc(100% - 28px); }
  body:not(.et-fb) .cm-locatie-hero__inner { padding: 80px 0 54px; }
  body:not(.et-fb) .cm-locatie-hero__actions { flex-direction: column; align-items: stretch; }
  body:not(.et-fb) .cm-locatie-hero__actions .cm-button { width: 100%; text-align: center; }
  body:not(.et-fb) .cm-locatie-section { padding: 54px 0; }
  body:not(.et-fb) .cm-locatie-intro__image,
  body:not(.et-fb) .cm-locatie-intro__image img { min-height: 290px; }
  body:not(.et-fb) .cm-locatie-map { height: 380px; }
  body:not(.et-fb) .cm-locatie-accommodaties { width: calc(100% - 20px); padding-left: 14px; padding-right: 14px; border-radius: 20px; }
}
body:not(.et-fb) .cm-locatie-accommodaties { box-sizing: border-box; }


/* =========================================================
   CasaMia v12.7.49 — losse locatieblokken voor Divi
   Iedere shortcode kan als eigen Divi-rij worden verplaatst.
   ========================================================= */
:is(body.single-locatie, body.single-locaties):not(.et-fb) {
  overflow-x: clip;
}

body:not(.et-fb) .cm-locatie-standalone {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: #fff;
  color: var(--cm-dark, #3e3128);
  overflow: hidden;
}
body:not(.et-fb) .cm-locatie-standalone--hero {
  background: #4b443d;
}
body:not(.et-fb) .cm-locatie-standalone--contact .cm-contactblok {
  margin-top: 20px;
}
body:not(.et-fb) .cm-locatie-standalone .cm-locatie-section {
  box-sizing: border-box;
}


/* =========================================================
   CasaMia v12.7.54 — locatiehero direct onder sticky header
   Alleen de Divi-wrappers rond [casamia_locatie_hero] verliezen
   hun standaard bovenruimte. De globale sticky header blijft intact.
   ========================================================= */
@supports selector(.et_pb_section:has(.cm-locatie-standalone--hero)) {
  :is(body.single-locatie, body.single-locaties):not(.et-fb) #main-content
  .et_pb_section:has(.cm-locatie-standalone--hero) {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  :is(body.single-locatie, body.single-locaties):not(.et-fb) #main-content :is(
    .et_pb_row,
    .et_pb_column,
    .et_pb_module,
    .et_pb_module_inner,
    .et_pb_code_inner,
    .et_pb_text_inner
  ):has(.cm-locatie-standalone--hero) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
  }
}

:is(body.single-locatie, body.single-locaties):not(.et-fb) #main-content
.cm-locatie-standalone--hero,
:is(body.single-locatie, body.single-locaties):not(.et-fb) #main-content
.cm-locatie-hero {
  margin-top: 0 !important;
}

/* =========================================================
   CasaMia v12.7.65 — Kaart zonder prijzen en plaatsen
   Alleen CasaMia-accommodaties, sitebreed bij uitzoomen.
   ========================================================= */
body:not(.et-fb) .cm-regio-map-v1 .cm-regio-section-head {
  max-width: 860px;
  margin-bottom: 24px;
}
body:not(.et-fb) .cm-regio-map-v1 .cm-regio-section-head > p:last-child {
  max-width: 780px;
  margin-bottom: 0;
}
body:not(.et-fb) .cm-map-v1-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 16px;
}
body:not(.et-fb) .cm-map-v1-toggle,
body:not(.et-fb) .cm-map-v1-reset {
  appearance: none;
  min-height: 42px;
  padding: 9px 15px;
  border-radius: 999px;
  border: 1px solid rgba(153,0,51,.24);
  background: #fff;
  color: #5b4b41;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
body:not(.et-fb) .cm-map-v1-toggle:hover,
body:not(.et-fb) .cm-map-v1-reset:hover { transform: translateY(-1px); }
body:not(.et-fb) .cm-map-v1-toggle.is-active {
  background: #990033;
  border-color: #990033;
  color: #fff;
}
body:not(.et-fb) .cm-map-v1-toggle strong {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  margin-left: 6px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.2);
  font-size: 12px;
}
body:not(.et-fb) .cm-map-v1-toggle:not(.is-active) strong { background: #f5ecef; color: #990033; }
body:not(.et-fb) .cm-map-v1-toggle-icon { margin-right: 5px; font-size: 10px; }
body:not(.et-fb) .cm-map-v1-reset { margin-left: auto; color: #990033; }

body:not(.et-fb) .cm-map-v1-shell {
  grid-template-columns: minmax(0, 1fr) 320px !important;
}
body:not(.et-fb) .cm-map-v1-list {
  padding: 0 !important;
}
body:not(.et-fb) .cm-map-v1-list-head {
  position: sticky;
  z-index: 2;
  top: 0;
  padding: 24px 22px 18px;
  background: #fff;
  border-bottom: 1px solid rgba(62,49,40,.10);
}
body:not(.et-fb) .cm-map-v1-list-head h3 { margin: 0 0 4px !important; color: #990033; }
body:not(.et-fb) .cm-map-v1-list-head p { margin: 0; color: #7a6a60; font-size: 13px; }
body:not(.et-fb) .cm-map-v1-list-item {
  width: 100%;
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 15px 20px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(62,49,40,.08) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #3e3128 !important;
  text-align: left;
  cursor: pointer;
  font: inherit;
  box-shadow: none !important;
}
body:not(.et-fb) .cm-map-v1-list-item:hover { background: #fbf6f2 !important; }
body:not(.et-fb) .cm-map-v1-list-pin {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #990033;
  color: #fff;
  font-size: 18px;
}
body:not(.et-fb) .cm-map-v1-list-copy { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
body:not(.et-fb) .cm-map-v1-list-copy strong { color: #3e3128; font-size: 15px; line-height: 1.25; }
body:not(.et-fb) .cm-map-v1-list-copy small { color: #7a6a60; font-size: 12px; line-height: 1.35; }
body:not(.et-fb) .cm-map-v1-list-note {
  margin: 0;
  padding: 18px 20px 22px;
  color: #75665d;
  font-size: 12px;
  line-height: 1.5;
  background: #fbf8f4;
}

/* Leaflet divIcon-wrappers hebben bewust geen standaard wit vlak. */
body .cm-map-marker-wrap,
body .cm-map-cluster-wrap {
  background: transparent !important;
  border: 0 !important;
}
body .cm-map-marker-wrap.is-secondary-region { opacity: 1; }
body .cm-map-marker-wrap.is-secondary-region:hover { opacity: 1; }
body .cm-map-accommodation-marker {
  position: relative;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50% 50% 50% 10px;
  transform: rotate(-45deg);
  background: #990033;
  border: 3px solid #fff;
  box-shadow: 0 8px 22px rgba(42,24,20,.28);
}
body .cm-map-marker-wrap.is-secondary-region .cm-map-accommodation-marker { background: #990033; }
body .cm-map-accommodation-marker__icon {
  transform: rotate(45deg);
  color: #fff;
  font-size: 22px;
  line-height: 1;
}

body .cm-map-cluster {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #990033;
  border: 3px solid #fff;
  color: #fff;
  box-shadow: 0 7px 20px rgba(42,24,20,.28);
}
body .cm-map-cluster span { font-size: 13px; font-weight: 900; }

body .cm-map-popup { width: 270px; max-width: 270px; }
body .cm-map-popup__image {
  width: 100% !important;
  height: 132px !important;
  margin: 0 !important;
  border-radius: 10px 10px 0 0 !important;
  object-fit: cover;
  display: block;
}
body .cm-map-popup__body { padding: 13px 14px 14px; }
body .cm-map-popup__meta {
  margin-bottom: 5px;
  color: #8a776a;
  font-size: 11px;
  font-weight: 700;
}
body .cm-map-popup__title {
  display: block;
  margin: 0 0 7px !important;
  color: #990033 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px !important;
  line-height: 1.2;
}

body .cm-map-popup__text {
  margin: 0 0 11px !important;
  color: #5f5149;
  font-size: 12px;
  line-height: 1.48 !important;
}
body .cm-map-popup__button {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #990033;
  color: #fff !important;
  font-size: 12px;
  font-weight: 850 !important;
  text-decoration: none !important;
}
body .leaflet-popup-content-wrapper { padding: 0; overflow: hidden; border-radius: 13px; }
body .leaflet-popup-content { width: auto !important; margin: 0 !important; }
body .leaflet-popup-tip { background: #fff; }

@media (max-width: 980px) {
  body:not(.et-fb) .cm-map-v1-shell { grid-template-columns: 1fr !important; }
  body:not(.et-fb) .cm-map-v1-list { max-height: 330px !important; border-left: 0 !important; border-top: 1px solid rgba(62,49,40,.12) !important; }
}
@media (max-width: 640px) {
  body:not(.et-fb) .cm-map-v1-toolbar { gap: 8px; }
  body:not(.et-fb) .cm-map-v1-toggle,
  body:not(.et-fb) .cm-map-v1-reset { flex: 1 1 auto; justify-content: center; margin-left: 0; font-size: 12px; padding-left: 10px; padding-right: 10px; }
  body:not(.et-fb) .cm-map-v1-reset { flex-basis: 100%; }
  body .cm-map-popup { width: 238px; max-width: 238px; }
  body .cm-map-popup__image { height: 116px !important; }
}


/* =========================================================
   CasaMia v12.7.91-R28W — verhuurobjecthero telefoon + kleine tablet
   - Objectkenmerken onder de hero op telefoon en tablet staand/smal,
     gelijk aan de accommodatiepagina.
   - Overlay-kenmerken blijven intact vanaf 981px (kleine tablet
     horizontaal, grotere tablet en desktop).
   - Mobiele objecthero is compacter omdat onderin geen ruimte meer
     hoeft te worden gereserveerd voor de kenmerken.
   ========================================================= */
@media (max-width: 980px) {
  body:not(.et-fb) .cm-object-hero.cm-acco-hero {
    height: auto !important;
    min-height: 520px !important;
    max-height: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  body:not(.et-fb) .cm-object-hero.cm-acco-hero .cm-acco-hero-inner {
    align-self: auto !important;
  }

  body:not(.et-fb) .cm-object-hero.cm-acco-hero .cm-acco-hero-content {
    padding-top: 48px !important;
    padding-bottom: 44px !important;
  }

  body:not(.et-fb) .cm-object-mobile-tiles-wrap.cm-acco-mobile-tiles-wrap {
    display: block !important;
  }

  body:not(.et-fb) .cm-object-mobile-feature-bar.cm-acco-mobile-feature-bar .cm-feature-bar-icon {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 auto 7px !important;
    color: #990033 !important;
    overflow: visible !important;
  }

  body:not(.et-fb) .cm-object-mobile-feature-bar.cm-acco-mobile-feature-bar .cm-object-hero-feature-image {
    display: block !important;
    width: 38px !important;
    height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    margin: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    opacity: 1 !important;
    filter: none !important;
  }

  body:not(.et-fb) .cm-object-mobile-feature-bar.cm-acco-mobile-feature-bar .cm-object-hero-type-image {
    width: 46px !important;
    height: 38px !important;
    max-width: 46px !important;
    max-height: 38px !important;
  }

  body:not(.et-fb) .cm-object-mobile-feature-bar.cm-acco-mobile-feature-bar .cm-feature-bar-value {
    color: #3e3128 !important;
  }

  body:not(.et-fb) .cm-object-mobile-feature-bar.cm-acco-mobile-feature-bar .cm-feature-bar-label {
    color: #74665c !important;
  }
}

@media (max-width: 767px) {
  body:not(.et-fb) .cm-object-hero.cm-acco-hero {
    min-height: 500px !important;
  }

  body:not(.et-fb) .cm-object-hero.cm-acco-hero .cm-acco-hero-content {
    padding-top: 34px !important;
    padding-bottom: 30px !important;
  }
}


/* =========================================================
   CasaMia v12.7.91-R28Y — objecticonen exact CasaMia-rood
   Basis: R28W. De kenmerken-carrousel is bewust NIET gewijzigd.
   Telefoon + smalle tablet krijgen echte #990033 PNG-iconen;
   desktop/horizontale tablet behouden de bestaande witte iconen.
   ========================================================= */
body:not(.et-fb) .cm-object-hero-feature-picture {
  display: contents;
}
@media (max-width: 980px) {
  body:not(.et-fb) .cm-object-mobile-feature-bar .cm-object-hero-feature-image {
    filter: none !important;
  }
}

/* R28BQ: herkenbare teruglink naar de accommodatie in de objecthero. */
body:not(.et-fb) .cm-object-hero .cm-object-hero-accommodation a {
  color: inherit;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.3;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
}
body:not(.et-fb) .cm-object-hero .cm-object-hero-accommodation a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

/* R28CD: compacte regioknoppen naast elkaar, uitsluitend op telefoon. */
.cm-regio-hero .cm-regio-btn-label-phone {
  display: none;
}
@media (max-width: 680px) {
  .cm-regio-hero .cm-regio-btn-label-full {
    display: none;
  }
  .cm-regio-hero .cm-regio-btn-label-phone {
    display: inline;
  }
  .cm-regio-hero .cm-regio-actions {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 8px !important;
  }
  .cm-regio-hero .cm-regio-actions .cm-regio-btn {
    width: 100%;
    min-width: 0;
    min-height: 44px !important;
    padding: 10px 6px !important;
    font-size: 14px;
    line-height: 1.25;
    white-space: nowrap;
  }
}
