/* The service directory pagination must wrap instead of widening the viewport. */
body.wp-theme-astra .foka-pagination {
  flex-wrap: wrap;
  padding-inline: 0;
}
body.wp-theme-astra .foka-page-link {
  min-width: 44px;
  min-height: 44px;
  padding: 10px 14px;
  text-align: center;
}
body.wp-theme-astra .foka-astra-catalogue > form {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 16px;
  margin-bottom: 24px;
}
body.wp-theme-astra .foka-astra-catalogue > form label {
  flex: 1 1 220px;
}
body.wp-theme-astra .foka-astra-catalogue select {
  width: 100%;
  min-height: 44px;
}
body.wp-theme-astra .foka-astra-page-heading {
  color: #806510;
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  margin-block: 24px;
}

body.wp-theme-astra #hfe-menu-cart__toggle_button .woocommerce-Price-amount {
  color: #f5f5f5;
}
body.wp-theme-astra .elementor-widget-container p a:not(.button):not(.elementor-button),
body.wp-theme-astra .entry-content p a:not(.button):not(.elementor-button) {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
body.wp-theme-astra .foka-link-simple,
body.wp-theme-astra.foka-astra-catalogue-page .elementor-widget-container p a,
body.wp-theme-astra.foka-astra-catalogue-page .entry-content a:not(.button) {
  color: #d6b43f;
}
body.wp-theme-astra :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #2456a6;
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #fff;
}
body.wp-theme-astra .hfe-nav-menu a:focus-visible {
  outline-offset: -3px;
}

/* Catalogue articles inherit Astra's white background unless explicitly themed. */
body.wp-theme-astra.foka-astra-catalogue-page,
body.wp-theme-astra.foka-astra-catalogue-page #content,
body.wp-theme-astra.foka-astra-catalogue-page .ast-article-single {
  background-color: #111;
  color: #f5f5f5;
}
body.wp-theme-astra.foka-astra-catalogue-page .woocommerce-loop-product__title,
body.wp-theme-astra.foka-astra-catalogue-page .price,
body.wp-theme-astra.foka-astra-catalogue-page .price .woocommerce-Price-amount {
  color: #f5f5f5;
}
body.wp-theme-astra.foka-astra-catalogue-page .foka-astra-catalogue > form label {
  color: #f5f5f5;
}
body.wp-theme-astra.foka-astra-catalogue-page select {
  background-color: #fff;
  color: #111;
}

/* A link's explicit visibility must not reveal an inactive announcement. */
body.wp-theme-astra .lemyro-annonces__slide[aria-hidden="true"] * {
  visibility: hidden !important;
  transition: none !important;
}

/* Native WooCommerce panels are white; retain readable order/receipt details. */
body.wp-theme-astra.woocommerce-checkout .woocommerce,
body.wp-theme-astra.woocommerce-cart .woocommerce {
  color: #222;
}
body.wp-theme-astra.woocommerce-checkout .woocommerce h2,
body.wp-theme-astra.woocommerce-checkout .woocommerce h3,
body.wp-theme-astra.woocommerce-checkout .woocommerce a:not(.button),
body.wp-theme-astra.woocommerce-cart .woocommerce h2,
body.wp-theme-astra.woocommerce-cart .woocommerce h3,
body.wp-theme-astra.woocommerce-cart .woocommerce a:not(.button) {
  color: #806510;
}

