/* Hallmark · macrostructure: Photographic (Mediterranean), Marquee Hero adapted (Modern)
 * themes: Atelier / Midnight · nav: N9 disclosure / N1b compact · footer: Ft6 / Ft2
 * audience: hospitality owners and tourism teams · use: discuss a project
 * enrichment: existing licensed Adriatic photography · motion: functional press only
 * Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V5
 */

/* A small, neutral control stays recognizable in all three designs. */
.theme-picker {
  position: fixed;
  inset-inline-end: max(var(--space-md), env(safe-area-inset-right));
  inset-block-end: max(var(--space-md), env(safe-area-inset-bottom));
  z-index: var(--z-sticky);
  color-scheme: light;
  background: var(--color-picker-paper);
  color: var(--color-picker-ink);
  border: var(--rule-hair) solid var(--color-picker-rule);
  border-radius: var(--radius-picker);
  box-shadow: 0 4px 24px var(--color-picker-shadow);
  font-family: var(--font-body);
  font-size: var(--text-picker);
  line-height: 1.4;
  max-width: calc(100% - var(--space-xl));
}
.theme-picker summary { display: flex; gap: var(--space-sm); align-items: center; min-height: 48px; padding: var(--space-sm) var(--space-md); list-style: none; cursor: pointer; white-space: nowrap; border-radius: var(--radius-picker); }
.theme-picker summary::-webkit-details-marker { display: none; }
.theme-picker summary:focus-visible, .theme-options a:focus-visible { outline-color: var(--color-picker-focus); }
.theme-picker summary:hover, .theme-options a:hover { background: var(--color-picker-hover); color: var(--color-picker-ink); }
.theme-picker[open] .theme-chevron { transform: rotate(180deg); }
.theme-chevron { margin-inline-start: auto; font-size: var(--text-lede); }
.theme-options { position: absolute; inset-block-end: calc(100% + var(--space-xs)); inset-inline-end: 0; width: 260px; max-width: calc(100vw - var(--space-xl)); padding: var(--space-xs); border: var(--rule-hair) solid var(--color-picker-rule); border-radius: var(--radius-picker); background: var(--color-picker-paper); color: var(--color-picker-ink); box-shadow: 0 4px 24px var(--color-picker-shadow); }
.theme-options a { display: flex; align-items: center; gap: var(--space-sm); padding: var(--space-sm); text-decoration: none; min-height: 64px; white-space: nowrap; border-radius: var(--radius-sm); }
.theme-options strong { display: block; font-weight: 600; }
.theme-options small { display: block; color: var(--color-picker-muted); font-size: var(--text-picker); margin-block-start: var(--space-2xs); }
.theme-check { visibility: hidden; margin-inline-start: auto; }
.theme-options [aria-current] .theme-check { visibility: visible; }
.theme-options [aria-current] { background: var(--color-picker-hover); color: var(--color-picker-ink); }
.theme-swatch { display: block; flex: 0 0 20px; width: 20px; height: 20px; border-radius: var(--radius-swatch); border: var(--rule-hair) solid var(--color-picker-rule); }
.theme-swatch-modern { background: var(--color-swatch-modern); }
.theme-swatch-classic { background: var(--color-swatch-classic); }
.theme-swatch-medditeranean { background: var(--color-swatch-medditeranean); }
.theme-swatch-current { background: var(--color-accent); }
/* Leave room to reach the footer beneath the floating control. */
.site-footer { padding-block-end: calc(var(--space-3xl) + env(safe-area-inset-bottom)); }

