/* ==========================================================================
   Restaurant du Lac — cœur des pages (CCbyCC)
   Même langage que l'en-tête / pied de page : crème, bleu nuit du lac, vagues du logo.
   Lisibilité d'abord : corps 18 px, contrastes forts, aucun contenu caché.
   Les variables --lac-* sont définies par l'en-tête ; valeurs de secours ici.
   ========================================================================== */
:root {
	--lp-nuit: var(--lac-nuit, #0f2b38);
	--lp-encre: var(--lac-encre, #1f1f1f);
	--lp-texte: #2c2a26;
	--lp-doux: #5d5a53;
	--lp-creme: var(--lac-creme, #faf7f1);
	--lp-sable: var(--lac-sable, #efe8da);
	--lp-bleu: var(--lac-bleu, #3bb3e6);
	--lp-bleu-fonce: #1f7fa8;
	--lp-jaune: var(--lac-jaune, #ecc83e);
	--lp-lime: var(--lac-lime, #d4df3f);
	--lp-clair: var(--lac-texte-clair, #f1ece2);
	--lp-titre: var(--lac-titre, "AlteHaas", "Helvetica Neue", Arial, sans-serif);
	--lp-script: var(--lac-script, "Satisfy", cursive);
	--lp-corps: var(--lac-corps, "Poppins", system-ui, sans-serif);
	--lp-gouttiere: max(20px, calc((100vw - 1200px) / 2));
	--lp-rayon: 14px;
	--lp-ombre: 0 1px 2px rgba(15, 43, 56, .06), 0 10px 30px -12px rgba(15, 43, 56, .22);
	--lp-vague: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 570.7 34.03'%3E%3Cpath d='M4.4,4.4c72,0,72.64,25.24,136.94,25.24,60.7,0,84.74-25.24,144-25.24,62.12,0,77.14,25.24,142,25.24,61.29,0,77.72-25.24,138.91-25.24' fill='none' stroke='%233bb3e6' stroke-width='8.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- Structure ------------------------------------------------------ */
.e-con.lp { --gap: 0px; gap: 0; padding: 0; background: var(--lp-creme); color: var(--lp-texte); font-family: var(--lp-corps); }
.e-con.lp-section { padding: clamp(56px, 8vw, 104px) var(--lp-gouttiere); gap: 28px; --gap: 28px; background: var(--lp-creme); }
.e-con.lp-section--sable { background: var(--lp-sable); }
.e-con.lp-section--nuit { background: var(--lp-nuit); color: var(--lp-clair); }
.e-con.lp-section--serre { padding-top: clamp(36px, 5vw, 56px); padding-bottom: clamp(36px, 5vw, 56px); }
.e-con.lp-centre { align-items: center; text-align: center; }
.e-con.lp-etroit { max-width: 820px; margin-inline: auto; width: 100%; padding: 0; gap: 18px; --gap: 18px; }
.e-con.lp-deux { display: grid !important; grid-template-columns: 1.05fr .95fr; gap: clamp(32px, 6vw, 88px); align-items: center; padding: 0; }
.e-con.lp-deux--inverse > :first-child { order: 2; }
.e-con.lp-col { padding: 0; gap: 18px; --gap: 18px; width: auto; }
.e-con.lp-grille { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 28px; padding: 0; width: 100%; }
@media (max-width: 900px) {
	.e-con.lp-deux { grid-template-columns: 1fr; }
	.e-con.lp-deux--inverse > :first-child { order: 0; }
}

/* ---------- Typographie ---------------------------------------------------- */
:is(.lp-section, .lp-hero) .elementor-widget-text-editor,
.lp-texte { font: 400 18px/1.75 var(--lp-corps) !important; color: inherit !important; }
:is(.lp-section, .lp-hero) .elementor-widget-text-editor p { margin: 0 0 1em; }
:is(.lp-section, .lp-hero) .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
:is(.lp-section, .lp-hero) .elementor-widget-text-editor a { color: var(--lp-bleu-fonce); text-decoration: underline; text-underline-offset: 3px; }
.lp-section--nuit .elementor-widget-text-editor a { color: var(--lp-jaune); }
:is(.lp-section, .lp-hero) .elementor-widget-text-editor strong { font-weight: 600; color: var(--lp-encre); }
.lp-section--nuit .elementor-widget-text-editor strong { color: #fff; }

.lp-sur .elementor-heading-title { font: 400 clamp(26px, 3vw, 34px)/1.1 var(--lp-script) !important; color: var(--lp-bleu-fonce) !important; letter-spacing: 0 !important; text-transform: none !important; margin: 0; }
.lp-section--nuit .lp-sur .elementor-heading-title { color: var(--lp-jaune) !important; }
.lp-titre .elementor-heading-title,
.lac-titre {
	font: 700 clamp(30px, 4vw, 46px)/1.08 var(--lp-titre) !important;
	color: var(--lp-encre) !important; letter-spacing: .01em !important; text-transform: none !important; margin: 0;
}
.lp-section--nuit .lp-titre .elementor-heading-title { color: #fff !important; }
.lp-titre--vague .elementor-heading-title::after,
.lac-titre--vague::after {
	content: ""; display: block; width: 92px; height: 15px; margin-top: 18px;
	background: var(--lp-vague) left center / contain no-repeat;
}
.lp-centre .lp-titre--vague .elementor-heading-title::after { margin-inline: auto; }
.lp-chapo { font: 400 clamp(19px, 1.6vw, 21px)/1.65 var(--lp-corps) !important; color: var(--lp-doux) !important; }
.lp-section--nuit .lp-chapo { color: var(--lp-clair) !important; opacity: .9; }

/* ---------- Héros de page -------------------------------------------------- */
.e-con.lp-hero {
	position: relative; isolation: isolate;
	min-height: clamp(380px, 52vh, 560px);
	padding: clamp(90px, 12vw, 150px) var(--lp-gouttiere) clamp(110px, 12vw, 160px);
	justify-content: center; align-items: center; text-align: center; gap: 14px; --gap: 14px;
	background-color: var(--lp-nuit); background-size: cover; background-position: center;
	color: #fff;
}
.e-con.lp-hero--accueil { min-height: clamp(520px, 72vh, 700px); }
.e-con.lp-hero::before { /* voile pour la lisibilité */
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(15, 43, 56, .55) 0%, rgba(15, 43, 56, .38) 45%, rgba(15, 43, 56, .7) 100%);
}
.e-con.lp-hero::after { /* bord en vague, couleur de la section suivante */
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: clamp(40px, 6vw, 84px); z-index: 1;
	background: var(--lp-creme);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 96' preserveAspectRatio='none'%3E%3Cpath d='M0 56C180 22 360 22 540 46s360 46 540 22 270-34 360-30V96H0Z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 96' preserveAspectRatio='none'%3E%3Cpath d='M0 56C180 22 360 22 540 46s360 46 540 22 270-34 360-30V96H0Z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
}
.e-con.lp-hero .elementor-background-slideshow { z-index: -2; }
.lp-hero .lp-sur .elementor-heading-title { color: var(--lp-jaune) !important; font-size: clamp(28px, 3.4vw, 40px) !important; }
.lp-hero .lp-titre .elementor-heading-title { color: #fff !important; font-size: clamp(38px, 6vw, 72px) !important; text-shadow: 0 2px 24px rgba(0, 0, 0, .25); }
.lp-hero .lp-chapo { color: #fff !important; max-width: 640px; margin-inline: auto; text-shadow: 0 1px 12px rgba(0, 0, 0, .3); }
.lp-hero__logo { max-width: min(380px, 74vw) !important; width: 100% !important; }
.lp-hero__logo img { width: 100%; height: auto; filter: drop-shadow(0 4px 24px rgba(0, 0, 0, .25)); }
.lp-hero .infos-statut { margin-top: 6px; padding: 9px 18px; border-radius: 999px; background: rgba(15, 43, 56, .72); font-size: 16px; color: #fff; }
.e-con.lp-boutons { flex-direction: row !important; flex-wrap: wrap; justify-content: center; gap: 14px; --gap: 14px; padding: 0; width: 100%; margin-top: 10px; }
.lp-deux .e-con.lp-boutons, .e-con.lp-boutons--gauche { justify-content: flex-start; }

/* ---------- Boutons -------------------------------------------------------- */
.lac-bouton,
:is(.lp-section, .lp-hero) .lp-btn .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 54px; padding: 14px 28px !important; border-radius: 999px !important;
	font: normal 600 17px/1.2 var(--lp-corps) !important; letter-spacing: .01em !important; text-transform: none !important; text-decoration: none !important;
	border: 2px solid var(--lp-jaune) !important; background: var(--lp-jaune) !important; color: var(--lp-encre) !important;
	transition: background .2s, color .2s, border-color .2s, transform .2s; cursor: pointer;
}
.lac-bouton:hover,
:is(.lp-section, .lp-hero) .lp-btn .elementor-button:hover { background: #f3d55d !important; transform: translateY(-1px); }
.lac-bouton--ligne,
:is(.lp-section, .lp-hero) .lp-btn--ligne .elementor-button { background: transparent !important; color: var(--lp-encre) !important; border-color: var(--lp-encre) !important; }
.lac-bouton--ligne:hover,
:is(.lp-section, .lp-hero) .lp-btn--ligne .elementor-button:hover { background: var(--lp-encre) !important; color: #fff !important; }
.lp-hero .lp-btn--ligne .elementor-button,
.lp-section--nuit .lp-btn--ligne .elementor-button { color: #fff !important; border-color: rgba(255, 255, 255, .85) !important; }
.lp-hero .lp-btn--ligne .elementor-button:hover,
.lp-section--nuit .lp-btn--ligne .elementor-button:hover { background: #fff !important; color: var(--lp-encre) !important; }
.lac-bouton:focus-visible, :is(.lp-section, .lp-hero) .lp-btn .elementor-button:focus-visible, .lac-sommaire a:focus-visible, .lac-prochaine__item:focus-visible { outline: 3px solid var(--lp-bleu); outline-offset: 3px; }
:is(.lp-section, .lp-hero) .lp-btn .elementor-button-icon svg { width: 18px; height: 18px; fill: currentColor; }

/* ---------- Images --------------------------------------------------------- */
.lp-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--lp-rayon); box-shadow: var(--lp-ombre); }
.lp-photo--paysage img { aspect-ratio: 3 / 2; }
:is(.lp-section, .lp-hero) .elementor-widget-gallery .e-gallery-image { border-radius: 10px; }

/* ---------- Cartes « portes d'entrée » -------------------------------------- */
.e-con.lp-carte {
	position: relative; padding: 0; gap: 0; --gap: 0px; overflow: hidden;
	background: #fff; border-radius: var(--lp-rayon); box-shadow: var(--lp-ombre);
	transition: transform .25s, box-shadow .25s;
}
.e-con.lp-carte:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(15, 43, 56, .06), 0 18px 40px -14px rgba(15, 43, 56, .3); }
.lp-carte .elementor-widget-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.e-con.lp-carte__corps { padding: 26px 26px 30px; gap: 10px; --gap: 10px; }
.lp-carte__etiquette .elementor-heading-title { display: inline-block; padding: 5px 12px; border-radius: 999px; background: var(--lp-sable); font: 600 13px/1.2 var(--lp-corps) !important; color: var(--lp-encre) !important; letter-spacing: .04em !important; text-transform: uppercase !important; }
.lp-carte__etiquette--jaune .elementor-heading-title { background: var(--lp-jaune); }
.lp-carte__titre .elementor-heading-title { font: 700 26px/1.15 var(--lp-titre) !important; color: var(--lp-encre) !important; text-transform: none !important; letter-spacing: 0 !important; }
.lp-carte .elementor-widget-text-editor { font-size: 17px !important; line-height: 1.6 !important; color: var(--lp-doux) !important; }
.lp-lien .elementor-button { padding: 0 !important; background: none !important; border: 0 !important; color: var(--lp-bleu-fonce) !important; font: 600 17px/1.4 var(--lp-corps) !important; text-transform: none !important; letter-spacing: 0 !important; }
.lp-lien .elementor-button-text::after { content: " →"; }
.lp-lien .elementor-button::before { content: ""; position: absolute; inset: 0; } /* toute la carte est cliquable */
.lp-lien .elementor-button:hover .elementor-button-text { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Équipe --------------------------------------------------------- */
.e-con.lp-equipe { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 28px; padding: 0; width: 100%; }
.e-con.lp-membre { padding: 0; gap: 10px; --gap: 10px; text-align: center; align-items: center; }
.lp-membre img { width: 100%; max-width: 260px; aspect-ratio: 1; object-fit: cover; border-radius: 50%; box-shadow: var(--lp-ombre); }
.lp-membre__nom .elementor-heading-title { font: 700 21px/1.2 var(--lp-titre) !important; color: var(--lp-encre) !important; margin-top: 8px; }
.lp-membre__role .elementor-heading-title { font: 400 16px/1.3 var(--lp-corps) !important; color: var(--lp-doux) !important; }
@media (max-width: 900px) { .e-con.lp-equipe { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Infos pratiques (accueil, nous trouver) ------------------------ */
.e-con.lp-infos { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 24px; padding: 0; width: 100%; }
.e-con.lp-info { padding: 28px; gap: 12px; --gap: 12px; background: #fff; border-radius: var(--lp-rayon); box-shadow: var(--lp-ombre); }
.lp-section--nuit .e-con.lp-info { background: rgba(255, 255, 255, .06); box-shadow: none; border: 1px solid rgba(241, 236, 226, .16); }
.lp-info__titre .elementor-heading-title { font: 600 14px/1.2 var(--lp-corps) !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--lp-bleu-fonce) !important; }
.lp-section--nuit .lp-info__titre .elementor-heading-title { color: var(--lp-jaune) !important; }
.lp-info .infos__titre { font: 600 15px/1.3 var(--lp-corps); margin-top: 1em; }
.lp-info .infos__liste, .lp-info .infos__ligne { font-size: 17px; }
.lp-info .infos__ligne { border-bottom: 1px dashed rgba(31, 31, 31, .15); padding: .45em 0; }
.lp-section--nuit .lp-info .infos__ligne { border-color: rgba(241, 236, 226, .18); }
.lp-info .infos-fermetures { margin-top: 1em; padding: 14px 16px; border-radius: 10px; background: #fff6d6; color: var(--lp-encre); }
.lp-info .infos-fermetures .infos__titre { margin-top: 0; }
.lp-gros-tel a { font: 700 clamp(24px, 2.6vw, 30px)/1.2 var(--lp-titre); color: inherit; text-decoration: none; }
.lp-gros-tel a:hover { color: var(--lp-bleu-fonce); }
@media (max-width: 1000px) { .e-con.lp-infos { grid-template-columns: 1fr; } }

/* ==========================================================================
   Shortcodes : carte, menus, soirées
   ========================================================================== */

/* Sommaire (accès rapide) */
.lac-sommaire *, .lac-menus *, .lac-carte *, .lac-agenda *, .lac-prochaine *, .lac-bouton, .lac-rappel, .lac-vide { box-sizing: border-box; }
.lac-sommaire { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.lac-sommaire a {
	display: inline-flex; align-items: center; min-height: 52px; padding: 10px 22px; border-radius: 999px;
	background: #fff; border: 2px solid var(--lp-encre); color: var(--lp-encre); text-decoration: none;
	font: 600 17px/1.2 var(--lp-corps); transition: background .2s, color .2s;
}
.lac-sommaire a:hover { background: var(--lp-encre); color: #fff; }
.lac-sommaire a:last-child { border-color: var(--lp-bleu-fonce); color: var(--lp-bleu-fonce); }
.lac-sommaire a:last-child:hover { background: var(--lp-bleu-fonce); color: #fff; }

/* Menus permanents */
.lac-menus { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 28px; text-align: left; }
.lac-menu {
	display: flex; flex-direction: column; gap: 14px; padding: 32px 30px 30px;
	background: #fff; border-radius: var(--lp-rayon); box-shadow: var(--lp-ombre);
	border-top: 6px solid var(--lp-bleu);
}
.lac-menu:nth-child(3n+2) { border-top-color: var(--lp-jaune); }
.lac-menu:nth-child(3n+3) { border-top-color: var(--lp-lime); }
.lac-menu__dispo { margin: 0; font: 600 14px/1.35 var(--lp-corps); color: var(--lp-doux); letter-spacing: .02em; }
.lac-menu__titre { margin: 0; font: 700 28px/1.12 var(--lp-titre); color: var(--lp-encre); }
.lac-menu__accroche { margin: -4px 0 0; font: 400 17px/1.5 var(--lp-corps); color: var(--lp-doux); }
.lac-menu__prix { margin: 0; display: grid; gap: 6px; padding: 14px 16px; border-radius: 10px; background: var(--lp-creme); }
.lac-menu__prix > div { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.lac-menu__prix dt { font: 400 17px/1.4 var(--lp-corps); color: var(--lp-texte); }
.lac-menu__prix dd { margin: 0; font: 700 20px/1.2 var(--lp-titre); color: var(--lp-encre); white-space: nowrap; font-variant-numeric: tabular-nums; }
.lac-menu__plats, .lac-soiree__plats { list-style: none; margin: 0; padding: 0; font: 400 17px/1.5 var(--lp-corps); color: var(--lp-texte); }
.lac-menu__plats li, .lac-soiree__plats li { padding: 8px 0; border-bottom: 1px dashed rgba(31, 31, 31, .14); }
.lac-menu__plats li:last-child, .lac-soiree__plats li:last-child { border-bottom: 0; }
.lac-menu__plats li.is-titre, .lac-soiree__plats li.is-titre { padding-top: 16px; border-bottom: 0; font: 600 14px/1.2 var(--lp-corps); letter-spacing: .1em; text-transform: uppercase; color: var(--lp-bleu-fonce); }
.lac-menu__plats li.is-titre:first-child { padding-top: 0; }
.lac-menu__note { margin: auto 0 0; padding-top: 6px; font: 400 15px/1.55 var(--lp-corps); color: var(--lp-doux); }
.lac-menu__pdf { margin: 0; }
.lac-menu__pdf a, .lac-lien-pdf { font: 600 16px/1.4 var(--lp-corps); color: var(--lp-bleu-fonce); text-decoration: underline; text-underline-offset: 3px; }

/* La carte */
.lac-carte { text-align: left; }
.lac-carte__tete { text-align: center; max-width: 760px; margin: 0 auto 40px; }
.lac-carte__intro { font: 400 19px/1.65 var(--lp-corps); color: var(--lp-doux); margin: 14px 0 0; }
.lac-carte__sections { columns: 2 440px; column-gap: clamp(32px, 5vw, 72px); }
.lac-carte__section { break-inside: avoid; margin: 0 0 44px; }
.lac-carte__h {
	margin: 0 0 12px; padding-bottom: 14px;
	font: 700 25px/1.15 var(--lp-titre); color: var(--lp-encre);
	background: var(--lp-vague) left bottom / 70px 12px no-repeat;
}
.lac-carte__plats { list-style: none; margin: 0; padding: 0; }
.lac-plat { padding: 12px 0; border-bottom: 1px solid rgba(31, 31, 31, .08); }
.lac-plat:last-child { border-bottom: 0; }
.lac-plat__ligne { display: flex; align-items: baseline; gap: 10px; }
.lac-plat__nom { font: 500 18px/1.4 var(--lp-corps); color: var(--lp-encre); }
.lac-plat__points { flex: 1 1 24px; min-width: 24px; border-bottom: 2px dotted rgba(31, 31, 31, .28); transform: translateY(-5px); }
.lac-plat__prix { flex: none; font: 700 18px/1.3 var(--lp-titre); color: var(--lp-encre); font-variant-numeric: tabular-nums; }
.lac-plat__detail { margin: 3px 0 0; font: 400 16px/1.5 var(--lp-corps); color: var(--lp-doux); }
.lac-carte__note { margin: 12px 0 0; padding: 12px 14px; border-radius: 10px; background: var(--lp-sable); font: 400 15.5px/1.55 var(--lp-corps); color: var(--lp-texte); }
.lac-carte__pied { margin-top: 12px; padding-top: 26px; border-top: 1px solid rgba(31, 31, 31, .12); font: 400 15.5px/1.65 var(--lp-corps); color: var(--lp-doux); columns: 2 380px; column-gap: 48px; }
.lac-carte__pied p { margin: 0 0 12px; break-inside: avoid; }
.lac-rappel {
	margin: 36px auto 0; max-width: 820px; padding: 18px 22px; border-radius: 12px;
	background: #fff6d6; border-left: 6px solid var(--lp-jaune);
	font: 400 17px/1.6 var(--lp-corps); color: var(--lp-encre); text-align: left;
}
.lac-rappel a { color: var(--lp-bleu-fonce); font-weight: 600; }

/* Soirées : agenda */
.lac-agenda { display: grid; gap: 28px; text-align: left; }
.lac-soiree {
	display: grid; grid-template-columns: 132px 1fr minmax(0, 340px); gap: 0;
	background: #fff; border-radius: var(--lp-rayon); box-shadow: var(--lp-ombre); overflow: hidden;
	scroll-margin-top: 140px;
}
.lac-soiree__date {
	display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 2px;
	padding: 28px 10px; background: var(--lp-nuit); color: #fff; text-align: center; line-height: 1;
}
.lac-soiree__date .j { font: 600 16px/1 var(--lp-corps); letter-spacing: .12em; text-transform: uppercase; color: var(--lp-jaune); }
.lac-soiree__date .n { font: 700 64px/1 var(--lp-titre); margin: 6px 0 4px; }
.lac-soiree__date .m { font: 600 17px/1 var(--lp-corps); text-transform: uppercase; letter-spacing: .06em; }
.lac-soiree__corps { padding: 28px 32px 30px; display: flex; flex-direction: column; gap: 12px; }
.lac-soiree__badge { margin: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font: 700 14px/1.2 var(--lp-corps); letter-spacing: .08em; text-transform: uppercase; color: #9a6b00; }
.lac-complet { display: inline-block; padding: 5px 10px; border-radius: 6px; background: #b3261e; color: #fff; letter-spacing: .06em; }
.lac-soiree__titre { margin: 0; font: 700 clamp(26px, 3vw, 34px)/1.1 var(--lp-titre); color: var(--lp-encre); }
.lac-soiree__quand { margin: 0; font: 400 19px/1.4 var(--lp-corps); color: var(--lp-texte); }
.lac-soiree__quand strong { font-weight: 600; }
.lac-soiree__texte { margin: 0; font: 400 17px/1.6 var(--lp-corps); color: var(--lp-doux); }
.lac-soiree__plats { padding: 4px 0 0; }
.lac-soiree__plats li { padding: 7px 0 7px 22px; position: relative; }
.lac-soiree__plats li:not(.is-titre)::before { content: ""; position: absolute; left: 2px; top: 1.05em; width: 9px; height: 9px; border-radius: 50%; background: var(--lp-bleu); }
.lac-soiree__prix { margin: 4px 0 0; font: 700 24px/1.2 var(--lp-titre); color: var(--lp-encre); }
.lac-soiree__prix small { font: 400 16px/1 var(--lp-corps); color: var(--lp-doux); }
.lac-soiree__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.lac-soiree__img { margin: 0; position: relative; }
.lac-soiree__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lac-soiree.is-complet .lac-soiree__date { background: #5d5a53; }
@media (max-width: 1000px) {
	.lac-soiree { grid-template-columns: 104px 1fr; }
	.lac-soiree__img { grid-column: 1 / -1; grid-row: 1; aspect-ratio: 16 / 9; }
	.lac-soiree__date .n { font-size: 52px; }
}
@media (max-width: 560px) {
	.lac-soiree { grid-template-columns: 1fr; }
	.lac-soiree__date { flex-direction: row; justify-content: center; gap: 10px; padding: 14px; align-items: baseline; }
	.lac-soiree__date .n { font-size: 34px; margin: 0; }
	.lac-soiree__corps { padding: 22px 20px 24px; }
	.lac-soiree__actions .lac-bouton { width: 100%; }
}

/* Soirées : bandeau « prochaine soirée » (accueil) */
.lac-prochaine { width: 100%; }
.lac-prochaine__item ~ .lac-prochaine__item { display: none; }
.lac-prochaine__item {
	display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(16px, 3vw, 36px);
	padding: 18px clamp(18px, 3vw, 36px) 18px 18px; border-radius: var(--lp-rayon);
	background: #fff; box-shadow: var(--lp-ombre); text-decoration: none !important; color: var(--lp-encre);
	border: 2px solid transparent; transition: border-color .2s, transform .2s;
}
.lac-prochaine__item:hover { border-color: var(--lp-jaune); transform: translateY(-2px); }
.lac-prochaine .lac-soiree__date { border-radius: 10px; padding: 16px 18px; min-width: 96px; }
.lac-prochaine .lac-soiree__date .n { font-size: 46px; }
.lac-prochaine__txt { display: flex; flex-direction: column; gap: 6px; text-align: left; }
.lac-prochaine__sur { font: 700 13.5px/1.2 var(--lp-corps); letter-spacing: .08em; text-transform: uppercase; color: #9a6b00; }
.lac-prochaine__titre { font: 700 clamp(24px, 2.6vw, 30px)/1.12 var(--lp-titre); }
.lac-prochaine__quand { font: 400 17.5px/1.45 var(--lp-corps); color: var(--lp-texte); }
.lac-prochaine__quand b { color: #b3261e; }
.lac-prochaine__cta { display: inline-flex; align-items: center; gap: 8px; padding: 14px 22px; border-radius: 999px; background: var(--lp-jaune); font: 600 16.5px/1.2 var(--lp-corps); white-space: nowrap; }
@media (max-width: 760px) {
	.lac-prochaine__item { grid-template-columns: 1fr; padding: 0 0 18px; gap: 14px; overflow: hidden; }
	.lac-prochaine .lac-soiree__date { flex-direction: row; justify-content: center; align-items: baseline; gap: 10px; border-radius: 0; padding: 12px; }
	.lac-prochaine .lac-soiree__date .n { font-size: 34px; margin: 0; }
	.lac-prochaine__txt { padding: 0 18px; }
	.lac-prochaine__cta { margin: 0 18px; justify-content: center; }
}
.lac-nowrap { white-space: nowrap; }
.lac-bouton { text-align: center; }

.lac-vide { margin: 0; padding: 24px; border-radius: var(--lp-rayon); background: #fff; text-align: center; font: 400 18px/1.6 var(--lp-corps); color: var(--lp-doux); }

@media (prefers-reduced-motion: reduce) {
	.lac-prochaine__item, .e-con.lp-carte, .lac-bouton { transition: none; }
}
.lp-btn .elementor-button-text, .lp-lien .elementor-button-text { font: inherit !important; letter-spacing: inherit !important; text-transform: none !important; }

/* Retouches après essai sur le site */
.e-con.lp-carte { text-align: left; align-items: stretch; }
.lp-carte .elementor-widget { text-align: left; }
.e-con.lp-section--nuit .elementor-widget-text-editor a { color: var(--lp-jaune); }
.lp-gros-tel a { color: inherit !important; text-decoration: none !important; }
.e-con.lp-section--nuit .lp-gros-tel a { color: #fff !important; }
.lac-soiree__img img { height: 100% !important; width: 100% !important; max-width: none !important; }
.lp-membre img { border-radius: var(--lp-rayon) !important; }
#la-carte, #nos-menus, .lac-carte__section { scroll-margin-top: 140px; }
.lac-bouton { gap: .35em; }

/* Soirs de soirée : ni carte ni menus le soir */
.lac-soirs { box-sizing: border-box; width: 100%; max-width: 820px; margin: 8px auto 0; padding: 18px 22px; border-radius: 12px; background: #fff6d6; border-left: 6px solid var(--lp-jaune); text-align: left; font: 400 17px/1.6 var(--lp-corps); color: var(--lp-encre); }
.lac-soirs p { margin: 0; }
.lac-soirs .lac-soirs__titre { font-weight: 700; margin-bottom: 4px; }
.lac-soirs a { color: var(--lp-bleu-fonce); font-weight: 600; }
.lac-soiree__seul { margin: 0; padding: 10px 14px; border-radius: 8px; background: #fff6d6; font: 500 16px/1.5 var(--lp-corps); color: var(--lp-encre); }
.lac-menu__prix-titre { margin: 0 0 2px; font: 600 13px/1.2 var(--lp-corps); letter-spacing: .1em; text-transform: uppercase; color: var(--lp-bleu-fonce); }
