/* Skip-link a11y */
.lsc-skip{position:absolute;top:-100px;left:0;background:var(--ls-color-accent);color:var(--ls-color-on-accent);padding:12px 18px;z-index:9999;font-weight:600;text-decoration:none}
.lsc-skip:focus{top:0}
:focus-visible{outline:2px solid var(--ls-color-accent);outline-offset:2px}
img[loading="lazy"]{height:auto}

/* === Polylang switcher (drapeau + code ISO) === */
.lsc-lang-switcher{list-style:none;display:flex;gap:6px;align-items:center;margin:0;padding:0}
.lsc-lang-switcher li{margin:0}
.lsc-lang-item a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--ls-color-text-muted);font-family:var(--ls-font-sans);font-size:11px;letter-spacing:0.06em;font-weight:600;padding:5px 8px;border-radius:2px;transition:color .15s,background .15s}
.lsc-lang-item a:hover{color:var(--ls-color-accent);background:rgba(84,35,30,0.06)}
.lsc-lang-item.is-current a{color:var(--ls-color-accent);background:rgba(84,35,30,0.08)}
.lsc-lang-item img{width:18px;height:auto;border-radius:1px;display:block;box-shadow:0 0 0 1px rgba(28,26,23,0.1)}
.lsc-lang-code{line-height:1}

/* === Distinctions strip (Reconnu par + 3 brands) === */
.lsc-distinctions{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;padding:0}
.lsc-distinctions-label{font-family:var(--ls-font-sans);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--ls-color-text-muted);font-weight:600}
.lsc-distinctions-list{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.lsc-distinction{display:flex;flex-direction:column;gap:3px;align-items:center;text-align:center}
.lsc-distinction-name{font-family:var(--ls-font-serif);font-size:24px;font-weight:600;color:var(--ls-color-text);line-height:1}
.lsc-distinction-sub{font-family:var(--ls-font-sans);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ls-color-text-muted)}
.lsc-distinction-sep{width:1px;height:34px;background:rgba(28,26,23,0.12);align-self:center}
@media(max-width:640px){.lsc-distinction-sep{display:none}}

/* === Gallery mosaic 12-col === */
.lsc-gallery-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:200px;gap:16px}
.lsc-gallery-cell{margin:0;overflow:hidden;border-radius:var(--ls-radius-md);background:var(--ls-color-placeholder)}
.lsc-gallery-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.lsc-gallery-cell:hover img{transform:scale(1.04)}
.lsc-gallery-cell a{display:block;width:100%;height:100%;cursor:zoom-in;position:relative}
.lsc-gallery-cell a::after{content:"";position:absolute;inset:0;background:rgba(28,26,23,0);transition:background .3s ease}
.lsc-gallery-cell a:hover::after{background:rgba(28,26,23,0.14)}
.lsc-gallery-mosaic.is-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:auto}
.lsc-gallery-mosaic.is-grid .lsc-gallery-cell{grid-column:auto !important;grid-row:auto !important;aspect-ratio:1/1}
@media(max-width:920px){.lsc-gallery-mosaic{grid-template-columns:repeat(6,1fr);grid-auto-rows:160px}.lsc-gallery-cell{grid-column:span 3 !important;grid-row:auto !important}}
@media(max-width:520px){.lsc-gallery-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px}.lsc-gallery-cell{grid-column:span 1 !important}}

/* === Weekly menu card === */
.lsc-weekly-card{background:#fff;border:1px solid var(--ls-color-border);border-radius:var(--ls-radius-md);padding:26px 32px;max-width:780px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;position:relative}
.lsc-weekly-slot{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}
.lsc-weekly-tag{font-family:var(--ls-font-sans);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ls-color-accent);font-weight:600}
.lsc-weekly-prices{font-family:var(--ls-font-serif);font-size:19px;color:var(--ls-color-text)}
.lsc-weekly-prices strong{font-weight:600}
.lsc-weekly-sep{width:1px;height:38px;background:rgba(28,26,23,0.14)}
.lsc-weekly-note{flex-basis:100%;font-size:12px;color:var(--ls-color-text-muted);margin:8px 0 0;font-style:italic;font-family:var(--ls-font-serif);text-align:center}

