/* Visit Sifnos: show breadcrumbs below absolute header */
div.mb-6:has(> nav[aria-label="Breadcrumb"]) {
  margin-top: 4.75rem !important;
  position: relative;
  z-index: 35;
}

nav[aria-label="Breadcrumb"] {
  display: block !important;
  visibility: visible !important;
}

nav[aria-label="Breadcrumb"] ol {
  color: oklch(0.35 0.04 240) !important;
}

nav[aria-label="Breadcrumb"] a {
  color: oklch(0.35 0.06 235) !important;
  font-weight: 500;
  text-decoration: none;
}

nav[aria-label="Breadcrumb"] a:hover {
  color: oklch(0.48 0.11 235) !important;
}

nav[aria-label="Breadcrumb"] svg {
  opacity: 0.75;
}

/* Single H1: theme title only; reorder breadcrumb → tag → H1 → excerpt */
body:has(.culture-hero-header) article > .container,
body:has(.culture-hub-page) article > .container,
body:has(.segment-hero-header) article > .container,
body:has(.segment-hub-main) article > .container,
body:has(.village-hero-header) article > .container,
body:has(.villages-hub-main) article > .container {
  display: flex;
  flex-direction: column;
  position: relative;
  max-width: 100% !important;
  padding: 0 !important;
}

body:has(.culture-hero-header) article > .container > .prose,
body:has(.culture-hub-page) article > .container > .prose,
body:has(.segment-hero-header) article > .container > .prose,
body:has(.segment-hub-main) article > .container > .prose,
body:has(.village-hero-header) article > .container > .prose,
body:has(.villages-hub-main) article > .container > .prose,
body:has(.culture-guide-page) .culture-guide-page,
body:has(.culture-hub-page) .culture-hub-page,
body:has(.segment-hero-header) .min-h-screen.flex.flex-col.bg-background,
body:has(.segment-hub-main) .min-h-screen.flex.flex-col.bg-background,
body:has(.village-hero-header) .villages-guide-page,
body:has(.villages-hub-main) .min-h-screen.flex.flex-col.bg-background,
body:has(.culture-hero-header) .culture-hero-header,
body:has(.culture-hub-page) .culture-hub-page > section.bg-gradient-to-b,
body:has(.segment-hero-header) .segment-hero-header,
body:has(.segment-hub-main) section.bg-gradient-to-b,
body:has(.village-hero-header) .village-hero-header,
body:has(.villages-hub-main) section.bg-gradient-to-b,
body:has(.culture-hero-header) .culture-hero-header > .container-prose,
body:has(.culture-hub-page) .culture-hub-page > section > .container-prose,
body:has(.segment-hero-header) .segment-hero-header > .container-prose,
body:has(.segment-hub-main) section.bg-gradient-to-b > .container-prose,
body:has(.village-hero-header) .village-hero-header > .container-prose,
body:has(.villages-hub-main) section.bg-gradient-to-b > .container-prose {
  display: contents;
}

