/* =========================================================
   PIXAN CUSTOM - Yann / Claude Code : header mobile Pixan (étape 10) — ≤ 999 px
   Dispositions L / M / N (header/header-mobile.php), bouton menu, top bar, pastille N, panneau du menu (mmenu du thème
   parent, contenu WordPress inchangé), sous-menus en accordéon. Présentation seulement.
   Couches : top bar 9996 · header 9995 · barre de réservation des fiches 9990 · voile du menu 100020 · panneau 100030.
   ========================================================= */
@media only screen and (max-width: 999px) {

	:root {
		--mh-navy: #071555; --mh-navy-2: #0e2275; --mh-terra: #dc834e; --mh-terra-text: #b25e2c; --mh-terra-soft: #f2a777;
		--mh-cream: #fff7eb; --mh-cream-2: #fbf3e8; --mh-sand: #eaded4; --mh-line: #ece4db; --mh-muted: #5f6684; --mh-ink: #1f2750;
		--mh-font: "Quicksand", sans-serif; --mh-title: "BalsamiqSans", "Balsamiq Sans", cursive;
		--mh-h: 62px; --mh-top: 42px; --mh-logo: 36px;
	}

	/* L'ancien header fixe du thème (glissement au défilement) n'a plus de cible visible */
	.pxf-mh-anchor, #traveltour-mobile-header.pxf-mh-anchor, .traveltour-sticky-mobile-placeholder { display: none !important; }

	/* ---------- Header (logo · contrôles) ---------- */
	.pxf-mh { position: relative; z-index: 9995; background: #fff; border-bottom: 1px solid var(--mh-line); font-family: var(--mh-font); }
	.pxf-mh--l, .pxf-mh--n { position: sticky; top: 0; }
	body.pixan-fiche .pxf-mh--l, body.pixan-fiche .pxf-mh--n { position: relative; } /* fiche : sa barre de réservation suffit */
	.pxf-mh .pxf-mh__bar { position: relative; background: #fff !important; padding: 0 !important; margin: 0 !important; }
	.pxf-mh .pxf-mh__in {
		display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px;
		height: var(--mh-h); padding: 0 16px !important; max-width: none; margin: 0;
	}
	.pxf-mh .traveltour-logo { flex: 0 1 auto; min-width: 0; margin: 0 !important; padding: 0 !important; float: none; }
	.pxf-mh .traveltour-logo-inner { max-width: none !important; margin: 0 !important; line-height: 1 !important; display: block; }
	.pxf-mh .traveltour-logo a { display: block; padding: 4px 0; }
	.pxf-mh .traveltour-logo-inner img { display: block; width: auto !important; height: var(--mh-logo) !important; max-width: none; }
	.pxf-mh .pxf-mh__side { display: flex; align-items: center; gap: 8px; flex: none; }

	/* ---------- Bouton menu : trois traits Pixan (le dernier, terracotta, plus court) ---------- */
	.pxf-mh .pxf-mh__menu { display: flex; margin: 0 !important; float: none; }
	.pxf-mh .traveltour-mm-menu-button {
		position: relative; display: block !important; width: 44px; height: 44px; margin: 0 !important; padding: 0 !important;
		border-radius: 14px; border: 1px solid var(--mh-sand) !important; background: var(--mh-cream); color: var(--mh-navy);
		transition: background-color .15s ease, border-color .15s ease;
	}
	.pxf-mh .traveltour-mm-menu-button i { display: none !important; }
	.pxf-mh .traveltour-mm-menu-button::before, .pxf-mh .traveltour-mm-menu-button::after {
		content: ""; position: absolute; left: 12px; height: 2px; border-radius: 2px; transition: transform .2s ease, width .2s ease, top .2s ease, box-shadow .2s ease;
	}
	.pxf-mh .traveltour-mm-menu-button::before { top: 14px; width: 18px; background: var(--mh-navy); box-shadow: 0 6px 0 var(--mh-navy); }
	.pxf-mh .traveltour-mm-menu-button::after { top: 26px; width: 11px; background: var(--mh-terra); }
	.pxf-mh .traveltour-mm-menu-button:hover { border-color: var(--mh-navy) !important; }
	.pxf-mh .traveltour-mm-menu-button:focus-visible { outline: 2px solid var(--mh-terra); outline-offset: 2px; }
	html.mm-opened .pxf-mh .traveltour-mm-menu-button::before { top: 20px; box-shadow: none; transform: rotate(45deg); }
	html.mm-opened .pxf-mh .traveltour-mm-menu-button::after { top: 20px; width: 18px; background: var(--mh-navy); transform: rotate(-45deg); }

	/* ---------- Panier (L) : bouton rond bleu nuit, badge sur le bord (aucun décalage au remplissage) ---------- */
	.pxf-mh .pxf-cart-link--mobile {
		position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0;
		border-radius: 14px; background: var(--mh-navy); color: #fff !important; box-shadow: 0 10px 20px -14px rgba(7,21,85,.8);
	}
	.pxf-mh .pxf-cart-link--mobile .pixan-svg-icon { width: 20px; height: 20px; color: var(--mh-terra-soft); }
	.pxf-mh .pxf-cart-link--mobile .pxf-cart-badge, .pxf-mh__pill .pxf-cart-link--mobile .pxf-cart-badge {
		position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; font-size: 11.5px; font-weight: 800;
		background: var(--mh-terra); color: #fff; box-shadow: 0 0 0 2.5px #fff;
	}
	.pxf-mh .pxf-cart-link:focus-visible, .pxf-mtop .pxf-cart-link:focus-visible { outline: 2px solid var(--mh-terra); outline-offset: 2px; }
	body.pxf-cart-page .pxf-mh .pxf-cart-link--mobile { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--mh-terra); }

	/* ---------- Sélecteur de devise Riviera (M et N) : présentation seulement ---------- */
	.pxf-mtop .riviera-currency-switcher, .pxf-mh .riviera-currency-switcher { z-index: 3; height: 100%; letter-spacing: 0; font-family: var(--mh-font); }
	.pxf-mtop .riviera-currency-active, .pxf-mh .riviera-currency-active { gap: 7px; font-weight: 700; }
	.pxf-mtop .riviera-currency-active:hover, .pxf-mh .riviera-currency-active:hover { opacity: 1; }
	.pxf-mtop .riviera-flag, .pxf-mh .riviera-flag { width: 18px; height: 12px; border-radius: 2px; }
	.pxf-mtop .riviera-currency-switcher i.fa-caret-down, .pxf-mh .riviera-currency-switcher i.fa-caret-down { margin-left: 0; font-size: 11px; opacity: 1; transition: transform .18s ease; }
	.pxf-mtop .riviera-currency-switcher.open i.fa-caret-down, .pxf-mh .riviera-currency-switcher.open i.fa-caret-down { transform: rotate(180deg); }
	.pxf-mtop .riviera-currency-active:focus-visible, .pxf-mh .riviera-currency-active:focus-visible { outline: 2px solid var(--mh-terra); outline-offset: 2px; border-radius: 10px; }
	.pxf-mtop .riviera-currency-dropdown, .pxf-mh .riviera-currency-dropdown {
		top: calc(100% + 6px); left: 0; right: auto; transform: translateY(6px); min-width: 140px; padding: 6px;
		border: 1px solid var(--mh-line); border-radius: 14px; background: #fff;
		box-shadow: 0 20px 40px -20px rgba(7,21,85,.45), 0 4px 12px -8px rgba(7,21,85,.16); transition: opacity .16s ease, transform .16s ease, visibility .16s;
	}
	.pxf-mtop .riviera-currency-switcher.open .riviera-currency-dropdown, .pxf-mh .riviera-currency-switcher.open .riviera-currency-dropdown { transform: translateY(0); }
	.pxf-mtop .riviera-currency-option, .pxf-mh .riviera-currency-option {
		justify-content: flex-start; gap: 10px; min-height: 44px; padding: 0 14px; border-radius: 10px; color: var(--mh-navy); font-size: 15px; font-weight: 600;
	}
	.pxf-mtop .riviera-currency-option:hover, .pxf-mtop .riviera-currency-option:focus-visible,
	.pxf-mh .riviera-currency-option:hover, .pxf-mh .riviera-currency-option:focus-visible { background: var(--mh-cream); color: var(--mh-terra-text); outline: none; }

	/* ---------- M : top bar fine, bleu nuit (fixe au défilement selon la page, absente au checkout) ---------- */
	.pxf-mtop { position: relative; z-index: 9996; background: var(--mh-navy); color: #fff; font-family: var(--mh-font); }
	.pxf-mtop--sticky { position: sticky; top: 0; } /* accueil, /nos-excursions/, panier (header/header-mobile.php) */
	.pxf-mtop__in { display: flex; align-items: stretch; justify-content: space-between; height: var(--mh-top); padding: 0 12px 0 16px; }
	.pxf-mtop__cur { display: flex !important; align-items: stretch; }
	.pxf-mtop .riviera-currency-active { height: var(--mh-top); padding: 0 6px 0 0; color: #fff; font-size: 13.5px; }
	.pxf-mtop .riviera-currency-active::before { content: "Devise"; margin-right: 2px; font-weight: 600; color: rgba(255,255,255,.66); }
	.pxf-mtop .riviera-currency-switcher i.fa-caret-down { color: var(--mh-terra-soft); }
	.pxf-mtop .pxf-cart-link {
		height: var(--mh-top); padding: 0 6px 0 10px; gap: 8px; color: #fff !important; font-size: 13.5px; font-weight: 700; border-radius: 10px;
	}
	.pxf-mtop .pxf-cart-link .pixan-svg-icon { width: 18px; height: 18px; color: var(--mh-terra-soft); }
	.pxf-mtop .pxf-cart-link .pxf-cart-badge { min-width: 20px; height: 20px; padding: 0 6px; font-size: 11.5px; font-weight: 800; background: var(--mh-terra); color: #fff; box-shadow: none; }
	body.pxf-cart-page .pxf-mtop .pxf-cart-link .pxf-cart-link__label { text-decoration: underline; text-decoration-color: var(--mh-terra-soft); text-underline-offset: 4px; text-decoration-thickness: 2px; }
	.pxf-mh--m .pxf-mh__in { height: 60px; }

	/* ---------- N : menu · logo réellement centré (grille 1fr auto 1fr) · pastille [ devise | panier ] ---------- */
	.pxf-mh--n { --mh-logo: 31px; }
	.pxf-mh--n .pxf-mh__in { display: grid !important; grid-template-columns: 1fr auto 1fr; gap: 8px; }
	.pxf-mh--n .pxf-mh__side--start { justify-self: start; }
	.pxf-mh--n .traveltour-logo { justify-self: center; }
	.pxf-mh--n .pxf-mh__side--end { justify-self: end; }
	.pxf-mh__pill {
		position: relative; display: flex; align-items: stretch; height: 42px; border-radius: 99px; background: #fff;
		box-shadow: inset 0 0 0 1px var(--mh-sand), 0 8px 18px -14px rgba(7,21,85,.5);
	}
	.pxf-mh__pill .pxf-mh__cur { display: flex !important; align-items: stretch; position: relative; }
	.pxf-mh__pill .pxf-mh__cur::after { content: ""; position: absolute; right: 0; top: 11px; bottom: 11px; width: 1px; background: var(--mh-line); }
	.pxf-mh__pill .riviera-currency-active { flex: none; white-space: nowrap; height: 42px; min-width: 52px; padding: 0 9px 0 13px; gap: 6px; color: var(--mh-navy); font-size: 13.5px; border-radius: 99px 0 0 99px; }
	.pxf-mh__pill .riviera-currency-code { white-space: nowrap; }
	.pxf-mh__pill .riviera-currency-switcher i.fa-caret-down { color: var(--mh-terra); }
	.pxf-mh__pill .pxf-cart-link--mobile { width: 46px; height: 42px; border-radius: 0 99px 99px 0; background: transparent; box-shadow: none; }
	.pxf-mh__pill .pxf-cart-link--mobile .pixan-svg-icon { color: var(--mh-navy); }
	.pxf-mh__pill .pxf-cart-link--mobile .pxf-cart-badge { top: -5px; right: -4px; }
	.pxf-mh__pill .riviera-currency-dropdown { left: 0; }

	/* N jusqu'à 420 px : le code « EUR ▾ » seul (le drapeau ne tient pas avec un logo réellement centré) */
	@media only screen and (max-width: 420px) {
		.pxf-mh__pill .riviera-currency-active .riviera-flag { display: none; }
		.pxf-mh__pill .riviera-currency-active { padding: 0 8px 0 14px; }
	}

	/* ---------- Petits écrans ---------- */
	@media only screen and (max-width: 380px) {
		:root { --mh-logo: 32px; }
		.pxf-mh .pxf-mh__in { padding: 0 12px !important; }
		.pxf-mh--n { --mh-logo: 28px; }
		.pxf-mh--n .pxf-mh__in { gap: 6px; }
		.pxf-mh__pill .pxf-cart-link--mobile { width: 42px; }
		.pxf-mtop__in { padding: 0 8px 0 12px; }
	}

	/* =========================================================
	   Panneau du menu (mmenu du thème) : tiroir Pixan au-dessus de la page, qui ne glisse plus sur le côté
	   ========================================================= */
	html.mm-opened .mm-slideout, html.mm-opening .mm-slideout { transform: none !important; }
	#mm-blocker { z-index: 100020 !important; background: rgba(7,21,85,.42) !important; opacity: 0 !important; transition: opacity .25s ease !important; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
	html.mm-opening #mm-blocker { opacity: 1 !important; }

	#traveltour-mobile-menu.mm-menu {
		z-index: 100030 !important; top: 0; bottom: 0; width: min(88vw, 380px) !important; max-width: none;
		background: #fff !important; color: var(--mh-ink); font-family: var(--mh-font);
		box-shadow: -24px 0 60px -24px rgba(7,21,85,.45); transition: transform .28s cubic-bezier(.2,.8,.2,1) !important;
		transform: translate3d(100%, 0, 0) !important;
	}
	#traveltour-mobile-menu.mm-menu.mm-left { transform: translate3d(-100%, 0, 0) !important; box-shadow: 24px 0 60px -24px rgba(7,21,85,.45); }
	html.mm-opening #traveltour-mobile-menu.mm-menu { transform: translate3d(0, 0, 0) !important; }
	#traveltour-mobile-menu .mm-panels, #traveltour-mobile-menu .mm-panel { background: #fff !important; }
	#traveltour-mobile-menu .mm-panel.mm-hasnavbar { padding-top: 68px !important; }
	#traveltour-mobile-menu .mm-panel { padding-left: 0 !important; padding-right: 0 !important; padding-bottom: 28px !important; }

	/* En-tête du panneau : « Menu » + fermeture */
	#traveltour-mobile-menu .mm-navbar {
		position: absolute !important; top: 0; left: 0; right: 0; margin: 0 !important;
		display: flex; align-items: center; justify-content: space-between; height: 68px; padding: 0 16px 0 22px !important;
		border-bottom: 1px solid var(--mh-line) !important; background: #fff;
	}
	#traveltour-mobile-menu .pxf-mm-title { font-family: var(--mh-title); font-size: 22px; font-weight: 700; color: var(--mh-navy); line-height: 1; }
	#traveltour-mobile-menu .mm-navbar .mm-title { display: block !important; position: static; flex: none; height: auto; line-height: 0; width: auto; padding: 0 !important; margin: 0; text-align: right; }
	#traveltour-mobile-menu .mmenu-custom-close {
		display: inline-flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0 !important;
		border-radius: 14px; background: var(--mh-cream); border: 1px solid var(--mh-sand); color: var(--mh-navy); font-size: 0; line-height: 0; cursor: pointer;
	}
	#traveltour-mobile-menu .mmenu-custom-close::before { display: none !important; content: none !important; }
	#traveltour-mobile-menu .mmenu-custom-close .pixan-svg-icon { width: 20px; height: 20px; stroke-width: 2; }
	#traveltour-mobile-menu .mmenu-custom-close:focus-visible { outline: 2px solid var(--mh-terra); outline-offset: 2px; }

	/* Entrées principales */
	#traveltour-mobile-menu .mm-listview { margin: 10px 18px 0 !important; padding: 0 !important; }
	#traveltour-mobile-menu .mm-listview > li { position: relative; margin: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid var(--mh-line) !important; }
	#traveltour-mobile-menu .mm-listview > li.pixan-mobile-rnt-menu, #traveltour-mobile-menu li.mm-vertical > .mm-panel .mm-listview > li { border-bottom: 0 !important; }
	#traveltour-mobile-menu .mm-listview > li::after { display: none !important; }
	#traveltour-mobile-menu .mm-listview > li > a,
	#traveltour-mobile-menu .mm-listview > li > span.traveltour-mm-menu-blank {
		display: block; padding: 16px 52px 16px 4px !important; margin: 0 !important;
		font-family: var(--mh-font) !important; font-size: 17.5px !important; font-weight: 700 !important; line-height: 1.3 !important;
		letter-spacing: 0 !important; text-transform: none !important; color: var(--mh-navy) !important; white-space: normal; text-overflow: clip;
	}
	#traveltour-mobile-menu .mm-listview > li > a:focus-visible { outline: 2px solid var(--mh-terra); outline-offset: -2px; border-radius: 10px; }
	#traveltour-mobile-menu .mm-listview > li.current-menu-item > a:not(.mm-next),
	#traveltour-mobile-menu .mm-listview > li.current-menu-ancestor > a:not(.mm-next),
	#traveltour-mobile-menu .mm-listview > li.current-page-ancestor > a:not(.mm-next),
	#traveltour-mobile-menu .mm-listview > li.pxf-hdr-current > a:not(.mm-next) { color: var(--mh-terra-text) !important; }
	#traveltour-mobile-menu .mm-listview > li.current-menu-item > a:not(.mm-next)::before,
	#traveltour-mobile-menu .mm-listview > li.current-menu-ancestor > a:not(.mm-next)::before,
	#traveltour-mobile-menu .mm-listview > li.pxf-hdr-current > a:not(.mm-next)::before {
		content: ""; display: inline-block; width: 7px; height: 7px; margin: 0 9px 2px 0; border-radius: 50%; background: var(--mh-terra); vertical-align: middle;
	}

	/* Bouton d'ouverture du sous-menu (accordéon) : chevron qui pivote */
	#traveltour-mobile-menu .mm-listview > li > a.mm-next {
		position: absolute !important; top: 8px !important; right: 0 !important; bottom: auto !important; left: auto !important;
		width: 44px !important; height: 44px !important; padding: 0 !important; margin: 0 !important; border-radius: 12px;
		background: var(--mh-cream) !important; border: 1px solid var(--mh-sand) !important; z-index: 2;
	}
	#traveltour-mobile-menu .mm-listview > li > a.mm-next::before { display: none !important; }
	#traveltour-mobile-menu .mm-listview > li > a.mm-next::after {
		content: "" !important; position: absolute; top: 50% !important; left: 50% !important; right: auto !important; bottom: auto !important;
		width: 8px !important; height: 8px !important; margin: -6px 0 0 -4px !important; border: 0 !important;
		border-right: 2px solid var(--mh-terra) !important; border-bottom: 2px solid var(--mh-terra) !important;
		transform: rotate(45deg) !important; transition: transform .2s ease, margin .2s ease;
	}
	#traveltour-mobile-menu .mm-listview > li.mm-opened > a.mm-next { background: #fff !important; border-color: var(--mh-terra) !important; }
	#traveltour-mobile-menu .mm-listview > li.mm-opened > a.mm-next::after { transform: rotate(-135deg) !important; margin-top: -2px !important; }
	#traveltour-mobile-menu .mm-listview > li > a.mm-next:focus-visible { outline: 2px solid var(--mh-terra); outline-offset: 2px; }
	#traveltour-mobile-menu .mm-listview > li > a.mm-next + a { margin-right: 0 !important; }

	/* Sous-menu ouvert : zone crème, liens plus petits, indentation */
	#traveltour-mobile-menu li.mm-vertical > .mm-panel { padding: 6px !important; margin: 0 0 14px !important; border-radius: 16px; background: var(--mh-cream-2) !important; }
	#traveltour-mobile-menu li.mm-vertical > .mm-panel > .mm-listview { margin: 0 !important; }
	#traveltour-mobile-menu li.mm-vertical > .mm-panel .mm-listview > li::after { display: none !important; }
	#traveltour-mobile-menu li.mm-vertical > .mm-panel .mm-listview > li > a {
		display: flex; align-items: flex-start; gap: 12px; padding: 13px 14px !important; border-radius: 12px;
		font-size: 15.5px !important; font-weight: 600 !important; color: var(--mh-navy) !important;
	}
	#traveltour-mobile-menu li.mm-vertical > .mm-panel .mm-listview > li > a::before {
		content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--mh-sand); margin: 8px 0 0 !important;
	}
	#traveltour-mobile-menu li.mm-vertical > .mm-panel .mm-listview > li > a:active,
	#traveltour-mobile-menu li.mm-vertical > .mm-panel .mm-listview > li > a:hover,
	#traveltour-mobile-menu li.mm-vertical > .mm-panel .mm-listview > li.current-menu-item > a { background: #fff !important; color: var(--mh-terra-text) !important; }
	#traveltour-mobile-menu li.mm-vertical > .mm-panel .mm-listview > li > a:hover::before,
	#traveltour-mobile-menu li.mm-vertical > .mm-panel .mm-listview > li.current-menu-item > a::before { background: var(--mh-terra); }

	/* Mention RNT / SECTUR (dernière entrée du menu WordPress) : carte crème en bas du panneau */
	#traveltour-mobile-menu .mm-listview > li.pixan-mobile-rnt-menu { margin: 22px 0 0 !important; padding: 0 !important; }
	#traveltour-mobile-menu .mm-listview > li.pixan-mobile-rnt-menu::after { display: none !important; }
	#traveltour-mobile-menu .mm-listview > li.pixan-mobile-rnt-menu > a {
		padding: 18px 16px !important; border-radius: 16px; background: var(--mh-cream) !important; border: 1px solid var(--mh-line) !important;
		font-size: 12px !important; font-weight: 600 !important; line-height: 1.5 !important; color: var(--mh-muted) !important; -webkit-text-fill-color: var(--mh-muted) !important;
		text-align: center;
	}
	#traveltour-mobile-menu .mm-listview > li.pixan-mobile-rnt-menu > a > span { color: var(--mh-muted) !important; -webkit-text-fill-color: var(--mh-muted) !important; font-size: 12px !important; }
}

@media (prefers-reduced-motion: reduce) {
	#traveltour-mobile-menu.mm-menu, #mm-blocker, .pxf-mh .traveltour-mm-menu-button::before, .pxf-mh .traveltour-mm-menu-button::after { transition: none !important; }
}

/* Desktop (≥ 1000 px) : la top bar M, placée hors du bloc mobile du thème, est masquée comme lui */
@media only screen and (min-width: 1000px) {
	.pxf-mtop { display: none !important; }
}
