/* ===== À PERSONNALISER : couleurs (à ajuster d'après votre Instagram) ===== */
:root{
  --foret:#284c3d; --feuille:#4f8a5b; --sauge:#e3ebdc; --lanterne:#f0a929; --de:#c9402f; --encre:#16251d; --blanc:#fbfcf8; --clair:#fbfcf8; --item-bg:rgba(255,255,255,.62);
  --grain:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27340%27%20height%3D%27340%27%3E%20%3Cg%20fill%3D%27none%27%20stroke%3D%27%25231c3a2d%27%20stroke-opacity%3D%270.05%27%20stroke-width%3D%273%27%3E%20%3Crect%20x%3D%2724%27%20y%3D%2728%27%20width%3D%2758%27%20height%3D%2758%27%20rx%3D%2713%27/%3E%20%3Crect%20x%3D%27230%27%20y%3D%27210%27%20width%3D%2746%27%20height%3D%2746%27%20rx%3D%2711%27/%3E%20%3C/g%3E%20%3Cg%20fill%3D%27%25231c3a2d%27%20fill-opacity%3D%270.055%27%3E%20%3Ccircle%20cx%3D%2738%27%20cy%3D%2742%27%20r%3D%274.5%27/%3E%3Ccircle%20cx%3D%2768%27%20cy%3D%2742%27%20r%3D%274.5%27/%3E%3Ccircle%20cx%3D%2753%27%20cy%3D%2757%27%20r%3D%274.5%27/%3E%3Ccircle%20cx%3D%2738%27%20cy%3D%2772%27%20r%3D%274.5%27/%3E%3Ccircle%20cx%3D%2768%27%20cy%3D%2772%27%20r%3D%274.5%27/%3E%20%3Ccircle%20cx%3D%27241%27%20cy%3D%27221%27%20r%3D%273.6%27/%3E%3Ccircle%20cx%3D%27265%27%20cy%3D%27221%27%20r%3D%273.6%27/%3E%3Ccircle%20cx%3D%27241%27%20cy%3D%27245%27%20r%3D%273.6%27/%3E%3Ccircle%20cx%3D%27265%27%20cy%3D%27245%27%20r%3D%273.6%27/%3E%20%3Ccircle%20cx%3D%27150%27%20cy%3D%27120%27%20r%3D%272.6%27/%3E%3Ccircle%20cx%3D%27300%27%20cy%3D%2760%27%20r%3D%272.6%27/%3E%3Ccircle%20cx%3D%2740%27%20cy%3D%27200%27%20r%3D%272.6%27/%3E%3Ccircle%20cx%3D%27190%27%20cy%3D%27280%27%20r%3D%272.6%27/%3E%3Ccircle%20cx%3D%27310%27%20cy%3D%27170%27%20r%3D%272.6%27/%3E%20%3C/g%3E%20%3C/svg%3E");
  --fd:"Bricolage Grotesque","Trebuchet MS",sans-serif; --fb:"Figtree","Segoe UI",Arial,sans-serif;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{
  margin:0;color:var(--encre);font:400 1.05rem/1.6 var(--fb);
  background-color:var(--sauge);
  background-image:
    radial-gradient(60rem 40rem at 85% -10%, rgba(79,138,91,.22), transparent 60%),
    radial-gradient(50rem 36rem at -10% 20%, rgba(240,169,41,.16), transparent 55%),
    radial-gradient(70rem 50rem at 50% 120%, rgba(28,58,45,.12), transparent 60%),
    var(--grain);
  background-attachment:fixed;
  background-size:auto,auto,auto,340px 340px;
}
h1,h2,h3{font-family:var(--fd);line-height:1.05;margin:0 0 .5em}
h2,.as-h2{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;color:var(--foret)}
h3{font-size:1.35rem;font-weight:800}
a{color:inherit}
:focus-visible{outline:3px solid var(--lanterne);outline-offset:3px}
.wrap{max-width:1040px;margin:0 auto;padding:0 1.25rem}
header{background:var(--foret);color:var(--clair);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}
header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.5rem 2.5rem;padding-top:.7rem;padding-bottom:.7rem}
.logo{display:block;line-height:0}.logo img{height:64px;width:64px;filter:brightness(0) invert(1)}
nav{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;align-items:center}
nav a{text-decoration:none;padding:.3rem 0;border-bottom:2px solid transparent}
nav a[aria-current="page"]{border-color:var(--lanterne)}
header a.ludo{background:var(--lanterne);color:#16251d;padding:.35rem .9rem;border-radius:999px;font-weight:600;border:0;text-decoration:none;margin-left:-1.4rem;white-space:nowrap}
.btn{display:inline-block;background:var(--lanterne);color:var(--encre);font-weight:600;text-decoration:none;padding:.8rem 1.5rem;border-radius:999px;border:0;font-size:1rem;cursor:pointer;font-family:inherit}
.btn.resa{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--fd);font-weight:800;font-size:1.2rem;padding:1rem 1.6rem;border-radius:16px;box-shadow:0 6px 0 #a96f0a;transition:transform .15s,box-shadow .15s}
.btn.resa:hover{transform:translateY(3px);box-shadow:0 3px 0 #a96f0a;filter:none}
.btn.resa:active{transform:translateY(6px);box-shadow:0 0 0 #a96f0a}
.btn.resa .fl{transition:transform .15s}.btn.resa:hover .fl{transform:translateX(4px)}
.hero .btn.alt{border-radius:16px;padding:1rem 1.5rem;font-family:var(--fd);font-weight:800;font-size:1.05rem}
.btn.alt{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.btn:hover{filter:brightness(1.07)}
.page{display:none}.page.on{display:block}
section{padding:3.5rem 0}
/* Accueil */
.hero{
  position:relative;color:var(--clair);padding:4rem 0 4.5rem;overflow:hidden;
  background-color:var(--foret);
  background-image:linear-gradient(180deg, rgba(14,30,22,.55), rgba(14,30,22,.82)), url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%271400%27%20height%3D%27820%27%20viewBox%3D%270%200%201400%20820%27%3E%20%3Cdefs%3E%20%3ClinearGradient%20id%3D%27sky%27%20x1%3D%270%27%20y1%3D%270%27%20x2%3D%270%27%20y2%3D%271%27%3E%20%3Cstop%20offset%3D%270%27%20stop-color%3D%27%2523142c21%27/%3E%3Cstop%20offset%3D%271%27%20stop-color%3D%27%2523234c3a%27/%3E%20%3C/linearGradient%3E%20%3CradialGradient%20id%3D%27glow%27%20cx%3D%270.8%27%20cy%3D%270.15%27%20r%3D%270.6%27%3E%20%3Cstop%20offset%3D%270%27%20stop-color%3D%27%2523f0a929%27%20stop-opacity%3D%270.35%27/%3E%3Cstop%20offset%3D%271%27%20stop-color%3D%27%2523f0a929%27%20stop-opacity%3D%270%27/%3E%20%3C/radialGradient%3E%20%3C/defs%3E%20%3Crect%20width%3D%271400%27%20height%3D%27820%27%20fill%3D%27url%28%2523sky%29%27/%3E%20%3Crect%20width%3D%271400%27%20height%3D%27820%27%20fill%3D%27url%28%2523glow%29%27/%3E%20%3Cg%20fill%3D%27%25233c6a4f%27%20opacity%3D%270.55%27%3E%20%3Cellipse%20cx%3D%27120%27%20cy%3D%27120%27%20rx%3D%27260%27%20ry%3D%27170%27/%3E%3Cellipse%20cx%3D%27-60%27%20cy%3D%27260%27%20rx%3D%27220%27%20ry%3D%27190%27/%3E%20%3Cellipse%20cx%3D%271300%27%20cy%3D%27560%27%20rx%3D%27260%27%20ry%3D%27200%27/%3E%3Cellipse%20cx%3D%271460%27%20cy%3D%27300%27%20rx%3D%27220%27%20ry%3D%27210%27/%3E%20%3C/g%3E%20%3Cg%20fill%3D%27%2523f0a929%27%20opacity%3D%270.85%27%3E%20%3Ccircle%20cx%3D%27160%27%20cy%3D%2770%27%20r%3D%276%27/%3E%3Ccircle%20cx%3D%27260%27%20cy%3D%2740%27%20r%3D%276%27/%3E%3Ccircle%20cx%3D%27360%27%20cy%3D%2775%27%20r%3D%276%27/%3E%3Ccircle%20cx%3D%27460%27%20cy%3D%2735%27%20r%3D%276%27/%3E%3Ccircle%20cx%3D%27560%27%20cy%3D%2770%27%20r%3D%276%27/%3E%20%3Ccircle%20cx%3D%27860%27%20cy%3D%2760%27%20r%3D%276%27/%3E%3Ccircle%20cx%3D%27960%27%20cy%3D%2735%27%20r%3D%276%27/%3E%3Ccircle%20cx%3D%271060%27%20cy%3D%2770%27%20r%3D%276%27/%3E%3Ccircle%20cx%3D%271160%27%20cy%3D%2740%27%20r%3D%276%27/%3E%3Ccircle%20cx%3D%271260%27%20cy%3D%2775%27%20r%3D%276%27/%3E%20%3C/g%3E%20%3Cpath%20d%3D%27M140%2070%20Q%20360%20150%20560%2070%27%20stroke%3D%27%2523f0a929%27%20stroke-opacity%3D%270.5%27%20stroke-width%3D%273%27%20fill%3D%27none%27/%3E%20%3Cpath%20d%3D%27M840%2070%20Q%201060%20150%201260%2070%27%20stroke%3D%27%2523f0a929%27%20stroke-opacity%3D%270.5%27%20stroke-width%3D%273%27%20fill%3D%27none%27/%3E%20%3C/svg%3E");
  background-size:cover,cover;
  background-position:center,center;
}
.hero .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:center}
.hero h1{margin:0;line-height:0}.hero h1 img{width:min(100%,560px);height:auto;filter:brightness(0) invert(1)}
.hero p{font-size:1.2rem;max-width:34ch;margin:1rem 0 1.6rem;color:#dfe9d8}
.hero .horaires{display:inline-block;background:var(--lanterne);color:var(--encre);border-radius:18px;padding:.9rem 1.3rem;margin:0 0 1.6rem;max-width:none;box-shadow:0 8px 0 rgba(0,0,0,.22)}
.horaires b{display:block;font:800 1.05rem var(--fd);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem}
.horaires span{display:block;font-weight:600;font-size:1.1rem;line-height:1.5}
.hero-art{display:flex;justify-content:center}.hero-art img{width:min(100%,340px);height:auto;border-radius:28px 28px 100px 28px;box-shadow:0 18px 40px -12px rgba(0,0,0,.55);transform:rotate(2deg)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.patio{background:var(--feuille);color:var(--clair);border-radius:28px 28px 120px 28px;padding:2.2rem;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end}
.patio h3{font-size:1.8rem}
.carousel{position:relative;border-radius:28px 28px 120px 28px;overflow:hidden;background:var(--foret);box-shadow:0 18px 40px -16px rgba(20,44,33,.45)}
.car-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative}
.car-track::-webkit-scrollbar{display:none}
.car-slide{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:4/3;position:relative;margin:0}
.car-slide img{width:100%;height:100%;object-fit:cover;display:block}
.car-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1.2rem .9rem;background:linear-gradient(transparent,rgba(14,30,22,.8));color:var(--clair);font-weight:600}
.car-slide.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.4rem;background:linear-gradient(135deg,#3c6a4f,#1c3a2d);color:var(--clair);font:800 1.5rem var(--fd)}
.car-slide.ph small{font:400 1rem var(--fb);opacity:.85}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(251,252,248,.92);color:var(--foret);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.car-btn:hover{background:#fff}.car-prev{left:.8rem}.car-next{right:.8rem}
.car-dots{position:absolute;left:1.2rem;top:1rem;display:flex;gap:.5rem}
.car-dots button{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer}
.car-dots button[aria-current="true"]{background:var(--lanterne);border-color:var(--lanterne)}
.ludo-band{background:var(--lanterne);padding:2.2rem 0}
.ludo-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.ludo-band h2{margin:0;font-size:1.8rem}
.ludo-band .btn{background:var(--foret);color:var(--clair)}
/* Menu */
.menu{display:grid;grid-template-columns:1fr 1fr;gap:1rem 3rem}
.menu .sec{margin:0 0 .4rem;padding:.35rem 1.5rem .45rem;background:var(--foret);color:var(--clair);border-radius:16px 16px 44px 16px;font:800 clamp(2rem,5vw,2.8rem)/1.05 var(--fd);box-shadow:0 8px 0 -3px var(--lanterne)}
.moment{align-self:center;display:flex;justify-content:space-between;align-items:center;gap:.8rem;background:var(--foret);color:var(--clair);border-radius:16px 16px 40px 16px;padding:.8rem 1.1rem;box-shadow:0 8px 0 -3px var(--lanterne),0 12px 22px -12px rgba(20,44,33,.4)}
.moment .tag{display:inline-block;background:var(--lanterne);color:#16251d;font:800 .68rem var(--fd);text-transform:uppercase;letter-spacing:.07em;padding:.18rem .6rem;border-radius:999px;margin-bottom:.35rem}
.moment b{display:block;font:800 1.15rem/1.1 var(--fd)}
.moment small{display:block;margin-top:.2rem;opacity:.92;font-size:.85rem;line-height:1.35}
.moment .pr{font:800 1.3rem var(--fd);color:var(--lanterne);white-space:nowrap}
.item{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px dashed rgba(28,58,45,.3)}
.item b{font-weight:600}.item small{display:block;opacity:.75}.item span{font-weight:600;white-space:nowrap}
.note{background:var(--blanc);border-left:6px solid var(--lanterne);padding:1rem 1.2rem;border-radius:0 12px 12px 0;margin-top:1.5rem;box-shadow:0 10px 24px -14px rgba(20,44,33,.25)}
/* Événements */
/* Contact */
form{background:var(--blanc);padding:1.8rem;border-radius:22px;display:grid;grid-template-columns:1fr 1fr;gap:1rem;box-shadow:0 14px 34px -16px rgba(20,44,33,.3)}
.full{grid-column:1/-1}
label{display:block;font-weight:600;margin-bottom:.25rem;font-size:.95rem}
input,select,textarea{width:100%;font:inherit;padding:.65rem .8rem;border:2px solid #b8c7b0;border-radius:10px;background:#fff;color:var(--encre)}
input:focus,select:focus,textarea:focus{border-color:var(--feuille);outline:none}
.hp{position:absolute;left:-9999px}
#msg{grid-column:1/-1;margin:0;font-weight:600}
.ok{color:var(--feuille)}.ko{color:var(--de)}
.privat{margin-top:3.5rem;background:var(--foret);color:var(--clair);border-radius:26px 26px 90px 26px;padding:2.2rem 2.4rem 2.4rem;box-shadow:0 14px 0 -5px var(--lanterne),0 22px 40px -18px rgba(20,44,33,.45)}
.privat .tag{display:inline-block;background:var(--lanterne);color:#16251d;font:800 .8rem var(--fd);text-transform:uppercase;letter-spacing:.08em;padding:.25rem .85rem;border-radius:999px;margin-bottom:.8rem}
.privat h3{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--clair);margin:0 0 .5rem}
.privat p{margin:.3rem 0;max-width:62ch}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1.2rem 0}
.chips li{border:2px solid var(--lanterne);border-radius:999px;padding:.3rem 1rem;font-weight:600}
.privat .cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem;margin-top:1.4rem}
.privat h4{font:800 1.1rem var(--fd);color:var(--lanterne);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}
.privat ul.list{margin:0;padding-left:1.2rem}.privat ul.list li{margin:.3rem 0}
.privat .devis{margin-top:1.6rem;padding-top:1.1rem;border-top:2px dashed rgba(251,252,248,.35)}
.badge{display:inline-block;background:var(--foret);color:var(--clair);font:800 .72rem var(--fd);text-transform:uppercase;letter-spacing:.07em;padding:.2rem .7rem;border-radius:999px;margin-bottom:.4rem}
.prog-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1.4rem;background:var(--foret);color:var(--clair);border-radius:18px;padding:1rem 1.4rem;margin:0 0 1.6rem}
.prog-info p{margin:.2rem 0}.prog-info b{color:var(--lanterne)}
.ev{display:grid;grid-template-columns:170px 1fr 88px;gap:1.4rem;align-items:center;background:var(--c);color:var(--t);border-radius:32px;padding:1.2rem 1.8rem;margin-bottom:1.2rem;box-shadow:0 10px 24px -14px rgba(20,44,33,.4)}
.ev .when{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:var(--foret);color:var(--clair);border-radius:22px;padding:.9rem .5rem .8rem;font-family:var(--fd);text-transform:uppercase;line-height:1.05;box-shadow:0 6px 0 -2px rgba(0,0,0,.25)}
.ev .when .wd,.ev .when .mo{font-size:.95rem;font-weight:800;letter-spacing:.09em}
.ev .when .mo{color:var(--lanterne)}
.ev .when b{font-size:2.7rem;font-weight:800;line-height:1}
.ev .when small{margin-top:.5rem;background:var(--lanterne);color:#16251d;border-radius:999px;padding:.15rem .7rem;font-size:.85rem;font-weight:800;white-space:nowrap}
.ev h3{font-size:1.3rem;text-transform:uppercase;margin:0 0 .3rem;color:inherit}
.ev p{margin:0}
.ev .ico{width:88px;height:88px;object-fit:contain;justify-self:end}
.prog-info b{color:#eda55d}
.prog-banner{background:var(--foret);color:var(--clair);text-align:center;font:600 1.25rem var(--fd);padding:.9rem 1rem;border-radius:16px;margin-top:1.5rem}
.local{grid-column:1/-1;display:flex;align-items:center;gap:.9rem;background:var(--lanterne);color:#16251d;border-radius:16px 16px 40px 16px;padding:.8rem 1.3rem;margin:.2rem 0 .3rem;box-shadow:0 6px 0 -2px rgba(20,44,33,.35)}
.local .lt{background:var(--foret);color:var(--clair);font:800 .75rem var(--fd);text-transform:uppercase;letter-spacing:.08em;padding:.25rem .8rem;border-radius:999px;white-space:nowrap}
.local p{margin:0;font-size:1.1rem}.local b{font-family:var(--fd);font-weight:800}
.pastille{display:inline-flex;align-items:center;gap:.6rem;background:var(--lanterne);color:#16251d;font:800 1.15rem var(--fd);padding:.55rem 1.3rem .55rem 1rem;border-radius:999px;margin:.4rem 0 .6rem;transform:rotate(-1.5deg);box-shadow:0 6px 0 -1px rgba(20,44,33,.4)}
@media (max-width:430px){.pastille{font-size:1rem;padding:.5rem 1rem .5rem .8rem}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.intro-menu{font:800 clamp(1.5rem,4vw,2.3rem)/1.15 var(--fd);color:var(--foret);margin:0 0 .6rem}
.pic{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.25em;margin-right:.45rem;flex:none}
.menu .sec{display:flex;align-items:center;gap:.8rem;cursor:pointer;list-style:none;user-select:none}
.menu .sec .pic{width:1.1em;height:1.1em;margin:0;stroke:var(--lanterne);stroke-width:1.7}
.menu .sec .deco{margin-left:auto;display:flex;gap:.7rem;font-size:.6em;color:var(--lanterne)}
.menu .sec .deco .pic{width:1.2em;height:1.2em;opacity:.9}
.menu .sec .deco .pic:nth-child(1){transform:rotate(-12deg)}.menu .sec .deco .pic:nth-child(3){transform:rotate(10deg)}
.heart{color:var(--de);fill:var(--de);fill-opacity:.2;margin:0 0 0 .4rem;width:.9em;height:.9em;vertical-align:-.05em}
.toprow{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;margin:.2rem 0 .6rem}
.toprow .pastille{margin:.4rem 0 .6rem}
.toprow .gdeco{display:flex;gap:.9rem;font-size:1.9rem;color:var(--feuille)}
.toprow .gdeco .pic{margin:0;width:1em;height:1em;stroke-width:1.6}
.toprow .gdeco .pic:nth-child(1){transform:rotate(-10deg)}.toprow .gdeco .pic:nth-child(3){transform:rotate(8deg)}
.photos{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.3rem;margin:1.1rem 0 .5rem}
.photos.solo{grid-template-columns:minmax(140px,280px)}
.photos.duo{grid-template-columns:repeat(2,minmax(140px,260px))}
.photos.manger-grid{grid-template-columns:1fr 1fr;align-items:start;max-width:880px;margin-left:auto;margin-right:auto}
.manger-grid .col{display:grid;gap:1.3rem}
.pola.tall img{aspect-ratio:3/4}
.pola{position:relative;margin:0;background:#fff;padding:.5rem .5rem .25rem;border-radius:6px;box-shadow:0 10px 20px -10px rgba(20,44,33,.55);transform:rotate(var(--r,0deg));transition:transform .2s}
.pola::before{content:"";position:absolute;top:-9px;left:50%;width:64px;height:18px;margin-left:-32px;background:rgba(240,169,41,.8);transform:rotate(-3deg)}
.pola img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:3px}
.pola figcaption{font:700 .9rem/1.2 var(--fd);color:#24372c;text-align:center;padding:.5rem .2rem .25rem}
.pola:hover{transform:rotate(0) scale(1.03)}
@media (max-width:760px){.menu .sec .deco{display:none}.toprow .gdeco{font-size:1.5rem}}
.cat{grid-column:1/-1;margin-top:1.9rem;padding:0}
.cat h4{display:inline-flex;align-items:center;margin:0 0 1rem;padding:.4rem 1.2rem .4rem .8rem;border-radius:999px;background:var(--sc);color:var(--st);font:800 1.1rem var(--fd);box-shadow:0 4px 0 -1px rgba(20,44,33,.28);transform:rotate(-1deg)}
.cat h4 .pic{margin-right:.5rem;stroke-width:2.1}
.items{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.3rem}
.cat .item{background:var(--item-bg);border:0;border-left:7px solid var(--sc);border-radius:16px;padding:.8rem 1rem .8rem .95rem;transition:transform .15s,box-shadow .15s}
.cat .item:hover{transform:translateY(-3px);box-shadow:0 10px 18px -12px rgba(20,44,33,.6)}
.cat .item>span{align-self:flex-start;background:var(--sc);color:var(--st);padding:.1rem .7rem;border-radius:999px;font:800 1rem var(--fd)}
.hl{background:linear-gradient(transparent 58%,rgba(240,169,41,.8) 58%);padding:0 .12em;border-radius:3px}
.pola:nth-child(2)::before{background:rgba(211,141,107,.85)}.pola.tall::before{background:rgba(79,138,91,.8)}
@media (max-width:760px){.items{grid-template-columns:1fr}.cat h4{font-size:1rem}}
.cal{flex:1;min-width:0;max-width:440px;margin:0;background:var(--blanc);border-radius:26px;padding:1.1rem 1.2rem 1.2rem;box-shadow:0 12px 26px -16px rgba(20,44,33,.5)}
.cal-title{margin:0 0 .7rem;text-align:center;font:800 1.6rem var(--fd);color:var(--foret)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;text-align:center}
.cal-dow{font:800 .8rem var(--fd);color:var(--feuille);padding-bottom:.2rem}
.cal-day{aspect-ratio:1;display:grid;place-items:center;font-weight:600;border-radius:14px;color:var(--encre);opacity:.55}
.cal-day.empty{opacity:0}
.cal-day.has-ev{opacity:1;border:0;background:var(--c);color:var(--t);font:800 1.05rem var(--fd);cursor:pointer;box-shadow:0 4px 0 -1px rgba(20,44,33,.3);transition:transform .15s,box-shadow .15s}
.cal-day.has-ev:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 8px 14px -8px rgba(20,44,33,.55)}
.cal-hint{margin:.9rem 0 0;text-align:center;font-size:.9rem;opacity:.75}
.ev{scroll-margin-top:110px}
.ev.flash{animation:evflash 1.8s ease-out}
@keyframes evflash{0%,100%{box-shadow:0 10px 24px -14px rgba(20,44,33,.4)}25%,60%{box-shadow:0 0 0 7px var(--lanterne),0 10px 24px -14px rgba(20,44,33,.4)}}
@media (max-width:760px){.cal{padding:.9rem .8rem 1rem}.cal-grid{gap:.3rem}.cal-day.has-ev{font-size:1rem}.ev{scroll-margin-top:12px}}
.cal-wrap{display:flex;align-items:center;justify-content:center;gap:.9rem;max-width:620px;margin:0 auto 2rem}
.cal-nav{flex:none;width:50px;height:50px;border-radius:50%;border:0;background:var(--lanterne);color:#16251d;display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 0 -1px rgba(20,44,33,.35);transition:transform .15s,box-shadow .15s}
.cal-nav:hover{transform:translateY(-2px);box-shadow:0 8px 12px -6px rgba(20,44,33,.45)}
.cal-nav:active{transform:translateY(3px);box-shadow:0 1px 0 -1px rgba(20,44,33,.35)}
.cal-day.is-today{outline:2px solid var(--lanterne);outline-offset:-2px;opacity:1;color:var(--encre)}
.no-ev{text-align:center;padding:1.4rem 1rem;border:3px dashed var(--feuille);border-radius:22px;font-weight:600;color:var(--foret)}
.is-hidden{display:none!important}
@media (max-width:760px){.cal-wrap{gap:.4rem}.cal-nav{width:38px;height:38px}.cal-nav svg{width:20px;height:20px}}
.social{display:flex;flex-wrap:wrap;gap:.8rem}
.social a{display:inline-flex;align-items:center;font:800 1rem var(--fd);text-decoration:none;padding:.7rem 1.3rem .7rem 1rem;border-radius:999px;box-shadow:0 5px 0 -1px rgba(20,44,33,.3);transition:transform .15s,box-shadow .15s}
.social a:hover{transform:translateY(-3px);box-shadow:0 9px 14px -8px rgba(20,44,33,.5)}
.social .pic{width:1.3em;height:1.3em;margin-right:.55rem;stroke-width:2}
.s-insta{background:#d38d6b;color:#2e170e}
.s-fb{background:var(--foret);color:var(--clair)}
.s-avis{background:var(--lanterne);color:#16251d}
.s-avis .pic{fill:#16251d}
.follow{padding:2.6rem 0}
.follow p{margin:0 0 1.2rem;max-width:56ch}
.follow h2{font-size:clamp(1.7rem,4vw,2.3rem);margin-bottom:.4rem}
.s-fb .pic{fill:currentColor}
.follow-t{margin:2.6rem 0 1rem}
@media (max-width:760px){.follow{padding:2rem 0}.social a{padding:.6rem 1.1rem .6rem .85rem}}
/* Fonds verts dégradés pour Menu, Événements et Contact */
:root{--paper:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='220'%20height='220'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='.85'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20values='0%200%200%200%20.16%20%200%200%200%200%20.30%20%200%200%200%200%20.24%20%200%200%200%20.55%200'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url%28%23n%29'%20opacity='.16'/%3E%3C/svg%3E")}
body[data-page="menu"],body[data-page="evenements"],body[data-page="contact"]{background-color:#dbe7cb;background-attachment:fixed;background-size:auto,auto,auto,auto,auto,220px 220px}
body[data-page="menu"]{background-image:radial-gradient(58rem 40rem at 0% 0%,rgba(255,247,206,.70),transparent 62%),radial-gradient(52rem 38rem at 100% 22%,rgba(79,138,91,.34),transparent 62%),radial-gradient(62rem 44rem at 5% 100%,rgba(40,76,61,.28),transparent 62%),radial-gradient(44rem 32rem at 100% 100%,rgba(150,190,110,.38),transparent 62%),linear-gradient(165deg,#f0f5de 0%,#dce8cb 45%,#b7cfa8 100%),var(--paper)}
body[data-page="evenements"]{background-image:radial-gradient(56rem 40rem at 100% 0%,rgba(79,138,91,.36),transparent 62%),radial-gradient(52rem 38rem at 0% 30%,rgba(236,243,205,.85),transparent 62%),radial-gradient(62rem 44rem at 82% 100%,rgba(40,76,61,.28),transparent 62%),radial-gradient(44rem 32rem at 0% 100%,rgba(255,243,196,.55),transparent 62%),linear-gradient(150deg,#e9f1d6 0%,#cfe0bf 50%,#a6c69d 100%),var(--paper)}
body[data-page="contact"]{background-image:radial-gradient(56rem 40rem at 0% 8%,rgba(150,190,110,.40),transparent 62%),radial-gradient(52rem 38rem at 100% 0%,rgba(255,246,204,.70),transparent 62%),radial-gradient(62rem 44rem at 100% 88%,rgba(79,138,91,.32),transparent 62%),radial-gradient(44rem 32rem at 0% 100%,rgba(40,76,61,.22),transparent 62%),linear-gradient(200deg,#f1f5de 0%,#d8e6c6 50%,#b1cea6 100%),var(--paper)}
@media (max-width:760px){body[data-page="menu"],body[data-page="evenements"],body[data-page="contact"]{background-attachment:scroll}}
.menu summary::-webkit-details-marker{display:none}
.menu summary::marker{content:""}
.sec-t{margin:0;font:inherit;color:inherit}
.part{grid-column:1/-1;margin-top:2.4rem}
.part:first-of-type{margin-top:1.2rem}
.sec .toggle{margin-left:auto;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--lanterne);color:#16251d;flex:none;transition:transform .25s}
.sec .toggle svg{width:1.4rem;height:1.4rem}
.part[open]>.sec .toggle{transform:rotate(180deg)}
.sec:hover .toggle{filter:brightness(1.08)}
.part-body{animation:partIn .35s ease}
@keyframes partIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.part-body{animation:none}.sec .toggle{transition:none}}
@media (max-width:760px){.sec .toggle{width:2rem;height:2rem}.sec .toggle svg{width:1.2rem;height:1.2rem}}
.fx{display:flex;align-items:center;gap:.8rem;margin:3rem 0 .5rem}
.fx-stage{position:relative;flex:1;min-width:0;--fx:clamp(210px,32vw,350px);height:calc(var(--fx) + 110px);overflow:hidden;touch-action:pan-y;border-radius:12px}
.fx-item{position:absolute;left:50%;top:26px;width:var(--fx);margin:0 0 0 calc(var(--fx)/-2);background:#fff;padding:.5rem .5rem .3rem;border-radius:8px;box-shadow:0 14px 28px -12px rgba(20,44,33,.55);transform:translateX(calc(var(--x,0)*var(--fx))) scale(var(--s,1));transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .55s,filter .55s;cursor:pointer;user-select:none}
.fx-item img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:var(--op,50% 50%);display:block;border-radius:4px;pointer-events:none}
.fx-item figcaption{font:700 .95rem/1.2 var(--fd);color:#24372c;text-align:center;padding:.5rem .2rem .25rem}
.fx-item:not(.is-current){filter:brightness(.82) saturate(.9)}
.fx-item.is-current{cursor:default}
@media (prefers-reduced-motion:reduce){.fx-item{transition:none}}
@media (max-width:760px){.fx{gap:.3rem}.fx-stage{--fx:clamp(180px,56vw,290px)}}
.brand{width:min(100%,560px)}
.hero-tag{display:block;width:min(62%,350px);height:auto;margin:-.35rem auto 1.7rem}
@media (max-width:760px){.hero-tag{width:min(72%,220px);margin:.15rem auto 1.1rem}}
footer{background:var(--encre);color:#cfdac8;padding:2rem 0;font-size:.95rem}
footer .wrap{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
img{max-width:100%}
@media (max-width:900px){
  .wrap{padding:0 1rem}
  .privat{padding:1.8rem 1.6rem 2rem}
}
@media (max-width:760px){
  body{background-attachment:scroll;font-size:1rem}
  section{padding:2.4rem 0}
  /* barre du haut */
  header{position:static}
  header .wrap{gap:.3rem 1rem;padding-top:.5rem;padding-bottom:.5rem}
  .logo img{height:48px;width:48px}
  nav{gap:.1rem .9rem;font-size:.95rem}
  header a.ludo{padding:.3rem .8rem;order:2;margin-left:0}
  header nav{order:3;flex-basis:100%}
  /* accueil : la photo reste à droite du texte */
  .hero{padding:2rem 0 2.4rem}
  .hero .wrap{grid-template-columns:1.4fr 1fr;gap:.9rem;align-items:center}
  .hero p{font-size:1rem;margin:.6rem 0 .9rem}
  .hero .horaires{padding:.6rem .8rem;margin-bottom:.9rem;border-radius:14px;box-shadow:0 5px 0 rgba(0,0,0,.22)}
  .horaires b{font-size:.75rem}
  .horaires span{font-size:.85rem;line-height:1.35}
  .btn.resa{font-size:1rem;padding:.8rem 1rem;gap:.45rem;box-shadow:0 5px 0 #a96f0a}
  .hero-art img{width:100%;border-radius:18px 18px 60px 18px}
  .two{grid-template-columns:1fr;gap:1.6rem}
  .carousel{border-radius:22px 22px 70px 22px}
  .car-btn{width:38px;height:38px}
  .car-slide figcaption{font-size:.9rem;padding:1.6rem .9rem .7rem}
  .ludo-band .wrap{flex-direction:column;align-items:flex-start}
  .ludo-band h2{font-size:1.5rem}
  /* menu */
  .menu{grid-template-columns:1fr;gap:.2rem}
  .menu .sec{border-radius:14px 14px 34px 14px}
  .moment{margin-top:.6rem}
  /* événements */
  .ev{grid-template-columns:1fr 64px;grid-template-areas:"when ico" "txt txt";gap:.7rem 1rem;padding:1rem 1.2rem;border-radius:24px}
  .ev .when{grid-area:when;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.1rem .5rem;justify-self:start;padding:.5rem .9rem;border-radius:18px}
  .ev .when b{font-size:1.9rem}
  .ev .when small{margin-top:0}
  .ev .ico{grid-area:ico;width:60px;height:60px}
  .ev>div:nth-child(2){grid-area:txt}
  .ev h3{font-size:1.15rem}
  /* contact */
  form{grid-template-columns:1fr;padding:1.3rem}
  .privat{border-radius:22px 22px 60px 22px}
  .privat .cols{grid-template-columns:1fr}
}
@media (max-width:430px){
  .wrap{padding:0 .85rem}
  nav{font-size:.9rem;gap:.1rem .7rem}
  .hero p{font-size:.92rem}
  .horaires span{font-size:.78rem}
  .btn.resa{font-size:.92rem;padding:.7rem .8rem}
  .btn.resa svg:first-child{display:none}
  .privat h3{font-size:1.6rem}
  .chips li{padding:.25rem .8rem;font-size:.95rem}
  .prog-banner{font-size:1.05rem}
}
/* Le site garde toujours ses couleurs claires, même si le téléphone est en mode sombre */
:root{color-scheme:only light}
