:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--primary: #0f7c6e;--wp--preset--color--primary-dark: #1f5e54;--wp--preset--color--gold: #c9a84a;--wp--preset--color--ink: #1f2a27;--wp--preset--color--background: #fdfcfa;--wp--preset--color--footer: #1a1f24;--wp--preset--color--muted: #e6ece9;--wp--preset--color--whatsapp: #25D366;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 14px;--wp--preset--font-size--medium: 16px;--wp--preset--font-size--large: 20px;--wp--preset--font-size--x-large: 32px;--wp--preset--font-size--xx-large: clamp(2rem, 4vw, 3rem);--wp--preset--font-size--hero: clamp(2.2rem, 5vw, 4rem);--wp--preset--font-family--heading: 'Fraunces', 'Iowan Old Style', Georgia, serif;--wp--preset--font-family--body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:root { --wp--style--global--content-size: 1200px;--wp--style--global--wide-size: 1400px; }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 24px; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 24px; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 24px;}:root :where(.is-layout-grid){gap: 24px;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{background-color: var(--wp--preset--color--background);color: var(--wp--preset--color--ink);font-family: var(--wp--preset--font-family--body);font-size: 16px;line-height: 1.6;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}a:where(:not(.wp-element-button)){color: var(--wp--preset--color--primary);text-decoration: underline;}h1{font-family: var(--wp--preset--font-family--heading);font-weight: 700;line-height: 1.15;}h2{font-family: var(--wp--preset--font-family--heading);font-weight: 700;line-height: 1.2;}h3{font-family: var(--wp--preset--font-family--heading);font-weight: 700;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-color{color: var(--wp--preset--color--primary) !important;}.has-primary-dark-color{color: var(--wp--preset--color--primary-dark) !important;}.has-gold-color{color: var(--wp--preset--color--gold) !important;}.has-ink-color{color: var(--wp--preset--color--ink) !important;}.has-background-color{color: var(--wp--preset--color--background) !important;}.has-footer-color{color: var(--wp--preset--color--footer) !important;}.has-muted-color{color: var(--wp--preset--color--muted) !important;}.has-whatsapp-color{color: var(--wp--preset--color--whatsapp) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-background-color{background-color: var(--wp--preset--color--primary) !important;}.has-primary-dark-background-color{background-color: var(--wp--preset--color--primary-dark) !important;}.has-gold-background-color{background-color: var(--wp--preset--color--gold) !important;}.has-ink-background-color{background-color: var(--wp--preset--color--ink) !important;}.has-background-background-color{background-color: var(--wp--preset--color--background) !important;}.has-footer-background-color{background-color: var(--wp--preset--color--footer) !important;}.has-muted-background-color{background-color: var(--wp--preset--color--muted) !important;}.has-whatsapp-background-color{background-color: var(--wp--preset--color--whatsapp) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-border-color{border-color: var(--wp--preset--color--primary) !important;}.has-primary-dark-border-color{border-color: var(--wp--preset--color--primary-dark) !important;}.has-gold-border-color{border-color: var(--wp--preset--color--gold) !important;}.has-ink-border-color{border-color: var(--wp--preset--color--ink) !important;}.has-background-border-color{border-color: var(--wp--preset--color--background) !important;}.has-footer-border-color{border-color: var(--wp--preset--color--footer) !important;}.has-muted-border-color{border-color: var(--wp--preset--color--muted) !important;}.has-whatsapp-border-color{border-color: var(--wp--preset--color--whatsapp) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-xx-large-font-size{font-size: var(--wp--preset--font-size--xx-large) !important;}.has-hero-font-size{font-size: var(--wp--preset--font-size--hero) !important;}.has-heading-font-family{font-family: var(--wp--preset--font-family--heading) !important;}.has-body-font-family{font-family: var(--wp--preset--font-family--body) !important;}
/* =================================================================
   CASA DUNA 2.0, COMPLETE STYLESHEET
   v3.1, Hero gradient + real 1BR photo + Airbnb hover
   ================================================================= */

:root {
  --cd-cta:        #0f3d3a;
  --cd-cta-hover:  #1f5450;
  --cd-cta-active: #0b2e2b;
  --cd-trust:      #0f7c6e;
  --cd-trust-hover:#0a5a51;
  --cd-trust-tint: #E8F4F1;
  --cd-cream:      #FAF7F2;
  --cd-charcoal:   #1F2A28;
  --cd-charcoal-2: #344241;
  --cd-muted:      #5C6B68;
  --cd-line:       #E5E0D6;
  --cd-line-soft:  #F0EBDF;
  --cd-wa:         #25D366;
  --cd-wa-hover:   #1FB85A;
  --cd-gold:       #C29545;
  --cd-serif: 'Fraunces', 'Iowan Old Style', Georgia, serif;
  --cd-sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --cd-r-sm: 8px;  --cd-r: 14px; --cd-r-lg: 20px;  --cd-r-pill: 999px;
  --cd-sh-1: 0 1px 3px rgba(31,42,40,.06), 0 1px 2px rgba(31,42,40,.04);
  --cd-sh-2: 0 4px 16px rgba(31,42,40,.08);
  --cd-sh-3: 0 12px 32px rgba(31,42,40,.12);
}

/* ---------- Base typography ---------- */
body {
  font-family: var(--cd-sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--cd-charcoal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 900px) { body { font-size: 18px; } }

h1, h2, h3, h4 {
  font-family: var(--cd-serif);
  color: var(--cd-charcoal);
  letter-spacing: -0.02em;
  font-weight: 600;
  font-variation-settings: 'opsz' 144;
}
h1 { font-size: clamp(2.25rem, 5vw + .5rem, 4rem); line-height: 1.05; }
h2 { font-size: clamp(1.75rem, 3vw + .5rem, 2.5rem); line-height: 1.15; }
h3 { font-size: clamp(1.25rem, 1.5vw + .5rem, 1.5rem); line-height: 1.25; }

a { color: var(--cd-trust); text-decoration: underline; text-underline-offset: 3px; }
a:hover { color: var(--cd-trust-hover); }

/* ---------- Hide old top bar ---------- */
.cd-topbar { display: none !important; }

/* ---------- Buttons ---------- */
.cd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--cd-sans);
  font-size: 16px;
  font-weight: 600;
  padding: 14px 24px;
  border-radius: var(--cd-r-sm);
  text-decoration: none !important;
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: transform .12s ease, background-color .15s ease, box-shadow .15s ease;
  min-height: 48px;
  white-space: nowrap;
}
.cd-btn:hover { transform: translateY(-1px); }
.cd-btn--primary,
.cd-properties .cd-btn--primary,
.cd-hero .cd-btn--primary,
.cd-footer-cta .cd-btn--primary,
a.cd-btn--primary {
  background: linear-gradient(135deg, var(--cd-cta), var(--cd-cta-hover)) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: var(--cd-sh-1);
}
.cd-btn--primary:hover { background: linear-gradient(135deg, var(--cd-cta-hover), var(--cd-cta-active)) !important; box-shadow: var(--cd-sh-2); }
.cd-btn--secondary,
a.cd-btn--secondary,
.cd-properties .cd-btn--secondary {
  background: transparent !important;
  color: var(--cd-trust) !important;
  border: 1.5px solid var(--cd-trust) !important;
}
.cd-btn--secondary:hover { background: var(--cd-trust-tint) !important; }
.cd-btn--lg { padding: 18px 32px; font-size: 17px; min-height: 56px; }

/* ---------- HERO v3, gradient + glass + animation ---------- */
.cd-hero {
  position: relative;
  min-height: min(92vh, 820px) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 96px 24px 64px;
  background-color: #0F1817 !important;
  background-image:
    radial-gradient(ellipse 60% 50% at 80% 15%, rgba(15, 61, 58, .22) 0%, transparent 60%),
    radial-gradient(ellipse 70% 60% at 15% 85%, rgba(15, 124, 110, .35) 0%, transparent 65%),
    radial-gradient(ellipse 50% 40% at 50% 50%, rgba(194, 149, 69, .12) 0%, transparent 70%),
    linear-gradient(170deg, #0F1817 0%, #1F2A28 40%, #0a1413 100%) !important;
  color: #fff;
  overflow: hidden;
}
.cd-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.03) 0%, transparent 40%),
    radial-gradient(circle at 70% 70%, rgba(255,255,255,.025) 0%, transparent 50%);
  pointer-events: none;
  animation: cd-hero-breathe 14s ease-in-out infinite;
}
@keyframes cd-hero-breathe {
  0%, 100% { opacity: .6; transform: scale(1); }
  50%      { opacity: 1;  transform: scale(1.05); }
}
.cd-hero__inner {
  max-width: 920px;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.cd-hero__rating { display: none; }

.cd-hero__eyebrow {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(255,255,255,.95);
  background: rgba(255, 255, 255, .06);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, .12);
  padding: 10px 20px;
  border-radius: var(--cd-r-pill);
  animation: cd-shimmer 4s ease-in-out infinite;
}
.cd-hero__eyebrow .stars { color: #f4c430; letter-spacing: 0; }
@keyframes cd-shimmer {
  0%, 100% { box-shadow: 0 0 0 0 rgba(15, 61, 58, 0); }
  50%      { box-shadow: 0 0 28px 4px rgba(15, 61, 58, .15); }
}

.cd-hero h1 {
  color: #fff !important;
  font-size: clamp(2.75rem, 6vw + .5rem, 5.25rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.0 !important;
  margin: 4px 0 0 !important;
  text-shadow: 0 4px 32px rgba(0,0,0,.4);
  font-variation-settings: 'opsz' 144;
}
.cd-hero__sub {
  font-size: 17px;
  color: rgba(255,255,255,.7) !important;
  max-width: 560px;
  margin: 8px auto 0 !important;
  line-height: 1.55;
}
.cd-hero__price {
  display: inline-flex;
  align-items: baseline;
  gap: 12px;
  font-size: 16px;
  margin-top: 28px;
  padding: 16px 24px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: var(--cd-r-pill);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.cd-hero__price strong {
  font-size: 22px;
  color: #fff !important;
  font-family: var(--cd-serif);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.cd-hero__price .save {
  background: var(--cd-cta);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: var(--cd-r-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 4px 16px rgba(15, 61, 58, .35);
}
.cd-hero__ctas {
  display: flex;
  gap: 14px;
  margin-top: 24px;
  flex-wrap: wrap;
  justify-content: center;
}
.cd-hero .cd-btn--primary {
  font-size: 16px !important;
  padding: 18px 36px !important;
  min-height: 60px !important;
  box-shadow: 0 8px 32px rgba(15, 61, 58, .35) !important;
}
.cd-hero .cd-btn--primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 40px rgba(15, 61, 58, .45) !important;
}
.cd-hero .cd-btn--secondary {
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  font-size: 16px !important;
  padding: 18px 32px !important;
  min-height: 60px !important;
  backdrop-filter: blur(12px);
}
.cd-hero .cd-btn--secondary:hover {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.4) !important;
}

@media (max-width: 760px) {
  .cd-hero { min-height: 78vh !important; padding: 80px 24px 48px; }
  .cd-hero h1 { font-size: 2.5rem !important; line-height: 1.05 !important; }
  .cd-hero__sub { font-size: 15px; }
  .cd-hero__price { padding: 12px 18px; }
  .cd-hero__price strong { font-size: 18px; }
  .cd-hero__ctas { flex-direction: column; width: 100%; max-width: 360px; }
  .cd-hero__ctas .cd-btn { width: 100%; }
}

/* Hero entrance fade-in */
.cd-hero__eyebrow,
.cd-hero h1,
.cd-hero__sub,
.cd-hero__price,
.cd-hero__ctas {
  opacity: 0;
  animation: cd-hero-in 1s cubic-bezier(.16,1,.3,1) forwards;
}
.cd-hero__eyebrow { animation-delay: 100ms; }
.cd-hero h1       { animation-delay: 250ms; }
.cd-hero__sub     { animation-delay: 450ms; }
.cd-hero__price   { animation-delay: 600ms; }
.cd-hero__ctas    { animation-delay: 750ms; }
@keyframes cd-hero-in {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Trust strip ---------- */
.cd-trust-strip {
  background: #fff;
  padding: 32px 24px;
  border-bottom: 1px solid var(--cd-line);
}
.cd-trust-strip__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  align-items: center;
  text-align: center;
}
.cd-trust-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 16px;
  border-right: 1px solid var(--cd-line);
}
.cd-trust-badge:last-child { border-right: none; }
.cd-trust-badge__icon { font-size: 22px; line-height: 1; color: var(--cd-trust); }
.cd-trust-badge__title { font-weight: 700; font-size: 14px; color: var(--cd-charcoal); }
.cd-trust-badge__sub { font-size: 12px; color: var(--cd-muted); letter-spacing: 0.02em; }
.cd-trust-badge .stars { color: var(--cd-gold); font-size: 16px; }
@media (max-width: 760px) {
  .cd-trust-badge { border-right: none; border-bottom: 1px solid var(--cd-line-soft); padding-bottom: 16px; }
  .cd-trust-badge:last-child { border-bottom: none; }
}

/* ---------- Scarcity ---------- */
.cd-scarcity {
  background: linear-gradient(135deg, #FFF8F0 0%, #FAEFD8 100%);
  padding: 28px 24px;
  border-bottom: 1px solid var(--cd-line);
}
.cd-scarcity__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.cd-scarcity__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--cd-charcoal);
}
.cd-scarcity__item strong { color: var(--cd-cta); font-weight: 700; margin-right: 4px; }
.cd-scarcity__icon { font-size: 24px; flex-shrink: 0; }

/* ---------- Intro section ---------- */
.cd-intro {
  background: #fff;
  padding: 80px 24px;
}
.cd-intro h2,
.cd-intro p,
.cd-intro ul {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.cd-intro h2 {
  text-align: center;
  margin-bottom: 24px;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
}
.cd-intro__lead {
  text-align: center;
  font-size: 19px;
  line-height: 1.65;
  color: var(--cd-charcoal-2);
  margin-bottom: 32px;
}
.cd-intro__bullets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  list-style: none;
  padding: 0;
  max-width: 900px;
}
.cd-intro__bullets li {
  background: var(--cd-cream);
  padding: 18px 22px;
  border-radius: var(--cd-r);
  font-size: 15px;
  border: 1px solid var(--cd-line-soft);
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: transform .25s cubic-bezier(.25,1,.5,1), box-shadow .25s ease;
}
.cd-intro__bullets li:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(31,42,40,.08);
}
.cd-intro__bullets li::before {
  content: '→';
  color: var(--cd-trust);
  font-size: 18px;
  font-weight: 700;
}
.cd-intro__bullets li strong {
  color: var(--cd-charcoal);
  font-size: 17px;
  font-weight: 600;
}

