/* =========================================================
   CARTE INTERACTIVE — WELL'IN GREEN
   Styles isolés avec le préfixe wm-
========================================================= */

.wm-hero{
  min-height:560px;
  display:flex;
  align-items:flex-end;
  padding:170px 0 80px;
  color:#fff;
  background:
    radial-gradient(circle at 75% 25%,rgba(179,73,50,.30),transparent 28%),
    linear-gradient(135deg,var(--green-2),var(--green));
}

.wm-hero-inner{position:relative}
.wm-hero .eyebrow{color:#e1b77f}
.wm-hero h1{
  font-family:'DM Serif Display',serif;
  font-size:clamp(5rem,10vw,10rem);
  line-height:.78;
  letter-spacing:-.045em;
  margin:0 0 28px;
}
.wm-hero p{max-width:650px;font-size:1.05rem;color:#ffffffcc;margin:0}
.wm-hand{margin-top:30px;color:#e1b77f;transform:rotate(-2deg)}

.wm-menu-shell{padding:0 0 120px;background:var(--cream)}

.wm-toolbar{
  position:sticky;
  top:0;
  z-index:35;
  margin:0 -5vw 65px;
  padding:14px 5vw;
  background:rgba(244,239,229,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 30px rgba(0,0,0,.05);
}

.wm-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:2px 0 10px;
  scrollbar-width:none;
}
.wm-tabs::-webkit-scrollbar{display:none}

.wm-tab{
  flex:0 0 auto;
  min-height:42px;
  padding:0 15px;
  border:1px solid rgba(18,58,47,.22);
  background:transparent;
  color:var(--green);
  font:700 .68rem/1 'DM Sans',sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.2s ease;
}
.wm-tab:hover{background:#fff}
.wm-tab.is-active{background:var(--green);color:#fff;border-color:var(--green)}
.wm-tab:focus-visible,.wm-search input:focus-visible{outline:3px solid rgba(179,73,50,.25);outline-offset:2px}

.wm-search{display:grid;grid-template-columns:auto minmax(180px,360px);align-items:center;gap:12px;margin-top:8px}
.wm-search-label{text-transform:uppercase;font-size:.62rem;letter-spacing:.1em;font-weight:700;color:#6d695f}
.wm-search input{
  width:100%;
  min-height:42px;
  border:1px solid var(--line);
  background:var(--paper);
  padding:0 14px;
  color:var(--ink);
  font:500 .9rem 'DM Sans',sans-serif;
}

.wm-content{display:grid;gap:110px}
.wm-section{scroll-margin-top:155px}
.wm-section[hidden]{display:none!important}

.wm-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:38px;
  padding-bottom:22px;
  border-bottom:1px solid var(--line);
}
.wm-section-head h2{
  font-family:'DM Serif Display',serif;
  font-size:clamp(3.2rem,5vw,5.8rem);
  line-height:.86;
  color:var(--green);
  margin:0;
  letter-spacing:-.035em;
}
.wm-section-head h2 span{font-family:'Caveat',cursive;color:var(--rust);font-size:.55em;font-weight:500;letter-spacing:0}
.wm-section-head>p{max-width:360px;margin:0 0 8px;color:#66635c}

.wm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}
.wm-panel{background:var(--paper);padding:38px;border:1px solid var(--line)}
.wm-panel-wide{margin-top:22px}
.wm-panel-spaced{margin-top:22px}
.wm-panel-green{background:var(--green);color:#fff;border-color:var(--green)}
.wm-panel h3{
  font-family:'DM Serif Display',serif;
  color:var(--green);
  font-size:2.25rem;
  line-height:1;
  font-weight:400;
  margin:0 0 24px;
}
.wm-panel h3 small{font-family:'DM Sans',sans-serif;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#6d695f}
.wm-panel-green h3{color:#e1b77f}
.wm-panel-intro{margin:-10px 0 22px;color:inherit;opacity:.82;line-height:1.6}
.wm-subtitle{margin-top:34px!important;padding-top:28px;border-top:1px solid currentColor}

.wm-dish{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:start;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.wm-panel-green .wm-dish{border-color:rgba(255,255,255,.18)}
.wm-dish:last-child{border-bottom:0}
.wm-dish[hidden]{display:none!important}
.wm-dish h4{
  font-family:'DM Serif Display',serif;
  color:var(--green);
  font-size:1.55rem;
  line-height:1.05;
  font-weight:400;
  margin:0;
}
.wm-dish h4 span{font-family:'DM Sans',sans-serif;font-size:.82rem;color:#777268;font-weight:500}
.wm-panel-green .wm-dish h4,.wm-panel-green .wm-dish h4 span{color:#e1b77f}
.wm-dish p{margin:6px 0 0;color:#5d5a53;line-height:1.55;font-size:.9rem}
.wm-panel-green .wm-dish p{color:#ffffffd1}
.wm-dish>strong{font-family:'DM Serif Display',serif;font-size:1.28rem;color:var(--rust);white-space:nowrap;line-height:1.1}
.wm-panel-green .wm-dish>strong{color:#e1b77f}
.wm-dish b{font-weight:700;color:inherit}

.wm-price-head,.wm-dish-multi{grid-template-columns:minmax(0,1fr) 72px 72px}
.wm-price-head{display:grid;gap:10px;padding-bottom:7px;font-size:.63rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#757067;text-align:right}
.wm-price-head-water{margin-top:-10px}

.wm-dish-columns{gap:34px;margin:0}
.wm-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 35px}

.wm-badge{
  display:inline-flex;
  vertical-align:middle;
  align-items:center;
  min-height:20px;
  padding:0 6px;
  margin-left:4px;
  border-radius:2px;
  background:#489f4d;
  color:#fff!important;
  font:700 .58rem/1 'DM Sans',sans-serif!important;
  letter-spacing:.04em;
}
.wm-badge-light{background:#fff;color:var(--green)!important}

.wm-kids{margin-top:36px;padding:28px;background:var(--green);color:#fff;text-align:center}
.wm-kids .eyebrow{color:#e1b77f;margin-bottom:10px}
.wm-kids h3{color:#e1b77f;margin:0 0 18px}
.wm-kids h3 strong{float:right;color:#fff;font-size:1.25rem}
.wm-kids p{color:#fff;margin:8px 0;line-height:1.55}
.wm-plus{display:block;font-size:2rem;color:#e1b77f;line-height:1}

.wm-supp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.wm-supp-grid>div{padding:24px;border:1px solid var(--line);background:#fff}
.wm-supp-grid strong{display:block;font-family:'Caveat',cursive;font-size:2.5rem;color:var(--rust);margin-bottom:6px}
.wm-supp-grid p{margin:0;color:#5d5a53;line-height:1.6}

.wm-ice-prices{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.wm-ice-prices span{padding:10px 12px;border:1px solid var(--line);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.wm-flavours{color:#5d5a53;line-height:1.7;margin-bottom:28px}

.wm-wine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.wm-wine-title{font-family:'Caveat',cursive!important;font-size:2rem!important;color:var(--rust)!important;margin:0 0 5px!important}

.wm-note,.wm-legal{font-size:.78rem;color:#6a675f;line-height:1.6}
.wm-legal{margin:25px 0 0;text-align:center}
.wm-no-results{padding:70px 20px;text-align:center;background:var(--paper);font-family:'DM Serif Display',serif;font-size:2rem;color:var(--green)}

@media (hover:hover) and (pointer:fine){
  .wm-panel{transition:transform .25s ease,box-shadow .25s ease}
  .wm-panel:hover{transform:translateY(-2px);box-shadow:0 18px 55px rgba(0,0,0,.07)}
}

@media(max-width:900px){
  .wm-hero{min-height:500px;padding:140px 0 65px}
  .wm-toolbar{margin:0 -5vw 45px}
  .wm-grid-2,.wm-wine-grid{grid-template-columns:1fr}
  .wm-section-head{align-items:start;flex-direction:column;gap:15px}
  .wm-section-head>p{max-width:100%}
  .wm-dish-columns{grid-template-columns:1fr}
  .wm-mini-grid{grid-template-columns:1fr}
  .wm-supp-grid{grid-template-columns:1fr}
}

@media(max-width:560px){
  .wm-hero{min-height:430px;padding:125px 0 55px}
  .wm-hero h1{font-size:4.6rem}
  .wm-menu-shell{padding-bottom:80px}
  .wm-toolbar{padding-top:10px;padding-bottom:10px;margin-bottom:38px}
  .wm-search{grid-template-columns:1fr;gap:6px}
  .wm-panel{padding:26px 20px}
  .wm-content{gap:80px}
  .wm-section-head h2{font-size:3.1rem}
  .wm-dish{gap:14px}
  .wm-dish h4{font-size:1.35rem}
  .wm-dish p{font-size:.86rem}
  .wm-dish>strong{font-size:1.12rem}
  .wm-price-head,.wm-dish-multi{grid-template-columns:minmax(0,1fr) 56px 56px;gap:7px}
  .wm-kids h3 strong{float:none;display:block;margin-top:8px}
}
