/* Hero video — poster until YouTube iframe loads (replaces black flash) */
#villa-nova-sights .villa-nova-sights-video-wrapper[data-astro-cid-vvq47uzt]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #000 url("/hero-video-poster.webp") center / cover no-repeat;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

#villa-nova-sights
  .villa-nova-sights-video-wrapper.is-poster-hidden[data-astro-cid-vvq47uzt]::before {
  opacity: 0;
}

#villa-nova-sights .villa-nova-sights-video[data-astro-cid-vvq47uzt] {
  z-index: 0;
  opacity: 0;
  transition: opacity 0.35s ease;
}

#villa-nova-sights
  .villa-nova-sights-video-wrapper.is-video-ready[data-astro-cid-vvq47uzt]
  .villa-nova-sights-video[data-astro-cid-vvq47uzt] {
  opacity: 1;
}

/* Hero headline — must beat HomePage.css re-injected after View Transition navigations */
#villa-nova-sights .villa-nova-sights-headline[data-astro-cid-vvq47uzt] {
  position: absolute;
  top: 25%;
  left: 50% !important;
  z-index: 2;
  width: max-content;
  max-width: min(90vw, 42rem);
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none;
  background: none;
}

#villa-nova-sights .villa-nova-sights-title[data-astro-cid-vvq47uzt] {
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  font-size: clamp(2.375rem, 5.75vw, 4.25rem);
  text-align: center !important;
}

#villa-nova-sights .villa-nova-sights-title-line[data-astro-cid-vvq47uzt] {
  display: block;
  width: 100%;
  text-align: center !important;
  white-space: normal;
}

@media screen and (max-width: 59.375rem) {
  #villa-nova-sights .villa-nova-sights-title[data-astro-cid-vvq47uzt] {
    font-size: clamp(1.875rem, 7.5vw, 2.75rem);
  }
}

/* Hero headline — desktop: lower, two lines (one per title-line) */
@media screen and (min-width: 59.375rem) {
  #villa-nova-sights .villa-nova-sights-headline[data-astro-cid-vvq47uzt] {
    top: 25%;
    max-width: min(92vw, 54rem);
  }

  #villa-nova-sights .villa-nova-sights-title[data-astro-cid-vvq47uzt] {
    gap: var(--px-20);
    line-height: 1.15;
  }

  #villa-nova-sights .villa-nova-sights-title-line[data-astro-cid-vvq47uzt] {
    white-space: nowrap;
    width: auto;
  }
}

/* Check Availability hero CTA — label centered in all locales */
#villa-nova-sights a.check-availability-btn.villa-nova-sights-cta[data-astro-cid-vvq47uzt] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box;
  width: max-content;
  max-width: min(22rem, calc(100vw - 2 * var(--px-28)));
  margin: 0 !important;
  padding: var(--px-16) var(--px-24) !important;
  line-height: 1.35;
  white-space: normal;
}

