/* Europe-only Lustria headings / Manrope body test; legacy filename/filter retained.
 * Original local variable font: no third-party font request.
 * The hero deliberately has no override: retain its shared Rastanty styling.
 */
@font-face {
  font-family: "Manrope CLT";
  src: url("../fonts/Manrope-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
body.clt-destination-typography #main-content.clt-destination-system.clt-region-page h2[id^="region-europe-"][id$="-title"],
body.clt-destination-typography #main-content.clt-destination-system.clt-region-page #region-europe-journeys .cltvp-destination-chapter-heading h2 {
  font-family: "Lustria CLT", Georgia, serif;
  font-style: normal;
  font-weight: 400;
  font-synthesis: none;
  letter-spacing: .01em;
}

/* Exact light-surface text only: no shared color-token or dark-panel changes. */
body.clt-europe-readability #main-content.clt-region-page :is(
  .intro .eyebrow,
  .glance small,
  .places > .shell > .section-head .eyebrow,
  .moments > .shell > .section-head .eyebrow,
  .timing-heading .eyebrow,
  .questions .eyebrow,
  .journey-handoff > .shell > .eyebrow,
  .journey-handoff .text-link,
  .destination-sources summary,
  .cltvp-destination-chapter-heading .cltvp-kicker,
  .cltvp-destination-index-intro .cltvp-kicker,
  .clt-planning-cta--cream .clt-planning-cta__eyebrow,
  .clt-planning-cta--cream .clt-planning-cta__link
) { color: #683b1c; }

body.clt-europe-readability #main-content.clt-region-page :is(
  .intro-copy,
  .places > .shell > .section-head > p,
  .moments > .shell > .section-head > p,
  .filter-status,
  .timing-heading .lead,
  .timing-note,
  .questions-grid > div > .lead,
  .faq-list details > div,
  .destination-sources,
  .supplier-footer,
  .cltvp-destination-module-footer .cltvp-source,
  .cltvp-destination-chapter-heading > p,
  .cltvp-destination-index-intro > p:last-child,
  .clt-planning-cta--cream .clt-planning-cta__text,
  .clt-planning-cta--cream .clt-planning-cta__note
) { color: #273b33; }

/* Navigation uses a sturdier weight, not the heading experiment's 200. */
body.clt-europe-readability #main-content.clt-region-page .chapter-nav :is(a, strong, small) {
  -webkit-text-stroke: 0;
  text-shadow: none;
  text-rendering: auto;
}
body.clt-europe-readability #main-content.clt-region-page .chapter-home {
  color: #fffaf3;
  font-family: "Cinzel CLT", Cinzel, Georgia, serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: .01em;
  text-transform: uppercase;
}
body.clt-europe-readability #main-content.clt-region-page .chapter-home small {
  color: #d6a672;
  font-family: "Cinzel CLT", Cinzel, Georgia, serif;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: .14em;
}
body.clt-europe-readability #main-content.clt-region-page .chapter-links strong {
  font-family: "Manrope CLT", Arial, sans-serif;
  font-weight: 600;
  font-size: 13px;
}
body.clt-europe-readability #main-content.clt-region-page .chapter-links small {
  color: #d3ded8;
  font-weight: 500;
  font-size: 11px;
}
@media (max-width: 640px) {
  body.clt-europe-readability #main-content.clt-region-page .chapter-links strong {
    font-size: 12px;
  }
}

