/* ==========================================================================
   ll-header.css — barre d'infos, en-tête, menu, panneau mobile, bandeau titre des pages (v5)
   ========================================================================== */

.ll5-wrap { max-width: var(--ll5-wrap); margin: 0 auto; padding: 0 var(--ll5-gut); }
.ll5-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ll5-skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--ll5-white); padding: 10px 16px; color: var(--ll5-ink); }
.ll5-skip:focus { left: 8px; }

/* AutoRide : en-tête d'origine masqué (remplacé), marges parasites */
.theme-page > .theme-page-header:not(.ll5-keep) { display: none !important; }

/* ---------- Barre d'infos ---------- */
.ll5-top { background: var(--ll5-wine-2); color: var(--ll5-on-dark); font-size: 14px; }
.ll5-top .ll5-wrap { display: flex; gap: 28px; align-items: center; min-height: 40px; }
.ll5-top a { color: inherit !important; text-decoration: none !important; }
.ll5-top a:hover { color: var(--ll5-patina) !important; }
.ll5-top__hours { margin-left: auto; color: var(--ll5-patina); font-weight: 600; }

/* ---------- En-tête ---------- */
.ll5-hdr { position: sticky; top: 0; z-index: 900; background: rgba(251,245,234,.96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--ll5-line); }
body.admin-bar .ll5-hdr { top: 32px; }
.ll5-hdr .ll5-wrap { display: flex; align-items: center; gap: 22px; min-height: 88px; }
.ll5-brand { display: flex; align-items: center; gap: 12px; text-decoration: none !important; flex: none; }
.ll5-brand img { width: 116px; height: auto; display: block; }
.ll5-brand b:not(#ll5-x) { font: 700 23px/1 var(--ll5-serif) !important; color: var(--ll5-ink); white-space: nowrap; }
.ll5-brand b em { font-style: normal; color: var(--ll5-gold-ink); font-family: inherit !important; }

.ll5-nav { margin-left: auto; }
.ll5-menu:not(#ll5-x), .ll5-menu .sub-menu:not(#ll5-x), .ll5-pmenu:not(#ll5-x), .ll5-pmenu .sub-menu:not(#ll5-x) { list-style: none; margin: 0; padding: 0; }
.ll5-menu { display: flex; gap: 2px; }
.ll5-menu > li { position: relative; margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
.ll5-menu .sub-menu li { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
.ll5-menu > li > a { display: block; white-space: nowrap; padding: 10px 12px; text-decoration: none !important; font-weight: 600; font-size: 15px; color: var(--ll5-ink) !important; position: relative; }
.ll5-menu > li > a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 2px; background: var(--ll5-wine); transform: scaleX(0); transition: transform .25s; }
.ll5-menu > li:hover > a::after, .ll5-menu > li:focus-within > a::after, .ll5-menu > li.current-menu-item > a::after, .ll5-menu > li.current-menu-ancestor > a::after { transform: scaleX(1); }
.ll5-menu > li.menu-item-has-children > a { padding-right: 24px; }
.ll5-menu > li.menu-item-has-children > a::before { content: ""; position: absolute; right: 10px; top: 50%; width: 6px; height: 6px; margin-top: -5px; border-right: 1.5px solid var(--ll5-gold-ink); border-bottom: 1.5px solid var(--ll5-gold-ink); transform: rotate(45deg); }
.ll5-menu .sub-menu { position: absolute; left: 0; top: 100%; min-width: 290px; background: var(--ll5-white); border-top: 3px solid var(--ll5-gold); box-shadow: 0 24px 40px -24px rgba(42,15,24,.45); padding: 10px 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s; }
.ll5-menu > li:hover > .sub-menu, .ll5-menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.ll5-menu .sub-menu a { display: block; padding: 9px 20px; font-size: 15px; color: var(--ll5-muted) !important; text-decoration: none !important; }
.ll5-menu .sub-menu a:hover { color: var(--ll5-wine) !important; background: var(--ll5-paper); }
.ll-caps > a { text-transform: lowercase; }
.ll-caps > a::first-letter { text-transform: uppercase; }

.ll5-lang { display: flex; gap: 2px; font: 700 13px/1 var(--ll5-sans); letter-spacing: .08em; }
.ll5-lang a { padding: 8px; text-decoration: none !important; color: var(--ll5-muted) !important; }
.ll5-lang a[aria-current] { color: var(--ll5-ink) !important; box-shadow: inset 0 -2px var(--ll5-gold); }
.ll5-hdr .ll5-btn:not(#ll5-x) { min-height: 48px !important; padding: 0 20px !important; }

.ll5-burger { display: none; margin-left: auto; width: 48px; height: 48px; border: 0; background: none; cursor: pointer; flex-direction: column; justify-content: center; align-items: flex-end; gap: 7px; padding: 0 4px; }
.ll5-burger s { display: block; height: 2px; width: 28px; background: var(--ll5-ink); border-radius: 2px; }
.ll5-burger s:nth-child(2) { width: 20px; background: var(--ll5-wine); }

/* ---------- Panneau mobile (clair) ---------- */
.ll5-panel { position: fixed; inset: 0; z-index: 99999; background: var(--ll5-paper); color: var(--ll5-ink); display: flex; flex-direction: column; padding: 16px var(--ll5-gut) 28px; transform: translateX(100%); visibility: hidden; transition: transform .35s ease, visibility .35s; }
.ll5-panel.is-open { transform: none; visibility: visible; }
html.ll5-menu-open { overflow: hidden; }
.ll5-panel__top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid var(--ll5-line); }
.ll5-panel__top img { width: 100px; height: auto; }
.ll5-close { width: 48px; height: 48px; border: 0; background: none; color: var(--ll5-ink); font: 300 38px/1 var(--ll5-sans); cursor: pointer; }
.ll5-panel nav { margin-top: 10px; overflow: auto; flex: 1; }
.ll5-pmenu, .ll5-pmenu .sub-menu { list-style: none; margin: 0; padding: 0; }
.ll5-pmenu > li { border-bottom: 1px solid var(--ll5-line); position: relative; }
.ll5-pmenu > li > a:not(#ll5-x) { display: block; padding: 18px 48px 18px 0; font: 600 28px/1.1 var(--ll5-serif) !important; color: var(--ll5-ink) !important; text-decoration: none !important; }
.ll5-pmenu .sub-menu { display: none; padding-bottom: 14px; }
.ll5-pmenu li.is-open > .sub-menu { display: block; }
.ll5-pmenu .sub-menu a { display: block; padding: 10px 0 10px 4px; color: var(--ll5-muted) !important; text-decoration: none !important; font-size: 17px; }
.ll5-sub-toggle { position: absolute; right: 0; top: 12px; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; color: var(--ll5-wine); font: 400 28px/1 var(--ll5-sans); }
.ll5-sub-toggle::before { content: "+"; }
.ll5-sub-toggle[aria-expanded="true"]::before { content: "–"; }
.ll5-panel .ll5-btns { margin-top: 24px; flex-direction: column; }
.ll5-panel .ll5-btn { width: 100%; }
.ll5-panel__langs { display: flex; justify-content: center; gap: 20px; margin-top: 20px; font-weight: 700; letter-spacing: .08em; font-size: 14px; }
.ll5-panel__langs a { color: var(--ll5-muted) !important; text-decoration: none !important; }
.ll5-panel__langs a[aria-current] { color: var(--ll5-wine) !important; }

/* ---------- Bandeau titre des pages intérieures ---------- */
.ll5-phero { position: relative; min-height: clamp(380px, 52vh, 560px); display: flex; align-items: flex-end; overflow: hidden; background: var(--ll5-stone-2); color: #fff; }
.ll5-phero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
.ll5-phero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(var(--ll5-scrim), .62) 0%, rgba(var(--ll5-scrim), .25) 55%, rgba(var(--ll5-scrim), .05) 100%); }
.ll5-phero__copy { position: relative; z-index: 1; width: 100%; padding-top: 100px; padding-bottom: clamp(44px, 6vw, 72px); }
.ll5-crumbs { font-size: 14px; color: var(--ll5-on-dark); margin-bottom: 18px; }
.ll5-crumbs a, .ll5-crumbs span { color: inherit !important; text-decoration: none !important; }
.ll5-crumbs a:hover { color: var(--ll5-patina) !important; }
html body .ll5-phero h1 { color: #fff !important; font-size: clamp(40px, 4.8vw, 68px) !important; line-height: 1.04 !important; max-width: 18ch; margin: 0 !important; text-wrap: balance; }
.ll5-phero .ll5-btns { margin-top: 30px; }

/* ---------- Écrans moyens et mobiles ---------- */
@media (max-width: 1180px) {
	.ll5-nav, .ll5-lang, .ll5-top__hide { display: none; }
	.ll5-hdr .ll5-btn:not(#ll5-x) { display: none !important; }
	.ll5-burger { display: flex; }
	.ll5-brand b { display: none; }
}
@media (max-width: 782px) { body.admin-bar .ll5-hdr { top: 46px; } }
@media (max-width: 600px) {
	.ll5-top { display: none; }
	.ll5-hdr .ll5-wrap { min-height: 72px; }
	.ll5-brand img { width: 100px; }
	.ll5-phero { display: block; min-height: 0; color: var(--ll5-ink); }
	.ll5-phero__img { position: static; aspect-ratio: 4 / 3.2; height: auto; }
	.ll5-phero::after { display: none; }
	.ll5-phero__copy { padding: 30px var(--ll5-gut) 38px; background: var(--ll5-stone); text-align: center; border-top: 3px solid var(--ll5-wine); }
	.ll5-crumbs { color: var(--ll5-muted); }
	html body .ll5-phero h1 { color: var(--ll5-ink) !important; font-size: 36px !important; margin: 0 auto !important; }
}

/* Ancres (réserver, devis) : arrivée sous l'en-tête collant */
#reserver, #devis, #devis-form { scroll-margin-top: 100px; }
@media (max-width: 600px) { #reserver, #devis, #devis-form { scroll-margin-top: 80px; } }

/* Héros de l'accueil anglais (inséré dans le contenu : pleine largeur) */
.ll5-phero--home { width: var(--ll-vw, 100vw); margin-left: calc(50% - var(--ll-vw, 100vw) / 2); min-height: min(80vh, 760px); }
html body .ll5-phero--home h1 { font-size: clamp(44px, 5.4vw, 80px) !important; max-width: 14ch; }
html body .ll5-phero .ll5-phero__sub:not(#ll5-x) { margin: 18px 0 0 !important; font-size: clamp(22px, 2vw, 28px) !important; color: var(--ll5-patina) !important; }
@media (max-width: 600px) { html body .ll5-phero .ll5-phero__sub:not(#ll5-x) { color: var(--ll5-wine) !important; } }