.villa-nova-sights-scroll-chevron {
  position: absolute;
  left: 50%;
  bottom: var(--px-32);
  z-index: 2;
  transform: translateX(-50%);
  margin: 0;
  padding: var(--px-8);
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: var(--px-8);
  text-decoration: none;
  color: #ffffff;
  background-color: transparent;
  border: none !important;
  transition: opacity 0.2s cubic-bezier(0, 0, 0.58, 1);
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

.villa-nova-sights-scroll-label {
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.villa-nova-sights-scroll-chevron svg {
  width: 2.625rem;
  height: 2.625rem;
  display: block;
  flex-shrink: 0;
}

@media (hover: hover) and (pointer: fine) {
  .villa-nova-sights-scroll-chevron:hover {
    opacity: 0.85;
  }
}

@media screen and (max-width: 59.375rem) {
  #villa-nova-sights.villa-nova-sights[data-astro-cid-vvq47uzt],
  .villa-nova-sights-hero[data-astro-cid-vvq47uzt] {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .villa-nova-sights-video-wrapper[data-astro-cid-vvq47uzt] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  /* Cover hero: zoom past YouTube letterboxing (percent sizes — no 100vw page blowout) */
  .villa-nova-sights-hero[data-astro-cid-vvq47uzt] {
    height: 100svh !important;
    max-height: 100svh !important;
    min-height: 100svh !important;
  }

  .villa-nova-sights-video[data-astro-cid-vvq47uzt] {
    top: 50% !important;
    left: 50% !important;
    width: max(100%, 177.78svh) !important;
    height: max(100%, 56.25svw) !important;
    max-width: none !important;
    max-height: none !important;
    transform: translate(-50%, -50%) scale(1.35) !important;
  }

  .villa-nova-sights-hero[data-astro-cid-vvq47uzt] .villa-nova-sights-cta[data-astro-cid-vvq47uzt] {
    right: auto;
    left: 50%;
    bottom: calc(
      var(--px-24) + var(--px-6) + 1.75rem + var(--text-xs) + var(--px-6) + var(--px-16)
    );
    margin: 0;
    transform: translateX(-50%);
  }

  .villa-nova-sights-scroll-chevron {
    left: 50%;
    bottom: var(--px-24);
    flex-direction: column;
    gap: var(--px-2);
    padding: var(--px-4);
    transform: translateX(-50%);
  }

  .villa-nova-sights-scroll-chevron .villa-nova-sights-scroll-label {
    font-size: var(--text-xs);
  }

  .villa-nova-sights-scroll-chevron svg {
    width: 1.75rem;
    height: 1.75rem;
  }
}

/* Holiday House — heading above checklist (site CSS hides .section-title here) */
section#holiday-house > .section-container > .section-title[data-astro-cid-ipouusqe] {
  display: block !important;
  margin-bottom: var(--px-32);
  font-size: clamp(1.35rem, 1.5vw + var(--text-lg), 2rem);
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}

/* Home — horizontal gutters match footer (.main-footer padding-inline) */
main:has(#villa-nova-sights) > section:not(#villa-nova-sights) {
  padding-inline: var(--px-64);
}

@media screen and (max-width: 64rem) {
  main:has(#villa-nova-sights) > section:not(#villa-nova-sights) {
    padding-inline: var(--px-28);
  }
}

@media screen and (max-width: 42.188rem) {
  main:has(#villa-nova-sights) > section:not(#villa-nova-sights) {
    padding-inline: var(--px-28);
  }
}

/* Home #holiday-house — showcase adds extra px-64; use section gutter only */
main:has(#villa-nova-sights) #holiday-house .stacked-showcase[data-astro-cid-ipouusqe],
main:has(#villa-nova-sights) #holiday-house .showcase-section-title[data-astro-cid-ipouusqe],
main:has(#villa-nova-sights) #holiday-house .showcase-after[data-astro-cid-ipouusqe] {
  padding-inline: 0;
}

/* Home testimonials — mobile chevrons under card */
@media screen and (max-width: 48.0625rem) {
  #testimonials .testimonials-showcase[data-astro-cid-62jwjhbw] {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  #testimonials .testimonials-swiper {
    width: 100%;
    overflow: hidden;
  }

  #testimonials .testimonials-swiper .swiper-slide {
    opacity: 1 !important;
    transform: none !important;
  }

  #testimonials .testimonials-swiper .swiper-slide:not(.swiper-slide-active) {
    opacity: 0 !important;
    pointer-events: none;
  }

  #testimonials .testimonial-card[data-astro-cid-zzqkys7x] {
    width: 100%;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  #testimonials .testimonials-mobile-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--px-80);
    width: 100%;
    max-width: 23rem;
    margin-top: var(--px-24);
  }

  #testimonials .testimonials-mobile-nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    padding: var(--px-8);
    border: none;
    border-radius: 0;
    background: transparent;
    color: #ffffff;
    cursor: pointer;
    box-shadow: none;
    transition: opacity 0.2s ease;
  }

  #testimonials .testimonials-mobile-nav-btn svg {
    width: 2rem;
    height: 2rem;
    filter: drop-shadow(0 1px 8px rgba(0, 0, 0, 0.35));
  }

  @media (hover: hover) and (pointer: fine) {
    #testimonials .testimonials-mobile-nav-btn:hover {
      opacity: 0.85;
    }
  }

  #testimonials .testimonials-mobile-nav-btn:active {
    opacity: 0.65;
  }

  #testimonials .testimonials-mobile-nav-btn.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
  }
}

@media screen and (min-width: 48.0625rem) {
  #testimonials .testimonials-mobile-nav {
    display: none !important;
  }
}

/* Location, Activities, Bookings, Contact — gutters match footer */
section#the-location,
section#active-holidays,
section#bookings.bookings[data-astro-cid-c4b2faxm],
section#contact.contact[data-astro-cid-jjagjrbk] {
  padding-inline: var(--px-64);
}