/* ---------- Properties grid + cards (KEEP REAL PHOTO) ---------- */
.cd-properties {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
}
.cd-property {
  background: #fff;
  border: 1px solid var(--cd-line);
  border-radius: var(--cd-r);
  overflow: hidden;
  transition: transform .25s cubic-bezier(.25,1,.5,1), box-shadow .25s ease;
  box-shadow: var(--cd-sh-1);
}
.cd-property:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(31,42,40,.18);
}
/* AIRBNB-STYLE image zoom on hover, DO NOT override the inline background-image */
.cd-property__img {
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  transition: transform .5s cubic-bezier(.25,1,.5,1);
}
.cd-property:hover .cd-property__img {
  transform: scale(1.06);
}
/* Subtle dark overlay on hover */
.cd-property__img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.18) 100%);
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
.cd-property:hover .cd-property__img::after { opacity: 1; }

/* 2BR coming-soon ONLY, gradient placeholder */
.cd-property[href*="2br"] .cd-property__img,
.cd-property:not(.cd-property--link) .cd-property__img {
  background-image: linear-gradient(135deg, #1F2A28 0%, #0f7c6e 100%) !important;
  background-blend-mode: normal;
}
.cd-property[href*="2br"] .cd-property__img::before,
.cd-property:not(.cd-property--link) .cd-property__img::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 30%, rgba(194,149,69,.25) 0%, transparent 50%),
    radial-gradient(circle at 70% 70%, rgba(15,61,58,.18) 0%, transparent 50%);
  pointer-events: none;
  z-index: 1;
}
.cd-property[href*="2br"] .cd-property__img::after,
.cd-property:not(.cd-property--link) .cd-property__img::after {
  content: 'CURRENTLY UNAVAILABLE';
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--cd-serif);
  font-size: 22px;
  font-weight: 600;
  color: rgba(255,255,255,.92);
  letter-spacing: 0.15em;
  text-shadow: 0 2px 16px rgba(0,0,0,.3);
  z-index: 2;
  opacity: 1;
  background: none;
}
.cd-property[href*="2br"]:hover .cd-property__img,
.cd-property:not(.cd-property--link):hover .cd-property__img {
  transform: scale(1.03); /* gentler on the gradient placeholder */
}

.cd-property__body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cd-property__title {
  font-family: var(--cd-serif);
  font-size: 22px;
  font-weight: 600;
  color: var(--cd-charcoal);
  margin: 0;
}
.cd-property__sub { color: var(--cd-muted); font-size: 14px; margin: 0; }
.cd-property__meta { color: var(--cd-charcoal-2); font-size: 14px; margin: 0; }

/* ---------- Hosts ---------- */
.cd-hosts {
  background: var(--cd-cream);
  padding: 80px 24px;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 64px;
  max-width: 1100px;
  margin: 0 auto;
  align-items: center;
}
.cd-hosts__photo {
  aspect-ratio: 4 / 5;
  background: linear-gradient(135deg, var(--cd-trust) 0%, var(--cd-charcoal) 100%) !important;
  border-radius: var(--cd-r);
  position: relative;
  overflow: hidden;
}
.cd-hosts__photo::after {
  content: 'Muhammad & Ramey';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--cd-serif);
  font-size: 28px;
  color: rgba(255,2555,255,.9);
  text-align: center;
  font-weight: 500;
}
.cd-hosts h2 { margin-top: 0; font-size: clamp(1.75rem, 2.5vw + .5rem, 2.5rem); }
@media (max-width: 760px) {
  .cd-hosts { grid-template-columns: 1fr; gap: 32px; }
}

/* ---------- Yas Island guides ---------- */
.cd-yas-tease {
  background: #fff;
  padding: 80px 24px;
  text-align: center;
}
.cd-yas-tease h2 { margin-bottom: 12px; }
.cd-yas-tease__lead { color: var(--cd-muted); font-size: 17px; max-width: 640px; margin: 0 auto 40px; }
.cd-yas-tease__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto 40px;
  text-align: left;
}
.cd-yas-card {
  background: var(--cd-cream);
  border: 1px solid var(--cd-line-soft);
  border-radius: var(--cd-r);
  padding: 28px;
  text-decoration: none !important;
  color: var(--cd-charcoal) !important;
  transition: transform .25s cubic-bezier(.25,1,.5,1), box-shadow .25s ease, border-color .2s ease;
  display: block;
}
.cd-yas-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(31,42,40,.16);
  border-color: var(--cd-trust);
}
.cd-yas-card__title { font-family: var(--cd-serif); font-size: 20px; margin: 0 0 8px; }
.cd-yas-card__sub { color: var(--cd-charcoal-2); font-size: 15px; line-height: 1.55; margin: 0 0 16px; }
.cd-yas-card__more { color: var(--cd-cta); font-weight: 600; font-size: 14px; }

/* ---------- FAQ ---------- */
.cd-faq {
  max-width: 800px;
  margin: 0 auto;
  padding: 80px 24px;
}
.cd-faq h2 { text-align: center; margin-bottom: 32px; }
.cd-faq__item {
  border-bottom: 1px solid var(--cd-line);
}
.cd-faq__q {
  cursor: pointer;
  padding: 16px 0;
  font-weight: 600;
  font-size: 17px;
  color: var(--cd-charcoal);
  list-style: none;
  position: relative;
  padding-right: 32px;
}
.cd-faq__q::-webkit-details-marker { display: none; }
.cd-faq__q::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 16px;
  font-size: 24px;
  color: var(--cd-trust);
  transition: transform .2s ease;
}
details[open] .cd-faq__q::after { transform: rotate(45deg); }
.cd-faq__a { padding-bottom: 16px; color: var(--cd-charcoal-2); font-size: 16px; line-height: 1.65; }

/* ---------- Reviews ---------- */
.cd-reviews {
  text-align: center;
  padding: 80px 24px;
  background: var(--cd-cream);
}
.cd-reviews h2 { margin-bottom: 16px; }
.cd-reviews__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
}
.cd-review {
  background: #fff;
  border: 1px solid var(--cd-line);
  border-radius: var(--cd-r);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform .25s cubic-bezier(.25,1,.5,1), box-shadow .25s ease;
}
.cd-review:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(31,42,40,.12);
}
.cd-review__stars { color: var(--cd-gold); font-size: 16px; }
.cd-review__text { color: var(--cd-charcoal); font-size: 15px; line-height: 1.6; flex: 1; margin: 0; }
.cd-review__author { display: flex; align-items: center; gap: 12px; padding-top: 8px; border-top: 1px solid var(--cd-line-soft); }
.cd-review__avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--cd-trust-tint);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: var(--cd-trust);
}
.cd-review__name { font-weight: 600; color: var(--cd-charcoal); font-size: 14px; }
.cd-review__date { font-size: 13px; color: var(--cd-muted); }
.cd-reviews__cta-line { text-align: center; margin-top: 32px; }

