/* Apolonya · confort mobile et accessibilité, pour tout le site.
   Menu mobile ivoire (sans les restes du thème de démonstration), zones tactiles de 44 px, textes d'au moins 12 px. */

/* ---- Navigation au clavier : un repère de focus visible partout (invisible à la souris et au doigt) ---- */
body a:focus-visible, body button:focus-visible, body input:focus-visible, body textarea:focus-visible, body select:focus-visible, body [tabindex="0"]:focus-visible, body summary:focus-visible {
  outline: 2px solid #85692f !important; outline-offset: 2px !important; box-shadow: 0 0 0 5px rgba(251, 248, 243, .92) !important;
}

/* ---- Ordinateur : le bouton ☰ n'ouvrait que le menu de démonstration du thème (Home, Villa, Retreat…) ; la navigation est déjà dans l'en-tête ---- */
@media (min-width: 1000px) {
  body #header-outer .slide-out-widget-area-toggle:not(.mobile-icon) { display: none !important; }
}
body #slide-out-widget-area .off-canvas-menu-container:not(.mobile-only) { display: none !important; }

/* ---- Menu mobile : une seule liste, fond ivoire, texte lisible ---- */
@media (max-width: 999px) {
  body #slide-out-widget-area .off-canvas-menu-container:not(.mobile-only),
  body #slide-out-widget-area .secondary-header-items { display: none !important; }
  /* les photos de démonstration du thème sont vidées mais gardées dans la page : le thème attend leur transition pour refermer le menu */
  body #slide-out-widget-area .nectar-ocm-image { display: block !important; background-image: none !important; }
  body #slide-out-widget-area.fullscreen-inline-images { background-color: #fbf8f3 !important; }
  body #slide-out-widget-area.fullscreen-inline-images .inner-wrap { padding-top: 84px; padding-bottom: calc(40px + env(safe-area-inset-bottom)); }
  body #slide-out-widget-area .off-canvas-menu-container li a,
  body #slide-out-widget-area .off-canvas-menu-container li a .menu-title-text { color: #2f2923 !important; opacity: 1 !important; }
  body #slide-out-widget-area .off-canvas-menu-container li a { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; }
  body #slide-out-widget-area .off-canvas-menu-container li[class*="current"] > a,
  body #slide-out-widget-area .off-canvas-menu-container li[class*="current"] > a .menu-title-text { color: #85692f !important; }
  body #slide-out-widget-area .apo-lang a.apo-lang-b { min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; font-size: 13px !important; color: #62584d !important; }
  body #slide-out-widget-area .apo-lang a.apo-lang-b.is-on { color: #85692f !important; }
  /* menu ouvert : l'en-tête passe en encre sur le fond ivoire */
  body #header-outer#header-outer.side-widget-open .slide-out-widget-area-toggle .lines-button .lines:before,
  body #header-outer#header-outer.side-widget-open .slide-out-widget-area-toggle .lines-button .lines:after,
  body #header-outer#header-outer.side-widget-open .slide-out-widget-area-toggle .lines-button.x2 .lines:before,
  body #header-outer#header-outer.side-widget-open .slide-out-widget-area-toggle .lines-button.x2 .lines:after { background-color: #2f2923 !important; }
  body #header-outer#header-outer.side-widget-open #logo img { filter: none !important; opacity: 1 !important; }
  body #header-outer#header-outer.side-widget-open a.mobile-search .nectar-icon,
  body #header-outer#header-outer.side-widget-open a.mobile-search .nectar-icon:before { color: #2f2923 !important; }
}

/* ---- En-tête mobile : zones tactiles de 44 px (l'apparence ne change pas) ---- */
@media (max-width: 999px) {
  body #header-outer #logo { display: inline-block; padding: 10px 14px; margin: -10px -14px; }
  body #header-outer .slide-out-widget-area-toggle a { display: inline-block; padding: 12px 11px; margin: -12px -11px; }
  body #header-outer a.mobile-search { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 0; margin-top: -10px; margin-bottom: -10px; margin-right: -10px; }
  body #search-outer #close a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
  body #search-outer .search-box__button, body #search-outer input[type="text"] { min-height: 44px; }
}