body:has(.culture-hero-header) article > .container::before,
body:has(.culture-hub-page) article > .container::before,
body:has(.segment-hero-header) article > .container::before,
body:has(.segment-hub-main) article > .container::before,
body:has(.village-hero-header) article > .container::before,
body:has(.villages-hub-main) article > .container::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: min(380px, 58vh);
  background: linear-gradient(to bottom, var(--secondary, #f5f1e8), var(--background, #fff));
  border-bottom: 1px solid var(--border, #e2e8f0);
  z-index: 0;
  pointer-events: none;
}

body:has(.culture-hero-header) article > .container > *,
body:has(.culture-hub-page) article > .container > *,
body:has(.segment-hero-header) article > .container > *,
body:has(.segment-hub-main) article > .container > *,
body:has(.village-hero-header) article > .container > *,
body:has(.villages-hub-main) article > .container > * {
  position: relative;
  z-index: 1;
}

body:has(.culture-hero-header) .culture-hero-header div.mb-6:has(> nav[aria-label="Breadcrumb"]),
body:has(.culture-hub-page) .culture-hub-page section div.mb-6:has(> nav[aria-label="Breadcrumb"]),
body:has(.segment-hero-header) .segment-hero-header div.mb-6:has(> nav[aria-label="Breadcrumb"]),
body:has(.segment-hub-main) section.bg-gradient-to-b div.mb-6:has(> nav[aria-label="Breadcrumb"]),
body:has(.village-hero-header) .village-hero-header div.mb-6:has(> nav[aria-label="Breadcrumb"]),
body:has(.villages-hub-main) section.bg-gradient-to-b div.mb-6:has(> nav[aria-label="Breadcrumb"]) {
  order: 1;
  padding-top: 2.5rem;
  max-width: 48rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

body:has(.culture-hero-header) .culture-hero-header p.eyebrow.mb-4,
body:has(.culture-hub-page) .culture-hub-page section p.eyebrow.mb-4,
body:has(.segment-hero-header) .segment-hero-header p.eyebrow.mb-4,
body:has(.segment-hub-main) section.bg-gradient-to-b p.eyebrow.mb-4,
body:has(.village-hero-header) .village-hero-header p.eyebrow.mb-4,
body:has(.villages-hub-main) section.bg-gradient-to-b p.eyebrow.mb-4 {
  order: 2;
  max-width: 48rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

body:has(.culture-hero-header) article > .container > h1.text-3xl,
body:has(.culture-hub-page) article > .container > h1.text-3xl,
body:has(.segment-hero-header) article > .container > h1.text-3xl,
body:has(.segment-hub-main) article > .container > h1.text-3xl,
body:has(.village-hero-header) article > .container > h1.text-3xl,
body:has(.villages-hub-main) article > .container > h1.text-3xl {
  display: block !important;
  order: 3;
  position: static !important;
  transform: none !important;
  width: 100%;
  max-width: 48rem;
  margin: 0 auto !important;
  padding: 0 1rem;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(2.25rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1.1;
  color: #1a365d;
}

body:has(.culture-hero-header) .culture-hero-header p.mt-5.text-lg.text-muted-foreground.leading-relaxed,
body:has(.culture-hub-page) .culture-hub-page section p.mt-5.text-lg.text-muted-foreground.leading-relaxed,
body:has(.segment-hero-header) .segment-hero-header p.mt-5.text-lg.text-muted-foreground.leading-relaxed,
body:has(.segment-hub-main) section.bg-gradient-to-b p.mt-5.text-lg.text-muted-foreground.leading-relaxed,
body:has(.village-hero-header) .village-hero-header p.mt-5.text-lg.text-muted-foreground.leading-relaxed,
body:has(.villages-hub-main) section.bg-gradient-to-b p.mt-5.text-lg.text-muted-foreground.leading-relaxed {
  order: 4;
  max-width: 48rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1rem 3.5rem;
}

body:has(.culture-hero-header) main,
body:has(.culture-hub-page) .culture-hub-main,
body:has(.segment-hero-header) main,
body:has(.segment-hub-main) .segment-hub-main,
body:has(.village-hero-header) main,
body:has(.villages-hub-main) .villages-hub-main {
  order: 5;
}

/* Visit Sifnos: mobile menu fix (show scrollable top nav) */
@media (max-width: 1023px) {
  header nav {
    display: flex !important;
    align-items: center;
    gap: .5rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: .25rem 0;
    max-width: calc(100vw - 10rem);
  }
  header nav::-webkit-scrollbar { display: none; }
  header nav a {
    white-space: nowrap;
    padding: .45rem .7rem;
    border-radius: 9999px;
    background: rgba(255,255,255,.12);
  }
}

/* Related guides — slider (scoped) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap');

.vs-related{
  --cream:#FAF6EF;
  --ink:#1C3144;
  --ink-soft:#4B5E6E;
  --sea:#2D6A82;
  --sea-deep:#1E4A5C;
  --clay:#C1703F;
  --line:rgba(28,49,68,0.12);
  --radius:22px;
}

.vs-related .rounded-3xl{
  background: var(--cream) !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.vs-related .eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--clay) !important;
  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.vs-related h2{
  font-family:'Fraunces', serif !important;
  font-weight:600 !important;
  font-optical-sizing:auto;
  font-size:clamp(28px, 3.6vw, 44px) !important;
  line-height:1.05 !important;
  letter-spacing:-0.01em;
  color:var(--ink) !important;
  margin:0 !important;
}

.vs-related .text-muted-foreground{
  font-family:'Manrope', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color:var(--ink-soft) !important;
}

.vs-related a.inline-flex.text-sm{
  font-family:'Manrope', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size:15px !important;
  font-weight:700 !important;
  color:var(--ink) !important;
  text-decoration:none !important;
  white-space:nowrap;
  padding-bottom:3px;
  border-bottom:2px solid var(--ink);
  gap:9px;
  transition:gap .25s ease, color .25s ease, border-color .25s ease;
}
.vs-related a.inline-flex.text-sm:hover{
  color:var(--sea-deep) !important;
  border-color:var(--sea-deep);
  gap:13px;
}

.vs-related .flex.items-start{
  position:relative;
  margin-bottom:14px;
}
.vs-related .flex.items-start::after{
  content:"";
  display:block;
  width:100%;
  height:22px;
  margin-top:18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1180 22' preserveAspectRatio='none'%3E%3Cpath d='M0 4 Q 40 20 90 6 T 200 8 Q 260 20 320 5 T 460 7 Q 520 19 580 6 T 720 8 Q 780 19 840 5 T 980 7 Q 1040 18 1100 5 T 1180 6' fill='none' stroke='%23C1703F' stroke-width='2' stroke-linecap='round' opacity='0.55'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat:no-repeat;
}

.vs-related .mt-6.grid{
  display:flex !important;
  gap:16px !important;
  overflow-x:auto;
  padding: 6px 4px 18px !important;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling: touch;
}

.vs-related .mt-6.grid::-webkit-scrollbar{ height: 10px; }
.vs-related .mt-6.grid::-webkit-scrollbar-thumb{ background: rgba(28,49,68,0.22); border-radius: 999px; }
.vs-related .mt-6.grid::-webkit-scrollbar-track{ background: rgba(28,49,68,0.06); border-radius: 999px; }

.vs-related .mt-6.grid > a{
  flex: 0 0 clamp(240px, 68vw, 360px);
  scroll-snap-align: start;
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  box-shadow:0 1px 2px rgba(28,49,68,0.06) !important;
  overflow:hidden;
  text-decoration:none !important;
  color:inherit !important;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}

@media (min-width: 960px){
  .vs-related .mt-6.grid > a{ flex-basis: 320px; }
}

.vs-related .mt-6.grid > a:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 34px -18px rgba(28,49,68,0.35) !important;
}

.vs-related .mt-6.grid img{
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
.vs-related .mt-6.grid > a:hover img{ transform:scale(1.06); }

.vs-related .mt-6.grid .p-4{ padding:20px 22px 24px !important; }

.vs-related .mt-6.grid .p-4 > p:first-child{
  font-size:11.5px !important;
  font-weight:800 !important;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--sea) !important;
  font-family:'Manrope', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.vs-related .mt-6.grid .p-4 > p.font-display,
.vs-related .mt-6.grid .p-4 > p.font-display *{
  font-family:'Fraunces', serif !important;
  font-weight:600 !important;
  color:var(--ink) !important;
}

.vs-related .mt-6.grid .p-4 > p.font-display{ font-size:20px !important; line-height:1.2 !important; }

@media (prefers-reduced-motion: reduce){
  .vs-related .mt-6.grid > a,
  .vs-related .mt-6.grid img,
  .vs-related a.inline-flex.text-sm{ transition:none !important; }
}

/* VS Experience Guide — shared layout (things-to-do reference) */
/* VS Experience Guide — natural DOM flow (no display:contents reorder) */
.vs-experience-guide-page .vs-guide-body>section,.vs-experience-guide-page .vs-guide-body>aside{margin-bottom:3rem}
.vs-experience-guide-page .vs-guide-body h2{font-family:var(--font-display,'Playfair Display',Georgia,serif);font-size:1.5rem;line-height:2rem;color:oklch(0.32 0.08 240);margin-bottom:1rem}
.vs-experience-guide-page .vs-guide-body h3{font-family:var(--font-display,'Playfair Display',Georgia,serif);font-size:1.25rem;line-height:1.75rem;color:oklch(0.32 0.08 240);margin-bottom:.75rem}
.vs-experience-guide-page .vs-guide-body p,.vs-experience-guide-page .vs-guide-body li{color:oklch(0.45 0.02 240);line-height:1.6}
.vs-experience-guide-page .vs-guide-body ul{list-style:disc;padding-left:1.5rem}
@media (max-width:767px){.vs-experience-guide-page h1.font-display{font-size:2.25rem;line-height:2.5rem}}

/* VS Experience Guide — layout widths (things-to-do reference) */
body:has(.vs-experience-guide-page) article > .container {
  max-width: 100% !important;
  padding: 0 !important;
}
body:has(.vs-experience-guide-page) article > .container > h1.text-3xl {
  display: none !important;
}
body:has(.vs-experience-guide-page) section.bg-gradient-to-b > .container-prose.max-w-3xl {
  max-width: 48rem !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
}
body:has(.vs-experience-guide-page) main.container-prose {
  max-width: 75rem !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

/* Related experiences — wpautop-safe card layout */
.vs-experience-guide-page .vs-related-experiences {
  background: oklch(0.95 0.01 85) !important;
  border-radius: 1.5rem !important;
  padding: 2.5rem !important;
  border: 1px solid oklch(0.88 0.01 85) !important;
  margin-top: 0;
}
.vs-experience-guide-page .vs-related-experiences > h2 {
  font-family: var(--font-display, 'Playfair Display', Georgia, serif);
  font-size: 1.5rem;
  line-height: 2rem;
  color: oklch(0.32 0.08 240);
  margin: 0 0 1.5rem;
}
.vs-experience-guide-page .vs-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}
@media (max-width: 767px) {
  .vs-experience-guide-page .vs-related-grid {
    grid-template-columns: 1fr !important;
  }
}
.vs-experience-guide-page .vs-related-card {
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
  background: oklch(1 0 0) !important;
  border: 1px solid oklch(0.88 0.01 85) !important;
  border-radius: 0.75rem !important;
  padding: 1.25rem !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.vs-experience-guide-page .vs-related-card:hover {
  border-color: oklch(0.75 0.16 75) !important;
  box-shadow: 0 4px 14px rgba(28, 49, 68, 0.08);
}
.vs-experience-guide-page .vs-related-card__title {
  display: block;
  font-family: var(--font-display, 'Playfair Display', Georgia, serif);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.35;
  color: oklch(0.32 0.08 240);
}
.vs-experience-guide-page .vs-related-card__desc {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: oklch(0.45 0.02 240);
}

/* FAQ section */
.vs-experience-guide-page .vs-faq-list > div {
  background: oklch(1 0 0);
  border: 1px solid oklch(0.88 0.01 85);
  border-radius: 1rem;
  padding: 1.25rem 1.5rem;
}
.vs-experience-guide-page .vs-faq-list h3 {
  font-family: var(--font-display, 'Playfair Display', Georgia, serif);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  color: oklch(0.32 0.08 240);
  margin: 0 0 0.5rem;
}
.vs-experience-guide-page .vs-faq-list p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: oklch(0.45 0.02 240);
}
.vs-experience-guide-page .vs-guide-body section:has(.vs-faq-list) > h2 {
  margin-bottom: 1rem;
}

/* Segment hub — hide theme H1, natural hero flow (matches experience guides) */
body:has(.segment-hub-main) article > .container > h1.text-3xl {
  display: none !important;
}
body:has(.segment-hub-main) article > .container {
  display: block !important;
  max-width: 100% !important;
  padding: 0 !important;
}
body:has(.segment-hub-main) article > .container > .prose,
body:has(.segment-hub-main) .min-h-screen.flex.flex-col.bg-background,
body:has(.segment-hub-main) section.bg-gradient-to-b,
body:has(.segment-hub-main) section.bg-gradient-to-b > .container-prose {
  display: block !important;
}
body:has(.segment-hub-main) section.bg-gradient-to-b > .container-prose.max-w-3xl {
  max-width: 48rem !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
}

/* Events hub — hide theme H1, natural hero flow (matches experience guides) */
body:has(.events-hub-main) article > .container > h1.text-3xl {
  display: none !important;
}
body:has(.events-hub-main) article > .container {
  display: block !important;
  max-width: 100% !important;
  padding: 0 !important;
}
body:has(.events-hub-main) article > .container > .prose,
body:has(.events-hub-main) .min-h-screen.flex.flex-col.bg-background,
body:has(.events-hub-main) section.bg-gradient-to-b,
body:has(.events-hub-main) section.bg-gradient-to-b > .container-prose {
  display: block !important;
}
body:has(.events-hub-main) section.bg-gradient-to-b > .container-prose.max-w-3xl {
  max-width: 48rem !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
}

/* Culture hub — hide theme H1, natural hero flow (matches segment/events hubs) */
body:has(.culture-hub-main) article > .container > h1.text-3xl {
  display: none !important;
}
body:has(.culture-hub-main) article > .container {
  display: block !important;
  max-width: 100% !important;
  padding: 0 !important;
}
body:has(.culture-hub-main) article > .container > .prose,
body:has(.culture-hub-main) .culture-hub-page,
body:has(.culture-hub-main) .culture-hub-page.min-h-screen.flex.flex-col.bg-background,
body:has(.culture-hub-main) section.bg-gradient-to-b,
body:has(.culture-hub-main) section.bg-gradient-to-b > .container-prose {
  display: block !important;
  max-width: 100% !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body:has(.culture-hub-main) section.bg-gradient-to-b > .container-prose.max-w-3xl {
  display: block !important;
  max-width: 48rem !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
}

/* Experiences hub — hide theme H1, natural hero flow (matches segment/events/culture hubs) */
body:has(.experiences-hub-main) article > .container > h1.text-3xl {
  display: none !important;
}
body:has(.experiences-hub-main) article > .container {
  display: block !important;
  max-width: 100% !important;
  padding: 0 !important;
}
body:has(.experiences-hub-main) article > .container > .prose,
body:has(.experiences-hub-main) .experiences-hub-page,
body:has(.experiences-hub-main) .experiences-hub-page.min-h-screen.flex.flex-col.bg-background,
body:has(.experiences-hub-main) section.bg-gradient-to-b,
body:has(.experiences-hub-main) section.bg-gradient-to-b > .container-prose {
  display: block !important;
  max-width: 100% !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body:has(.experiences-hub-main) section.bg-gradient-to-b > .container-prose.max-w-3xl {
  display: block !important;
  max-width: 48rem !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
}