/* === Header bordeaux variant === */
/* La section a la classe lsc-header-bordeaux ; le bg est déjà fixé par Elementor. */
.lsc-header-bordeaux a,.lsc-header-bordeaux p,.lsc-header-bordeaux .elementor-heading-title,.lsc-header-bordeaux .elementor-icon-list-text,.lsc-header-bordeaux .elementor-image-box-title,.lsc-header-bordeaux .elementor-image-box-description{color:var(--ls-color-on-accent) !important}
.lsc-header-bordeaux .elementor-image-box-description{color:var(--ls-color-on-accent-muted) !important}
.lsc-header-bordeaux .elementor-icon-list-item:hover .elementor-icon-list-text{color:#fff !important;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1.5px;transition:color .2s}
.lsc-header-bordeaux .elementor-button{background:transparent !important;color:var(--ls-color-on-accent) !important;border:1px solid var(--ls-color-on-accent-muted) !important;border-radius:var(--ls-radius-sm);transition:all .2s}
.lsc-header-bordeaux .elementor-button:hover{background:var(--ls-color-on-accent) !important;color:var(--ls-color-accent) !important;border-color:var(--ls-color-on-accent) !important}
.lsc-header-bordeaux .lsc-lang-item a{color:var(--ls-color-on-accent-muted)}
.lsc-header-bordeaux .lsc-lang-item a:hover,.lsc-header-bordeaux .lsc-lang-item.is-current a{color:var(--ls-color-on-accent);background:rgba(255,255,255,0.08)}
.lsc-header-bordeaux .lsc-lang-item img{box-shadow:0 0 0 1px rgba(255,255,255,0.2)}

/* === Animations légères (respect prefers-reduced-motion) === */
@media(prefers-reduced-motion:no-preference){
  .lsc-gallery-cell,.elementor-button{transition:transform .25s ease,box-shadow .25s ease}
}
/* === Menu entry (CPT lsc_menu) === */
.lsc-menu-entry{max-width:920px;margin:32px auto 0;text-align:center}
.lsc-menu-entry-title{font-family:var(--ls-font-serif);font-style:italic;font-size:22px;color:var(--ls-color-text-muted);font-weight:400;margin:0 0 28px}
.lsc-menu-entry-content{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center}
.lsc-menu-entry-content h3{font-family:var(--ls-font-sans);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--ls-color-accent);font-weight:600;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid rgba(28,26,23,0.12);position:relative}
.lsc-menu-entry-content ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}
.lsc-menu-entry-content li{font-family:var(--ls-font-serif);font-size:19px;line-height:1.35;color:var(--ls-color-text);position:relative}
.lsc-menu-entry-content li:not(:last-child)::after{content:'ou';display:block;font-family:var(--ls-font-serif);font-style:italic;font-size:14px;color:var(--ls-color-text-muted);margin-top:18px}
@media(max-width:780px){.lsc-menu-entry-content{grid-template-columns:1fr;gap:40px}}
/* === Practical info (flex, Lundi premier) === */
.lsc-practical{padding:100px 40px;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:35px}
.lsc-practical-head{display:flex;flex-direction:column;gap:14px;max-width:600px}
.lsc-practical-kicker{font-family:var(--ls-font-sans);font-size:11px;letter-spacing:0.34em;text-transform:uppercase;color:var(--ls-color-accent);font-weight:600}
.lsc-practical-title{font-family:var(--ls-font-title);font-weight:500;font-size:38px;line-height:1.05;color:var(--ls-color-text);margin:0}
.lsc-practical-grid{display:flex;gap:64px;flex-wrap:wrap;align-items:flex-start}
.lsc-practical-info{flex:1 1 320px;display:flex;flex-direction:column;gap:36px}
.lsc-practical-block{display:flex;flex-direction:column;gap:8px}
.lsc-practical-label{font-family:var(--ls-font-sans);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ls-color-text-muted);font-weight:600}
.lsc-practical-phone{font-family:var(--ls-font-serif);font-size:36px;color:var(--ls-color-text);text-decoration:none;line-height:1.1;display:block}
.lsc-practical-phone:hover{color:var(--ls-color-accent)}
.lsc-practical-note{font-family:var(--ls-font-sans);font-size:13px;color:var(--ls-color-text-muted);margin:4px 0 0}
.lsc-practical-addr{font-family:var(--ls-font-sans);font-size:18px;color:var(--ls-color-text);line-height:1.5;margin:0}
.lsc-practical-hours{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;max-width:360px}
.lsc-practical-day{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--ls-color-border);gap:16px;font-family:var(--ls-font-sans)}
.lsc-practical-day:last-child{border-bottom:0}
.lsc-practical-day-name{font-size:15px;color:var(--ls-color-text)}
.lsc-practical-day-value{font-size:14px;color:var(--ls-color-text-soft)}
.lsc-practical-day.is-closed .lsc-practical-day-value{color:var(--ls-color-accent);font-weight:600}
.lsc-practical-map{flex:1 1 380px;position:relative;min-height:540px;background:var(--ls-color-placeholder);background-image:repeating-linear-gradient(45deg,#e1d8c9 0,#e1d8c9 1px,transparent 1px,transparent 13px);border-radius:var(--ls-radius-md);overflow:hidden}
.lsc-practical-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lsc-practical-itineraire{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ls-color-text);color:#fff;font-family:var(--ls-font-sans);font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:13px 24px;border-radius:var(--ls-radius-sm);text-decoration:none;transition:background .2s;z-index:5}
.lsc-practical-itineraire:hover{background:var(--ls-color-accent);color:#fff}
@media(max-width:780px){.lsc-practical{padding:60px 24px}.lsc-practical-title{font-size:34px}.lsc-practical-grid{flex-direction:column;gap:48px}.lsc-practical-map{min-height:340px}}
/* Practical map placeholder (sans API Google) */
.lsc-practical-map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;color:#a99c87;font-family:var(--ls-font-sans)}
.lsc-practical-map-placeholder span{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase}
.lsc-practical-map-placeholder small{font-size:12px;color:#9a8f80;font-style:italic;max-width:280px}

/* ============================================================
   TYPE SCALE — application (source unique : tokens.css)
   Les titres Elementor héritent du scale ; surchargeables par widget.
   Spécificité (0,2,1) > kit (0,1,1) ; une règle inline widget gagne toujours.
   ============================================================ */
.elementor-widget-heading h1.elementor-heading-title{font-size:var(--ls-title-2xl);line-height:var(--ls-lh-title)}
.elementor-widget-heading h2.elementor-heading-title{font-size:var(--ls-title-xl);line-height:var(--ls-lh-title)}
.elementor-widget-heading h3.elementor-heading-title{font-size:var(--ls-title-lg);line-height:var(--ls-lh-tight)}
.elementor-widget-heading h4.elementor-heading-title{font-size:var(--ls-title-md);line-height:var(--ls-lh-tight)}
.elementor-widget-heading h5.elementor-heading-title{font-size:var(--ls-title-sm);line-height:var(--ls-lh-tight)}
.elementor-widget-heading h6.elementor-heading-title{font-size:var(--ls-label);letter-spacing:0.3em;text-transform:uppercase}

/* Widgets custom — branchés sur le scale */
.lsc-practical-title{font-size:var(--ls-title-xl) !important}
.lsc-distinction-name{font-size:var(--ls-title-md) !important}
.lsc-practical-phone{font-size:var(--ls-title-md) !important}
.lsc-menu-entry-title{font-size:var(--ls-title-sm) !important}
.lsc-weekly-prices{font-size:var(--ls-title-xs) !important}
.lsc-practical-addr{font-size:var(--ls-text-lg) !important}
.lsc-practical-kicker,.lsc-distinctions-label{font-size:var(--ls-label) !important}

/* === Menu en colonnes propres (titre + plats) === */
.lsc-menu-entry{max-width:1200px;margin:0 auto;text-align:center}
.lsc-menu-entry-title{font-family:var(--ls-font-subtitle);font-style:italic;font-size:22px;color:var(--ls-color-text-muted);font-weight:400;margin:0 0 8px}
.lsc-menu-entry-excerpt{font-family:var(--ls-font-body);font-size:14px;color:var(--ls-color-text-muted);margin:0 0 32px}
.lsc-menu-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;align-items:start;text-align:center}
.lsc-menu-col-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:28px}
.lsc-menu-col-head::before,.lsc-menu-col-head::after{content:"";flex:1;height:1px;background:rgba(28,26,23,0.15);max-width:60px}
.lsc-menu-col-head span{font-family:var(--ls-font-body);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--ls-color-accent);font-weight:600;white-space:nowrap}
.lsc-menu-col-items ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}
.lsc-menu-col-items li{font-family:var(--ls-font-subtitle);font-size:19px;line-height:1.35;color:var(--ls-color-text);text-wrap:balance}
.lsc-menu-col-items li:not(:last-child)::after{content:"ou";display:block;font-family:var(--ls-font-subtitle);font-style:italic;font-size:14px;color:var(--ls-color-text-muted);margin-top:18px}
.lsc-menu-plain{max-width:620px;margin:0 auto;font-family:var(--ls-font-subtitle);font-size:18px;color:var(--ls-color-text)}
@media(max-width:780px){.lsc-menu-cols{grid-template-columns:1fr;gap:40px}}

