/* Shared chrome polish. Theme class names stay as-is; this layer only
   restyles surfaces that already exist on every page (header, menus,
   buttons, cards, forms, FAQ, footer). */

.header.is-fixed,
.header {
  background-color: transparent !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* Glass lives on a sibling layer, not the header itself. backdrop-filter on
   the header would make the fixed fullscreen menu position inside the 8rem bar. */
.header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: saturate(160%) blur(18px);
  -webkit-backdrop-filter: saturate(160%) blur(18px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55) inset, 0 10px 28px rgba(0, 0, 0, 0.05);
}

.header__main {
  position: relative;
  z-index: 1;
}

.header._white:not(.is-fixed):not(.is-active) {
  border-bottom-color: transparent;
}

.header._white:not(.is-fixed):not(.is-active)::before {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
}

.header__burger-wrap {
  display: none;
}

@media (max-width: 900px) {
  .header__burger-wrap {
    display: flex;
    align-items: center;
  }

  .header__burger {
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    background: none !important;
    background-image: none !important;
    color: #111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background-color: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .header__burger-lines {
    position: relative;
    display: block;
    width: 18px;
    height: 14px;
  }

  .header__burger-lines span {
    position: absolute;
    left: 0;
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
    transition: transform 0.2s ease, opacity 0.2s ease, top 0.2s ease;
  }

  .header__burger-lines span:nth-child(1) { top: 1px; }
  .header__burger-lines span:nth-child(2) { top: 6px; }
  .header__burger-lines span:nth-child(3) { top: 11px; }

  .header__burger.is-active .header__burger-lines span:nth-child(1) {
    top: 6px;
    transform: rotate(45deg);
  }

  .header__burger.is-active .header__burger-lines span:nth-child(2) {
    opacity: 0;
  }

  .header__burger.is-active .header__burger-lines span:nth-child(3) {
    top: 6px;
    transform: rotate(-45deg);
  }

  /* The theme's fullscreen menu is a desktop 4+8 grid with a grey right panel.
     Those rules only collapse at 600px, but the burger now shows up to 900px
     (when the desktop nav hides). Keep the phone layout for the whole range. */
  .fullscreen-menu__background {
    display: none !important;
  }

  .fullscreen-menu__main {
    padding: 0;
    max-width: none;
  }

  .fullscreen-menu .col {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .fullscreen-menu .col-span-4,
  .fullscreen-menu .col-span-8 {
    width: 100%;
    grid-column: auto;
  }

  .fullscreen-menu__menu {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .fullscreen-menu__menu .lang {
    display: flex;
    margin-top: 3rem;
  }

  .fullscreen-menu .menu--fullscreen .menu__list {
    align-items: center;
  }

  .fullscreen-menu .menu--fullscreen .menu__list--submenu {
    margin: 1rem 0 0;
  }

  .fullscreen-menu .social-icons._close {
    display: none;
  }

  .fullscreen-menu .social-icons._open {
    display: flex;
    justify-content: center;
  }

  .fullscreen-menu__content {
    padding: 3rem;
    background-color: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.header.is-active .fullscreen-menu {
  background-color: rgba(255, 255, 255, 0.88);
  backdrop-filter: saturate(160%) blur(22px);
  -webkit-backdrop-filter: saturate(160%) blur(22px);
}

/* Desktop header on laptop widths. With STUDIOS added the primary menu no longer fit
   one row below ~1280px: labels ("Groupes & Événements") and the booking pill broke
   onto two lines and the header grew. Keep every label on one line and take the
   slack out of the link padding and the gaps instead, down to where the burger menu
   takes over. */
.header .header__content .menu__link,
.header .header__content > .button .button__text {
  white-space: nowrap;
}
@media (min-width: 901px) and (max-width: 1365px) {
  .header .header__content {
    gap: 2rem;
  }
  .header .menu--primary .menu__list--level-0 > .menu__item > .menu__link {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .header .header__content > .button {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
}
/* Tighter still up to 1180px: without it the flex row shrinks the logo instead
   (down to ~32px at 1024px on the FR Studios pages). */
@media (min-width: 901px) and (max-width: 1180px) {
  .header .header__content {
    gap: 1.2rem;
  }
  .header .menu--primary .menu__list--level-0 > .menu__item > .menu__link {
    padding-left: 0.7rem;
    padding-right: 0.7rem;
  }
  .header .header__content > .button {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

/* Location (and any other) desktop dropdown: one solid card, not a
   painted parent chip plus a detached child pill. */
.header .menu--primary .menu__list--level-0 > .menu__item:hover > .menu__link,
.header .menu--primary .menu__list--level-0 > .menu__item:focus-within > .menu__link {
  background-color: transparent !important;
  box-shadow: inset 0 -2px 0 currentColor;
}

.header .menu--primary .menu__list--submenu,
.header .menu--primary .menu__list--level-1 {
  top: calc(100% - 0.2rem);
  left: 0;
  width: max-content;
  min-width: 22rem !important;
  padding: 0.8rem !important;
  margin: 0 !important;
  border-radius: 12px;
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16);
  transform: translateY(0.4rem);
  overflow: hidden;
}

.header .menu--primary .menu__item:hover > .menu__list--submenu,
.header .menu--primary .menu__item:focus-within > .menu__list--submenu,
.header .menu--primary .menu__item:hover > .menu__list--level-1,
.header .menu--primary .menu__item:focus-within > .menu__list--level-1 {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) !important;
}

.header .menu--primary .menu__list--level-1 .menu__item {
  padding: 0 !important;
  width: 100%;
}

.header .menu--primary .menu__list--submenu .menu__link,
.header .menu--primary .menu__list--level-1 .menu__link {
  width: 100%;
  justify-content: flex-start;
  border-radius: 8px;
  padding: 1.1rem 1.4rem !important;
  background: transparent !important;
  box-shadow: none;
}

.header .menu--primary .menu__list--submenu .menu__item:hover > .menu__link,
.header .menu--primary .menu__list--submenu .menu__link:hover,
.header .menu--primary .menu__list--submenu .menu__link:focus-visible {
  background: rgba(0, 0, 0, 0.06) !important;
}

.form,
.fc-block-form .form {
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: saturate(160%) blur(16px);
  -webkit-backdrop-filter: saturate(160%) blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.05);
  border-radius: 22px;
}

.footer {
  background: #141414;
  color: #f6efe6;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.footer * {
  color: inherit;
}

.footer a:hover {
  color: #f9da82;
}

.footer__main {
  display: grid;
  grid-template-columns: minmax(18rem, 1.2fr) minmax(0, 2fr) auto;
  align-items: center;
  gap: 4rem;
  padding: 5.6rem 3rem 3.2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer__brand {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.footer__brand img {
  width: 12.8rem;
  height: auto;
  filter: invert(1);
}

.footer__tagline {
  max-width: 28rem;
  font-size: 1.4rem;
  line-height: 1.4;
  color: rgba(246, 239, 230, 0.72);
}

.footer .menu--footer .menu__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.4rem 3.2rem;
}

.footer .menu--footer .menu__item,
html[data-lang="fr"] .footer .menu--footer .menu__item,
html[data-lang="nl"] .footer .menu--footer .menu__item {
  margin-right: 0 !important;
}

.footer .menu--footer .menu__link,
.footer .menu--footer-secondary .menu__link {
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.footer .menu--footer-secondary .menu__list {
  display: flex;
  gap: 2.4rem;
  justify-content: flex-end;
}

.footer__secondary {
  padding: 2.4rem 3rem 3.2rem;
}

.footer__copyrights,
.footer__copyrights span {
  color: rgba(246, 239, 230, 0.55);
}

.footer .social-icons {
  display: flex;
  gap: 1rem;
  margin: 0;
}

.footer .social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.32);
}

.footer .social-icons a:hover {
  background: rgba(249, 218, 130, 0.22);
  border-color: #f9da82;
}

.footer .social-icons svg {
  width: 2rem;
  height: 2rem;
  color: #fff;
  fill: #fff;
}

.footer .social-icons a:hover svg {
  fill: #f9da82 !important;
  color: #f9da82;
}

.fullscreen-menu .social-icons svg {
  width: 2.2rem;
  height: 2.2rem;
  fill: currentColor;
}

@media (max-width: 900px) {
  .footer,
  .footer a,
  .footer p,
  .footer .menu__link,
  .footer__tagline,
  .footer__copyrights {
    font-family: "Proxima Nova", system-ui, sans-serif !important;
    letter-spacing: 0 !important;
    word-spacing: 0.06em;
    font-variant-ligatures: none;
    font-feature-settings: "liga" 0, "clig" 0, "calt" 0;
  }

  .footer__main,
  .footer__main > * {
    margin: 0 !important;
  }

  .footer__main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2.2rem;
    padding: 3.6rem 2.4rem 2.2rem !important;
    text-align: center;
  }

  .footer__brand {
    gap: 1rem;
    align-items: center;
  }

  .footer__brand img {
    width: 11.2rem;
  }

  .footer__tagline {
    max-width: none;
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
  }

  .footer .menu.menu--footer {
    width: 100%;
  }

  .footer .menu--footer .menu__list,
  .footer .menu--footer .menu__list.menu__list--level-0 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.2rem 0.2rem;
    max-width: 34rem;
    margin: 0 auto;
  }

  .footer .menu--footer .menu__list .menu__item,
  .footer .menu--footer .menu__item,
  .menu--footer .menu__list .menu__item {
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    text-align: center;
  }

  .footer .menu--footer .menu__link {
    display: inline-block;
    font-size: 15px !important;
    font-weight: 600;
    line-height: 1.2;
    padding: 0.7rem 1rem;
    text-decoration: none !important;
  }

  .footer .menu--footer .menu__item:not(:last-child) .menu__link::after {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    margin: 0 0 0 1rem;
    border-radius: 50%;
    background: rgba(246, 239, 230, 0.45);
    vertical-align: middle;
  }

  .footer .social-icons {
    justify-content: center;
    gap: 1.2rem;
    margin: 0.4rem 0 0;
  }

  .footer .social-icons a {
    width: 4.8rem;
    height: 4.8rem;
  }

  .footer__secondary,
  .footer__secondary > * {
    margin: 0 !important;
  }

  .footer__secondary {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    text-align: center;
    padding: 1.8rem 2.4rem 8rem !important;
  }

  .footer__copyrights {
    margin: 0 !important;
    font-size: 13px;
    font-weight: 500;
  }

  .footer__copyrights span {
    font-size: 13px !important;
    color: inherit !important;
    margin-right: 0.4rem !important;
  }

  .footer__legal {
    width: 100%;
  }

  .footer .menu--footer-secondary .menu__list,
  .footer .menu--footer-secondary .menu__list.menu__list--level-0 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0 1.8rem;
  }

  .footer .menu--footer-secondary .menu__item {
    width: auto !important;
    margin: 0 !important;
  }

  .footer .menu--footer-secondary .menu__link {
    font-size: 13px !important;
    font-weight: 500;
    text-decoration: none !important;
  }
}

/* --- buttons ------------------------------------------------------- */
.button {
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  background-color: rgba(196, 160, 203, 0.72) !important;
  backdrop-filter: saturate(160%) blur(14px);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    background-color 0.35s ease;
}

.button:hover {
  transform: translateY(-2px);
  background-color: rgba(169, 115, 179, 0.86) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.12);
}

.button._green,
.button._green:hover {
  background-color: rgba(173, 191, 186, 0.78) !important;
}
.button._green:hover {
  background-color: rgba(119, 164, 151, 0.88) !important;
}

.button._yellow {
  background-color: rgba(249, 218, 130, 0.8) !important;
}
.button._yellow:hover {
  background-color: rgba(219, 193, 46, 0.9) !important;
}

.button._outline {
  background-color: rgba(255, 255, 255, 0.45) !important;
  border-color: rgba(0, 0, 0, 0.16);
}
.button._outline:hover {
  background-color: rgba(255, 255, 255, 0.72) !important;
}
/* The theme's outline hover paints the text white on a black fill; the glass fill above
   is near-white, so keep ink text. (The header's own buttons are left as they are.) */
.button._outline:not(.header *):hover,
.button._outline:not(.header *):focus-visible {
  color: #111;
}

.button._white,
.button._white-blue {
  background-color: rgba(255, 255, 255, 0.7) !important;
}

.button._orange {
  background-color: rgba(249, 223, 201, 0.78) !important;
}
.button._orange:hover {
  background-color: rgba(211, 149, 96, 0.88) !important;
}

.button._black {
  background-color: rgba(17, 17, 17, 0.82) !important;
  color: #fff !important;
}
.button._black .button__text {
  color: #fff;
}

.button._secondary {
  background-color: rgba(255, 255, 255, 0.5) !important;
  border-color: rgba(0, 0, 0, 0.12);
}

.filter-group input:checked + label.button {
  background-color: rgba(17, 17, 17, 0.82) !important;
  color: #fff !important;
}
.filter-group input:not(:checked) + label.button {
  background-color: rgba(255, 255, 255, 0.55) !important;
  color: #111 !important;
}

/* Booking submit sits inside the pill; clip it, don't restyle it as a button. */
.page-header__booking-form .button {
  border-radius: 0;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.page-header__booking-form .button:hover {
  transform: none;
}

.header .lang {
  position: relative;
  z-index: 40;
}

.header .lang__current {
  width: auto !important;
  min-width: 6.4rem;
  height: 4.4rem !important;
  padding: 0 1.4rem;
  gap: 0.6rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  transition: background-color 0.25s ease;
}

.header .lang__current:hover,
.header .lang.is-open .lang__current {
  background-color: rgba(255, 255, 255, 0.92);
}

.header .lang__list,
.fullscreen-menu .lang__list {
  left: auto !important;
  right: 0;
  top: calc(100% + 0.8rem);
  width: auto !important;
  min-width: 16rem !important;
  padding: 0.8rem !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16);
  z-index: 50;
}

.header .lang__el,
.fullscreen-menu .lang__el {
  margin-bottom: 0 !important;
}

.header .lang__link,
.fullscreen-menu .lang__link {
  width: 100% !important;
  height: 4rem !important;
  padding: 0 1.4rem !important;
  justify-content: flex-start !important;
  border-radius: 10px;
  font-size: 1.4rem;
}

.header .lang__link:hover,
.header .lang__link:focus-visible,
.fullscreen-menu .lang__link:hover {
  background: rgba(0, 0, 0, 0.06);
}

/* --- hero booking bar ---------------------------------------------- */
.home .page-header__img-wrapper {
  position: absolute;
  inset: 0;
}

.home .page-header,
.home .page-header._big {
  overflow: visible;
}

.home .page-header__content {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  width: 100% !important;
  height: 100%;
  min-height: 100%;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 2.4rem;
  z-index: 30;
}

.home .page-header__hero-spacer {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  pointer-events: none;
}

.home .page-header__subtitle {
  font-size: clamp(2.6rem, 4.4vw, 4.6rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.12;
  text-shadow: 0 8px 32px rgba(0, 0, 0, 0.38);
  animation: heroCopy 1.05s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home .page-header__subtitle span {
  display: block;
  margin-top: 0.85rem;
  font-size: 0.56em;
  letter-spacing: 0.16em;
  opacity: 0.92;
  animation: heroCopy 1.15s 0.12s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.page-header__booking-form {
  position: sticky !important;
  top: 9.2rem;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 40;
  width: min(98rem, calc(100% - 4.8rem)) !important;
  margin: 2.8rem auto 4rem;
  flex-shrink: 0;
  animation: heroBar 0.95s 0.18s cubic-bezier(0.22, 1, 0.36, 1) both;
  backdrop-filter: saturate(160%) blur(18px);
  -webkit-backdrop-filter: saturate(160%) blur(18px);
  border-radius: 9999px;
}

.page-header__booking-form > form {
  background: rgba(246, 239, 230, 0.32) !important;
  backdrop-filter: saturate(180%) blur(28px);
  -webkit-backdrop-filter: saturate(180%) blur(28px);
  border: 1px solid rgba(17, 17, 17, 0.16);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.38);
  border-radius: 999px !important;
  overflow: visible;
}

.page-header__booking-form form > div {
  min-height: 6.4rem;
  padding-top: 0;
  padding-bottom: 0;
  border-right-color: rgba(17, 17, 17, 0.14);
}

.page-header__booking-form input,
.page-header__booking-form select {
  background: transparent !important;
  color: #111 !important;
  font-weight: 600;
  font-size: 1.7rem;
  letter-spacing: 0.01em;
  text-align: center;
  text-align-last: center;
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
}

.page-header__booking-form input::placeholder,
.page-header__booking-form select:invalid {
  color: rgba(17, 17, 17, 0.52);
  font-weight: 600;
}

.page-header__booking-form .button {
  background-color: rgba(17, 17, 17, 0.88) !important;
  border-radius: 0 999px 999px 0 !important;
}

.page-header__booking-form .button:hover {
  background-color: #111 !important;
}

.page-header__booking-form .button,
.page-header__booking-form .button__text,
.page-header__booking-form .button input {
  color: #fff !important;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.page-header__book-now {
  border-radius: 999px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

@media (max-width: 800px) {
  .home .page-header__content {
    width: 100% !important;
    padding: 0 1.6rem;
  }

  .page-header__booking-form {
    top: 8rem;
    width: min(34rem, calc(100% - 6.4rem)) !important;
    margin-top: 2rem;
    margin-bottom: 2.4rem;
    border-radius: 24px;
  }

  .page-header__booking-form > form {
    flex-direction: column;
    border-radius: 24px !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .page-header__booking-form form > div {
    position: relative;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
  }

  .page-header__booking-form form > div:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 1.8rem;
    right: 1.8rem;
    bottom: 0;
    height: 1px;
    background: rgba(17, 17, 17, 0.28);
    pointer-events: none;
  }

  .page-header__booking-form .button {
    border: none !important;
    border-radius: 0 0 20px 20px !important;
  }
}

.ready-to-book__inner {
  background: rgba(249, 218, 130, 0.82) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
/* The theme sets the label white, which reads 1.3:1 on the yellow glass. */
.ready-to-book .ready-to-book__inner span {
  color: #111;
}

/* --- cards / news -------------------------------------------------- */
.card {
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.58);
  backdrop-filter: saturate(150%) blur(14px);
  -webkit-backdrop-filter: saturate(150%) blur(14px);
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.06);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.1);
}

.card__img-wrapper {
  border-radius: 18px 18px 0 0;
  overflow: hidden;
}
.card__img-wrapper img {
  border-radius: 18px 18px 0 0;
}

/* --- FAQ ----------------------------------------------------------- */
.faq__item,
.faq__details {
  background: rgba(255, 255, 255, 0.58);
  backdrop-filter: saturate(150%) blur(14px);
  -webkit-backdrop-filter: saturate(150%) blur(14px);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}
.faq__search {
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 999px;
  overflow: hidden;
}

/* --- forms --------------------------------------------------------- */
.astay-form input[type="text"],
.astay-form input[type="email"],
.astay-form input[type="tel"],
.astay-form select,
.astay-form textarea {
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-color: rgba(0, 0, 0, 0.12) !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.astay-form input:focus,
.astay-form select:focus,
.astay-form textarea:focus {
  outline: none;
  border-color: rgba(0, 0, 0, 0.35) !important;
  box-shadow: 0 0 0 4px rgba(196, 160, 203, 0.28);
}
.astay-form-submit {
  border-radius: 999px !important;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.3s ease;
}
.astay-form-submit:hover {
  transform: translateY(-2px);
}

/* --- sliders / gallery --------------------------------------------- */
.button-circle,
.swiper-news__button,
.splide__arrow {
  background: rgba(255, 255, 255, 0.65) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.flicker-band {
  padding: 7rem 3rem 2.4rem;
}

.flicker-text {
  margin: 0;
  font-family: "Halyard Display", "Proxima Nova", sans-serif;
  font-weight: 400;
  font-size: clamp(4.8rem, 8vw, 9.6rem);
  line-height: 0.95;
  letter-spacing: -0.03em;
  text-align: center;
  text-transform: uppercase;
  color: #111;
}

.fc-block-text-color + .fc-block-slider {
  background: #f9da82;
  margin-top: 0;
  padding: 0;
}

.fc-block-text-color + .fc-block-slider .block-slider {
  padding: 0;
}

.splide-gallery .splide__slide {
  border-radius: 0;
  overflow: hidden;
}

.fc-block-text-color + .fc-block-slider + .fc-block-image-text {
  margin-top: 0 !important;
}

.fc-block-text-color + .fc-block-slider .splide__arrows {
  position: absolute;
  right: 1.6rem;
  bottom: 1.6rem;
  z-index: 3;
  margin: 0;
  padding: 0;
  gap: 0.8rem;
}

.splide-gallery .splide-page {
  display: none;
}

.splide-gallery .splide__arrow {
  width: 4.4rem !important;
  height: 4.4rem !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(17, 17, 17, 0.2);
  background: rgba(255, 255, 255, 0.4) !important;
  backdrop-filter: saturate(160%) blur(16px);
  -webkit-backdrop-filter: saturate(160%) blur(16px);
  box-shadow: none;
  color: #111;
  rotate: none !important;
}

.splide-gallery .splide__arrow svg {
  width: 1.8rem !important;
  height: 1.8rem !important;
  display: block;
  margin: 0;
  fill: none !important;
}

.splide-gallery .splide__arrow svg path {
  fill: none !important;
  stroke: #111 !important;
}

.home .fc-block-uppercase-text {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important;
}

.home .fc-block-uppercase-text picture {
  display: none;
}

.home .fc-block-uppercase-text.u-mar-b-120 {
  margin-bottom: 8rem !important;
}

@media (max-width: 640px) {
  .flicker-band {
    padding: 4.8rem 2rem 1.6rem;
  }
}

.block-box-fix {
  background-color: rgba(0, 83, 237, 0.78);
  backdrop-filter: saturate(160%) blur(16px);
  -webkit-backdrop-filter: saturate(160%) blur(16px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 16px 40px rgba(0, 83, 237, 0.18);
}

.block-icon-text {
  background: rgba(255, 255, 255, 0.45);
  backdrop-filter: saturate(150%) blur(14px);
  -webkit-backdrop-filter: saturate(150%) blur(14px);
  border-radius: 20px;
}

.astay-form .astay-form-check input[type="checkbox"] {
  border-radius: 6px;
}

/* --- booking datepicker -------------------------------------------- */
/* flatpickr 4 marks unavailable days .flatpickr-disabled; the theme's bundled flatpickr
   CSS predates that class (it styles .disabled), so past days looked selectable. */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.flatpickr-disabled:focus {
  color: rgba(57, 57, 57, 0.25);
  background: transparent;
  border-color: transparent;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  cursor: not-allowed;
}
/* The theme greys the neighbouring months' days the same way; they're bookable, so keep
   them readable — only a little lighter than the current month. */
.flatpickr-day.prevMonthDay:not(.flatpickr-disabled):not(.selected),
.flatpickr-day.nextMonthDay:not(.flatpickr-disabled):not(.selected) {
  color: rgba(17, 17, 17, 0.5);
}

/* --- lettering videos ---------------------------------------------- */
/* The NL/FR hand-lettered headlines (HELLO ANTWERP, JOIN THE MOVEMENT, …) are black ink
   on a baked-in background that only approximates the section colour (and shifts with
   each browser's video colour handling), so they showed as a visible rectangle. Push the
   video's background to pure white and multiply it onto the section: the section colour
   shows through exactly, the black letters stay black. */
.fc-block-text-color section video {
  filter: grayscale(1) contrast(2) brightness(1.1);
  mix-blend-mode: multiply;
}

/* --- motion -------------------------------------------------------- */
@keyframes f {
  0% { transform: translate3d(0, 1.4rem, 0); opacity: 0; }
  to { transform: translateZ(0); opacity: 1; }
}

@keyframes heroCopy {
  from {
    opacity: 0;
    transform: translateY(1.8rem);
    letter-spacing: 0.2em;
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes heroBar {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* overflow-x:hidden on html/body (theme) creates a scroll container and
   kills position:sticky. clip still blocks horizontal spill without that. */
html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  overflow-x: clip;
}

@media (prefers-reduced-motion: reduce) {
  .header__burger-lines span {
    transition: none;
  }

  html {
    scroll-behavior: auto;
  }

  .button,
  .card,
  .astay-form-submit {
    transition: none;
  }

  .button:hover,
  .card:hover,
  .astay-form-submit:hover {
    transform: none;
  }

  .home .page-header__subtitle,
  .home .page-header__subtitle span,
  .page-header__booking-form {
    animation: none;
  }
}