/* Booking secondary actions sit on white, unlike the primary gold buttons. */
body.wp-theme-astra .foka-booking-app .foka-booking-secondary-action,
body.wp-theme-astra .foka-booking-app button[data-foka-booking-change-slot],
body.wp-theme-astra .foka-booking-app button[data-foka-booking-new-attempt] {
  color: #806510;
}
body.wp-theme-astra .elementor-icon-list-item > a,
body.wp-theme-astra .elementor-widget-container b > a[href$="/contact/"] {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

/* HFE hover rules otherwise override Escape while the parent retains focus. */
body.wp-theme-astra .hfe-nav-menu [data-foka-keyboard-state="closed"] > ul.sub-menu {
  visibility: hidden !important;
  opacity: 0 !important;
}
body.wp-theme-astra .hfe-nav-menu [data-foka-keyboard-state="open"] > ul.sub-menu {
  visibility: visible !important;
  opacity: 1 !important;
}

body.wp-theme-astra .foka-booking-app .foka-booking-location[data-selected="1"] small {
  color: #d6d6d6;
}

/* Preserve native dark booking controls against Astra's gold hover rule. */
body.wp-theme-astra .foka-booking-app .foka-booking-slot:is(:hover, :focus),
body.wp-theme-astra .foka-booking-app .foka-booking-location[data-selected="1"]:is(:hover, :focus) {
  background-color: #000;
  color: #fff;
}

/* Mobile presentation: preserve native widgets, content and desktop geometry. */
@media (max-width: 767px) {
  body.wp-theme-astra #content > .ast-container { padding-inline: 12px; }
  body.wp-theme-astra .foka-container { padding-inline: 8px; }
  body.wp-theme-astra .foka-container .foka-select-filter {
    height: auto; min-height: 52px; padding: 10px 12px; line-height: 1.5;
  }
  body.wp-theme-astra .foka-container .foka-search-input { width: 100%; }
  body.wp-theme-astra .foka-container .foka-search-input::placeholder,
  body.wp-theme-astra .foka-astra-catalogue input::placeholder {
    color: #666; opacity: 1;
  }
  body.wp-theme-astra .foka-container .foka-card-desc {
    display: block; -webkit-line-clamp: unset; overflow: visible;
    min-height: 0; overflow-wrap: anywhere;
  }
  body.wp-theme-astra .foka-container .foka-title { overflow-wrap: anywhere; line-height: 1.4; }
  body.wp-theme-astra .foka-container .foka-img { object-fit: contain; }
  body.wp-theme-astra .foka-container .foka-card:hover .foka-img { transform: none; }
  body.wp-theme-astra .foka-astra-catalogue > form { padding: 12px; gap: 12px; }
  /* Separate the existing consent tab and scroll control; neither is hidden. */
  body.wp-theme-astra #cmplz-manage-consent .cmplz-manage-consent {
    left: 12px; right: auto; max-width: calc(100vw - 80px);
  }
  body.wp-theme-astra #ast-scroll-top {
    right: 12px; bottom: 12px; width: 44px; height: 44px; line-height: 44px;
  }
}

/* P1: override only the production global !important declarations in this section. */
section.foka-partners .fp-title .elementor-heading-title { color: #fff !important; }
section.foka-partners .fp-name .elementor-heading-title { color: #101010 !important; }
section.foka-partners .fp-cta .elementor-button,
section.foka-partners .fp-footer .elementor-button {
  background-color: transparent !important;
  color: #101010 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  border: 0 !important;
  border-bottom: 1px solid #79611a !important;
  border-radius: 0 !important;
}
section.foka-partners .fp-footer .elementor-button { color: #D4AF37 !important; }
/* One reserved row for the three independent mobile controls. */
@media (max-width: 768px) {
  html { scroll-padding-bottom: 100px; }
  body.wp-theme-astra { padding-bottom: 100px; }
  body.wp-theme-astra #cmplz-manage-consent .cmplz-manage-consent {
    left: 84px; right: 68px; bottom: 12px;
    width: auto; max-width: none; min-width: 0; min-height: 60px; height: auto;
    padding: 8px; white-space: normal; overflow-wrap: anywhere; line-height: 1.25;
  }
  body.wp-theme-astra .joinchat { left: 4px; right: auto; bottom: 4px; }
  body.wp-theme-astra .joinchat .joinchat__button { left: 8px; right: auto; bottom: 8px; }
  body.wp-theme-astra #ast-scroll-top {
    right: 12px; bottom: 20px; width: 44px; height: 44px; line-height: 44px;
  }
  body.wp-theme-astra :is(.foka-btn-book,.foka-booking-app button,.elementor-button) {
    scroll-margin-bottom: 100px;
  }
}

/* Shop archive content must not inherit the global site-header stacking level. */
body.post-type-archive-product header.woocommerce-products-header {
  z-index: auto !important;
}
/* Keep the desktop shop scroll control above the expanded consent tab. */
@media (min-width: 769px) {
  body.post-type-archive-product #ast-scroll-top { bottom: 70px; }
}