/* ============================================================
   RESPONSIVE — marges latérales réduites tablette / mobile
   Desktop : 40px · Tablette : 24px · Mobile : 16px
   ============================================================ */

/* --- Tablette (<=1024px) --- */
@media (max-width: 1024px) {
  /* Sections Elementor « boxed » (pas les full-width) */
  .elementor-section.elementor-section-boxed {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  /* Widgets custom pleine largeur */
  .lsc-testimonials { padding-left: 24px; padding-right: 24px; }
  .lsc-practical    { padding-left: 24px; padding-right: 24px; }
  /* Colonnes : couper le padding horizontal excessif (ex: hero 56px) */
  .elementor-column > .elementor-element-populated { padding-left: 12px !important; padding-right: 12px !important; }
}

/* --- Mobile (<=767px) --- */
@media (max-width: 767px) {
  .elementor-section.elementor-section-boxed {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .lsc-testimonials { padding-left: 16px; padding-right: 16px; }
  .lsc-practical    { padding-left: 16px; padding-right: 16px; }
  /* Colonnes stackées : plus de padding horizontal (la section gère la marge) */
  .elementor-column > .elementor-element-populated { padding-left: 0 !important; padding-right: 0 !important; }
  /* Cartes plus compactes */
  .lsc-testimonial { padding: 22px 20px; }
  .lsc-weekly-card { padding: 22px 18px; }
  .lsc-menu-cols   { gap: 32px; }
  /* Le hero : retirer le grand padding-right de la colonne texte */
  .lsc-hero-img-wrap { margin-top: 24px; }
}

/* --- Petit mobile (<=480px) --- */
@media (max-width: 480px) {
  .elementor-section.elementor-section-boxed {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .lsc-testimonials, .lsc-practical { padding-left: 14px; padding-right: 14px; }
}
/* ============================================================
   BURGER MENU MOBILE / TABLETTE
   ============================================================ */
.lsc-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;margin-left:auto;background:none;border:none;cursor:pointer;z-index:60}
.lsc-burger span{display:block;width:24px;height:2px;background:var(--ls-color-on-accent,#fbeeeb);border-radius:2px;transition:transform .28s ease,opacity .2s ease}
.lsc-header-bordeaux.lsc-nav-open .lsc-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.lsc-header-bordeaux.lsc-nav-open .lsc-burger span:nth-child(2){opacity:0}
.lsc-header-bordeaux.lsc-nav-open .lsc-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body.lsc-nav-locked{overflow:hidden}

@media (max-width: 1024px){
  /* Barre header : logo à gauche + burger à droite */
  .lsc-header-bordeaux .elementor-container{display:flex !important;flex-wrap:wrap;align-items:center;row-gap:0}
  .lsc-burger{display:inline-flex}
  .elementor-element.elementor-element-hdrColLogo{flex:0 1 auto !important;width:auto !important;max-width:70% !important}

  /* Colonnes cachées par défaut */
  .elementor-element-hdrColNav,
  .elementor-element-hdrColLang,
  .elementor-element-hdrColCta{display:none !important;flex-basis:100% !important;width:100% !important;max-width:100% !important}

  /* État ouvert : panneau vertical sous la barre */
  .lsc-header-bordeaux.lsc-nav-open .elementor-element-hdrColNav,
  .lsc-header-bordeaux.lsc-nav-open .elementor-element-hdrColLang,
  .lsc-header-bordeaux.lsc-nav-open .elementor-element-hdrColCta{display:flex !important;justify-content:center;align-items:center;padding:10px 0 !important}
  .lsc-header-bordeaux.lsc-nav-open .elementor-element-hdrColNav{padding-top:20px !important;border-top:1px solid rgba(255,255,255,0.12)}
  .lsc-header-bordeaux.lsc-nav-open .elementor-element-hdrColCta{padding-bottom:22px !important}

  /* Nav vertical, centré, plus aéré */
  .lsc-nav-open .elementor-element-hdrColNav .elementor-nav-menu{flex-direction:column !important;align-items:center;gap:2px;width:100%}
  .lsc-nav-open .elementor-element-hdrColNav .elementor-nav-menu--main{width:100%}
  .lsc-nav-open .elementor-element-hdrColNav .elementor-nav-menu li{width:100%;text-align:center}
  .lsc-nav-open .elementor-element-hdrColNav .elementor-item{font-size:16px !important;padding:10px 0 !important;justify-content:center}
  /* Bouton Réserver pleine largeur dans le panneau */
  .lsc-nav-open .elementor-element-hdrColCta .elementor-button,\n  .lsc-nav-open .elementor-element-hdrColCta .lsc-zc-btn{min-width:200px;text-align:center;justify-content:center}\n  .lsc-nav-open .elementor-element-hdrColCta .lsc-zc-wrap{text-align:center !important;width:100%}
  /* Switcher langue centré */
  .lsc-nav-open .elementor-element-hdrColLang .lsc-lang-switcher{justify-content:center}
}
/* Nav-menu header : centrage desktop */
.lsc-header-bordeaux .elementor-element-hdrColNav .elementor-widget-container{display:flex;justify-content:center}

/* === Bouton Reservation Zenchef === */
.lsc-zc-wrap{display:block}
.lsc-zc-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--ls-font-body);font-size:var(--ls-text-xs);font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:#fff;background:var(--ls-color-accent);padding:16px 30px;border-radius:var(--ls-radius-sm);text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease;border:none}
.lsc-zc-btn:hover{background:var(--ls-color-accent-hover)}
.lsc-zc-btn:focus-visible{outline:2px solid var(--ls-color-accent);outline-offset:2px}
.lsc-zc-icon svg{width:1em;height:1em;fill:currentColor}

/* ============================================================
   HEADER LES SENS (widget custom lsc-header)
   ============================================================ */
.lsch{background:var(--ls-color-accent);color:var(--ls-color-on-accent);position:relative}
.lsch-inner{max-width:1300px;margin:0 auto;padding:12px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.lsch-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.lsch-logo-img{display:block;width:48px;height:auto;border-radius:2px}
.lsch-brand{display:flex;flex-direction:column;line-height:1}
.lsch-title{font-family:var(--ls-font-title);font-size:24px;font-weight:600}
.lsch-sub{font-family:var(--ls-font-body);font-size:10px;letter-spacing:0.3em;text-transform:uppercase;margin-top:5px;color:var(--ls-color-on-accent-muted)}
.lsch-panel{display:flex;align-items:center;gap:26px;flex:1;justify-content:flex-end}
.lsch-nav-list{list-style:none;margin:0;padding:0;display:flex;gap:20px;align-items:center}
.lsch-nav a{text-decoration:none;color:inherit;font-family:var(--ls-font-body);font-size:13px;font-weight:500;letter-spacing:0.03em;transition:color .2s}
.lsch-nav a:hover,
.lsch-nav .current-menu-item > a,
.lsch-nav .current_page_item > a,
.lsch-nav .current-menu-ancestor > a,
.lsch-nav .current-menu-parent > a{color:#fff;font-weight:700}
.lsch-lang .lsc-lang-switcher{margin:0}
.lsch-reserve{display:inline-block;font-family:var(--ls-font-body);font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ls-color-on-accent);border:1px solid var(--ls-color-on-accent-muted);padding:11px 22px;border-radius:2px;text-decoration:none;transition:all .2s;white-space:nowrap}
.lsch-reserve:hover{background:var(--ls-color-on-accent);color:var(--ls-color-accent)}
.lsch-burger,.lsch-close{display:none}

/* --- Sous-menus déroulants au survol (desktop) --- */
.lsch-nav-list li{position:relative}
.lsch-nav-list .sub-menu{
  list-style:none;margin:0;padding:8px 0;min-width:212px;
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--ls-color-accent);border:1px solid rgba(255,255,255,.14);border-radius:3px;
  box-shadow:0 16px 38px rgba(0,0,0,.32);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:200;
}
.lsch-nav-list .menu-item-has-children:hover>.sub-menu,
.lsch-nav-list .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.lsch-nav-list .sub-menu::before{content:"";position:absolute;top:-9px;left:0;right:0;height:9px} /* pont anti-fermeture */
.lsch-nav-list .sub-menu li{width:100%}
.lsch-nav-list .sub-menu a{display:block;white-space:nowrap;padding:9px 22px;font-size:13px;color:var(--ls-color-on-accent-soft)}
.lsch-nav-list .sub-menu a:hover{color:#fff}
.lsch-nav-list .menu-item-has-children>a::after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.65}

/* --- Mobile / tablette (<=1024px) : burger --- */
@media (max-width: 1024px){
  .lsch-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none !important;border:none;cursor:pointer;padding:8px;color:inherit;flex:0 0 auto}
  .lsch-burger span{display:block;width:26px;height:2px;background:currentColor;border-radius:2px;transition:transform .28s ease,opacity .2s ease}
  /* Ouvert : les trois traits deviennent une croix, au même endroit */
  .lsch.is-open .lsch-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .lsch.is-open .lsch-burger span:nth-child(2){opacity:0}
  .lsch.is-open .lsch-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .lsch-panel{
    position:absolute;top:100%;left:0;right:0;
    background:var(--ls-color-accent);
    flex-direction:column;align-items:center;justify-content:flex-start;gap:0;
    padding:16px 24px 28px;
    transform:translateY(-10px);opacity:0;pointer-events:none;
    transition:opacity .25s ease,transform .25s ease;
    box-shadow:0 24px 50px rgba(0,0,0,0.28);
    /* Hauteur utile réelle (hors barre d'adresse) sous l'en-tête : pas de défilement inutile */
    max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;
  }
  .lsch.is-open .lsch-panel{transform:translateY(0);opacity:1;pointer-events:auto}

  /* La croix est portée par le burger : le bouton du panneau reste masqué */
  .lsch-close{display:none}

  /* Nav vertical, compact, centre */
  .lsch-nav{width:100%}
  .lsch-nav-list{flex-direction:column;gap:0;align-items:center;width:100%}
  .lsch-nav-list li{width:auto;text-align:center}
  .lsch-nav a{font-size:17px;padding:9px 0;display:block}
  /* Sous-menus : statiques et indentés dans le panneau mobile */
  .lsch-nav-list .sub-menu{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;background:transparent;border:0;box-shadow:none;padding:0 0 4px;min-width:0}
  .lsch-nav-list .sub-menu li{width:auto}
  .lsch-nav-list .sub-menu a{font-size:15px;padding:5px 0;white-space:normal;color:var(--ls-color-on-accent-soft)}
  .lsch-nav-list .menu-item-has-children>a::after{display:none}

  /* Langues centrees, un peu plus grandes */
  .lsch-lang{margin-top:14px}
  .lsch-lang .lsc-lang-switcher{justify-content:center;gap:10px}
  .lsch-lang .lsc-lang-item a{font-size:12px}

  /* Bouton reserver centre */
  .lsch-cta{margin-top:18px;display:flex;justify-content:center;width:100%}
  .lsch-reserve{padding:14px 40px;font-size:13px}
}
/* Header : toujours bord à bord (annule le padding mobile des sections boxed) */
.lsch-section.elementor-section-boxed,
.lsch-section .elementor-container{padding-left:0 !important;padding-right:0 !important;max-width:100% !important}
.lsch-section .elementor-column-wrap,
.lsch-section .elementor-widget-wrap{padding:0 !important}
@media(max-width:1024px){.lsch-section.elementor-section-boxed{padding-left:0 !important;padding-right:0 !important}}

@media(max-width:767px){.lsch-inner{padding:12px 20px}}


/* [LSC] Header nav centered + Reserve modal - do not remove */
/* --- Header : menu centre en desktop (>1024px) --- */
@media (min-width: 1025px) {
  .lsch-inner { position: relative; }
  .lsch-panel { justify-content: flex-end; gap: 22px; }
  .lsch-nav { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
}

/* --- Modal Reservation (iframe Zenchef standalone) --- */
.ls-rm{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:24px}
.ls-rm.is-open{display:flex}
.ls-rm-backdrop{position:absolute;inset:0;background:var(--ls-rm-backdrop,transparent);animation:lsRmFade .25s ease;pointer-events:auto}
.ls-rm-shell{position:relative;width:min(720px,100%);max-height:calc(100vh - 48px);background:transparent;border-radius:0;box-shadow:none;overflow:visible;display:flex;flex-direction:column;animation:lsRmPop .28s cubic-bezier(.22,1,.36,1) both}
.ls-rm-close{position:absolute;top:8px;right:12px;z-index:3;background:none;border:0;color:var(--ls-rm-fg,#fbeeeb);font-size:30px;line-height:1;cursor:pointer;padding:4px 8px;opacity:.9}
.ls-rm-close:hover{opacity:1}
.ls-rm-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ls-rm-fg,#fbeeeb);opacity:.75;font-family:var(--ls-font-body,system-ui);font-size:14px;letter-spacing:.03em}
.ls-rm-frameWrap{flex:1;min-height:min(720px,80vh);position:relative;background:var(--ls-rm-modal,#54231e);border-radius:4px;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden}
.ls-rm-frameWrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
body.ls-rm-open{overflow:hidden}
@keyframes lsRmFade{from{opacity:0}to{opacity:1}}
@keyframes lsRmPop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .ls-rm{padding:0}
  .ls-rm-shell{width:100%;max-height:100vh;border-radius:0}
}

/* =========================================================
 * Contenu data-driven : Plats (lsc-dishes), Desserts (lsc-desserts), Vins (lsc-wines)
 * ========================================================= */
.lsc-empty{color:var(--ls-color-text-muted);font-style:italic;text-align:center}

/* Listes prix (plats / vins / desserts liste) */
.lsc-list{list-style:none;margin:0;padding:0}
.lsc-list-item{padding:14px 0;border-bottom:1px solid var(--ls-color-border)}
.lsc-list-item:last-child{border-bottom:0}
.lsc-list-head{display:flex;align-items:baseline;gap:10px}
.lsc-list-name{font-family:var(--ls-font-title);font-size:var(--ls-title-sm);font-weight:500;color:var(--ls-color-text);line-height:1.25}
.lsc-list-dots{flex:1 1 auto;border-bottom:1px dotted rgba(28,26,23,.28);transform:translateY(-3px)}
.lsc-list-price{flex:0 0 auto;font-family:var(--ls-font-ui);font-weight:600;color:var(--ls-color-accent);white-space:nowrap}
.lsc-list-desc{margin:4px 0 0;font-family:var(--ls-font-body);font-size:var(--ls-text-md);color:var(--ls-color-text-muted);line-height:1.5}
.lsc-wine-meta{font-family:var(--ls-font-body);font-size:var(--ls-text-sm);font-weight:400;color:var(--ls-color-text-muted)}

/* Groupes de catégories (carte / vins par couleur) */
.lsc-dishes-cat + .lsc-dishes-cat,.lsc-wines-group + .lsc-wines-group{margin-top:36px}
.lsc-dishes-cat-title{font-family:var(--ls-font-title);font-size:var(--ls-title-lg);font-weight:500;color:var(--ls-color-text);margin:0 0 6px;text-align:center}

/* Grille desserts avec photos */
.lsc-desserts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.lsc-dessert-card{display:flex;flex-direction:column;background:var(--ls-color-bg-soft);border:1px solid var(--ls-color-border);border-radius:3px;overflow:hidden}
.lsc-dessert-media{aspect-ratio:4/3;overflow:hidden;background:var(--ls-color-placeholder)}
.lsc-dessert-media .lsc-dessert-img,.lsc-dessert-media img{width:100%;height:100%;object-fit:cover;display:block}
.lsc-dessert-placeholder{display:block;width:100%;height:100%;background:repeating-linear-gradient(45deg,var(--ls-color-placeholder),var(--ls-color-placeholder) 10px,#e1d8c9 10px,#e1d8c9 20px)}
.lsc-dessert-body{padding:18px 20px 22px}
.lsc-dessert-name{margin:0;font-family:var(--ls-font-title);font-size:var(--ls-title-sm);font-weight:500;color:var(--ls-color-text);line-height:1.25;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.lsc-dessert-price{flex:0 0 auto;font-family:var(--ls-font-ui);font-size:var(--ls-text-md);font-weight:600;color:var(--ls-color-accent)}
.lsc-dessert-desc{margin:6px 0 0;font-family:var(--ls-font-body);font-size:var(--ls-text-md);color:var(--ls-color-text-muted);line-height:1.55}
.lsc-dessert-desc p{margin:0 0 6px}
@media (max-width:900px){.lsc-desserts-grid{grid-template-columns:repeat(2,1fr)!important}}
@media (max-width:560px){.lsc-desserts-grid{grid-template-columns:1fr!important}}

/* --- Carte des vins (lsc-wine-card) : bascule verre/bouteille + ancres --- */
.lsc-winecard-switch{display:inline-flex;gap:30px;margin:0 auto 30px}
.lsc-winecard{display:block;text-align:left}
.lsc-winecard>.lsc-winecard-switch{display:flex;width:max-content;margin-left:auto;margin-right:auto}
.lsc-winecard-switch button{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ls-font-ui);font-size:var(--ls-text-md);font-weight:600;color:var(--ls-color-text-muted);padding:9px 22px;border-radius:999px;transition:.18s}
.lsc-winecard-switch button.is-active{background:var(--ls-color-accent);color:var(--ls-color-on-accent)}
.lsc-winecard-pane{display:none}
.lsc-winecard[data-view="verre"] .lsc-pane-verre{display:block}
.lsc-winecard[data-view="bouteille"] .lsc-pane-bouteille{display:block}
.lsc-winecard-anchors{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:0 0 34px;padding-bottom:18px;border-bottom:1px solid var(--ls-color-border)}
.lsc-winecard-anchors a{font-family:var(--ls-font-ui);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ls-color-accent);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;transition:.15s}
.lsc-winecard-anchors a:hover{border-bottom-color:var(--ls-color-accent)}
.lsc-wines-type{scroll-margin-top:120px}
.lsc-wines-type + .lsc-wines-type{margin-top:44px}
.lsc-wines-region-name{font-family:var(--ls-font-ui);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ls-color-text-muted);margin:22px 0 4px}
.lsc-wines-region-name:first-of-type{margin-top:10px}