/* ---- Éléments fixes : bouton de réservation plus discret, en dehors des zones de sécurité ---- */
@media (max-width: 767px) {
  body .apo-x-cta { bottom: calc(14px + env(safe-area-inset-bottom)); min-height: 44px; padding: 0 18px; font-size: 12px; letter-spacing: .2em; max-width: calc(100vw - 28px); }
  body .apo-x-cta-right { right: calc(14px + env(safe-area-inset-right)); }
  body .apo-x-cta-left { left: calc(14px + env(safe-area-inset-left)); }
  body .apo-x-cta-center { margin-left: -90px; }
  body .apo-v-foot { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
}

/* ---- Zones tactiles : au moins 44 px, sans changer ce qu'on voit ---- */
@media (max-width: 999px) {
  body .apo-v-foot-link, body .apo-l-tc-link, body .apo-l-sp-link, body .apo-v-link { display: inline-flex; align-items: center; min-height: 44px; padding-left: 6px; padding-right: 6px; }
  body .apo-r-tab, body .apo-h2-tick, body .apo-r-reset, body .apo-r-go { min-height: 44px; }
  body .apo-r-zoom button { min-width: 44px; min-height: 44px; }
  body .apo-l-tick { min-width: 44px; }
  body .apo-v-toc a { display: grid; place-items: center; min-width: 44px; min-height: 44px; }
  body a.apo-v-scroll { min-height: 44px; padding-left: 8px; padding-right: 8px; }
  /* les repères des plans gardent leur taille ; la zone qui réagit au doigt fait 44 px (::before, car ::after porte déjà l'anneau animé) */
  body .apo-r-pin::before, body .apo-l-pin::before { content: ''; position: absolute; left: 50%; top: 50%; width: 44px; height: 44px; transform: translate(-50%, -50%); border-radius: 50%; }
  /* les héros sur photo : un voile un peu plus dense pour garder le texte lisible sur les zones claires */
  body .apo-l-veil, body .apo-v-hero-veil, body .apo-v-band-veil { box-shadow: inset 0 0 0 100vmax rgba(47, 41, 35, .14); }
}

/* ---- Lisibilité : aucun texte sous 12 px ---- */
@media (max-width: 999px) {
  body .apo-v-pre, body .apo-v-time, body .apo-v-fig-l, body .apo-v-link, body .apo-v-foot-link, body .apo-v-btn, body .apo-v-toc-l,
  body .apo-vow figcaption, body .apo-v-arch figcaption, body .apo-v-cover-arch figcaption, body .apo-c-route-pic figcaption,
  body .apo-r-kicker, body .apo-r-fact-l, body .apo-r-stamp, body .apo-r-tab, body .apo-r-reset, body .apo-r-facts li, body .apo-r-step, body .apo-r-pin-l, body .apo-r-zoom span, body .apo-r-go,
  body .apo-c-copy, body .apo-c-next, body .apo-c-back, body .apo-c-send, body .apo-c-phone-state, body .apo-c-row-t small, body .apo-c-guide label > span, body .apo-c-count > span,
  body .apo-x-cta, body .apo-x-cd-l,
  body .apo-l-kicker, body .apo-l-sp-link, body .apo-l-time, body .apo-l-clock span, body .apo-l-time-clock span, body .apo-l-tags li, body .apo-s-fields label > span, body .apo-l-tc-link, body .apo-l-replay,
  body .apo-h2-pre, body .apo-h2-scene-n, body .apo-h2-scene-go, body .apo-h2-tick span, body .apo-h2-end-pre, body .apo-h2-sat-t em, body .apo-h2-scroll,
  body .apo-s-occ, body .apo-s-chat-state, body .apo-w-pre, body .apo-w-fig-l, body .apo-w-arch figcaption,
  body .apo-v-scroll, body .apo-v-scroll span, body .apo-c-dot span, body .apo-s-fieldw > span, body .apo-l-tick.is-on span { font-size: 12px !important; }
}
@media (min-width: 901px) and (max-width: 999px) { body .apo-l-tick span { font-size: 12px !important; } }

/* ---- Textes écrits dans l'éditeur WPBakery (champs « Texte » des blocs Apolonya) : paragraphes, listes, liens ---- */
body .apo-rich-block p { margin: 0 0 .9em; padding: 0; font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; }
body .apo-rich-block > :last-child { margin-bottom: 0; }
body .apo-rich-block ul, body .apo-rich-block ol { margin: 0 0 .9em; padding-left: 1.2em; text-align: left; }
body .apo-rich-block li { margin: 0 0 .3em; }
body .apo-rich-block a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
body .apo-rich-block blockquote { margin: 0 0 .9em; padding: 0 0 0 1em; border: 0; border-left: 2px solid currentColor; font: inherit; }