/* Light-surface copy only; photo captions and dark supplier panels are excluded. */
body.clt-europe-readability #main-content.clt-region-page :is(
  .glance > span,
  .journey-handoff p:not(.eyebrow),
  .supplier-live .cltvp-gallery-intro,
  .supplier-live .cltvp-gallery-note,
  .supplier-live .cltvp-gallery-swipe,
  .supplier-live .cltvp-gallery-position,
  .supplier-live .cltvp-gallery-copy .cltvp-gallery-timing,
  .supplier-live .cltvp-gallery-copy .cltvp-gallery-price,
  .supplier-live .cltvp-gallery-copy .cltvp-gallery-action,
  .supplier-live .cltvp-gallery-all,
  .supplier-live .cltvp-collection-empty p:not(.cltvp-kicker)
) { color: #273b33; }

body.clt-europe-readability #main-content.clt-region-page :is(
  .supplier-live .cltvp-gallery-eyebrow,
  .supplier-live .cltvp-gallery-copy .cltvp-gallery-supplier
) { color: #683b1c; }

/* Keep guarded index states separate: :is() would raise sibling specificity. */
body.clt-europe-readability #main-content.clt-region-page .supplier-live .cltvp-destination-index-item:not([data-active="true"]):not(:hover):not(:focus-visible) .cltvp-destination-index-meta {
  color: #273b33;
}
body.clt-europe-readability #main-content.clt-region-page :is(
  .supplier-live .cltvp-destination-index-item:not([data-active="true"]):not(:hover):not(:focus-visible) .cltvp-destination-index-number,
  .supplier-live .cltvp-destination-index-item:not([data-active="true"]):not(:hover):not(:focus-visible) .cltvp-destination-index-supplier
) { color: #683b1c; }

/* Existing regional-index states keep their surfaces, with readable dark ink. */
body.clt-europe-readability #main-content.clt-region-page .supplier-live .cltvp-destination-index-item:is(:hover, :focus-visible, [data-active="true"]) {
  color: #102720 !important; /* Shared regional component declares this color important. */
}
body.clt-europe-readability #main-content.clt-region-page .supplier-live .cltvp-destination-index-item:is(:hover, :focus-visible, [data-active="true"]) :is(
  .cltvp-destination-index-number,
  .cltvp-destination-index-supplier,
  .cltvp-destination-index-meta
) { color: #102720; }
body.clt-europe-readability #main-content.clt-region-page .supplier-live :is(.cltvp-destination-index-toggle, .cltvp-destination-all-link) {
  color: #683b1c !important; /* Preserve shared button structure and behavior. */
}

body.clt-europe-readability #main-content.clt-region-page .supplier-live .cltvp-gallery-copy h3 {
  color: #102720;
}
body.clt-europe-readability #main-content.clt-region-page .supplier-live :is(
  .cltvp-gallery-journey:hover,
  .cltvp-gallery-journey:focus-visible
) .cltvp-gallery-action { color: #683b1c; }

/* Interest experiment: green/ivory surfaces with a restrained copper selection cue. */
body.clt-europe-readability #main-content.clt-region-page .interest-atelier .atelier-tab {
  color: #fffaf3;
}
body.clt-europe-readability #main-content.clt-region-page .interest-atelier .atelier-tab :is(small, span) {
  color: #c8d6cf;
}
body.clt-europe-readability #main-content.clt-region-page .interest-atelier .atelier-tab:hover {
  background: #203d33;
}
body.clt-europe-readability #main-content.clt-region-page .interest-atelier .atelier-tab[aria-selected="true"] {
  background: #25473b;
  color: #fffaf3;
  box-shadow: inset 3px 0 0 #d6a672;
}
body.clt-europe-readability #main-content.clt-region-page .interest-atelier .atelier-tab[aria-selected="true"] :is(small, span) {
  color: #e2ebe6;
}
body.clt-europe-readability #main-content.clt-region-page .interest-atelier .atelier-actions .button-copper {
  border-color: #c8d6cf;
  background: transparent;
  color: #fffaf3;
}
body.clt-europe-readability #main-content.clt-region-page .interest-atelier .atelier-actions .button-copper:hover {
  border-color: #fffaf3;
  background: #25473b;
  color: #fffaf3;
}
body.clt-europe-readability #main-content.clt-region-page .interest-atelier .atelier-actions .text-link {
  color: #e2ebe6;
}
body.clt-europe-readability #main-content.clt-region-page .interest-atelier :is(.atelier-tab, .atelier-actions a):focus-visible {
  outline: 3px solid #fffaf3;
  outline-offset: 3px;
}