/* Modern: compact navigation, a typographic opening, then a panoramic coast. */
[data-theme='modern'] h1, [data-theme='modern'] h2 { font-weight: 600; letter-spacing: -0.045em; line-height: 1.08; }
[data-theme='modern'] .wordmark { font-family: var(--font-brand); }
[data-theme='modern'] .masthead { padding-block-start: var(--space-lg); }
[data-theme='modern'] .masthead-top { display: flex; justify-content: space-between; }
[data-theme='modern'] .masthead-bottom { border-top: 0; }
[data-theme='modern'] .hero { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); padding-block: var(--space-xl) var(--space-2xl); }
[data-theme='modern'] .hero-copy { padding-block: 0; gap: var(--space-lg); }
[data-theme='modern'] .hero-copy h1 { max-width: 19ch; }
[data-theme='modern'] .hero-image img { aspect-ratio: 16 / 9; height: auto; max-height: 400px; object-position: center 64%; filter: saturate(0.75); border-radius: var(--radius-sm); }
[data-theme='modern'] .hero-footnote { margin: 0; padding-block-start: 0; }
[data-theme='modern'] .button-dark { background: var(--color-accent); color: var(--color-accent-ink); border-color: var(--color-accent); }
[data-theme='modern'] .intro-band { background: var(--color-paper-2); color: var(--color-ink); border: 0; }
[data-theme='modern'] .quote blockquote { font-weight: 400; font-size: var(--text-heading); }
[data-theme='modern'] .reference-names { font-family: var(--font-body); font-weight: 600; }
[data-theme='modern'] .proof-section { background: var(--color-ink); color: var(--color-paper); }
[data-theme='modern'] .travel-preview img, [data-theme='modern'] .about-story img { border-radius: var(--radius-sm); }
[data-theme='modern'] .service-row { gap: var(--space-lg); }
[data-theme='modern'] .site-footer { background: var(--color-paper); color: var(--color-ink); }
[data-theme='modern'] .footer-main { gap: var(--space-lg); }
[data-theme='modern'] .footer-main > .wordmark { font-size: var(--text-heading); }
[data-theme='modern'] .contact-band h2 { max-width: 22ch; }

/* Mediterranean: an inset photographic spread, warm paper and quiet blue type. */
[data-theme='medditeranean'] h1, [data-theme='medditeranean'] h2 { font-weight: 500; letter-spacing: -0.045em; }
[data-theme='medditeranean'] .masthead { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; padding-block: var(--space-lg); gap: var(--space-md); position: relative; }
[data-theme='medditeranean'] .masthead-top { display: flex; padding: 0; }
[data-theme='medditeranean'] .masthead-top .languages { margin-inline-start: var(--space-xs); }
[data-theme='medditeranean'] .masthead-bottom { border: 0; padding: 0; margin-inline-start: auto; }
[data-theme='medditeranean'].js .menu-toggle { display: inline-flex; gap: var(--space-xs); }
[data-theme='medditeranean'].js #primary-nav:not([data-open]) { display: none; }
[data-theme='medditeranean'] #primary-nav[data-open] { display: flex; position: absolute; inset-block-start: 100%; inset-inline: 0; width: auto; padding: var(--space-lg); background: var(--color-paper); color: var(--color-ink); border: var(--rule-hair) solid var(--color-rule); z-index: var(--z-dropdown); flex-wrap: wrap; box-shadow: 0 8px 24px var(--color-picker-shadow); }
[data-theme='medditeranean'] .hero { padding-block: var(--space-md) var(--space-2xl); gap: var(--space-xl); }
[data-theme='medditeranean'] .hero-copy { padding: 0; }
[data-theme='medditeranean'] .hero-image { padding: var(--space-xs); border: var(--rule-hair) solid var(--color-rule); }
[data-theme='medditeranean'] .hero-image img { aspect-ratio: 4 / 3; height: auto; filter: saturate(0.7) sepia(0.12); object-position: center 62%; }
[data-theme='medditeranean'] .hero-footnote { border-top: var(--rule-hair) solid var(--color-rule); padding-block-start: var(--space-md); margin-block-start: var(--space-xs); }
[data-theme='medditeranean'] .intro-band { border: 0; background: var(--color-paper); color: var(--color-ink); }
[data-theme='medditeranean'] .services-section { border-top: 3px double var(--color-rule); }
[data-theme='medditeranean'] .service-row h3 { font-family: var(--font-display); font-size: var(--text-heading); font-weight: 500; }
[data-theme='medditeranean'] .proof-section { background: var(--color-ink); color: var(--color-paper); }
[data-theme='medditeranean'] .proof-section .text-link { border-color: var(--color-accent-ink); }
[data-theme='medditeranean'] .proof-section p, [data-theme='medditeranean'] .proof-section .quote figcaption span { color: var(--color-accent-ink); }
[data-theme='medditeranean'] .travel-preview img, [data-theme='medditeranean'] .about-story img { padding: var(--space-xs); border: var(--rule-hair) solid var(--color-rule); filter: saturate(0.7) sepia(0.12); }
[data-theme='medditeranean'] .contact-band { border-top: 3px double var(--color-rule); }
[data-theme='medditeranean'] .site-footer { border-top: 3px double var(--color-rule); background: var(--color-paper-2); color: var(--color-ink); }
[data-theme='medditeranean'] .footer-main { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: start; gap: var(--space-lg); }
[data-theme='medditeranean'] .footer-main > p { max-width: 38ch; font-family: var(--font-display); font-size: var(--text-lede); }
[data-theme='medditeranean'] .footer-contact .contact-person { font-family: var(--font-display); font-size: var(--text-heading); }
[data-theme='medditeranean'] .contact-person span { font-family: var(--font-body); font-size: var(--text-small); }