/* ---------- Lead magnet ---------- */
.cd-leadmagnet {
  background: var(--cd-cream);
  padding: 80px 24px;
}
.cd-leadmagnet__inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.cd-leadmagnet h2 { font-family: var(--cd-serif); }
.cd-leadmagnet__lead { color: var(--cd-charcoal-2); font-size: 17px; margin-bottom: 32px; }
.cd-leadmagnet__row {
  display: flex;
  gap: 8px;
  max-width: 480px;
  margin: 0 auto;
}
.cd-leadmagnet__input {
  flex: 1;
  padding: 14px 16px;
  font-size: 16px;
  font-family: var(--cd-sans);
  border: 1.5px solid var(--cd-line);
  border-radius: var(--cd-r-sm);
  background: #fff;
  color: var(--cd-charcoal);
}
.cd-leadmagnet__input:focus { outline: none; border-color: var(--cd-trust); }
.cd-leadmagnet__btn { background: linear-gradient(135deg, var(--cd-cta), var(--cd-cta-hover)) !important; color: #fff !important; }
.cd-leadmagnet__btn:hover { background: linear-gradient(135deg, var(--cd-cta-hover), var(--cd-cta-active)) !important; }
.cd-leadmagnet__fineprint { font-size: 13px; color: var(--cd-muted); margin-top: 16px; }
@media (max-width: 600px) {
  .cd-leadmagnet__row { flex-direction: column; }
}

/* ---------- Footer CTA ---------- */
.cd-footer-cta {
  background: linear-gradient(135deg, #1F2A28 0%, #0f7c6e 100%);
  padding: 96px 24px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cd-footer-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(15,61,58,.2) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 50%, rgba(194,149,69,.15) 0%, transparent 50%);
  pointer-events: none;
}
.cd-footer-cta__inner { position: relative; z-index: 2; max-width: 720px; margin: 0 auto; }
.cd-footer-cta h2 {
  color: #fff !important;
  font-size: clamp(2rem, 3.5vw + 1rem, 3.25rem);
  margin-bottom: 16px;
}
.cd-footer-cta p {
  color: rgba(255,255,255,.85) !important;
  font-size: 18px;
  margin-bottom: 32px;
}
.cd-footer-cta__btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.cd-footer-cta .cd-btn--primary {
  font-size: 16px !important;
  padding: 18px 36px !important;
  min-height: 60px !important;
  box-shadow: 0 8px 32px rgba(15,61,58,.4) !important;
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .cd-hero__eyebrow, .cd-hero h1, .cd-hero__sub, .cd-hero__price, .cd-hero__ctas {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
  .cd-hero::before { animation: none !important; }
}


/* === WHY CASA DUNA === */
.cd-why { background: #fff; padding: 96px 24px; position: relative; overflow: hidden; }
.cd-why::before { content: ''; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill='%23C29545' fill-opacity='0.025'%3E%3Cpath d='M50 8 L60 32 L86 32 L65 49 L74 75 L50 60 L26 75 L35 49 L14 32 L40 32 Z'/%3E%3C/g%3E%3C/svg%3E"); background-size: 100px 100px; pointer-events: none; }
.cd-why__inner { max-width: 1100px; margin: 0 auto; position: relative; z-index: 1; }
.cd-why__header { text-align: center; margin-bottom: 64px; }
.cd-why__eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: 0.18em; font-weight: 600; color: var(--cd-gold); text-transform: uppercase; margin-bottom: 16px; }
.cd-why__ornament { display: inline-block; width: 32px; height: 1px; background: var(--cd-gold); opacity: 0.6; }
.cd-why h2 { margin: 8px 0 0; }
.cd-why__lead { max-width: 640px; margin: 16px auto 0; color: var(--cd-charcoal-2); font-size: 17px; line-height: 1.65; }
.cd-why__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; }
.cd-why__item { text-align: center; padding: 24px 16px; position: relative; transition: transform .25s cubic-bezier(.25,1,.5,1); }
.cd-why__item:not(:last-child)::after { content: ''; position: absolute; right: -16px; top: 24px; bottom: 24px; width: 1px; background: linear-gradient(180deg, transparent 0%, var(--cd-line) 50%, transparent 100%); }
.cd-why__item:hover { transform: translateY(-4px); }
.cd-why__icon { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, var(--cd-cream) 0%, #F5E6D3 100%); border: 1px solid var(--cd-gold); display: flex; align-items: center; justify-content: center; font-size: 26px; color: var(--cd-gold); margin: 0 auto 20px; font-family: var(--cd-serif); font-weight: 500; }
.cd-why__item h3 { font-family: var(--cd-serif); font-size: 22px; font-weight: 600; color: var(--cd-charcoal); margin: 0 0 8px; line-height: 1.2; }
.cd-why__item p { color: var(--cd-charcoal-2); font-size: 15px; line-height: 1.6; margin: 0; }
@media (max-width: 760px) { .cd-why { padding: 64px 24px; } .cd-why__header { margin-bottom: 40px; } .cd-why__grid { gap: 24px; } .cd-why__item:not(:last-child)::after { display: none; } .cd-why__item { padding: 16px 8px; } }

/* Gold accent line under trust strip */
.cd-trust-strip { position: relative; }
.cd-trust-strip::after { content: ''; position: absolute; left: 50%; bottom: -1px; transform: translateX(-50%); width: 80px; height: 1px; background: linear-gradient(90deg, transparent 0%, var(--cd-gold) 50%, transparent 100%); }

/* Add Amiri Arabic font import */
/* === CASA DUNA v4 CLEAN === */
html body .cd-hero .cd-hero__proof { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 24px; margin-top: 32px; padding: 24px 32px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); max-width: 640px; margin-left: auto; margin-right: auto; }
html body .cd-hero__proof-item { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; flex: 1; }
html body .cd-hero__proof-num { font-family: var(--cd-serif); font-size: 36px; font-weight: 600; color: #fff; line-height: 1; letter-spacing: -0.02em; }
html body .cd-hero__proof-label { font-size: 12px; color: rgba(255,255,255,.65); letter-spacing: 0.04em; line-height: 1.4; }
html body .cd-hero__proof-label .stars { color: var(--cd-gold); font-size: 11px; letter-spacing: 1px; }
html body .cd-hero__proof-divider { width: 1px; height: 48px; flex-shrink: 0; background: rgba(255,255,255,.18); }
@media (max-width: 760px) { html body .cd-hero .cd-hero__proof { flex-direction: column; padding: 20px; gap: 16px; } html body .cd-hero__proof-divider { width: 80px; height: 1px; } html body .cd-hero__proof-num { font-size: 28px; } }
html body .cd-hero__price { display: none; }
html body .cd-hero__arabic { font-family: Georgia, serif; font-size: 18px; letter-spacing: 0; text-transform: none; color: #C29545; font-weight: 500; }
html body .cd-hero__eyebrow-divider { display: inline-block; width: 1px; height: 14px; background: rgba(255,255,255,.25); }
/* Why section */
.cd-why { background: #fff; padding: 96px 24px; position: relative; }
.cd-why__inner { max-width: 1100px; margin: 0 auto; }
.cd-why__header { text-align: center; margin-bottom: 64px; }
.cd-why__eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: 0.18em; font-weight: 600; color: var(--cd-gold); text-transform: uppercase; margin-bottom: 16px; }
.cd-why__ornament { display: inline-block; width: 32px; height: 1px; background: var(--cd-gold); opacity: 0.6; }
.cd-why h2 { margin: 8px 0 0; }
.cd-why__lead { max-width: 640px; margin: 16px auto 0; color: var(--cd-charcoal-2); font-size: 17px; line-height: 1.65; }
.cd-why__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; }
.cd-why__item { text-align: center; padding: 24px 16px; position: relative; transition: transform .25s cubic-bezier(.25,1,.5,1); }
.cd-why__item:not(:last-child)::after { content: ""; position: absolute; right: -16px; top: 24px; bottom: 24px; width: 1px; background: linear-gradient(180deg, transparent 0%, var(--cd-line) 50%, transparent 100%); }
.cd-why__item:hover { transform: translateY(-4px); }
.cd-why__icon { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, var(--cd-cream) 0%, #F5E6D3 100%); border: 1px solid var(--cd-gold); display: flex; align-items: center; justify-content: center; font-size: 26px; color: var(--cd-gold); margin: 0 auto 20px; font-family: var(--cd-serif); font-weight: 500; }
.cd-why__item h3 { font-family: var(--cd-serif); font-size: 22px; font-weight: 600; color: var(--cd-charcoal); margin: 0 0 8px; line-height: 1.2; }
.cd-why__item p { color: var(--cd-charcoal-2); font-size: 15px; line-height: 1.6; margin: 0; }
@media (max-width: 760px) { .cd-why { padding: 64px 24px; } .cd-why__header { margin-bottom: 40px; } .cd-why__grid { gap: 24px; } .cd-why__item:not(:last-child)::after { display: none; } }


/* === v4.1 mobile compression + Arabic pattern === */
.cd-hero::after { content: ''; position: absolute; inset: 0; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MCIgaGVpZ2h0PSI4MCIgdmlld0JveD0iMCAwIDgwIDgwIj48ZyBmaWxsPSIjQzI5NTQ1IiBmaWxsLW9wYWNpdHk9IjAuMDQiPjxwYXRoIGQ9Ik00MCA1IEw0OCAyNiBMNzAgMjYgTDUyIDQwIEw2MCA2MiBMNDAgNTAgTDIwIDYyIEwyOCA0MCBMMTAgMjYgTDMyIDI2IFoiLz48L2c+PC9zdmc+'); background-size: 80px 80px; pointer-events: none; z-index: 0; }
.cd-hero__inner { z-index: 3 !important; }
.cd-hero::before { z-index: 1 !important; }
@media (max-width: 760px) {
  .cd-intro, .cd-properties, .cd-location, .cd-hosts, .cd-yas-tease, .cd-faq, .cd-reviews, .cd-leadmagnet, .cd-footer-cta, .cd-why { padding-top: 56px !important; padding-bottom: 56px !important; }
  .cd-hero { min-height: 64vh !important; padding: 56px 20px !important; }
  .cd-hero h1 { font-size: 2.25rem !important; line-height: 1.0 !important; }
  .cd-hero__sub { font-size: 14px !important; line-height: 1.5 !important; }
  .cd-hero__inner { gap: 14px !important; }
  .cd-hero__eyebrow { font-size: 10px !important; padding: 6px 12px !important; gap: 8px !important; }
  .cd-hero__arabic { font-size: 15px !important; }
  .cd-hero__proof { flex-direction: row !important; padding: 14px 12px !important; gap: 8px !important; max-width: 340px !important; margin-top: 16px !important; }
  .cd-hero__proof-num { font-size: 22px !important; }
  .cd-hero__proof-label { font-size: 9px !important; line-height: 1.3 !important; letter-spacing: 0.02em !important; }
  .cd-hero__proof-divider { height: 36px !important; }
  .cd-hero__ctas { gap: 10px !important; margin-top: 16px !important; }
  .cd-hero .cd-btn--primary, .cd-hero .cd-btn--secondary { font-size: 14px !important; padding: 14px 20px !important; min-height: 48px !important; }
  .cd-trust-strip { padding: 18px 16px !important; }
  .cd-trust-strip__inner { grid-template-columns: 1fr 1fr 1fr !important; gap: 6px !important; }
  .cd-trust-badge { padding: 6px 4px !important; border-right: none !important; border-bottom: none !important; }
  .cd-trust-badge__title { font-size: 11px !important; }
  .cd-trust-badge__sub { font-size: 9px !important; }
  .cd-trust-badge__icon { font-size: 16px !important; }
  .cd-trust-badge:nth-child(n+4) { display: none !important; }
  .cd-scarcity { padding: 16px 14px !important; }
  .cd-scarcity__inner { gap: 10px !important; }
  .cd-scarcity__item { font-size: 12px !important; gap: 8px !important; }
  .cd-scarcity__item strong { font-size: 13px !important; }
  .cd-scarcity__icon { font-size: 18px !important; }
  .cd-intro { padding-top: 48px !important; padding-bottom: 48px !important; }
  .cd-intro h2 { font-size: 1.6rem !important; margin-bottom: 14px !important; }
  .cd-intro__lead { font-size: 14px !important; line-height: 1.55 !important; margin-bottom: 20px !important; }
  .cd-intro__bullets { gap: 8px !important; grid-template-columns: 1fr 1fr !important; }
  .cd-intro__bullets li { padding: 12px 14px !important; font-size: 11px !important; }
  .cd-intro__bullets li strong { font-size: 13px !important; }
  .cd-why__header { margin-bottom: 28px !important; }
  .cd-why__eyebrow { font-size: 10px !important; }
  .cd-why h2 { font-size: 1.6rem !important; }
  .cd-why__lead { font-size: 14px !important; }
  .cd-why__grid { grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
  .cd-why__item { padding: 12px 6px !important; }
  .cd-why__icon { width: 48px !important; height: 48px !important; font-size: 20px !important; margin-bottom: 12px !important; }
  .cd-why__item h3 { font-size: 14px !important; line-height: 1.2 !important; }
  .cd-why__item p { font-size: 12px !important; line-height: 1.5 !important; }
  .cd-why__item:not(:last-child)::after { display: none !important; }
  .cd-properties { gap: 14px !important; padding: 48px 16px !important; }
  .cd-property__img { aspect-ratio: 16 / 10 !important; }
  .cd-property__title { font-size: 17px !important; }
  .cd-property__body { padding: 16px !important; }
  .cd-hosts { padding: 48px 20px !important; gap: 20px !important; grid-template-columns: 1fr !important; }
  .cd-hosts__photo { aspect-ratio: 5 / 3 !important; }
  .cd-hosts__photo::after { font-size: 20px !important; }
  .cd-hosts h2 { font-size: 1.6rem !important; }
  .cd-yas-tease__lead { font-size: 14px !important; margin-bottom: 24px !important; }
  .cd-yas-tease__grid { gap: 10px !important; margin-bottom: 24px !important; }
  .cd-yas-card { padding: 16px !important; }
  .cd-yas-card__title { font-size: 16px !important; }
  .cd-yas-card__sub { font-size: 13px !important; }
  .cd-reviews__grid { display: flex !important; grid-template-columns: none !important; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding: 0 16px 4px; gap: 12px !important; margin-left: -16px; margin-right: -16px; }
  .cd-review { scroll-snap-align: start; min-width: 260px; max-width: 260px; padding: 16px !important; flex-shrink: 0; }
  .cd-review__text { font-size: 13px !important; }
  .cd-faq { padding: 48px 20px !important; }
  .cd-faq h2 { font-size: 1.6rem !important; margin-bottom: 18px !important; }
  .cd-faq__q { font-size: 14px !important; padding: 12px 0 !important; }
  .cd-faq__a { font-size: 13px !important; padding-bottom: 12px !important; }
  .cd-leadmagnet { padding: 48px 20px !important; }
  .cd-leadmagnet h2 { font-size: 1.5rem !important; }
  .cd-leadmagnet__lead { font-size: 14px !important; margin-bottom: 18px !important; }
  .cd-footer-cta { padding: 56px 20px !important; }
  .cd-footer-cta h2 { font-size: 1.7rem !important; }
  .cd-footer-cta p { font-size: 14px !important; margin-bottom: 18px !important; }
}
/* end v4.1 */

/* listing page sticky booking - WP body class is page-id-114 */
@media (max-width: 760px) { body.page-id-114 .cd-sticky-book, body.page-id-114 .cd-chat-fab { /* placeholder for future sticky bar */ } body.page-id-114 main { padding-bottom: 80px; } body.page-id-114 .cd-chat-fab { bottom: 80px !important; } }
/* Hide redundant page title h1 on listing pages since content has its own H2 hero */
body.page-id-114 .wp-block-post-title { display: none !important; }


/* === v4.2 polish: strip hero stars, lively + spacious === */
/* Remove star pattern from hero - cleaner cover */
.cd-hero::after { display: none !important; }
/* Soften cards globally - less rigid, more lively */
.cd-property, .cd-yas-card, .cd-review { border-radius: 18px !important; border: none !important; box-shadow: 0 1px 2px rgba(31,42,40,.04), 0 8px 24px rgba(31,42,40,.06) !important; }
.cd-property:hover, .cd-yas-card:hover, .cd-review:hover { box-shadow: 0 4px 12px rgba(31,42,40,.08), 0 20px 50px rgba(31,42,40,.14) !important; }
.cd-intro__bullets li { border: none !important; box-shadow: 0 1px 2px rgba(31,42,40,.03) !important; border-radius: 16px !important; }
/* Why section icons - softer, breathe */
.cd-why__icon { box-shadow: 0 4px 16px rgba(194,149,69,.12); animation: cd-icon-breathe 5s ease-in-out infinite; }
.cd-why__item:nth-child(2) .cd-why__icon { animation-delay: 1.2s; }
.cd-why__item:nth-child(3) .cd-why__icon { animation-delay: 2.4s; }
.cd-why__item:nth-child(4) .cd-why__icon { animation-delay: 3.6s; }
@keyframes cd-icon-breathe { 0%, 100% { transform: translateY(0); box-shadow: 0 4px 16px rgba(194,149,69,.12); } 50% { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(194,149,69,.18); } }
/* Trust strip - softer, no hard separators */
.cd-trust-badge { border-right: none !important; }
.cd-trust-strip__inner > .cd-trust-badge:not(:last-child) { position: relative; }
.cd-trust-strip__inner > .cd-trust-badge:not(:last-child)::after { content: ''; position: absolute; right: -8px; top: 25%; bottom: 25%; width: 1px; background: linear-gradient(180deg, transparent 0%, var(--cd-line) 50%, transparent 100%); }
/* Section dividers - softer */
.cd-trust-strip { border-bottom: none !important; }
.cd-scarcity { border-bottom: none !important; }
/* SCROLL-FADE entrance motion - brings the page to life */
.cd-fade-section { opacity: 0; transform: translateY(24px); transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
.cd-fade-section.cd-in { opacity: 1; transform: translateY(0); }
/* Apply fade to all main sections automatically via class on body */
body:not(.cd-no-fade) .cd-intro,
body:not(.cd-no-fade) .cd-properties,
body:not(.cd-no-fade) .cd-why,
body:not(.cd-no-fade) .cd-hosts,
body:not(.cd-no-fade) .cd-yas-tease,
body:not(.cd-no-fade) .cd-faq,
body:not(.cd-no-fade) .cd-reviews,
body:not(.cd-no-fade) .cd-leadmagnet,
body:not(.cd-no-fade) .cd-footer-cta { opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.16,1,.3,1) .05s, transform .9s cubic-bezier(.16,1,.3,1) .05s; }
body:not(.cd-no-fade) .cd-intro.cd-in,
body:not(.cd-no-fade) .cd-properties.cd-in,
body:not(.cd-no-fade) .cd-why.cd-in,
body:not(.cd-no-fade) .cd-hosts.cd-in,
body:not(.cd-no-fade) .cd-yas-tease.cd-in,
body:not(.cd-no-fade) .cd-faq.cd-in,
body:not(.cd-no-fade) .cd-reviews.cd-in,
body:not(.cd-no-fade) .cd-leadmagnet.cd-in,
body:not(.cd-no-fade) .cd-footer-cta.cd-in { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { body .cd-intro, body .cd-properties, body .cd-why, body .cd-hosts, body .cd-yas-tease, body .cd-faq, body .cd-reviews, body .cd-leadmagnet, body .cd-footer-cta { opacity: 1 !important; transform: none !important; animation: none !important; } .cd-why__icon { animation: none !important; } }
/* Listing page - bigger, more spacious gallery */
body.page-id-114 .wp-block-cover, body.page-id-114 .wp-block-gallery, body.page-id-114 figure.wp-block-gallery { max-width: 1400px !important; margin-left: auto !important; margin-right: auto !important; }
body.page-id-114 .wp-block-gallery img, body.page-id-114 figure.wp-block-image img { border-radius: 16px !important; }
body.page-id-114 main { max-width: 1400px !important; margin: 0 auto !important; padding-left: 24px !important; padding-right: 24px !important; }
body.page-id-114 h2:first-of-type { font-size: clamp(2.25rem, 4vw + .5rem, 3.5rem) !important; margin-bottom: 12px !important; padding-top: 32px !important; }
/* end v4.2 */

/* === v4.3 simplify - strip the fluff === */
.cd-scarcity, .cd-why, .cd-intro, .cd-yas-tease, .cd-leadmagnet { display: none !important; }
.cd-hero__proof { display: none !important; }
.cd-hero { min-height: min(78vh, 700px) !important; }
.cd-hero__inner { gap: 14px !important; }
.cd-hero__eyebrow { font-size: 11px !important; padding: 7px 16px !important; letter-spacing: 0.18em !important; }
.cd-hero__arabic { font-size: 15px !important; }
.cd-hero h1 { font-size: clamp(2.75rem, 5.5vw + .5rem, 5rem) !important; }
.cd-hero__sub { max-width: 540px !important; font-size: 16px !important; }
.cd-hero__ctas { margin-top: 12px !important; }
/* Trust strip: single horizontal text line, no subtitles, no boxes */
.cd-trust-strip { padding: 18px 20px !important; }
.cd-trust-strip__inner { grid-template-columns: none !important; display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 24px !important; align-items: center !important; }
.cd-trust-badge { flex-direction: row !important; align-items: center !important; gap: 8px !important; padding: 0 !important; }
.cd-trust-badge__icon { font-size: 16px !important; line-height: 1 !important; }
.cd-trust-badge__title { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0 !important; }
.cd-trust-badge__sub { display: none !important; }
.cd-trust-badge .stars { font-size: 14px !important; letter-spacing: 0 !important; }
.cd-trust-badge::after { display: none !important; }
@media (max-width: 760px) { .cd-trust-strip__inner { gap: 14px !important; } .cd-trust-badge__title { font-size: 11px !important; } .cd-trust-badge__icon { font-size: 14px !important; } }
/* Tighter sections */
.cd-properties { padding: 72px 24px !important; }
.cd-hosts { padding: 64px 24px !important; }
.cd-reviews { padding: 64px 24px !important; }
.cd-faq { padding: 64px 24px !important; }
.cd-footer-cta { padding: 80px 24px !important; }
.cd-hosts h2 { font-size: clamp(1.75rem, 2vw + .5rem, 2.25rem) !important; }
@media (max-width: 760px) { .cd-properties, .cd-hosts, .cd-reviews, .cd-faq, .cd-footer-cta { padding-top: 48px !important; padding-bottom: 48px !important; } }
/* end v4.3 */

/* === hub: properties grid === */
body.page-id-9 .wp-block-post-title { display: none !important; }
.cd-hub-header { padding: 80px 24px 56px; text-align: center; background: var(--cd-cream); border-bottom: 1px solid var(--cd-line-soft); }
.cd-hub-header__inner { max-width: 800px; margin: 0 auto; }
.cd-hub-header__eyebrow { display: inline-block; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cd-gold); font-weight: 600; margin-bottom: 12px; }
.cd-hub-header h1 { font-size: clamp(2.5rem, 4vw + 1rem, 4rem); margin: 0 0 16px; font-family: var(--cd-serif); }
.cd-hub-header__lead { font-size: 17px; color: var(--cd-charcoal-2); line-height: 1.6; max-width: 640px; margin: 0 auto 28px; }
.cd-hub-filters { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 8px; }
.cd-hub-chip { padding: 9px 16px; border-radius: 999px; border: 1px solid var(--cd-line); background: white; color: var(--cd-charcoal-2); font-size: 13px; font-weight: 500; cursor: pointer; transition: all .15s ease; font-family: var(--cd-sans); }
.cd-hub-chip:hover { border-color: var(--cd-trust); color: var(--cd-trust); }
.cd-hub-chip--active { background: var(--cd-charcoal); color: white !important; border-color: var(--cd-charcoal); }
.cd-hub-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 24px; max-width: 1280px; margin: 56px auto; padding: 0 24px; }
.cd-hub-partner-tease { text-align: center; padding: 96px 24px; background: linear-gradient(135deg, #1F2A28 0%, #0f7c6e 100%); color: #fff; position: relative; overflow: hidden; }
.cd-hub-partner-tease::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 20% 50%, rgba(15,61,58,.18) 0%, transparent 50%), radial-gradient(ellipse at 80% 50%, rgba(194,149,69,.15) 0%, transparent 50%); pointer-events: none; }
.cd-hub-partner-tease__inner { max-width: 720px; margin: 0 auto; position: relative; z-index: 1; }
.cd-hub-partner-tease__eyebrow { display: inline-block; font-size: 12px; letter-spacing: 0.18em; font-weight: 600; color: var(--cd-gold); text-transform: uppercase; margin-bottom: 12px; }
.cd-hub-partner-tease h2 { color: #fff !important; font-size: clamp(1.75rem, 2.5vw + .5rem, 2.5rem); margin: 8px 0 16px; font-family: var(--cd-serif); }
.cd-hub-partner-tease p { color: rgba(255,255,255,.85); font-size: 17px; line-height: 1.6; margin-bottom: 28px; }
.cd-hub-partner-tease .cd-btn--secondary, .cd-hub-partner-tease a.cd-btn--secondary { background: rgba(255,255,255,.06) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.3) !important; }
.cd-hub-partner-tease .cd-btn--secondary:hover { background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.5) !important; }
@media (max-width: 760px) { .cd-hub-header { padding: 56px 20px 40px; } .cd-hub-grid { gap: 16px; margin: 32px auto; padding: 0 16px; grid-template-columns: 1fr; } .cd-hub-partner-tease { padding: 64px 20px; } }
/* end hub */

/* === listed-on + partners === */
.cd-listed-on { padding: 22px 24px; background: #fff; border-bottom: 1px solid var(--cd-line-soft); }
.cd-listed-on__inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; }
.cd-listed-on__label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cd-muted); font-weight: 600; }
.cd-listed-on__brands { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; }
.cd-listed-on__brands span { font-family: var(--cd-serif); font-size: 18px; color: var(--cd-charcoal-2); font-weight: 600; opacity: .6; transition: opacity .15s; letter-spacing: -.01em; }
.cd-listed-on__brands span:hover { opacity: 1; }
.cd-listed-on__sub { color: var(--cd-cta); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
@media (max-width: 760px) { .cd-listed-on { padding: 18px 16px; } .cd-listed-on__inner { gap: 12px; } .cd-listed-on__brands { gap: 16px; } .cd-listed-on__brands span { font-size: 14px; } .cd-listed-on__label, .cd-listed-on__sub { font-size: 10px; letter-spacing: 0.1em; } }

/* Partner page */
body.page-id-234 .wp-block-post-title { display: none !important; }
body.page-id-234 main { padding: 0 !important; max-width: 100% !important; }
.cd-partner-hero { padding: 96px 24px; text-align: center; background: #0F1817 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='%23C29545' fill-opacity='0.04'%3E%3Cpath d='M40 5 L48 26 L70 26 L52 40 L60 62 L40 50 L20 62 L28 40 L10 26 L32 26 Z'/%3E%3C/g%3E%3C/svg%3E") repeat; background-size: 80px 80px; background-color: #0F1817; color: #fff; position: relative; overflow: hidden; }
.cd-partner-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 50% at 80% 15%, rgba(15,61,58,.22) 0%, transparent 60%), radial-gradient(ellipse 70% 60% at 15% 85%, rgba(15,124,110,.35) 0%, transparent 65%), linear-gradient(170deg, #0F1817 0%, #1F2A28 40%, #0a1413 100%); pointer-events: none; }
.cd-partner-hero__inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 1; }
.cd-partner-hero__eyebrow { display: inline-block; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--cd-gold); font-weight: 600; margin-bottom: 24px; padding: 8px 16px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: rgba(255,255,255,.04); }
.cd-partner-hero h1 { color: #fff !important; font-size: clamp(2.5rem, 5vw + .5rem, 4.5rem); line-height: 1.05; letter-spacing: -.025em; margin: 12px 0 24px; font-weight: 500; }
.cd-partner-hero__lead { font-size: 18px; color: rgba(255,255,255,.78); max-width: 600px; margin: 0 auto 32px; line-height: 1.6; }
.cd-partner-hero .cd-btn--primary { background: linear-gradient(135deg, var(--cd-cta), var(--cd-cta-hover)) !important; box-shadow: 0 8px 32px rgba(15,61,58,.35) !important; }
.cd-partner-why { padding: 96px 24px; background: #fff; }
.cd-partner-why__inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
.cd-partner-why__item { text-align: left; }
.cd-partner-why__num { font-family: var(--cd-serif); font-size: 56px; color: var(--cd-gold); font-weight: 600; line-height: 1; margin-bottom: 20px; opacity: .85; }
.cd-partner-why__item h3 { font-family: var(--cd-serif); font-size: 22px; font-weight: 600; color: var(--cd-charcoal); margin: 0 0 12px; line-height: 1.3; }
.cd-partner-why__item p { color: var(--cd-charcoal-2); font-size: 15px; line-height: 1.65; margin: 0; }
@media (max-width: 760px) { .cd-partner-hero { padding: 64px 20px; } .cd-partner-why { padding: 56px 20px; } .cd-partner-why__inner { grid-template-columns: 1fr; gap: 32px; } .cd-partner-why__num { font-size: 40px; } }
.cd-partner-form { padding: 96px 24px; background: var(--cd-cream); }
.cd-partner-form__inner { max-width: 580px; margin: 0 auto; text-align: center; }
.cd-partner-form h2 { font-family: var(--cd-serif); font-size: clamp(1.75rem, 2.5vw + .5rem, 2.5rem); margin: 0 0 12px; }
.cd-partner-form__lead { color: var(--cd-charcoal-2); font-size: 16px; margin-bottom: 32px; }
.cd-partner-form__form { display: flex; flex-direction: column; gap: 12px; }
.cd-partner-form__row { width: 100%; }
.cd-partner-form__input { width: 100%; padding: 14px 16px; border: 1.5px solid var(--cd-line); border-radius: 10px; background: #fff; font-size: 15px; font-family: var(--cd-sans); color: var(--cd-charcoal); }
.cd-partner-form__input:focus { outline: none; border-color: var(--cd-trust); }
.cd-partner-form__textarea { resize: vertical; min-height: 100px; }
.cd-partner-form__btn { margin-top: 8px; }
.cd-partner-form__fineprint { font-size: 13px; color: var(--cd-muted); margin-top: 12px; }
.cd-partner-form__success { padding: 32px; background: #fff; border: 1px solid var(--cd-line); border-radius: 16px; text-align: center; }
.cd-partner-form__success h3 { font-family: var(--cd-serif); font-size: 24px; color: var(--cd-trust); margin: 0 0 12px; }
.cd-partner-form__msg { margin-top: 8px; font-size: 14px; }
@media (max-width: 760px) { .cd-partner-form { padding: 56px 20px; } }
/* end listed */

/* === event landing pages F1 + long-stay === */
body.page-id-237 .wp-block-post-title, body.page-id-238 .wp-block-post-title, body.page-id-234 .wp-block-post-title { display: none !important; }
body.page-id-237 main, body.page-id-238 main, body.page-id-234 main { padding-left: 0 !important; padding-right: 0 !important; max-width: 100% !important; }
body.page-id-237 main > *, body.page-id-238 main > *, body.page-id-234 main > * { max-width: 100% !important; }
.cd-event-hero { padding: 96px 24px; text-align: center; background-color: #0F1817; background-image: radial-gradient(ellipse 60% 50% at 80% 15%, rgba(15,61,58,.22) 0%, transparent 60%), radial-gradient(ellipse 70% 60% at 15% 85%, rgba(15,124,110,.35) 0%, transparent 65%), linear-gradient(170deg, #0F1817 0%, #1F2A28 40%, #0a1413 100%); color: #fff; position: relative; overflow: hidden; }
.cd-event-hero__inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 1; }
.cd-event-hero__eyebrow { display: inline-block; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cd-gold); font-weight: 600; margin-bottom: 24px; padding: 8px 16px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: rgba(255,255,255,.04); }
.cd-event-hero h1 { color: #fff !important; font-size: clamp(2.25rem, 4.5vw + .5rem, 4rem) !important; line-height: 1.05 !important; letter-spacing: -.025em; margin: 12px 0 24px; font-weight: 500; }
.cd-event-hero__lead { font-size: 17px; color: rgba(255,255,255,.78); max-width: 600px; margin: 0 auto 32px; line-height: 1.6; }
.cd-event-hero__ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.cd-event-hero .cd-btn--primary { background: linear-gradient(135deg, var(--cd-cta), var(--cd-cta-hover)) !important; color: #fff !important; box-shadow: 0 8px 32px rgba(15,61,58,.35) !important; }
.cd-event-hero .cd-btn--secondary { background: rgba(255,255,255,.06) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.3) !important; }
.cd-event-why { padding: 96px 24px; background: #fff; }
.cd-event-why__inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
.cd-event-why__item { text-align: left; }
.cd-event-why__num { font-family: var(--cd-serif); font-size: 56px; color: var(--cd-gold); font-weight: 600; line-height: 1; margin-bottom: 16px; letter-spacing: -.02em; }
.cd-event-why__item h3 { font-family: var(--cd-serif); font-size: 22px; margin: 0 0 12px; color: var(--cd-charcoal); font-weight: 600; line-height: 1.3; }
.cd-event-why__item p { color: var(--cd-charcoal-2); font-size: 15px; line-height: 1.65; margin: 0; }
.cd-event-info { padding: 80px 24px; background: var(--cd-cream); }
.cd-event-info__inner { max-width: 720px; margin: 0 auto; text-align: center; }
.cd-event-info h2 { font-family: var(--cd-serif); font-size: clamp(1.75rem, 2.5vw + .5rem, 2.5rem); margin: 0 0 24px; }
.cd-event-info ul { list-style: none; padding: 0; margin: 0 auto 32px; max-width: 580px; text-align: left; }
.cd-event-info ul li { padding: 14px 0; border-bottom: 1px solid var(--cd-line); font-size: 16px; color: var(--cd-charcoal-2); }
.cd-event-info ul li:last-child { border-bottom: none; }
.cd-event-info ul li strong { color: var(--cd-charcoal); margin-right: 4px; }
.cd-event-info__cta-line { margin-top: 16px; }
@media (max-width: 760px) { .cd-event-hero { padding: 64px 20px; } .cd-event-why { padding: 56px 20px; } .cd-event-why__inner { grid-template-columns: 1fr; gap: 32px; } .cd-event-why__num { font-size: 40px; } .cd-event-info { padding: 56px 20px; } }
/* end event */

/* === callouts + arabic === */
.cd-callout-strip { padding: 64px 24px; background: #fff; }
.cd-callout-strip__inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cd-callout { display: block; padding: 32px; border-radius: 18px; background: var(--cd-cream); text-decoration: none !important; color: var(--cd-charcoal) !important; transition: transform .25s cubic-bezier(.25,1,.5,1), box-shadow .25s ease; border: 1px solid var(--cd-line-soft); }
.cd-callout:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(31,42,40,.1); border-color: var(--cd-trust); }
.cd-callout__eyebrow { display: inline-block; font-size: 11px; letter-spacing: 0.16em; color: var(--cd-gold); font-weight: 700; text-transform: uppercase; margin-bottom: 12px; }
.cd-callout h3 { font-family: var(--cd-serif); font-size: 22px; margin: 0 0 8px; color: var(--cd-charcoal); font-weight: 600; }
.cd-callout p { color: var(--cd-charcoal-2); font-size: 14px; line-height: 1.55; margin: 0 0 16px; }
.cd-callout__more { color: var(--cd-cta); font-weight: 600; font-size: 14px; }
@media (max-width: 760px) { .cd-callout-strip { padding: 48px 20px; } .cd-callout-strip__inner { grid-template-columns: 1fr; gap: 12px; } .cd-callout { padding: 24px; } }

/* Arabic page (id 242) */
body.page-id-242 { direction: rtl; }
body.page-id-242 .wp-block-post-title { display: none !important; }
body.page-id-242 main { padding: 0 !important; max-width: 100% !important; }
body.page-id-242 main > * { max-width: 100% !important; }
[lang="ar"] { font-family: 'Noto Naskh Arabic', 'Amiri', 'Tahoma', serif; }
[lang="ar"] h1, [lang="ar"] h2, [lang="ar"] h3 { font-family: 'Noto Naskh Arabic', 'Amiri', serif; line-height: 1.3 !important; letter-spacing: 0 !important; }
[dir="rtl"] .cd-hero__eyebrow-divider { display: inline-block; }
[dir="rtl"] .cd-hero__ctas { direction: rtl; }
.cd-ar-trust { background: #fff; padding: 32px 24px; border-bottom: 1px solid var(--cd-line-soft); }
.cd-ar-trust__inner { max-width: 800px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 32px; flex-wrap: wrap; direction: rtl; }
.cd-ar-trust__item { text-align: center; display: flex; flex-direction: column; gap: 4px; }
.cd-ar-trust__num { font-family: var(--cd-serif); font-size: 28px; color: var(--cd-charcoal); font-weight: 700; line-height: 1; }
.cd-ar-trust__label { font-size: 13px; color: var(--cd-muted); }
.cd-ar-trust__sep { width: 1px; height: 32px; background: var(--cd-line); }
.cd-ar-cta { padding: 32px 20px; background: var(--cd-cream); }
.cd-ar-cta__inner { max-width: 720px; margin: 0 auto; }

/* Language switcher pill (small, top-right) */
.cd-lang-switch { position: fixed; top: 14px; right: 16px; z-index: 9990; display: inline-flex; gap: 4px; padding: 4px; background: rgba(255,255,255,.92); border: 1px solid var(--cd-line); border-radius: 999px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 2px 12px rgba(31,42,40,.08); }
.cd-lang-switch a { padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-decoration: none !important; color: var(--cd-muted) !important; transition: all .15s ease; }
.cd-lang-switch a.cd-lang-active { background: var(--cd-charcoal); color: #fff !important; }
.cd-lang-switch a:hover:not(.cd-lang-active) { color: var(--cd-charcoal) !important; }
body.admin-bar .cd-lang-switch { top: 46px; }
@media (max-width: 760px) { .cd-lang-switch { top: 8px; right: 8px; padding: 3px; } .cd-lang-switch a { padding: 4px 8px; font-size: 11px; } body.admin-bar .cd-lang-switch { top: 50px; } }
/* end calls */

/* === account login + dashboard === */
body.page-id-246 .wp-block-post-title { display: none !important; }
body.page-id-246 main { padding: 0 !important; max-width: 100% !important; }
.cd-account-page { padding: 80px 24px; min-height: calc(100vh - 200px); background: var(--cd-cream); }
.cd-account-page__inner { max-width: 1080px; margin: 0 auto; }
.cd-account-loading { display: flex; justify-content: center; padding: 80px 0; }
.cd-account-spinner { width: 40px; height: 40px; border: 3px solid var(--cd-line); border-top-color: var(--cd-trust); border-radius: 50%; animation: cd-spin 0.8s linear infinite; }
@keyframes cd-spin { to { transform: rotate(360deg); } }

/* AUTH (logged-out state) */
.cd-account-auth { max-width: 460px; margin: 0 auto; background: #fff; border-radius: 20px; padding: 48px 40px; box-shadow: 0 8px 40px rgba(31,42,40,.08); }
.cd-account-auth__header { text-align: center; margin-bottom: 32px; }
.cd-account-auth__eyebrow { display: inline-block; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cd-gold); font-weight: 700; margin-bottom: 12px; }
.cd-account-auth h1 { font-family: var(--cd-serif); font-size: clamp(1.75rem, 2vw + .5rem, 2.25rem); margin: 0 0 12px; color: var(--cd-charcoal); font-weight: 600; }
.cd-account-auth p { color: var(--cd-charcoal-2); font-size: 14px; line-height: 1.55; margin: 0; }
.cd-account-banner { padding: 12px 16px; border-radius: 10px; font-size: 14px; margin-bottom: 20px; text-align: center; }
.cd-account-banner--ok { background: var(--cd-trust-tint); color: var(--cd-trust); border: 1px solid var(--cd-trust); }
.cd-account-banner--err { background: #FEE; color: var(--cd-cta); border: 1px solid var(--cd-cta); }
.cd-account-tabs { display: flex; gap: 4px; padding: 4px; background: var(--cd-cream); border-radius: 12px; margin-bottom: 24px; }
.cd-account-tab { flex: 1; padding: 10px; border: none; background: transparent; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; color: var(--cd-muted); transition: all .15s ease; font-family: var(--cd-sans); }
.cd-account-tab--active { background: #fff; color: var(--cd-charcoal); box-shadow: 0 1px 3px rgba(31,42,40,.08); }
.cd-account-form { display: flex; flex-direction: column; gap: 16px; }
.cd-account-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--cd-charcoal-2); }
.cd-account-input { padding: 14px 16px; border: 1.5px solid var(--cd-line); border-radius: 10px; background: #fff; font-size: 15px; font-family: var(--cd-sans); color: var(--cd-charcoal); font-weight: 400; }
.cd-account-input:focus { outline: none; border-color: var(--cd-trust); }
.cd-account-submit { margin-top: 8px; }
.cd-account-forgot { display: block; text-align: center; font-size: 13px; color: var(--cd-trust); margin-top: 8px; }
.cd-account-fineprint { font-size: 12px; color: var(--cd-muted); line-height: 1.5; text-align: center; margin: 8px 0 0; }

/* DASHBOARD (logged-in state) */
.cd-account-dashboard { max-width: 1080px; margin: 0 auto; }
.cd-account-dashboard__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 40px; flex-wrap: wrap; }
.cd-account-dashboard__eyebrow { display: inline-block; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cd-gold); font-weight: 700; margin-bottom: 12px; }
.cd-account-dashboard__head h1 { font-family: var(--cd-serif); font-size: clamp(2rem, 3vw + .5rem, 3rem); margin: 0 0 12px; color: var(--cd-charcoal); font-weight: 600; line-height: 1.1; }
.cd-account-dashboard__head p { color: var(--cd-charcoal-2); font-size: 16px; line-height: 1.55; margin: 0; max-width: 600px; }
.cd-account-logout { display: inline-flex; align-items: center; padding: 10px 18px; border: 1.5px solid var(--cd-line); border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--cd-charcoal-2) !important; text-decoration: none !important; transition: all .15s ease; flex-shrink: 0; }
.cd-account-logout:hover { border-color: var(--cd-cta); color: var(--cd-cta) !important; }
.cd-account-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 32px; }
.cd-account-card { background: #fff; border-radius: 18px; padding: 28px; box-shadow: 0 1px 3px rgba(31,42,40,.04), 0 8px 24px rgba(31,42,40,.06); }
.cd-account-card h3 { font-family: var(--cd-serif); font-size: 20px; margin: 0 0 12px; color: var(--cd-charcoal); font-weight: 600; }
.cd-account-card p { color: var(--cd-charcoal-2); font-size: 14px; line-height: 1.55; margin: 0 0 16px; }
.cd-account-card__empty { color: var(--cd-muted) !important; font-style: italic; }
.cd-account-perks { list-style: none; padding: 0; margin: 0; }
.cd-account-perks li { padding: 10px 0; border-bottom: 1px solid var(--cd-line-soft); font-size: 14px; color: var(--cd-charcoal-2); position: relative; padding-left: 24px; }
.cd-account-perks li:last-child { border-bottom: none; }
.cd-account-perks li::before { content: '✓'; position: absolute; left: 0; color: var(--cd-gold); font-weight: 700; }
.cd-account-help { text-align: center; padding: 24px; background: #fff; border-radius: 16px; font-size: 14px; color: var(--cd-charcoal-2); }
.cd-account-help a { color: var(--cd-trust); font-weight: 600; }
@media (max-width: 760px) { .cd-account-page { padding: 48px 16px; } .cd-account-auth { padding: 32px 24px; border-radius: 16px; } .cd-account-grid { grid-template-columns: 1fr; gap: 16px; } .cd-account-dashboard__head { flex-direction: column; } .cd-account-card { padding: 22px; } }
/* end account */

/* === account pill (top-right) === */
.cd-account-pill { position: fixed; top: 14px; right: 110px; z-index: 9990; padding: 7px 16px; background: var(--cd-charcoal); color: #fff !important; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; border-radius: 999px; text-decoration: none !important; box-shadow: 0 2px 12px rgba(31,42,40,.12); transition: all .15s ease; }
.cd-account-pill:hover { transform: translateY(-1px); box-shadow: 0 4px 18px rgba(31,42,40,.18); color: #fff !important; }
.cd-account-pill--active { background: linear-gradient(135deg, var(--cd-cta), var(--cd-cta-hover)) !important; }
body.admin-bar .cd-account-pill { top: 46px; }
@media (max-width: 760px) { .cd-account-pill { top: 8px; right: 88px; padding: 5px 12px; font-size: 11px; } body.admin-bar .cd-account-pill { top: 50px; } }
/* end pill */

/* === v5 listing booking card + brightness === */
/* Brighter cream + softer scheme */
:root { --cd-cream: #FDFBF6 !important; --cd-line-soft: #F4EFE5 !important; }
.cd-hub-header { background: #FCF8F1 !important; }
.cd-trust-strip { background: #fff !important; }
body { background: #fff !important; }

/* Listing page 2-col grid (Airbnb style) */
body.page-id-114 main { padding: 32px 24px 80px !important; }
.cd-booking-card-wrapper { width: 100%; max-width: 100%; margin: 0 0 32px; }
.cd-booking-card { background: #fff; border: 1px solid var(--cd-line); border-radius: 18px; padding: 24px; box-shadow: 0 8px 32px rgba(31,42,40,.08); }
.cd-booking-card__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.cd-booking-card__price { font-size: 14px; color: var(--cd-charcoal-2); }
.cd-booking-card__price strong { font-family: var(--cd-serif); font-size: 26px; color: var(--cd-charcoal); font-weight: 700; }
.cd-booking-card__per { font-size: 14px; color: var(--cd-muted); margin-left: 4px; }
.cd-booking-card__save { background: var(--cd-cta); color: #fff; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 999px; letter-spacing: 0.04em; text-transform: uppercase; }
.cd-booking-card__rating { font-size: 13px; color: var(--cd-muted); margin-bottom: 18px; }
.cd-booking-card__form { border: 1.5px solid var(--cd-line); border-radius: 14px; overflow: hidden; margin-bottom: 12px; }
.cd-booking-card__dates { display: grid; grid-template-columns: 1fr 1fr; }
.cd-booking-card__field { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; cursor: pointer; }
.cd-booking-card__field--ci { border-right: 1.5px solid var(--cd-line); border-bottom: 1.5px solid var(--cd-line); }
.cd-booking-card__field--co { border-bottom: 1.5px solid var(--cd-line); }
.cd-booking-card__field-label { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; color: var(--cd-charcoal); }
.cd-booking-card__field input, .cd-booking-card__field select { border: none; background: transparent; font-size: 14px; color: var(--cd-charcoal); font-family: var(--cd-sans); padding: 0; outline: none; cursor: pointer; }
.cd-booking-card__cta { width: 100%; margin-top: 4px; }
.cd-booking-card__fineprint { font-size: 12px; color: var(--cd-muted); text-align: center; margin: 12px 0 8px; }
.cd-booking-card__wa { display: block; text-align: center; font-size: 13px; color: var(--cd-trust); font-weight: 600; text-decoration: none !important; }
.cd-booking-card__wa:hover { color: var(--cd-trust-hover); }

/* Desktop: 2-col grid with sticky booking card on right */
@media (min-width: 1100px) {
  body.page-id-114 main { display: grid !important; grid-template-columns: 1fr 380px; gap: 56px; max-width: 1320px; margin: 0 auto; align-items: start; }
  body.page-id-114 main > * { grid-column: 1; }
  body.page-id-114 .cd-booking-card-wrapper { grid-column: 2; grid-row: 1 / span 11; position: sticky; top: 32px; margin: 0; align-self: start; }
}

/* Make all listing-page sections more spacious + brighter */
body.page-id-114 figure.wp-block-gallery, body.page-id-114 .wp-block-image { margin-bottom: 24px !important; }

/* Chat widget upgrade - bigger, more polish */
.cd-chat-panel { width: 420px !important; height: 620px !important; max-height: calc(100vh - 100px) !important; border-radius: 20px !important; box-shadow: 0 20px 60px rgba(31,42,40,.22) !important; }
.cd-chat-header { padding: 18px 22px !important; }
.cd-chat-header h4 { font-family: var(--cd-serif) !important; font-size: 18px !important; font-weight: 600 !important; }
.cd-chat-body { padding: 18px 20px !important; }
.cd-msg { font-size: 14.5px !important; line-height: 1.55 !important; padding: 11px 16px !important; border-radius: 16px !important; }
.cd-msg--bot { box-shadow: 0 1px 2px rgba(31,42,40,.04) !important; }
.cd-typing { padding: 10px 0 !important; }
.cd-typing span { width: 7px !important; height: 7px !important; }
.cd-input-row { padding: 12px 16px !important; }
.cd-input { font-size: 14.5px !important; padding: 11px 16px !important; border-radius: 22px !important; }
@media (max-width: 600px) { .cd-chat-panel { width: auto !important; height: calc(100vh - 90px) !important; } }
/* end v5 */

/* === v5 fix - booking card column 2 === */
@media (min-width: 1100px) {
  body.page-id-114 main > .cd-booking-card-wrapper { grid-column: 2 !important; grid-row: 1 / span 11 !important; position: sticky !important; top: 32px !important; align-self: start !important; margin: 0 !important; }
}
/* end v5fix */

/* === v5 fix2 - grid at entry-content === */
@media (min-width: 1100px) {
  body.page-id-114 main { display: block !important; }
  body.page-id-114 .entry-content { display: grid !important; grid-template-columns: 1fr 380px !important; gap: 56px !important; align-items: start !important; max-width: 1320px !important; margin: 0 auto !important; }
  body.page-id-114 .entry-content > * { grid-column: 1 !important; max-width: 100% !important; }
  body.page-id-114 .entry-content > .cd-booking-card-wrapper { grid-column: 2 !important; grid-row: 1 / span 11 !important; position: sticky !important; top: 32px !important; align-self: start !important; margin: 0 !important; max-width: 380px !important; }
}
@media (max-width: 1099px) {
  body.page-id-114 .cd-booking-card-wrapper { max-width: 480px; margin: 0 auto 32px !important; }
}
/* end v5fix2 */

/* === v6 listing - full Airbnb DNA === */
/* Override the .entry-content grid for listing page so it works with new sections */
@media (min-width: 1100px) {
  body.page-id-114 .entry-content { grid-template-columns: 1fr 380px !important; gap: 56px !important; max-width: 1400px !important; padding: 0 24px; }
}
body.page-id-114 .entry-content > * { max-width: 100% !important; }

/* Photo gallery - Airbnb style */
.cd-l-gallery { margin-bottom: 32px; }
.cd-l-gallery__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; height: 460px; border-radius: 14px; overflow: hidden; }
.cd-l-gallery__hero { grid-column: 1; grid-row: 1 / span 2; position: relative; }
.cd-l-gallery__small:nth-child(2) { grid-column: 2; grid-row: 1; }
.cd-l-gallery__small:nth-child(3) { grid-column: 3; grid-row: 1; }
.cd-l-gallery__small:nth-child(4) { grid-column: 2; grid-row: 2; }
.cd-l-gallery__small:nth-child(5) { grid-column: 3; grid-row: 2; }
.cd-l-gallery__hero, .cd-l-gallery__small { display: block; overflow: hidden; cursor: pointer; transition: opacity .2s ease; }
.cd-l-gallery__hero:hover, .cd-l-gallery__small:hover { opacity: .92; }
.cd-l-gallery__hero img, .cd-l-gallery__small img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s cubic-bezier(.25,1,.5,1); }
.cd-l-gallery__hero:hover img, .cd-l-gallery__small:hover img { transform: scale(1.04); }
@media (max-width: 760px) { .cd-l-gallery__grid { grid-template-columns: 1fr; grid-template-rows: 280px; height: auto; } .cd-l-gallery__hero { grid-column: 1; grid-row: 1; } .cd-l-gallery__small { display: none; } }

/* Title strip */
.cd-l-title { padding: 0 0 24px; border-bottom: 1px solid var(--cd-line); margin-bottom: 24px; }
.cd-l-title h1 { font-family: var(--cd-serif); font-size: clamp(1.75rem, 2.5vw + .5rem, 2.5rem); margin: 0 0 8px; color: var(--cd-charcoal); font-weight: 600; }
.cd-l-title__sub { color: var(--cd-charcoal-2); font-size: 15px; margin: 0 0 4px; }
.cd-l-title__sub strong { color: var(--cd-gold); }
.cd-l-title__meta { color: var(--cd-muted); font-size: 14px; margin: 0; }

/* Highlight cards */
.cd-l-highlights { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--cd-line); margin-bottom: 32px; }
.cd-l-highlight { display: flex; gap: 14px; align-items: flex-start; }
.cd-l-highlight__icon { width: 36px; height: 36px; border-radius: 50%; background: var(--cd-cream); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 18px; color: var(--cd-trust); border: 1px solid var(--cd-line); }
.cd-l-highlight strong { display: block; font-family: var(--cd-serif); font-size: 16px; color: var(--cd-charcoal); margin-bottom: 2px; }
.cd-l-highlight span { font-size: 13px; color: var(--cd-charcoal-2); line-height: 1.45; }
@media (max-width: 760px) { .cd-l-highlights { grid-template-columns: 1fr; gap: 14px; } }

/* Expandable section (details) */
.cd-l-section { padding: 24px 0; border-bottom: 1px solid var(--cd-line); }
.cd-l-section summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; user-select: none; }
.cd-l-section summary::-webkit-details-marker { display: none; }
.cd-l-section summary h2 { font-family: var(--cd-serif); font-size: 22px; margin: 0; color: var(--cd-charcoal); font-weight: 600; }
.cd-l-toggle { width: 32px; height: 32px; border-radius: 50%; background: var(--cd-cream); display: flex; align-items: center; justify-content: center; font-size: 20px; color: var(--cd-charcoal); transition: transform .2s ease, background .15s ease; }
.cd-l-section summary:hover .cd-l-toggle { background: var(--cd-trust-tint); }
.cd-l-section[open] .cd-l-toggle { transform: rotate(45deg); }
.cd-l-section__body { padding-top: 16px; }
.cd-l-section__body p { font-size: 15px; line-height: 1.65; color: var(--cd-charcoal-2); margin: 0 0 12px; }

/* Sleeping arrangements */
.cd-l-sleeping { padding: 24px 0; border-bottom: 1px solid var(--cd-line); }
.cd-l-sleeping h2 { font-family: var(--cd-serif); font-size: 22px; margin: 0 0 16px; color: var(--cd-charcoal); }
.cd-l-sleeping__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cd-l-sleeping-card { padding: 20px; border: 1px solid var(--cd-line); border-radius: 14px; }
.cd-l-sleeping-card__icon { font-size: 24px; margin-bottom: 8px; }
.cd-l-sleeping-card strong { display: block; font-size: 15px; color: var(--cd-charcoal); margin-bottom: 4px; }
.cd-l-sleeping-card span { color: var(--cd-charcoal-2); font-size: 14px; }

/* Amenities grid */
.cd-l-amenities__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 32px; }
.cd-l-amenity { display: flex; align-items: center; gap: 10px; padding: 8px 0; font-size: 14px; color: var(--cd-charcoal); }
.cd-l-amenity__icon { font-size: 16px; flex-shrink: 0; opacity: .8; }
@media (max-width: 760px) { .cd-l-amenities__grid { grid-template-columns: 1fr; } }

/* Reviews */
.cd-l-reviews__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cd-l-review { padding: 0; }
.cd-l-review__stars { color: var(--cd-gold); font-size: 14px; margin-bottom: 8px; }
.cd-l-review p { font-size: 14px; line-height: 1.55; color: var(--cd-charcoal); margin: 0 0 12px; }
.cd-l-review__author { display: flex; align-items: center; gap: 10px; }
.cd-l-review__avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--cd-trust-tint); display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--cd-trust); font-size: 14px; }
.cd-l-review__author strong { display: block; font-size: 14px; color: var(--cd-charcoal); }
.cd-l-review__author span { font-size: 12px; color: var(--cd-muted); }
@media (max-width: 760px) { .cd-l-reviews__grid { grid-template-columns: 1fr; } }

/* Location */
.cd-l-location { padding: 24px 0; border-bottom: 1px solid var(--cd-line); }
.cd-l-location h2 { font-family: var(--cd-serif); font-size: 22px; margin: 0 0 12px; }
.cd-l-location__address { font-size: 15px; color: var(--cd-charcoal); margin: 0 0 8px; }
.cd-l-location__lead { font-size: 14px; color: var(--cd-charcoal-2); margin: 0 0 20px; line-height: 1.55; }
.cd-l-location__map { aspect-ratio: 16/9; border-radius: 14px; overflow: hidden; }
.cd-l-location__map iframe { width: 100%; height: 100%; border: none; }

/* Hosts */
.cd-l-hosts { padding: 32px 0; border-bottom: 1px solid var(--cd-line); text-align: center; }
.cd-l-hosts h2 { font-family: var(--cd-serif); font-size: clamp(1.5rem, 2vw + .5rem, 2rem); margin: 0 0 12px; }
.cd-l-hosts__bio { color: var(--cd-charcoal-2); max-width: 580px; margin: 0 auto 20px; line-height: 1.6; }

/* Things-to-know columns */
.cd-l-things__cols { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
.cd-l-things__cols h3 { font-family: var(--cd-serif); font-size: 16px; color: var(--cd-charcoal); margin: 0 0 12px; }
.cd-l-things__cols ul { list-style: none; padding: 0; margin: 0; }
.cd-l-things__cols li { font-size: 13px; color: var(--cd-charcoal-2); padding: 4px 0; }
.cd-l-things__cols p { font-size: 13px; color: var(--cd-charcoal-2); line-height: 1.5; margin: 0 0 8px; }
@media (max-width: 760px) { .cd-l-things__cols { grid-template-columns: 1fr; gap: 24px; } }
/* end v6 */

/* === Property type framing (Round 1) === */
/* Convention: owned listings add body class .cd-listing-owned via inline script. Partner listings add .cd-listing-partner. Elements only valid for owned (direct-booking note, owner-operator copy) get [data-owned-only] attribute and are hidden on partner pages. */
body.cd-listing-partner [data-owned-only] { display: none !important; }
body:not(.cd-listing-owned):not(.cd-listing-partner) [data-owned-only] { /* default fallback: show, since most current pages are owned */ }




/* a11y: visible keyboard focus ring (added 2026-07-05) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible, .cd-btn--primary:focus-visible, .cd-btn--secondary:focus-visible, .cd-nav a:focus-visible { outline: 3px solid var(--cd-cta); outline-offset: 2px; border-radius: 3px; }

/* ============================================================
   CD-BLOG-RHYTHM-V1, Tariq 2026-07-21
   Muhammad 21 Jul: blog posts read "flimsy and crowded".
   ROOT CAUSE: posts inherit WP's flat --wp--style--block-gap:24px,
   so EVERY element (p, h2, h3, list, table) gets the identical 24px
   gap. No hierarchy => no section breaks => wall of text.
   FIX: apply the site's own spacing hierarchy to the article body.
   Scoped to single posts only (.single .entry-content) so pages,
   the blog grid and the cockpit are untouched.
   ============================================================ */

.single .entry-content { font-size: 17px; line-height: 1.75; }

/* --- body copy: a touch more air between paragraphs --- */
.single .entry-content > p { margin-top: 22px; }

/* --- H2 owns the section below it: big gap above, small below --- */
.single .entry-content > h2 {
  margin-top: 56px;
  margin-bottom: 14px;
  line-height: 1.22;
  letter-spacing: -0.01em;
}
.single .entry-content > h2 + p { margin-top: 0; }

/* a hairline rule makes the section break legible without new colour */
.single .entry-content > h2::before {
  content: "";
  display: block;
  width: 44px;
  height: 2px;
  background: var(--cd-gold, #C29545);
  margin-bottom: 18px;
  opacity: .85;
}

.single .entry-content > h3 {
  margin-top: 38px;
  margin-bottom: 10px;
  line-height: 1.3;
}
.single .entry-content > h3 + p { margin-top: 0; }

/* --- lists: breathe between items, not just around the block --- */
.single .entry-content > ul,
.single .entry-content > ol { margin-top: 22px; padding-left: 1.25em; }
.single .entry-content > ul > li,
.single .entry-content > ol > li { margin-bottom: 12px; line-height: 1.7; }
.single .entry-content > ul > li:last-child,
.single .entry-content > ol > li:last-child { margin-bottom: 0; }

/* --- byline / last-updated: meta, not body copy --- */
.single .entry-content > p:first-child,
.single .entry-content > p:nth-child(2) {
  font-size: 14px;
  line-height: 1.5;
  color: #6b7671;
  margin-top: 6px;
}
.single .entry-content > p:first-child { margin-top: 0; }

/* ============================================================
   CD-BLOG-TABLE-V1, real tables (replacing raw markdown pipes)
   ============================================================ */
.single .entry-content .cd-blog-table,
.single .entry-content .wp-block-table {
  margin: 40px 0;
  overflow-x: auto;              /* wide table scrolls in its own box */
  -webkit-overflow-scrolling: touch;
}
.single .entry-content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.55;
  min-width: 460px;              /* forces the scroll box on phones */
}
.single .entry-content .wp-block-table th {
  background: #f4efe4;
  color: #1f2a27;
  font-family: var(--cd-sans, Inter), sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: left;
  padding: 12px 14px;
  border-bottom: 2px solid #0f3d3a;
}
.single .entry-content .wp-block-table td {
  padding: 13px 14px;
  border-bottom: 1px solid #e6e0d4;
  vertical-align: top;
}
.single .entry-content .wp-block-table tbody tr:last-child td {
  border-bottom: none;
}
.single .entry-content .wp-block-table td:first-child {
  font-weight: 600;
  color: #1f2a27;
}
.single .entry-content .wp-block-table tbody tr:nth-child(even) {
  background: #fbf8f2;
}

/* --- desktop: hold the line length in the readable band ---
   Measured 2026-07-21: the theme's 760px at 17px gave ~89 chars/line,
   well past the 60-75 comfort band. 700px at 18px measures ~78. --- */
@media (min-width: 900px) {
  .single .entry-content { max-width: 700px; font-size: 18px; }
  .single .entry-content > h2 { font-size: 31px; }
}

/* --- mobile --- */
@media (max-width: 600px) {
  .single .entry-content > h2 { margin-top: 44px; font-size: 25px; }
  .single .entry-content > h3 { margin-top: 32px; }
  .single .entry-content .wp-block-table table { font-size: 14px; }
  .single .entry-content .wp-block-table th,
  .single .entry-content .wp-block-table td { padding: 11px 12px; }
}

/* ============================================================
   CD-HERO-BOOKCARD-MOBILE-V1, Tariq 2026-07-21
   DEFECT (measured live, 375px): the hero booking card's fields
   overflowed the card by 45px and were clipped by
   section.cd-h2{overflow:hidden}, the Check-out field and the
   "Check availability" CTA ran past the card's right edge.

   ROOT CAUSE (why 6 prior mobile passes missed it): template 170
   ALREADY has the correct intent , 
       @media (max-width:900px){ .cd-h-book__row{grid-template-columns:1fr} }
  , but it can never take effect, because .cd-h-book__cta carries
   `grid-column: 1 / 3`. An item explicitly spanning to line 3
   FORCES a second column into existence regardless of
   grid-template-columns. The two date fields then sat side by side
   at their 164px min-content width (164+8+164 = 336px) inside a
   291px content box. The source LOOKS correct, which is exactly
   why reading it never found the bug, only measuring did.

   FIX: on mobile, reset the children's explicit placement too, so
   the single-column intent can actually apply. Verified live at
   375px: 1 column, 4 stacked full-width rows, everything inside
   the card, 0 overflow; desktop (>900px) confirmed unchanged at
   4 columns.
   ============================================================ */
@media (max-width: 900px) {
  .cd-h2 .cd-h-book__row { grid-template-columns: minmax(0, 1fr) !important; }
  .cd-h2 .cd-h-book__row > * { grid-column: 1 / -1 !important; min-width: 0 !important; }
  .cd-h2 .cd-h-book__cta { width: 100% !important; }
}




/* ============================================================
   CD-BLOG-TABLE-V2, 2026-08-05 (Tariq) -- defect 27.
   post_content on this site is CLASSIC HTML and never emits the Gutenberg
   .wp-block-table wrapper, so a hand-written <table> written straight into the content fell through
   the V1 rules above and rendered with NO cell padding. Measured on the RENDERED DOM,
   not the stored row: 2 pages (285, 284). The long-stay pages use real table BLOCKS,
   so V1 already reaches them, and /whats-on-yas-island/ styles its own table inside
   article.cd-whatson. The CHILD combinator is what keeps this off both of them.
   Same values as V1, keyed on a bare <table> in the content instead.
   V1 keeps winning where it applies (3 classes beats 2).
   ============================================================ */
.single .entry-content > table,
.page .entry-content > table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.55;
  margin: 40px 0;
}
.single .entry-content > table th,
.page .entry-content > table th {
  background: #f4efe4;
  color: #1f2a27;
  font-family: var(--cd-sans, Inter), sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: left;
  padding: 12px 14px;
  border-bottom: 2px solid #0f3d3a;
}
.single .entry-content > table td,
.page .entry-content > table td {
  padding: 13px 14px;
  border-bottom: 1px solid #e6e0d4;
  vertical-align: top;
}
@media (max-width: 600px) {
  .single .entry-content > table,
  .page .entry-content > table { font-size: 13.5px; }
  .single .entry-content > table th,
  .page .entry-content > table th,
  .single .entry-content > table td,
  .page .entry-content > table td { padding: 9px 10px; }
}

/* ============================================================
   CD-BYLINE-POSITION-FIX-V1 (2026-08-05)
   The "byline / last-updated" rule above selects BY POSITION, not by the byline.
   Measured against the live render on 5 Aug 2026: 10 of 10 posts carry real body
   prose in p:first-child / p:nth-child(2) and ZERO carry a byline there, so that
   rule only ever demotes the opening of an article to 14px grey meta text -
   including the AIO answer block, which is written to be the first 120 words.
   Reverts the typography to body copy. Keeps the margin behaviour intact.
   ============================================================ */
.single .entry-content > p:first-child,
.single .entry-content > p:nth-child(2) {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.single .entry-content > p:nth-child(2) { margin-top: 22px; }

/* ============================================================
   CD-POST-UPDATED-CLASS-V1 (2026-08-05)
   Repairs the blast radius of CD-BYLINE-POSITION-FIX-V1, shipped 25 minutes
   earlier the same day. That fix was measured on a sample of TEN posts, all of
   which carried real body prose in p:first-child, and was then applied to a
   selector that reaches all 38 pages. FIVE posts do carry a genuine
   "Last updated:" line in exactly that position:
     /yas-mall-guide/, /ivf-abu-dhabi-where-to-stay/,
     /long-stay-abu-dhabi-medical-treatment/,
     /recovery-stay-after-hospital-discharge-abu-dhabi/,
     /where-to-stay-cleveland-clinic-abu-dhabi/
   and .cd-post-updated carried NO rule of its own, so on those five the meta
   line was reverted to full body copy.
   Style the byline by its CLASS, which is what the original rule meant. Values
   are the original rule's own, not new ones. Ties on specificity with the
   positional rule and wins on source order, being appended after it.
   ============================================================ */
.single .entry-content > p.cd-post-updated {
  font-size: 14px;
  line-height: 1.5;
  color: #6b7671;
  margin-top: 0;
}


/* ============================================================
   CD-ALIGNFULL-COVER-V1  (2026-08-12, Tariq)  -- defect (18)
   A wp:cover declaring align:full painted 800px inside a 1265px
   viewport on /about/ (290) and /ar/ (242). Cause: the cover sits
   inside .entry-content, which is itself capped at 800px by the
   core group layout rule, and WP only lets alignfull escape a
   layout container it is a DIRECT CHILD of.
   Fix: uncap the two containers, restore the reading measure on
   everything that is not full-bleed. No vw -- a 100vw breakout
   overflows by the scrollbar width (measured: 8px at 1280).
   Scope measured: one element per selector per page.
   Reverse: delete this block.
   ============================================================ */
body.page-id-290 .wp-block-post-content.entry-content,
body.page-id-242 .wp-block-post-content.entry-content {
  max-width: none !important;
}

body.page-id-290 main > .wp-block-group.is-layout-constrained,
body.page-id-242 main > .wp-block-group.is-layout-constrained {
  max-width: none !important;
}

body.page-id-290 .entry-content > :not(.alignfull),
body.page-id-242 .entry-content > :not(.alignfull) {
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page-id-290 .entry-content > .alignfull,
body.page-id-242 .entry-content > .alignfull {
  max-width: none !important;
  margin-left: calc(24px * -1) !important;
  margin-right: calc(24px * -1) !important;
}


/* ============================================================
   CD-MOBILE-CUTOFF-V1, 2026-08-12 (Tariq) -- defect 21.
   Two elements painted past the right edge of a 375px phone and could not be
   reached, because html/body both carry overflow-x:hidden and there is no
   sideways scroll to go and find them. Measured, not predicted:
     /properties/canal-view-1br/        WhatsApp CTA   right=377
     /yas-island-neighborhoods-guide/   drive-times table right=379
   Neither half invents anything. `.cd-hero__ctas .cd-btn{width:100%}` above
   already establishes wrapping/full-width CTAs under 600px for the hero; this
   extends it to the buttons left out, in the weakest form that works. And
   CD-BLOG-TABLE-V1 already gives .wp-block-table an overflow-x box; V2 styled
   bare tables but never gave them one. This finishes V2.
   Blast radius on all 39 urls: 2 rescued, 1 wraps taller, 0 regressed.
   Reverse: delete this block.
   ============================================================ */
@media (max-width: 600px) {
  .cd-btn {
    white-space: normal;
    max-width: 100%;
  }
  .single .entry-content > table,
  .page .entry-content > table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}


/* ============================================================
   CD-MOBILE-GUTTER-V1, 2026-08-13 (Tariq) -- defect 22.
   /properties/canal-view-1br/ gave a 375px phone a 235px content column, 63%
   of the screen and the narrowest page on the property, because three gutters
   stacked: main 24px + the page.html wrapper 24px + .cd-airbnb-inner 22px.
   The page that converts was spending a quarter of the screen on nothing.

   This removes the DUPLICATE, it does not invent a layout. On pages built from
   templates/page.html the wrapper already supplies a 24px gutter and <main>
   holds nothing else, so main's copy of that gutter is redundant on a phone.
   Aimed at main rather than at the wrapper deliberately: pages that override
   main to padding:0 (/terms/, /privacy/, the landing pages) rely on the wrapper
   as their ONLY gutter, and zeroing that one would put body text flat against
   the edge of the screen. This way they are untouched by construction.

   !important on both: main's own padding is !important here, and the
   .cd-airbnb-inner rule lives in page 114's <style>, later in document order.

   Blast radius, all 39 urls at 375px: 1 page wider (+92, to the 327px site
   norm), 0 narrower, 0 lost a gutter, 0 new cut-offs.
   Reverse: delete this block.
   ============================================================ */
@media (max-width: 600px) {
  main:has(> .wp-block-group > .entry-content) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .cd-airbnb-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ============================================================
   CD-MOBILE-GUTTER-V2, 2026-08-13 (Tariq) -- defect 22, the residual.

   Eight pages hand a 375px phone a narrower column than the other 27 measurable
   pages (327px, 87% of the screen) because a hand-built component repeats a
   horizontal gutter the theme has already paid for outside it:

     .cd-legal        24px   /terms/  /privacy/          -> 279px
     .cd-yas          24px   /yas-island-guide/          -> 279px
     .cd-fc__body     22px   /founders-choice/           -> 283px
     .cd-std__pillars 22px   /standard/                  -> 283px
     .cd-v__body      22px   /roadmap-2027/              -> 283px
     .cd-blog-grid    18px   /category/guides/ + /uncategorized/ -> 291px

   Every one of those six boxes was MEASURED fully transparent -- no background,
   no background image, no border, no shadow, no radius
   (tools/gutter_paint_probe.js, control PASS). That is the whole justification:
   a transparent box's horizontal padding IS a gutter, so a second one inside the
   theme's is a duplicate. It removes nothing visible and invents nothing.

   /account/ IS DELIBERATELY NOT IN THIS LIST. `.cd-account-v2` paints
   rgb(248,249,250): its 14px is the inset of a visible panel, and zeroing it
   would put text on the panel's edge. The probe is what separated them.

   SCOPING, AND IT IS THE POINT OF THE WHOLE RULE. `.cd-blog-grid` also carries
   18px on /blog/, where <main> has NO padding and that 18px is the page's ONLY
   gutter -- measured, tools/component_parent_probe.js. A blanket
   `.cd-blog-grid{padding-left:0}` would put blog cards flat against the edge of a
   phone: the exact trap the 10th fire hit on /terms/. So the grid rule requires an
   ancestor that already pays a gutter, and it fails SAFE -- if that inline padding
   ever goes away, the rule stops matching and the grid keeps its own.
   Likewise `.entry-content` only exists inside `templates/page.html`'s wrapper,
   which is where the outer 24px comes from.

   Vertical padding is untouched on every selector. No !important: each selector
   outranks the component's own rule on specificity, so it wins wherever it lands.
   Reverse: delete this block.
   ============================================================ */
@media (max-width: 600px) {
  .entry-content .cd-legal,
  .entry-content .cd-yas,
  .entry-content .cd-fc__body,
  .entry-content .cd-std__pillars,
  .entry-content .cd-v__body {
    padding-left: 0;
    padding-right: 0;
  }
  main[style*="24px"] .cd-blog-grid {
    padding-left: 0;
    padding-right: 0;
  }
}


/* ============================================================
   CD-GOLD-AA-V1, 2026-08-17 (Tariq) -- defect (17).

   GOLD AS TEXT ON A LIGHT BACKGROUND HAS NEVER CLEARED WCAG AA
   ANYWHERE ON THIS PROPERTY, AND THE DESIGN TOKEN ITSELF IS ONE
   OF THE FAILURES: --cd-gold #C29545 grades 2.73:1 on white.
   Measured over all 39 live urls: 125 AA failures on 22 pages,
   in EIGHT different golds -- #c29545 (the token), #c8a25b,
   #c9a84a, #f5c542, #b08c44, #8a7a58, #7a6f4d, plus white and
   dark teal sitting on gold buttons. This was never one bad
   shade. It is token drift with no token for the job.

   ONE new token. --cd-gold-ink is the brand gold with its HUE and
   SATURATION untouched (hsl 44.4, 54%) and only its LIGHTNESS
   dropped, 54% -> 32%, to the minimum that clears 4.5:1 on every
   light surface in the palette. Nothing here is a taste call:
   lightness is the only property WCAG constrains, so it is the
   only property changed. To restore the old look, set this one
   token back to #c29545.

   --cd-gold IS NOT TOUCHED. Fills, borders, hairline rules, the
   promo bar, the F1 counters, the hero badge, the dark F1 box on
   /whats-on-yas-island/ and every other gold-on-dark keep the
   brand colour exactly.

   Gold BUTTONS keep their gold background and take the brand ink,
   which is what .cd-h-f1__cta already renders live -- so this
   makes the CTAs agree rather than inventing anything.

   ONLY SELECTORS WITH A MEASURED FAILURE ARE LISTED. Gold that
   sits on a dark hero is filed UNKNOWN by contrast_measure (the
   backdrop is an image), so darkening it blind could not be
   caught by any instrument here. Nothing unmeasured is touched.

   CASCADE: the rules being corrected sit in page-body <style>
   blocks that come AFTER this stylesheet, so an `html body`
   prefix wins on specificity instead of on order. !important is
   used only where it is forced: two inline style attributes, and
   one rule that already carries it.
   ============================================================ */
:root{ --cd-gold-ink: #7d6625; }

/* --- A. gold as TEXT on a light background --- */
/* homepage */
html body .cd-pl__val .gold,
html body .cd-cred__lab,
html body .cd-property__rating,
html body .cd-review__stars,
html body .cd-h-reviews__stars,
/* canal view 1BR */
html body .cd-l-review__stars,
html body .cd-l-title__sub strong,
/* canal view 2BR */
html body .cd-soon .spec strong,
/* long stay + f1 weekend */
html body .cd-event-why__num,
/* partners + properties hub */
html body .cd-partner-why__num,
html body .cd-hub-header__eyebrow,
/* blog index + both category archives */
html body .cd-blog-card__more,
html body .cd-blog-hero__eyebrow,
/* terms + privacy */
html body .cd-legal h2,
html body .cd-legal a,
/* the guide template */
html body .cd-post h3,
/* whats-on (its dark F1 box keeps bright gold: .cd-whatson .f1 a
   and .cd-whatson .cta are both more specific than this) */
html body .cd-whatson .eyebrow,
html body .cd-whatson a,
/* roadmap milestone chip */
html body .cd-v__milestone-tag--later{ color: var(--cd-gold-ink); }

/* the star in the homepage "Listed on" chip is an inline style
   attribute, so !important is the only thing that reaches it. */
html body .cd-h-trust__chip span{ color: var(--cd-gold-ink) !important; }

/* faq page only (page-id-11, the convention this stylesheet already
   uses). The homepage carries a .cd-faq wrapper too and its links
   are teal by design, so these stay scoped. */
html body.page-id-11 .cd-faq a,
html body.page-id-11 .cd-faq summary::after{ color: var(--cd-gold-ink); }

/* --- B. text on a GOLD BUTTON -> brand ink, gold kept --- */
html body.page-id-11 .cd-faq .cd-cta a,
html body .cd-post .cta-box a,
html body .cd-whatson .cta,
html body .cd-soon .cta:not(.cta--ghost){ color: #1f2a27; }

/* six guide pages carry the same CTA as an INLINE style attribute
   with no class on it, so it is matched on the declaration itself.
   Matching `background:` and not the bare hex is deliberate: one
   element on the property sets `color:#c8a25b` inline and must not
   be caught here. */
html body a[style*="background:#c8a25b"],
html body a[style*="background: #c8a25b"]{ color: #1f2a27 !important; }

/* .cd-h-final__cta was painted by TWO blocks that never agreed: an
   early one (gold background !important + ink !important) and a
   later one (dark teal background, #fff !important). The later
   block won the colour and lost the background, so the button
   rendered white on gold at 2.29:1 -- a pair no author ever wrote.
   Both halves are pinned so they cannot come apart again. */
html body .cd-h-final__cta{ background:#c9a84a !important; color:#1f2a27 !important; }