@media screen and (max-width: 64rem) {
  section#the-location,
  section#active-holidays,
  section#contact.contact[data-astro-cid-jjagjrbk] {
    padding-inline: var(--px-28);
  }

  /* Bookings — section flush; header/legend use footer gutters (calendar track has its own) */
  section#bookings.bookings[data-astro-cid-c4b2faxm] {
    padding-inline: 0;
  }

  section#bookings.bookings[data-astro-cid-c4b2faxm] > .bookings-header.section-container {
    padding-inline: var(--px-28);
    box-sizing: border-box;
  }

  section#bookings.bookings[data-astro-cid-c4b2faxm] .availability-calendar-legend-row[data-astro-cid-emtsweun] {
    padding-inline: 0;
    box-sizing: border-box;
  }
}

@media screen and (max-width: 42.188rem) {
  section#the-location,
  section#active-holidays,
  section#contact.contact[data-astro-cid-jjagjrbk] {
    padding-inline: var(--px-28);
  }
}

/* Showcase pages — one gutter layer (section padding only) */
section#the-location .stacked-showcase[data-astro-cid-ipouusqe],
section#the-location .showcase-section-title[data-astro-cid-ipouusqe],
section#the-location .showcase-after[data-astro-cid-ipouusqe],
section#active-holidays .stacked-showcase[data-astro-cid-ipouusqe],
section#active-holidays .showcase-section-title[data-astro-cid-ipouusqe],
section#active-holidays .showcase-after[data-astro-cid-ipouusqe],
section#active-holidays .showcase-toggle[data-astro-cid-62jwjhbw] {
  padding-inline: 0;
}