@media (min-width: 40rem) {
  [data-theme='medditeranean'] .masthead-top .languages { margin-inline-start: var(--space-xl); }
  [data-theme='modern'] .hero-image img { aspect-ratio: 3 / 1; }
}
@media (min-width: 60rem) {
  [data-theme='modern'] .masthead { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-xl); align-items: center; padding-block: var(--space-lg); border-bottom: var(--rule-hair) solid var(--color-rule); }
  [data-theme='modern'] .masthead-top { padding: 0; gap: var(--space-lg); }
  [data-theme='modern'] .masthead-bottom { border: 0; padding: 0; }
  [data-theme='modern'] #primary-nav { gap: var(--space-lg); }
  [data-theme='modern'] .hero-copy { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); column-gap: var(--space-2xl); align-content: start; padding-block: var(--space-lg); }
  [data-theme='modern'] .hero-copy h1 { grid-column: 1; grid-row: 1 / 4; max-width: 18ch; }
  [data-theme='modern'] .hero-copy > :not(h1) { grid-column: 2; }
  [data-theme='modern'] .hero-actions { flex-wrap: wrap; gap: var(--space-lg); }
  [data-theme='modern'] .service-list.compact { grid-template-columns: minmax(0, 1fr); }
  [data-theme='modern'] .compact .service-row > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: var(--space-2xl); width: 100%; }
  [data-theme='modern'] .compact .service-row:nth-last-child(2) { border-bottom: 0; }
  [data-theme='modern'] .compact .service-link { font-size: var(--text-small); }
  [data-theme='modern'] .footer-main { align-items: baseline; }
  [data-theme='modern'] .footer-contact { display: grid; grid-template-columns: auto auto; column-gap: var(--space-lg); }
  [data-theme='modern'] .footer-contact .contact-person { grid-column: 1 / -1; margin: 0; }
  [data-theme='medditeranean'] .masthead { padding-block: var(--space-xl); }
  [data-theme='medditeranean'] .hero { display: grid; grid-template-columns: minmax(0, 1fr); padding-block: 0 var(--space-2xl); }
  [data-theme='medditeranean'] .hero-image { grid-area: 1 / 1; padding: var(--space-sm); }
  [data-theme='medditeranean'] .hero-image img { height: 660px; aspect-ratio: auto; width: 100%; object-position: center 65%; }
  [data-theme='medditeranean'] .hero-copy { grid-area: 1 / 1; align-self: end; z-index: var(--z-base); width: 49%; margin: var(--space-xl); padding: var(--space-xl); background: var(--color-paper); color: var(--color-ink); gap: var(--space-lg); }
  [data-theme='medditeranean'] .hero-copy h1 { font-size: var(--text-display); }
  [data-theme='medditeranean'] .hero-actions { flex-wrap: wrap; gap: var(--space-lg); }
  [data-theme='medditeranean'] .intro-inner { display: block; max-width: 760px; text-align: left; }
  [data-theme='medditeranean'] .intro-inner h2 { margin-block-end: var(--space-lg); }
  [data-theme='medditeranean'] .service-list.compact { column-gap: var(--space-3xl); }
  [data-theme='medditeranean'] .proof-inner { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
  [data-theme='medditeranean'] .proof-intro h2 { max-width: 24ch; }
  [data-theme='medditeranean'] .proof-inner .quote { padding-inline-start: var(--space-3xl); }
  [data-theme='medditeranean'] .travel-preview { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  [data-theme='medditeranean'] .travel-preview > figure { grid-column: 2; grid-row: 1; }
  [data-theme='medditeranean'] .travel-preview > div { grid-column: 1; grid-row: 1; }
  [data-theme='medditeranean'] .footer-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  [data-theme='medditeranean'] .footer-contact { grid-column: 2; grid-row: 1 / 3; }
}
@media (hover: hover) and (pointer: fine) {
  [data-theme='modern'] .button-dark:hover { background: var(--color-ink); color: var(--color-paper); border-color: var(--color-ink); }
  [data-theme='modern'] .proof-section .text-link:hover { color: var(--color-paper); }
}

/* Focus stays visible on the inverted testimonial surfaces. */
[data-theme='modern'] .proof-section :focus-visible,
[data-theme='medditeranean'] .proof-section :focus-visible { outline-color: var(--color-paper); }
