/*
Theme Name: Maison Gourmenian
Theme URI: https://www.maison-gourmenian.wmas.fr/
Author: Maison Gourmenian
Description: Thème premium responsive Maison Gourmenian — cave à vin, épicerie fine, sélection produits, événements, cartes cadeaux, réservation en ligne et PWA.
Version: 5.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: maison-gourmenian
*/

:root{
  --mg-ivory:#fbf6ee;
  --mg-paper:#fffdf9;
  --mg-burgundy:#8f1d2c;
  --mg-burgundy-dark:#6f1420;
  --mg-teal:#0f6670;
  --mg-teal-dark:#0b4e56;
  --mg-gold:#b78b45;
  --mg-ink:#25211e;
  --mg-muted:#6c625b;
  --mg-line:#e8dccb;
  --mg-white:#fff;
  --mg-shadow:0 16px 48px rgba(43,32,24,.10);
  --mg-radius:22px;
  --mg-shell:min(1180px, calc(100% - 40px));
  --mg-serif:Georgia,'Times New Roman',serif;
  --mg-sans:Inter,Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--mg-paper);color:var(--mg-ink);font-family:var(--mg-sans);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.mg-shell{width:var(--mg-shell);margin-inline:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mg-skip{position:fixed;left:20px;top:-80px;background:#fff;color:#000;padding:10px 14px;z-index:9999;border-radius:8px}.mg-skip:focus{top:20px}
.mg-header{position:sticky;top:0;z-index:100;background:rgba(255,253,249,.96);border-bottom:1px solid rgba(143,29,44,.08);backdrop-filter:blur(15px);transition:.25s ease}
.mg-header.is-scrolled{box-shadow:0 8px 30px rgba(23,15,9,.07)}
.mg-header-inner{min-height:82px;display:flex;align-items:center;gap:28px}
.mg-brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}.mg-brand img{width:54px;height:54px;object-fit:contain;border-radius:50%}.mg-brand span{display:grid;line-height:1.05}.mg-brand strong{font-family:var(--mg-serif);font-size:20px;letter-spacing:.04em;text-transform:uppercase}.mg-brand small{margin-top:6px;color:var(--mg-teal);font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.mg-nav{margin-left:auto;display:flex;align-items:center;gap:20px;min-width:0}.mg-nav>ul{display:flex;align-items:center;gap:19px;list-style:none;margin:0;padding:0}.mg-nav>ul a{font-size:13px;font-weight:650;white-space:nowrap;position:relative;padding:31px 0 26px}.mg-nav>ul a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--mg-burgundy);transition:.2s}.mg-nav>ul a:hover:after,.mg-nav>ul a.is-active:after{right:0}.mg-nav>ul a.is-active{color:var(--mg-burgundy)}
.mg-nav-actions{display:flex;align-items:center;gap:10px}.mg-lang-switch{display:flex;gap:4px;border-left:1px solid var(--mg-line);padding-left:10px}.mg-lang-switch a{font-size:11px;font-weight:800;padding:6px;border-radius:20px}.mg-lang-switch a.is-current{background:var(--mg-teal);color:#fff}
.mg-menu-toggle{display:none;margin-left:auto;width:46px;height:46px;border:0;background:transparent;padding:10px}.mg-menu-toggle span{display:block;height:2px;background:var(--mg-ink);margin:6px 0;transition:.25s}
.mg-install-btn{border:1px solid var(--mg-teal);background:#fff;color:var(--mg-teal);border-radius:999px;padding:10px 13px;font-weight:750;font-size:12px}.mg-install-btn:hover{background:var(--mg-teal);color:#fff}.mg-install-btn[hidden]{display:none!important}
.mg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 23px;border-radius:999px;border:1px solid var(--mg-burgundy);background:var(--mg-burgundy);color:#fff;font-weight:750;line-height:1.1;transition:.2s}.mg-btn:hover{transform:translateY(-1px);background:var(--mg-burgundy-dark);box-shadow:0 8px 20px rgba(143,29,44,.16)}.mg-btn-small{min-height:40px;padding:10px 18px;font-size:13px}.mg-btn-outline{background:transparent;color:var(--mg-teal);border-color:var(--mg-teal)}.mg-btn-outline:hover{background:var(--mg-teal);color:#fff}.mg-btn-light{background:#fff;color:var(--mg-burgundy);border-color:#fff}.mg-btn-wide{width:100%}.mg-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.mg-text-link{color:var(--mg-burgundy);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.mg-eyebrow{display:inline-block;color:var(--mg-gold);font-size:11px;font-weight:850;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px}.mg-section{padding:74px 0}.mg-section-soft{background:var(--mg-ivory)}.mg-section h2,.mg-page-hero h1,.mg-copy-block h2,.mg-strip h2,.mg-booking-banner h2{font-family:var(--mg-serif);font-weight:500;color:var(--mg-burgundy);line-height:1.02;margin:0 0 18px}.mg-section h2,.mg-copy-block h2{font-size:clamp(38px,5vw,66px)}.mg-section p{margin:0 0 18px}.mg-lead{font-size:21px;line-height:1.5;color:#4f4741}.mg-center{text-align:center;margin-top:28px!important}
.mg-hero-home{background:linear-gradient(90deg,#fffdf9 0%,#fffaf3 100%);overflow:hidden}.mg-hero-grid{display:grid;grid-template-columns:46% 54%;min-height:510px}.mg-hero-copy{padding:70px 55px 70px 0;display:flex;flex-direction:column;justify-content:center}.mg-hero-copy h1{font-family:var(--mg-serif);font-size:clamp(62px,7.4vw,112px);font-weight:500;line-height:.83;letter-spacing:-.04em;margin:0 0 28px;color:#12100f}.mg-hero-copy>p{font-family:var(--mg-serif);font-size:23px;margin:0;color:#3f3732}.mg-hero-photo{min-height:510px;background-image:linear-gradient(90deg,rgba(251,246,238,.2),rgba(0,0,0,.03)),var(--mg-image);background-size:cover;background-position:center;border-bottom-left-radius:100px;box-shadow:inset 0 0 0 1px rgba(143,29,44,.05)}
.mg-strip{padding:34px 0;background:#fffaf4;border-top:1px solid var(--mg-line);border-bottom:1px solid var(--mg-line)}.mg-strip-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:50px;align-items:center}.mg-strip h2{font-size:clamp(30px,4vw,48px);margin-bottom:0}.mg-strip p{font-size:16px;margin:0 0 12px}.mg-delivery-strip{position:relative}.mg-delivery-strip:before,.mg-delivery-strip:after{content:"✦";position:absolute;color:rgba(183,139,69,.3);font-size:80px}.mg-delivery-strip:before{left:2%;top:-20px}.mg-delivery-strip:after{right:2%;bottom:-24px}
.mg-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.mg-copy-block{padding:18px 0}.mg-copy-block p{font-size:18px;color:#514942}.mg-image-card{border-radius:var(--mg-radius);overflow:hidden;box-shadow:var(--mg-shadow);background:#eee}.mg-image-card img{width:100%;height:470px;object-fit:cover}.mg-home-gift{background:linear-gradient(130deg,#fffaf3,#f3ebe0)}.mg-home-gift .mg-image-card img{object-position:center}.mg-gift-photo img{height:600px;object-fit:cover}.mg-image-card-wide img{height:520px}
.mg-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.mg-section-head h2{margin-bottom:0}.mg-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mg-feature-card{display:block;background:#fff;border:1px solid var(--mg-line);border-radius:18px;overflow:hidden;transition:.2s;box-shadow:0 4px 15px rgba(60,40,20,.03)}.mg-feature-card:hover{transform:translateY(-4px);box-shadow:var(--mg-shadow)}.mg-feature-card img{width:100%;height:210px;object-fit:cover}.mg-feature-card>div{padding:20px}.mg-feature-card h3{font-family:var(--mg-serif);font-size:27px;color:var(--mg-burgundy);margin:0 0 8px}.mg-feature-card p{color:var(--mg-muted);margin:0}.mg-static:hover{transform:none}
.mg-home-booking{padding-top:20px}.mg-booking-banner{border-radius:26px;background:linear-gradient(120deg,var(--mg-teal-dark),var(--mg-teal));color:#fff;padding:52px 58px;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;overflow:hidden}.mg-booking-banner:after{content:"";position:absolute;right:-100px;top:-130px;width:380px;height:380px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.mg-booking-banner h2{color:#fff;font-size:58px}.mg-booking-banner p{max-width:650px;color:rgba(255,255,255,.86);font-size:18px}.mg-booking-banner .mg-eyebrow{color:#e3c37e}
.mg-split-gallery{grid-template-columns:.8fr 1.2fr}.mg-gallery-teaser{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mg-gallery-teaser img{height:250px;width:100%;object-fit:cover;border-radius:14px}
.mg-footer{background:#0b4e56;color:#eef7f6;padding:55px 0 18px}.mg-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:35px}.mg-footer h3{font-family:var(--mg-serif);font-size:20px;margin:0 0 12px}.mg-footer a,.mg-footer p{display:block;color:rgba(255,255,255,.78);font-size:14px;margin:6px 0}.mg-footer a:hover{color:#fff}.mg-footer-brand{display:flex;gap:15px;align-items:center}.mg-footer-brand img{width:76px;height:76px;border-radius:50%;object-fit:contain;background:#fff}.mg-footer-brand div{display:grid}.mg-footer-brand strong{font-family:var(--mg-serif);font-size:23px;text-transform:uppercase;letter-spacing:.04em}.mg-footer-brand span{color:#d8b97b;font-size:12px}.mg-footer-bottom{border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:25px;margin-top:38px;padding-top:18px}.mg-footer-bottom p{font-size:11px}
.mg-page{min-height:60vh}.mg-breadcrumbs{padding-top:24px}.mg-breadcrumbs ol{display:flex;gap:8px;list-style:none;padding:0;margin:0;font-size:12px;color:var(--mg-muted)}.mg-breadcrumbs li+li:before{content:"/";margin-right:8px;color:#aaa}.mg-breadcrumbs a:hover{color:var(--mg-burgundy)}.mg-page-hero{padding:62px 0 50px;background:linear-gradient(135deg,#fffaf4,#f7efe4);border-bottom:1px solid var(--mg-line)}.mg-page-hero h1{font-size:clamp(56px,8vw,100px);color:#171310;letter-spacing:-.04em}.mg-page-hero p{font-family:var(--mg-serif);font-size:23px;max-width:800px;color:#514842;margin:0}.mg-page-hero-accent{background:linear-gradient(135deg,#fff7ed,#f5e9da)}
.mg-three-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mg-three-cols article{padding:28px;border:1px solid var(--mg-line);border-radius:18px;background:#fff}.mg-three-cols strong{color:var(--mg-gold);font-size:13px;letter-spacing:.15em}.mg-three-cols h3{font-family:var(--mg-serif);font-size:30px;color:var(--mg-burgundy);margin:8px 0}.mg-three-cols p{color:var(--mg-muted);margin:0}
.mg-delivery-page{max-width:900px}.mg-delivery-card{padding:48px;border:1px solid var(--mg-line);background:#fffaf4;border-radius:24px;box-shadow:var(--mg-shadow)}.mg-icon-list,.mg-check-list{list-style:none;padding:0;margin:28px 0}.mg-icon-list li,.mg-check-list li{padding:15px 0;border-bottom:1px solid var(--mg-line);font-size:17px}.mg-check-list li:before{content:"✓";color:var(--mg-teal);font-weight:900;margin-right:12px}.mg-signoff{font-family:var(--mg-serif);font-size:25px;color:var(--mg-burgundy)}
.mg-event-list{display:grid;gap:22px}.mg-event-card{display:grid;grid-template-columns:330px 1fr;border:1px solid var(--mg-line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 8px 25px rgba(40,25,15,.04)}.mg-event-card img{width:100%;height:100%;min-height:260px;object-fit:cover}.mg-event-card>div{padding:30px}.mg-event-card h2{font-size:38px;margin-bottom:10px}.mg-event-card p{color:var(--mg-muted)}.mg-event-meta{color:var(--mg-gold);font-weight:850;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.mg-event-card strong{display:block;margin-bottom:8px}
.mg-menu-page{max-width:960px}.mg-menu-group{margin-bottom:50px}.mg-menu-group>h2{font-size:46px;border-bottom:1px solid var(--mg-burgundy);padding-bottom:14px}.mg-menu-item{display:grid;grid-template-columns:1fr auto;gap:25px;padding:20px 0;border-bottom:1px dotted #cdbfae}.mg-menu-item h3{font-family:var(--mg-serif);font-size:25px;margin:0 0 5px}.mg-menu-item p{color:var(--mg-muted);margin:0}.mg-menu-item>strong{color:var(--mg-burgundy);font-size:17px;white-space:nowrap}.mg-empty-state{text-align:center;max-width:720px;margin:0 auto;padding:45px;background:#fff;border:1px solid var(--mg-line);border-radius:24px}.mg-empty-state img{width:110px;margin:0 auto 20px}.mg-empty-state h1,.mg-empty-state h2{font-size:44px}.mg-empty-state .mg-actions{justify-content:center}
.mg-booking-page{display:grid;grid-template-columns:.78fr 1.22fr;gap:28px;background:linear-gradient(130deg,#0b4e56,#106873);border-radius:28px;padding:28px;color:#fff}.mg-booking-visual{border-radius:20px;overflow:hidden;background:#0a4249;display:flex;flex-direction:column}.mg-booking-visual img{width:100%;height:390px;object-fit:cover}.mg-booking-visual>div{padding:28px}.mg-booking-visual h2{font-size:36px;color:#fff}.mg-booking-visual p{color:rgba(255,255,255,.8)}.mg-form{background:#fff;color:var(--mg-ink);border-radius:20px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.mg-field{display:grid;gap:7px}.mg-field label{font-size:12px;font-weight:800;color:#564e47}.mg-field input,.mg-field textarea,.mg-field select{width:100%;border:1px solid #ddd1c3;border-radius:10px;background:#fff;padding:13px 14px;outline:none}.mg-field input:focus,.mg-field textarea:focus{border-color:var(--mg-teal);box-shadow:0 0 0 3px rgba(15,102,112,.1)}.mg-field-full,.mg-form-message{grid-column:1/-1}.mg-consent label{display:flex;gap:10px;font-size:12px;align-items:flex-start;color:#5a5049}.mg-consent input{margin-top:4px}.mg-form-message{padding:12px 14px;border-radius:10px;font-weight:700}.mg-form-message.ok{background:#e9f6f0;color:#185a3c}.mg-form-message.err{background:#fff0f1;color:#8f1d2c}.mg-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.mg-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mg-gallery-grid figure{margin:0;border-radius:18px;overflow:hidden}.mg-gallery-grid img{height:330px;width:100%;object-fit:cover;transition:.25s}.mg-gallery-grid figure:hover img{transform:scale(1.03)}.mg-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mg-video-card{position:relative;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--mg-line)}.mg-video-card img{width:100%;height:240px;object-fit:cover}.mg-video-card strong{display:block;padding:15px 18px}.mg-play{position:absolute;left:18px;top:180px;width:44px;height:44px;border-radius:50%;background:rgba(143,29,44,.92);color:#fff;display:grid;place-items:center}
.mg-contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:28px}.mg-contact-card{padding:35px;border:1px solid var(--mg-line);border-radius:22px;background:#fff}.mg-contact-card h2{font-size:40px}.mg-contact-card a:not(.mg-btn){color:var(--mg-teal);font-weight:750}.mg-contact-logo{width:120px;margin-bottom:20px}.mg-map{border-radius:22px;overflow:hidden;min-height:600px;box-shadow:var(--mg-shadow)}.mg-map iframe{border:0;width:100%;height:100%;min-height:600px}.mg-prose{max-width:850px}.mg-prose h1{font-family:var(--mg-serif);font-size:60px;color:var(--mg-burgundy)}.mg-prose h2{font-size:40px}.mg-prose a{text-decoration:underline;color:var(--mg-burgundy)}

@media(max-width:1180px){
  :root{--mg-shell:min(100% - 32px, 1040px)}
  .mg-brand span{display:none}.mg-nav>ul{gap:13px}.mg-nav>ul a{font-size:12px}.mg-nav-actions .mg-btn-small{display:none}
}
@media(max-width:980px){
  .mg-header-inner{min-height:72px}.mg-brand span{display:grid}.mg-menu-toggle{display:block}.mg-nav{position:fixed;left:0;right:0;top:72px;bottom:0;background:rgba(255,253,249,.985);display:block;padding:24px;transform:translateX(100%);transition:.25s;overflow:auto}.mg-nav-open .mg-nav{transform:translateX(0)}.mg-nav>ul{display:grid;gap:0}.mg-nav>ul li{border-bottom:1px solid var(--mg-line)}.mg-nav>ul a{display:block;font-family:var(--mg-serif);font-size:28px;padding:14px 0}.mg-nav>ul a:after{display:none}.mg-nav-actions{padding-top:24px;flex-wrap:wrap}.mg-nav-actions .mg-btn-small{display:inline-flex}.mg-lang-switch{border-left:0;padding-left:0}.mg-nav-open{overflow:hidden}.mg-nav-open .mg-menu-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}.mg-nav-open .mg-menu-toggle span:nth-child(2){opacity:0}.mg-nav-open .mg-menu-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .mg-hero-grid{grid-template-columns:1fr}.mg-hero-copy{padding:58px 0 38px}.mg-hero-photo{min-height:420px;border-radius:36px 36px 0 0}.mg-strip-grid,.mg-split,.mg-split-gallery{grid-template-columns:1fr;gap:32px}.mg-feature-grid{grid-template-columns:repeat(2,1fr)}.mg-feature-grid .mg-feature-card:last-child{grid-column:1/-1}.mg-booking-banner{padding:42px;display:grid}.mg-gallery-teaser{grid-template-columns:repeat(2,1fr)}.mg-gallery-teaser img{height:220px}.mg-footer-grid{grid-template-columns:1.5fr 1fr 1fr}.mg-footer-grid>div:last-child{grid-column:1/-1}.mg-three-cols{grid-template-columns:1fr}.mg-event-card{grid-template-columns:280px 1fr}.mg-booking-page,.mg-contact-grid{grid-template-columns:1fr}.mg-gallery-grid{grid-template-columns:repeat(2,1fr)}.mg-video-grid{grid-template-columns:repeat(2,1fr)}.mg-map,.mg-map iframe{min-height:450px}
}
@media(max-width:640px){
  :root{--mg-shell:calc(100% - 24px);--mg-radius:16px}
  .mg-header-inner{min-height:66px}.mg-brand img{width:46px;height:46px}.mg-brand strong{font-size:17px}.mg-brand small{font-size:8px}.mg-nav{top:66px}.mg-install-btn{width:100%}
  .mg-section{padding:52px 0}.mg-hero-copy{padding-top:42px}.mg-hero-copy h1{font-size:62px}.mg-hero-copy>p{font-size:18px}.mg-hero-photo{min-height:300px;border-radius:24px 24px 0 0}.mg-actions{display:grid}.mg-actions .mg-btn{width:100%}.mg-strip{padding:28px 0}.mg-strip-grid{gap:18px}.mg-strip h2{font-size:34px}.mg-section h2,.mg-copy-block h2{font-size:42px}.mg-image-card img,.mg-image-card-wide img{height:350px}.mg-gift-photo img{height:auto}.mg-section-head{display:grid}.mg-feature-grid{grid-template-columns:1fr}.mg-feature-grid .mg-feature-card:last-child{grid-column:auto}.mg-feature-card img{height:190px}.mg-booking-banner{padding:32px 24px}.mg-booking-banner h2{font-size:44px}.mg-gallery-teaser{gap:6px}.mg-gallery-teaser img{height:150px}.mg-footer-grid{grid-template-columns:1fr}.mg-footer-grid>div:last-child{grid-column:auto}.mg-footer-bottom{display:grid}.mg-page-hero{padding:46px 0 38px}.mg-page-hero h1{font-size:52px}.mg-page-hero p{font-size:19px}.mg-delivery-card{padding:28px 20px}.mg-event-card{grid-template-columns:1fr}.mg-event-card img{height:220px;min-height:0}.mg-event-card>div{padding:22px}.mg-event-card h2{font-size:34px}.mg-menu-item{grid-template-columns:1fr}.mg-menu-item>strong{justify-self:start}.mg-booking-page{padding:12px;border-radius:18px}.mg-booking-visual img{height:260px}.mg-form{grid-template-columns:1fr;padding:20px}.mg-field-full,.mg-form-message{grid-column:auto}.mg-gallery-grid,.mg-video-grid{grid-template-columns:1fr}.mg-gallery-grid img{height:300px}.mg-map,.mg-map iframe{min-height:360px}.mg-contact-card{padding:25px}.mg-prose h1{font-size:46px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* =========================================================
   V4 — interface simplifiée, plus fluide et prête pour évoluer
   ========================================================= */
.mg-hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:520px;align-items:stretch}
.mg-hero-copy{min-width:0;padding:68px 48px 68px 0;position:relative;z-index:2}
.mg-hero-copy h1{font-size:clamp(54px,5.2vw,82px);line-height:.92;letter-spacing:-.045em;max-width:100%;overflow-wrap:normal;word-break:normal}
.mg-hero-copy h1 span{display:block}
.mg-hero-copy>p{font-size:clamp(18px,1.55vw,22px);max-width:590px}
.mg-hero-photo{min-width:0;min-height:520px;border-bottom-left-radius:72px;background-position:center center}
.mg-nav>ul{gap:16px}.mg-nav>ul a{font-size:12.5px;font-weight:700}
.mg-install-btn{padding:8px 12px;font-size:11px;min-height:38px}
.mg-page-hero{padding:56px 0 46px}
.mg-page-hero h1{font-size:clamp(46px,5.4vw,76px);line-height:.98;max-width:900px}
.mg-page-hero p{font-size:clamp(18px,2vw,22px);max-width:760px}
.mg-section{padding:68px 0}
.mg-section h2,.mg-copy-block h2{font-size:clamp(36px,4vw,58px)}
.mg-section-head{align-items:flex-end;margin-bottom:28px}
.mg-section-head-compact{margin-bottom:18px}.mg-section-head-compact h2{font-size:clamp(34px,4vw,50px);margin:0}
.mg-home-selection{background:#fff}
.mg-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mg-category-card{position:relative;display:block;overflow:hidden;border-radius:20px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 8px 28px rgba(43,32,24,.05);transition:transform .22s ease,box-shadow .22s ease}
.mg-category-card:hover{transform:translateY(-3px);box-shadow:var(--mg-shadow)}
.mg-category-card img{width:100%;height:230px;object-fit:cover}
.mg-category-card>div{padding:20px 22px;display:grid;gap:5px}
.mg-category-card strong{font-family:var(--mg-serif);font-size:28px;color:var(--mg-burgundy);font-weight:500}
.mg-category-card span{color:var(--mg-muted);font-size:14px}
.mg-category-static:hover{transform:none;box-shadow:0 8px 28px rgba(43,32,24,.05)}
.mg-category-grid-large{margin-bottom:28px}
.mg-home-gift .mg-split{grid-template-columns:.9fr 1.1fr}.mg-home-gift .mg-gift-photo{max-height:560px}.mg-home-gift .mg-gift-photo img{height:560px;object-position:center 42%}
.mg-booking-banner{padding:46px 52px}.mg-booking-banner h2{font-size:clamp(38px,4.3vw,58px)}
.mg-actions-light{margin-top:0;justify-content:flex-end;flex:0 0 auto}.mg-btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.65)}.mg-btn-ghost-light:hover{background:#fff;color:var(--mg-teal);border-color:#fff}

/* Nouveautés / livraison */
.mg-page-hero-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}
.mg-page-hero-badge{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--mg-line);box-shadow:var(--mg-shadow);flex:0 0 auto;text-align:center;color:var(--mg-burgundy)}.mg-page-hero-badge span{font-family:var(--mg-serif);font-size:28px;line-height:1}.mg-page-hero-badge small{display:block;margin-top:7px;font-family:var(--mg-sans);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--mg-teal);font-weight:800}
.mg-news-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:28px;align-items:start}
.mg-news-main{padding:42px;border:1px solid var(--mg-line);border-radius:24px;background:#fff;box-shadow:0 10px 35px rgba(43,32,24,.05)}
.mg-news-main h2{font-size:clamp(40px,4.4vw,60px);margin-bottom:14px}
.mg-news-points{display:grid;gap:0;margin:30px 0 6px;border-top:1px solid var(--mg-line)}
.mg-news-points>div{display:grid;grid-template-columns:76px 1fr;gap:18px;align-items:start;padding:22px 0;border-bottom:1px solid var(--mg-line)}
.mg-news-points>div>span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--mg-ivory);color:var(--mg-burgundy);font-weight:850;font-size:14px;border:1px solid var(--mg-line)}
.mg-news-points strong{font-size:18px}.mg-news-points p{color:var(--mg-muted);margin:3px 0 0}
.mg-news-side{border:1px solid var(--mg-line);border-radius:24px;overflow:hidden;background:var(--mg-ivory)}
.mg-news-side>img{width:100%;height:270px;object-fit:cover}.mg-news-side>div{padding:28px}.mg-news-side h3{font-family:var(--mg-serif);color:var(--mg-burgundy);font-size:32px;font-weight:500;margin:0 0 12px;line-height:1.05}.mg-news-side p{color:var(--mg-muted)}

/* Sélection / futur catalogue */
.mg-product-group{margin-bottom:54px}.mg-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mg-product-card{overflow:hidden;border:1px solid var(--mg-line);border-radius:20px;background:#fff;box-shadow:0 8px 25px rgba(43,32,24,.04)}
.mg-product-card img{width:100%;height:260px;object-fit:cover;background:var(--mg-ivory)}
.mg-product-card>div{padding:22px}.mg-product-card h3{font-family:var(--mg-serif);font-size:28px;font-weight:500;color:var(--mg-burgundy);margin:0 0 8px}.mg-product-card p{color:var(--mg-muted);margin:0 0 12px}.mg-product-card strong{color:var(--mg-teal);font-size:17px}
.mg-selection-cta{margin-top:30px;padding:36px 40px;border-radius:24px;background:linear-gradient(120deg,#fff7ed,#f4eadc);border:1px solid var(--mg-line);display:flex;align-items:center;justify-content:space-between;gap:35px}
.mg-selection-cta h2{font-size:clamp(34px,4vw,50px);margin-bottom:10px}.mg-selection-cta p{max-width:720px;color:var(--mg-muted);margin:0}

/* Contact et footer simplifiés */
.mg-contact-lines{display:grid;gap:4px;margin:22px 0}.mg-contact-lines p{padding:14px 0;margin:0;border-bottom:1px solid var(--mg-line)}
.mg-footer{padding-top:48px}.mg-footer-grid{grid-template-columns:1.45fr .8fr 1.1fr}.mg-footer-grid>div:last-child{grid-column:auto}

/* Cohérence des cartes et interactions */
.mg-feature-card,.mg-category-card,.mg-product-card,.mg-image-card,.mg-contact-card,.mg-news-main,.mg-news-side{will-change:transform}
.mg-feature-card:focus-visible,.mg-category-card:focus-visible,.mg-btn:focus-visible,.mg-text-link:focus-visible,.mg-nav a:focus-visible{outline:3px solid rgba(15,102,112,.28);outline-offset:3px}

@media(max-width:1180px){
  .mg-hero-copy h1{font-size:clamp(54px,6vw,74px)}
  .mg-nav>ul{gap:12px}.mg-nav>ul a{font-size:12px}.mg-install-btn{padding:8px 10px}
}
@media(max-width:980px){
  .mg-hero-grid{grid-template-columns:1fr}.mg-hero-copy{padding:54px 0 34px}.mg-hero-copy h1{font-size:clamp(58px,10vw,82px)}.mg-hero-photo{min-height:410px;border-radius:32px 32px 0 0}
  .mg-category-grid,.mg-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-category-grid .mg-category-card:last-child{grid-column:1/-1}
  .mg-home-gift .mg-split{grid-template-columns:1fr}.mg-home-gift .mg-gift-photo{max-height:520px}.mg-home-gift .mg-gift-photo img{height:520px}
  .mg-news-layout{grid-template-columns:1fr}.mg-news-side{display:grid;grid-template-columns:.9fr 1.1fr}.mg-news-side>img{height:100%;min-height:280px}.mg-selection-cta{align-items:flex-start;flex-direction:column}
  .mg-footer-grid{grid-template-columns:1.4fr 1fr}.mg-footer-grid>div:last-child{grid-column:1/-1}
  .mg-actions-light{justify-content:flex-start;margin-top:20px}
}
@media(max-width:640px){
  .mg-section{padding:50px 0}.mg-hero-copy{padding:40px 0 28px}.mg-hero-copy h1{font-size:clamp(52px,16vw,68px);line-height:.91}.mg-hero-copy>p{font-size:18px}.mg-hero-photo{min-height:290px;border-radius:22px 22px 0 0}
  .mg-page-hero{padding:40px 0 34px}.mg-page-hero h1{font-size:clamp(42px,13vw,58px)}.mg-page-hero-grid{align-items:flex-start}.mg-page-hero-badge{width:72px;height:72px}.mg-page-hero-badge span{font-size:20px}.mg-page-hero-badge small{font-size:7px}
  .mg-category-grid,.mg-product-grid{grid-template-columns:1fr}.mg-category-grid .mg-category-card:last-child{grid-column:auto}.mg-category-card img{height:210px}
  .mg-home-gift .mg-gift-photo,.mg-home-gift .mg-gift-photo img{height:auto;max-height:none}
  .mg-news-main{padding:26px 20px}.mg-news-points>div{grid-template-columns:58px 1fr;gap:14px}.mg-news-points>div>span{width:50px;height:50px;font-size:12px}.mg-news-side{display:block}.mg-news-side>img{height:220px;min-height:0}
  .mg-selection-cta{padding:28px 22px}.mg-booking-banner{padding:32px 24px}.mg-actions-light{display:grid;width:100%}.mg-actions-light .mg-btn{width:100%}
  .mg-footer-grid{grid-template-columns:1fr}.mg-footer-grid>div:last-child{grid-column:auto}
}


/* =========================================================
   V5 — navigation mobile, responsive et PWA mobile-only
   ========================================================= */
:root{
  --mg-adminbar-h:0px;
  --mg-header-h:82px;
}
body{overflow-x:hidden}
body.admin-bar{--mg-adminbar-h:32px}
.mg-header{
  top:var(--mg-adminbar-h);
  z-index:100000;
  isolation:isolate;
  overflow:visible;
}
.mg-nav-backdrop{display:none}
.mg-feature-card,.mg-category-card,.mg-product-card,.mg-image-card,.mg-contact-card,.mg-news-main,.mg-news-side{will-change:auto}

/* L'installation ne doit jamais apparaître sur ordinateur. */
.mg-install-btn:not([hidden]){display:none}

/* Petits ajustements généraux pour éviter tout débordement. */
.mg-shell{max-width:1180px}
.mg-hero-copy,.mg-page-hero,.mg-copy-block,.mg-section-head>div{min-width:0}
.mg-hero-copy h1,.mg-page-hero h1,.mg-section h2,.mg-copy-block h2{overflow-wrap:break-word}
.mg-form input,.mg-form select,.mg-form textarea{max-width:100%}

@media(max-width:980px){
  :root{--mg-header-h:72px}
  .mg-header{backdrop-filter:none;background:#fffdf9}
  .mg-header-inner{min-height:var(--mg-header-h);gap:12px}
  .mg-menu-toggle{
    display:block;
    position:relative;
    z-index:4;
    flex:0 0 46px;
    border-radius:50%;
    background:transparent;
  }
  .mg-menu-toggle:focus-visible{outline:3px solid rgba(15,102,112,.25);outline-offset:2px}

  /* Panneau latéral plein écran utile, toujours au-dessus des images. */
  .mg-nav{
    position:fixed;
    z-index:3;
    top:calc(var(--mg-adminbar-h) + var(--mg-header-h));
    right:0;
    left:auto;
    bottom:auto;
    width:min(88vw,430px);
    height:calc(100dvh - var(--mg-adminbar-h) - var(--mg-header-h));
    margin:0;
    padding:22px 22px max(28px,env(safe-area-inset-bottom));
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fffdf9;
    box-shadow:-24px 0 55px rgba(25,17,12,.18);
    transform:translate3d(105%,0,0);
    visibility:hidden;
    pointer-events:none;
    transition:transform .25s ease,visibility .25s ease;
  }
  .mg-nav.is-open,.mg-nav-open .mg-nav{
    transform:translate3d(0,0,0);
    visibility:visible;
    pointer-events:auto;
  }
  .mg-nav>ul{display:block;width:100%;margin:0;padding:0}
  .mg-nav>ul li{display:block;border-bottom:1px solid var(--mg-line)}
  .mg-nav>ul a{
    display:flex;
    align-items:center;
    min-height:54px;
    padding:11px 2px;
    white-space:normal;
    font-family:var(--mg-serif);
    font-size:clamp(22px,4.7vw,28px);
    line-height:1.15;
  }
  .mg-nav>ul a:after{display:none}
  .mg-nav-actions{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
    gap:14px;
    margin-top:auto;
    padding-top:22px;
  }
  .mg-nav-actions .mg-btn-small{display:flex;width:100%;min-height:48px}
  .mg-lang-switch{
    display:flex;
    justify-content:center;
    border:0;
    border-top:1px solid var(--mg-line);
    padding:16px 0 0;
  }
  .mg-lang-switch a{min-width:42px;min-height:38px;display:grid;place-items:center}

  .mg-nav-backdrop{
    display:block;
    position:fixed;
    z-index:2;
    top:calc(var(--mg-adminbar-h) + var(--mg-header-h));
    right:0;
    bottom:0;
    left:0;
    width:100%;
    height:auto;
    padding:0;
    border:0;
    background:rgba(20,15,12,.36);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
  }
  .mg-nav-open .mg-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  body.mg-nav-open{overflow:hidden;touch-action:none}

  /* Tablet : une seule colonne pour le hero et les grands blocs. */
  .mg-shell{width:min(100% - 32px,1180px)}
  .mg-hero-grid{grid-template-columns:1fr;min-height:0}
  .mg-hero-copy{padding:48px 0 30px}
  .mg-hero-copy h1{font-size:clamp(54px,9vw,78px);max-width:760px}
  .mg-hero-photo{min-height:390px;border-radius:28px 28px 0 0}
  .mg-strip-grid,.mg-split,.mg-split-gallery,.mg-booking-page,.mg-contact-grid{grid-template-columns:1fr}
  .mg-section-head{align-items:flex-start}
  .mg-booking-banner{display:grid;padding:38px 34px}
  .mg-event-card{grid-template-columns:minmax(220px,34%) 1fr}
  .mg-map,.mg-map iframe{min-height:420px}
}

@media(max-width:782px){body.admin-bar{--mg-adminbar-h:46px}}

@media(max-width:767px){
  :root{--mg-header-h:66px}
  .mg-shell{width:calc(100% - 24px)}
  .mg-header-inner{min-height:var(--mg-header-h)}
  .mg-brand{gap:9px;min-width:0}
  .mg-brand img{width:44px;height:44px;flex:0 0 44px}
  .mg-brand span{min-width:0}
  .mg-brand strong{font-size:15px;letter-spacing:.02em;white-space:nowrap}
  .mg-brand small{font-size:7px;letter-spacing:.12em;margin-top:4px}
  .mg-menu-toggle{width:44px;height:44px;flex-basis:44px}
  .mg-nav{width:100%;padding:18px 18px max(24px,env(safe-area-inset-bottom));box-shadow:none}
  .mg-nav-backdrop{display:none}

  /* Uniquement si JS confirme qu'un navigateur mobile autorise l'installation. */
  .mg-install-btn:not([hidden]){
    display:inline-flex;
    width:100%;
    min-height:46px;
    align-items:center;
    justify-content:center;
  }

  .mg-section{padding:46px 0}
  .mg-hero-copy{padding:36px 0 24px}
  .mg-eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:11px}
  .mg-hero-copy h1{
    font-size:clamp(44px,13vw,58px);
    line-height:.94;
    letter-spacing:-.035em;
    margin-bottom:20px;
  }
  .mg-hero-copy>p{font-size:17px;line-height:1.5}
  .mg-hero-photo{min-height:260px;border-radius:20px 20px 0 0}
  .mg-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}
  .mg-actions .mg-btn{width:100%;min-height:48px}
  .mg-strip{padding:24px 0}
  .mg-strip h2{font-size:clamp(30px,10vw,39px)}
  .mg-strip-grid{gap:14px}

  .mg-section-head{display:grid;gap:10px;margin-bottom:22px}
  .mg-section h2,.mg-copy-block h2{font-size:clamp(36px,11vw,48px)}
  .mg-lead{font-size:18px}
  .mg-category-grid,.mg-product-grid,.mg-feature-grid{grid-template-columns:1fr}
  .mg-category-grid .mg-category-card:last-child,.mg-feature-grid .mg-feature-card:last-child{grid-column:auto}
  .mg-category-card img,.mg-feature-card img{height:190px}
  .mg-product-card img{height:220px}

  .mg-page-hero{padding:34px 0 30px}
  .mg-page-hero-grid{display:grid;grid-template-columns:1fr;gap:16px}
  .mg-page-hero h1{font-size:clamp(38px,12vw,52px);line-height:1}
  .mg-page-hero p{font-size:18px}
  .mg-page-hero-badge{width:70px;height:70px}

  .mg-home-gift .mg-split{gap:24px}
  .mg-home-gift .mg-gift-photo,.mg-home-gift .mg-gift-photo img{height:auto;max-height:none}
  .mg-image-card img,.mg-image-card-wide img{height:auto;max-height:380px;object-fit:cover}

  .mg-booking-banner{padding:28px 20px;border-radius:20px;gap:18px}
  .mg-booking-banner h2{font-size:clamp(36px,11vw,46px)}
  .mg-actions-light{display:grid;width:100%;margin-top:0}
  .mg-actions-light .mg-btn{width:100%}

  .mg-news-main{padding:24px 18px}
  .mg-news-points>div{grid-template-columns:50px 1fr;gap:12px;padding:18px 0}
  .mg-news-points>div>span{width:46px;height:46px;font-size:11px}
  .mg-news-side{display:block}.mg-news-side>img{height:205px;min-height:0}
  .mg-selection-cta{padding:24px 18px;gap:20px}

  .mg-event-card{grid-template-columns:1fr}
  .mg-event-card img{height:205px;min-height:0}
  .mg-event-card>div{padding:20px}
  .mg-event-card h2{font-size:32px}

  .mg-booking-page{padding:10px;border-radius:18px;gap:10px}
  .mg-booking-visual img{height:230px}
  .mg-booking-visual>div{padding:22px}
  .mg-form{grid-template-columns:1fr;padding:18px;gap:14px}
  .mg-field-full,.mg-form-message{grid-column:auto}
  .mg-field input,.mg-field textarea,.mg-field select{font-size:16px;padding:13px 12px}
  .mg-consent label{font-size:12px}

  .mg-contact-card{padding:22px}
  .mg-map,.mg-map iframe{min-height:320px}
  .mg-footer{padding-top:40px}
  .mg-footer-grid{grid-template-columns:1fr;gap:26px}
  .mg-footer-grid>div:last-child{grid-column:auto}
  .mg-footer-bottom{display:grid;gap:6px}
}

@media(max-width:380px){
  .mg-brand strong{font-size:13px}
  .mg-brand small{display:none}
  .mg-hero-copy h1{font-size:42px}
  .mg-nav>ul a{font-size:23px}
}