/* 6.40.41 — Europe below-hero font experiment.
 * Only siblings after the regional hero are eligible. Do not change inherited
 * root font tokens: the hero, global header and global footer stay unchanged.
 * Family only: preserve the established sizes, weights, tracking and colors.
 */
body.clt-europe-readability #main-content.clt-destination-system.clt-region-page > .regional-hero ~ *,
body.clt-europe-readability #main-content.clt-destination-system.clt-region-page > .regional-hero ~ * :where(
  a, abbr, b, button, caption, dd, details, div, dt, em, figcaption,
  h2, h3, h4, h5, h6, input, label, legend, li, ol, option, p,
  select, small, span, strong, summary, table, tbody, td, textarea, th, ul
):where(:not(.dashicons):not([aria-hidden="true"])) {
  font-family: "Manrope CLT", Arial, sans-serif;
}

/* Editorial eyebrows remain Cinzel, including nested text and compact labels. */
body.clt-europe-readability #main-content.clt-destination-system.clt-region-page > .regional-hero ~ * :is(
  .eyebrow, .cltvp-kicker, .cltvp-gallery-eyebrow, .clt-planning-cta__eyebrow,
  .chapter-home > small, .glance small, .place-copy > small, .season-facts small,
  .cltvp-destination-index-supplier, .cltvp-destination-facts dt, .cltvp-gallery-supplier
),
body.clt-europe-readability #main-content.clt-destination-system.clt-region-page > .regional-hero ~ * :is(
  .eyebrow, .cltvp-kicker, .cltvp-gallery-eyebrow, .clt-planning-cta__eyebrow,
  .chapter-home > small, .glance small, .place-copy > small, .season-facts small,
  .cltvp-destination-index-supplier, .cltvp-destination-facts dt, .cltvp-gallery-supplier
) :where(a, b, em, small, span, strong) {
  font-family: "Cinzel CLT", Cinzel, Georgia, serif;
}

/* 6.40.42 — Europe-only equal gallery and inset interest-panel experiment.
 * Keep six original links/images, category dimming and keyboard-operated tabs.
 */
body.clt-europe-readability #main-content.clt-region-page #region-europe-places .place-mosaic {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: 36px 24px;
  overflow: visible;
  scroll-snap-type: none;
}
body.clt-europe-readability #main-content.clt-region-page #region-europe-places .place-tile {
  display: flex;
  min-width: 0;
  height: auto;
  flex-direction: column;
  grid-column: auto;
  grid-row: auto;
  overflow: visible;
  background: transparent;
  color: #102720;
}
body.clt-europe-readability #main-content.clt-region-page #region-europe-places .place-tile > img {
  position: relative;
  inset: auto;
  z-index: auto;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transform: none;
}
body.clt-europe-readability #main-content.clt-region-page #region-europe-places .place-copy {
  position: static;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px 0 0;
  background: transparent;
  text-shadow: none;
}
body.clt-europe-readability #main-content.clt-region-page #region-europe-places .place-copy > :is(small, strong, span) {
  overflow: visible;
  margin: 0;
  color: #273b33;
  white-space: normal;
  overflow-wrap: anywhere;
  text-overflow: clip;
}
body.clt-europe-readability #main-content.clt-region-page #region-europe-places .place-copy > strong {
  order: 0;
  color: #102720;
}
body.clt-europe-readability #main-content.clt-region-page #region-europe-places .place-copy > small {
  color: #683b1c;
  font-size: 12px;
}
body.clt-europe-readability #main-content.clt-region-page #region-europe-places .place-copy > span { font-size: 12px; }
body.clt-europe-readability #main-content.clt-region-page #region-europe-places .place-tile:focus-visible {
  outline: 3px solid #683b1c;
  outline-offset: 6px;
}