/* Mobile — content gutters match .main-footer; showcase images edge-to-edge */
@media screen and (max-width: 64rem) {
  main#main > section:not(#villa-nova-sights) {
    padding-inline: var(--px-28);
    box-sizing: border-box;
  }

  main#main > section:not(#villa-nova-sights) > .section-container {
    padding-inline: 0;
  }

  main#main > article.guide-page > .section-container {
    padding-inline: var(--px-28);
    box-sizing: border-box;
  }

  main#main > article.legal-document[data-astro-cid-qdge2nox] {
    padding-inline: var(--px-28);
    box-sizing: border-box;
  }

  section:is(#holiday-house, #the-location, #active-holidays) {
    padding-inline: 0;
  }

  section:is(#holiday-house, #the-location, #active-holidays) > .section-container {
    padding-inline: var(--px-28);
    box-sizing: border-box;
  }

  section:is(#holiday-house, #the-location, #active-holidays)
    :is(.stacked-showcase, .showcase-section-title, .showcase-after)[data-astro-cid-ipouusqe] {
    padding-inline: 0 !important;
  }

  section:is(#holiday-house, #the-location, #active-holidays) > .section-container
    :is(.showcase-block-info, .showcase-section-title, .showcase-after)[data-astro-cid-ipouusqe],
  section:is(#holiday-house, #the-location, #active-holidays) > .section-container
    .showcase-toggle[data-astro-cid-62jwjhbw] {
    padding-inline: 0;
  }

  section#bookings.bookings[data-astro-cid-c4b2faxm] {
    padding-inline: 0;
  }

  section:is(#holiday-house, #the-location, #active-holidays)
    .showcase-block-media[data-astro-cid-ipouusqe] {
    border-radius: 0;
  }
}

/* /bookings — fit three calendar cards in the visible track */
.availability-calendar-legend-row[data-astro-cid-emtsweun] .availability-legend[data-astro-cid-emtsweun] {
  grid-column: 2;
  justify-self: stretch;
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--px-20);
}

.availability-calendar-reset,
.availability-calendar-reset[data-astro-cid-emtsweun] {
  position: static;
  flex-shrink: 0;
  margin-left: auto;
  width: 2.1875rem;
  height: 2.1875rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #ffffff;
  cursor: pointer;
  box-shadow: none;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.availability-calendar-reset.is-at-start,
.availability-calendar-reset[data-astro-cid-emtsweun].is-at-start,
.availability-calendar-reset:disabled,
.availability-calendar-reset[data-astro-cid-emtsweun]:disabled {
  opacity: 0.35;
  filter: grayscale(1) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
  cursor: default;
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .availability-calendar-reset:not(:disabled):hover,
  .availability-calendar-reset[data-astro-cid-emtsweun]:not(:disabled):hover {
    opacity: 1;
    transform: scale(1.05);
  }
}

.availability-calendar-reset svg,
.availability-calendar-reset[data-astro-cid-emtsweun] svg {
  width: 2.1875rem;
  height: 2.1875rem;
}

.bookings-calendar[data-astro-cid-c4b2faxm] {
  width: 100%;
  max-width: 100%;
}

/* Bookings steps — mobile copy aligns with full-width images (no extra side inset) */
@media screen and (max-width: 48rem) {
  .bookings-step-content[data-astro-cid-c4b2faxm] {
    padding: var(--px-16) 0 !important;
  }
}

/* Mobile — one full calendar card in the track (not a clipped narrow column) */
@media screen and (max-width: 64rem) {
  .bookings-calendar[data-astro-cid-c4b2faxm] {
    width: 100% !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: var(--px-28) !important;
    box-sizing: border-box;
  }

  /* Calendar full width; chevrons left + reset right on one row under the card */
  .availability-calendar-track[data-astro-cid-emtsweun] {
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: auto auto 1fr auto;
    column-gap: var(--px-8);
    row-gap: var(--px-12);
    align-items: center;
    width: 100%;
    box-sizing: border-box;
  }

  .availability-calendar-track[data-astro-cid-emtsweun] .availability-scroll-wrap[data-astro-cid-emtsweun] {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  .availability-calendar-track[data-astro-cid-emtsweun] .availability-chevron-prev[data-astro-cid-emtsweun] {
    grid-row: 2;
    grid-column: 1;
    justify-self: start;
  }

  .availability-calendar-track[data-astro-cid-emtsweun] .availability-chevron-next[data-astro-cid-emtsweun] {
    grid-row: 2;
    grid-column: 2;
    justify-self: start;
  }

  .availability-calendar-track[data-astro-cid-emtsweun] .availability-calendar-reset {
    grid-row: 2;
    grid-column: 4;
    justify-self: end;
    margin-left: 0;
  }

  .availability-calendar-legend-row[data-astro-cid-emtsweun] .availability-legend[data-astro-cid-emtsweun] {
    grid-column: 1 / -1;
  }

  .availability-calendar-legend-row[data-astro-cid-emtsweun] {
    grid-template-columns: minmax(0, 1fr);
    column-gap: var(--px-12);
    margin-bottom: var(--px-16);
  }

  .availability-scroll-wrap[data-astro-cid-emtsweun] {
    min-width: 0;
    overflow: hidden;
  }

  .availability-scroll[data-astro-cid-emtsweun] {
    display: flex;
    gap: var(--px-12);
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .availability-scroll[data-astro-cid-emtsweun] .calendar-month[data-astro-cid-emtsweun] {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    padding: var(--px-16);
    overflow: hidden;
  }

  .availability-scroll[data-astro-cid-emtsweun] .calendar-weekdays[data-astro-cid-emtsweun],
  .availability-scroll[data-astro-cid-emtsweun] .calendar-grid[data-astro-cid-emtsweun] {
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: var(--px-4);
  }

  .availability-scroll[data-astro-cid-emtsweun] .calendar-cell[data-astro-cid-emtsweun].day,
  .availability-scroll[data-astro-cid-emtsweun] .calendar-cell[data-astro-cid-emtsweun].empty {
    min-width: 0;
    min-height: 2.625rem;
    padding: var(--px-2);
  }

  .availability-scroll[data-astro-cid-emtsweun] .calendar-cell[data-astro-cid-emtsweun].day .day-number[data-astro-cid-emtsweun] {
    font-size: var(--text-xs);
    font-weight: 600;
    line-height: 1.1;
  }

  .availability-scroll[data-astro-cid-emtsweun] .calendar-cell[data-astro-cid-emtsweun].day .day-price[data-astro-cid-emtsweun] {
    font-size: 0.5625rem;
    line-height: 1.1;
  }

  .availability-scroll[data-astro-cid-emtsweun] .calendar-weekday[data-astro-cid-emtsweun] {
    font-size: 0.5625rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .availability-chevron[data-astro-cid-emtsweun] {
    width: var(--px-28);
    height: var(--px-44);
  }

  .availability-chevron[data-astro-cid-emtsweun] svg[data-astro-cid-emtsweun] {
    width: var(--px-24);
    height: var(--px-24);
  }
}

@media screen and (min-width: 48.0625rem) {
  .availability-scroll[data-astro-cid-emtsweun] .calendar-month[data-astro-cid-emtsweun] {
    flex: 0 0 calc((100% - 2 * var(--px-20)) / 3);
    max-width: calc((100% - 2 * var(--px-20)) / 3);
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
  }

  .availability-scroll[data-astro-cid-emtsweun] .calendar-weekdays[data-astro-cid-emtsweun],
  .availability-scroll[data-astro-cid-emtsweun] .calendar-grid[data-astro-cid-emtsweun] {
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: var(--px-4);
  }

  .availability-scroll[data-astro-cid-emtsweun] .calendar-cell[data-astro-cid-emtsweun].day,
  .availability-scroll[data-astro-cid-emtsweun] .calendar-cell[data-astro-cid-emtsweun].empty {
    min-width: 0;
    min-height: 2.875rem;
    padding: var(--px-4) var(--px-2);
  }

  .availability-scroll[data-astro-cid-emtsweun] .calendar-cell[data-astro-cid-emtsweun].day .day-number[data-astro-cid-emtsweun] {
    font-size: var(--text-xs);
    font-weight: 600;
    line-height: 1.1;
    max-width: 100%;
  }

  .availability-scroll[data-astro-cid-emtsweun] .calendar-cell[data-astro-cid-emtsweun].day .day-price[data-astro-cid-emtsweun] {
    font-size: 0.625rem;
    line-height: 1.1;
    max-width: 100%;
  }

  .availability-scroll[data-astro-cid-emtsweun] .calendar-weekday[data-astro-cid-emtsweun] {
    font-size: 0.625rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

.calendar-month[data-astro-cid-emtsweun] .calendar-month-label[data-astro-cid-emtsweun] {
  text-align: left;
  color: #000000;
  margin-bottom: var(--px-16);
  font-size: var(--text-lg);
  font-weight: 500;
}

.calendar-cell.day.past[data-astro-cid-emtsweun] {
  opacity: 0.4;
  filter: grayscale(0.35);
  pointer-events: none;
}

.calendar-cell.day.past[data-astro-cid-emtsweun] .day-price[data-astro-cid-emtsweun] {
  opacity: 0.65;
}

/* Brand logotype — Courgette (header + footer), all viewports */
a.logo,
a.headline.logo {
  font-family: var(--font-courgette), cursive !important;
  font-weight: 400;
  font-size: 30px;
  letter-spacing: 0;
  font-style: normal !important;
  text-transform: none;
}

.header[data-astro-cid-3ef6ksr2] a.logo[data-astro-cid-3ef6ksr2] {
  white-space: nowrap;
  display: inline-block;
}

.header[data-astro-cid-3ef6ksr2] .logo-container[data-astro-cid-3ef6ksr2] {
  flex-shrink: 0;
  min-width: 0;
}

/* Header — nav labels > ~9 chars may wrap (tablet + desktop) */
@media screen and (min-width: 48.0625rem) {

  .header[data-astro-cid-3ef6ksr2] .nav-menu[data-astro-cid-3ef6ksr2] {
    align-items: center;
  }

  .header[data-astro-cid-3ef6ksr2] .nav-link[data-astro-cid-3ef6ksr2] {
    display: block;
    max-width: 9ch;
    text-align: center;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}

/* Tablet — horizontal nav + header language (same as desktop, no hamburger) */
@media screen and (min-width: 48.0625rem) and (max-width: 64rem) {
  .header[data-astro-cid-3ef6ksr2] .hamburger[data-astro-cid-3ef6ksr2] {
    display: none !important;
  }

  .header[data-astro-cid-3ef6ksr2] .mobile-overlay[data-astro-cid-3ef6ksr2] {
    display: none !important;
  }

  .header[data-astro-cid-3ef6ksr2] .nav-content[data-astro-cid-3ef6ksr2] {
    position: static !important;
    inset: auto !important;
    height: auto !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    background-image: none !important;
    z-index: auto !important;
    display: block !important;
  }

  .header[data-astro-cid-3ef6ksr2] .nav-menu[data-astro-cid-3ef6ksr2] {
    flex-direction: row !important;
    gap: 0 !important;
    margin-bottom: 0 !important;
    justify-content: flex-start !important;
  }

  .header[data-astro-cid-3ef6ksr2] .nav-item[data-astro-cid-3ef6ksr2] {
    margin-inline: var(--px-16) !important;
  }

  .header[data-astro-cid-3ef6ksr2] .nav-link[data-astro-cid-3ef6ksr2] {
    font-size: var(--text-base) !important;
    color: inherit;
  }

  .header[data-astro-cid-3ef6ksr2] .header-trailing[data-astro-cid-3ef6ksr2] .lang-dropdown[data-lang-dropdown] {
    display: block;
  }

  .nav-lang-section[data-astro-cid-3ef6ksr2] {
    display: none !important;
  }
}

/* Mobile only — full-width menu panel, languages in drawer */
@media screen and (max-width: 48rem) {
  .header[data-astro-cid-3ef6ksr2] .header-trailing[data-astro-cid-3ef6ksr2] .lang-dropdown[data-lang-dropdown] {
    display: none;
  }

  .header[data-astro-cid-3ef6ksr2] .mobile-overlay[data-astro-cid-3ef6ksr2] {
    top: var(--h-menu-bar);
    height: calc(100dvh - var(--h-menu-bar));
    height: calc(100vh - var(--h-menu-bar));
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .header[data-astro-cid-3ef6ksr2] .mobile-overlay[data-astro-cid-3ef6ksr2].active {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.45);
  }

  .header[data-astro-cid-3ef6ksr2] .nav-container[data-astro-cid-3ef6ksr2] {
    position: relative;
    z-index: calc(var(--z-max) + 1);
  }

  .nav-content[data-astro-cid-3ef6ksr2] {
    top: var(--h-menu-bar);
    height: calc(100dvh - var(--h-menu-bar));
    height: calc(100vh - var(--h-menu-bar));
    left: 0;
    right: auto !important;
    width: 100%;
    max-width: 100%;
    box-shadow: none;
    background-color: #1a3e64;
    background-image: none !important;
    padding: var(--px-24) var(--px-16) var(--px-32);
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    transform: translateX(100%);
    visibility: hidden;
    pointer-events: none;
    transition: none !important;
    z-index: var(--z-999);
  }

  .nav-content[data-astro-cid-3ef6ksr2] .nav-menu[data-astro-cid-3ef6ksr2] {
    width: auto;
    margin-bottom: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .nav-content[data-astro-cid-3ef6ksr2] .nav-item[data-astro-cid-3ef6ksr2] {
    margin-inline: 0 !important;
    text-align: center;
  }

  .nav-content[data-astro-cid-3ef6ksr2] .nav-link[data-astro-cid-3ef6ksr2] {
    max-width: none !important;
    text-align: center;
  }

  .nav-content[data-astro-cid-3ef6ksr2].active {
    right: auto !important;
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
  }

  .header[data-astro-cid-3ef6ksr2] .mobile-overlay[data-astro-cid-3ef6ksr2] {
    transition: none !important;
  }

  /* Menu open: header bar matches closed/desktop (no blur bleed-through) */
  .header[data-astro-cid-3ef6ksr2]:has(.nav-content.active) {
    background-color: #1e4d7b;
    background-image: linear-gradient(#16487894, #16487894), url(/header-portuguese-tiles.jpg);
    background-repeat: repeat;
    background-size: 10.25rem auto;
    background-position: center top;
  }

  .nav-content[data-astro-cid-3ef6ksr2] .nav-lang-section[data-astro-cid-3ef6ksr2] {
    margin-top: var(--px-40);
    padding-top: var(--px-40);
    border-top: 1px solid rgba(255, 255, 255, 0.28);
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }

  .nav-lang-heading[data-astro-cid-3ef6ksr2] {
    display: none;
  }

  .nav-lang-menu[data-astro-cid-3ef6ksr2] {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--px-12);
    width: 100%;
    max-width: 100%;
  }

  .nav-content[data-astro-cid-3ef6ksr2] .nav-lang-item[data-astro-cid-3ef6ksr2] {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .nav-lang-row[data-astro-cid-3ef6ksr2] {
    display: inline-flex;
    align-items: center;
    opacity: 0.88;
  }

  .nav-content[data-astro-cid-3ef6ksr2] .nav-lang-flag[data-astro-cid-3ef6ksr2] {
    display: none !important;
  }

  .nav-lang-row--active[data-astro-cid-3ef6ksr2] {
    opacity: 1;
  }

  .nav-lang-link[data-astro-cid-3ef6ksr2] {
    text-align: center;
    font-size: var(--text-base);
    line-height: 1.3;
    color: var(--color-white);
    text-decoration: none;
  }

  .nav-lang-link--active[data-astro-cid-3ef6ksr2] {
    font-weight: 600;
  }
}

@media screen and (min-width: 48.0625rem) {
  .nav-lang-section[data-astro-cid-3ef6ksr2] {
    display: none !important;
  }
}
