/* Fixes from the site QA pass of 8 November 2026. Loaded on every page, after the other stylesheets
   (apollonaut-conversion.php). Each rule names what it fixes. */

/* Phone menu button: the visible icon is 22×10 px; give it a ~38×44 px tap area without moving it.
   The area reaches further right than left, away from the language button beside it. */
@media (max-width: 899.98px) {
  :is(.cv-home, .apocv-main-site) .header-actions #menu-toggle,
  body[class*="vm-page-"] header.vm-attraction-header .menu-toggle,
  header :is(.hdr-in, .hdr-acts) > button.menu-toggle { position: relative; }
  :is(.cv-home, .apocv-main-site) .header-actions #menu-toggle::after,
  body[class*="vm-page-"] header.vm-attraction-header .menu-toggle::after,
  header :is(.hdr-in, .hdr-acts) > button.menu-toggle::after { content: ""; position: absolute; inset: -17px -10px -17px -6px; }
}

/* Currency: removed from the menus at the owner's request (8 Nov 2026) — prices and payment are in euros only.
   The build's drawers no longer print it; this also hides it in any menu markup that still comes from elsewhere,
   and lets the language control take the whole row the two used to share. */
[data-ac-currency],
#mobile-nav .cv-e-settings > a[aria-disabled="true"] { display: none !important; }
body[class*="vm-page-"] #mobile-menu.ac-mj-drawer .settings,
:is(.cv-home, .apocv-main-site) .cv-drawer-settings { grid-template-columns: minmax(0, 1fr); }

/* Menu (guides and information pages): the theme gives the language control's wrapper its cream bar background, so the
   drawer's light "English" label sat white on cream and only the flag showed. Let the dark drawer show through. */
#mobile-nav [data-cv-language-slot] .language-bar { height: auto; border: 0; background: transparent; color: inherit; }

/* Information pages: "On this page" links were 12–13 px, muted and not underlined, so they read as plain text.
   Underline them and darken them a little; on phones one per line with a comfortable tap height. */
html body .information-toc li a {
  color: #1d4535;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(29, 69, 53, .4);
  text-underline-offset: 3px;
}
html body .information-toc li a:hover { text-decoration-color: currentColor; }
/* Its heading: the information pages' h2 size (presentation*.css) also reached this label, which the theme sets as a small
   capitalised eyebrow, so "ON THIS PAGE" showed at 30–51 px. Back to a label. */
html body:not([class*="vm-page"]) main .information-layout .information-toc h2 { margin: 0 0 10px; font-size: 12px; line-height: 1.5; letter-spacing: .12em; color: #50614b; }
@media (min-width: 900px) {
  html body .information-toc li a { font-size: 14px; line-height: 1.45; }
}
@media (max-width: 899.98px), (pointer: coarse) {
  html body .information-toc ul { grid-template-columns: minmax(0, 1fr); gap: 0; }
  html body .information-toc li a { display: inline-block; padding-block: 8px; font-size: 15px; line-height: 1.35; }
}

/* Information pages: "Back to top" at the end of the long policies (markup: global/copy-fixes.php). It jumps to #main;
   the margin lets the jump reach the very top, so the sticky header doesn't cover the breadcrumb. */
main#main.information-page { scroll-margin-top: 160px; }
.information-copy .apocv-back-to-top { margin: 8px 0 0; text-align: right; }
html body .information-copy .apocv-back-to-top a {
  display: inline-block;
  padding-block: 11px;
  line-height: 1.4;
  color: #1d4535;
  font-size: 15px;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(29, 69, 53, .4);
  text-underline-offset: 3px;
}
html body .information-copy .apocv-back-to-top a span { display: inline-block; margin-left: 7px; }
html body .information-copy .apocv-back-to-top a:hover { text-decoration-color: currentColor; }

/* Footer on guides and information pages (phone): the "Where will curiosity take you?" fold sat in a padded block with a
   rule of its own (a double divider), and 38 px of empty padding sat above and below the link groups. Close them up into
   one run of folds with a single rule between each. */
@media (max-width: 899.98px) {
  body:not([class*="vm-page"]) footer.institutional-footer:not(#apo-global-footer) .footer-destinations:has(> .cv-footer-fold) { padding: 0; border-bottom: 0; }
  body:not([class*="vm-page"]) footer.institutional-footer:not(#apo-global-footer) .institutional-footer__grid:has(.cv-footer-fold) { padding: 0; }
  body:not([class*="vm-page"]) footer.institutional-footer:not(#apo-global-footer):has(.cv-footer-fold) .institutional-footer__company { padding-top: 28px; border-top: 0; }
  body:not([class*="vm-page"]) footer.institutional-footer:not(#apo-global-footer) .cv-footer-fold[open] { padding-bottom: 12px; }
}
/* Same footer: the "© 2026 …" line was #55665b on the dark green (about 2:1); lighten it to a readable muted tone. */
body:not([class*="vm-page"]) footer.institutional-footer:not(#apo-global-footer) .institutional-footer__bottom { color: #b3c1b7; }

/* Tap targets on phones (QA measured under 32 px). Breadcrumb links get invisible padding: a taller tap area, same layout. */
@media (max-width: 899.98px), (pointer: coarse) {
  html body :is(nav.vm-brand-breadcrumb, nav.information-breadcrumb, nav.cg-breadcrumb) > a { display: inline-block; padding-block: 7px; margin-block: -7px; }
  html body p.ep-breadcrumb > a { display: inline-block; padding: 10px 4px; margin: -10px -4px; }
  /* Footer legal links (Privacy, Cookie policy, Photography credits, Cookie preferences): 17–19 px tall, some with no gap. */
  html body footer .institutional-footer__bottom > :is(a, button),
  html body:is(.cv-home, [class*="vm-page"]) footer#apo-global-footer .institutional-footer__bottom > :is(a, button) { display: inline-flex; align-items: center; min-height: 32px; }
  html body footer .institutional-footer__bottom { column-gap: 20px; row-gap: 2px; }
  /* Footer link lists on the homepage and attraction homepages: 18 px tall inline links, now 32 px rows (same spacing).
     (The other pages' footer lists are already 44 px.) */
  html body:is(.cv-home, .vm-page-home) #apo-global-footer .cv-footer-fold ul { gap: 0; }
  html body:is(.cv-home, .vm-page-home) #apo-global-footer .cv-footer-fold li a { display: inline-flex; align-items: center; min-height: 32px; }
  /* "View all experiences ↗" in the attraction pages' footer: 18 px tall. */
  html body[class*="vm-page"] #apo-global-footer .footer-destinations__heading > a[data-footer-all] { display: inline-block; padding-block: 7px; margin-block: -7px; }
  /* "Cookie preferences" under the attraction pages' footer: 29 px tall. */
  html body .vm-cookie-footer .vm-cookie-manage { min-height: 36px; }
}

/* Cookie banner (owner, 9 Nov 2026): "Accept all" (and "Save" in Preferences) was Majorelle blue on attraction pages and
   plain cream on the guides; it is now the homepage's yellow button on every page. */
html body :is(#apo-consent-banner, #apo-consent-preferences) .apo-consent-actions button:is([data-apo-choice="all"], [data-apo-save]) {
  background: #f8e46c !important;
  color: #183c34 !important;
  border: 1px solid #f8e46c !important;
}
html body :is(#apo-consent-banner, #apo-consent-preferences) .apo-consent-actions button:is([data-apo-choice="all"], [data-apo-save]):hover {
  background: #f2d94a !important;
  border-color: #f2d94a !important;
}