/* Darker-beige outer section frames one square-cornered green card. */
body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences.interest-atelier {
  padding-block: 48px;
  background: var(--stone);
}
body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences > .shell {
  padding: clamp(24px, 3vw, 44px);
  background: var(--forest);
}
body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences .atelier-grid[data-tabs-ready] {
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 24px;
}
body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences .atelier-copy { padding-inline: 28px; }
@media (max-width: 1100px) {
  body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences .atelier-grid[data-tabs-ready] { grid-template-columns: 1fr; }
  body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences .atelier-tabs {
    display: grid;
    height: auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences .atelier-tab {
    display: block;
    min-height: 64px;
    min-width: 0;
    padding: 12px;
  }
  body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences .atelier-tab :is(small, span) { display: none; }
}
@media (max-width: 900px) {
  body.clt-europe-readability #main-content.clt-region-page #region-europe-places .place-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences > .shell { padding: 26px 20px; }
  body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences .atelier-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences .atelier-panels { height: auto; overflow: visible; }
  body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences .atelier-panel {
    height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
  body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences .atelier-panel > img { height: auto; aspect-ratio: 4 / 3; }
  body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences .atelier-copy { overflow: visible; padding: 26px 0 4px; }
}
@media (max-width: 540px) {
  body.clt-europe-readability #main-content.clt-region-page #region-europe-places .place-mosaic { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  body.clt-europe-readability #main-content.clt-region-page #region-europe-experiences.interest-atelier { padding-block: 28px; }
}

/* Small readability refinements: Europe content only, never hero/navigation. */
body.clt-europe-readability.clt-destination-typography #main-content.clt-destination-system.clt-region-page > .regional-hero ~ * h2[id^="region-europe-"][id$="-title"],
body.clt-europe-readability.clt-destination-typography #main-content.clt-destination-system.clt-region-page #region-europe-journeys .cltvp-destination-chapter-heading h2 {
  font-weight: 400;
}
body.clt-europe-readability #main-content.clt-destination-system.clt-region-page > .regional-hero ~ :not(.chapter-nav) :is(
  .eyebrow, .cltvp-kicker, .cltvp-gallery-eyebrow, .clt-planning-cta__eyebrow,
  .glance small, .place-copy > small, .season-facts small
) {
  font-size: 12px;
  letter-spacing: .12em;
}

/* 6.40.44 - Return content headings to the shared Lustria family.
 * Body copy and interface labels remain Manrope; Cinzel eyebrows and the
 * Rastanty hero are outside these selectors. Lustria has one real weight.
 */
body.clt-europe-readability.clt-destination-typography #main-content.clt-destination-system.clt-region-page > .regional-hero ~ * :is(h2, h3, h4, h5, h6),
body.clt-europe-readability.clt-destination-typography #main-content.clt-destination-system.clt-region-page #region-europe-places .place-copy > strong {
  font-family: "Lustria CLT", Georgia, serif;
  font-style: normal;
  font-weight: 400;
  font-synthesis: none;
  letter-spacing: .01em;
}

/* One quiet planning card beside the introduction, not a three-cell table.
 * DOM reading order remains heading, introduction, then the three facts.
 */
body.clt-europe-readability #main-content.clt-region-page > .intro > .shell {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .85fr);
  align-items: center;
  gap: clamp(32px, 6vw, 88px);
}
body.clt-europe-readability #main-content.clt-region-page > .intro .intro-grid {
  display: block;
  min-width: 0;
}
body.clt-europe-readability #main-content.clt-region-page > .intro .intro-copy {
  max-width: 60ch;
  margin: 24px 0 0;
}
body.clt-europe-readability #main-content.clt-region-page > .intro .glance {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  min-width: 0;
  margin: 0;
  padding: clamp(28px, 3vw, 42px);
  border: 0;
  background: linear-gradient(135deg, #fffaf3, #f2eadf);
  box-shadow: 0 10px 32px rgba(16, 33, 29, .055);
}
body.clt-europe-readability #main-content.clt-region-page > .intro .glance > span {
  min-width: 0;
  padding: 0;
  border: 0;
  font-size: 16px;
  line-height: 1.6;
}
body.clt-europe-readability #main-content.clt-region-page > .intro .glance small {
  margin-bottom: 7px;
}
@media (max-width: 900px) {
  body.clt-europe-readability #main-content.clt-region-page > .intro > .shell {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
}
