/* Home «El pase»: secciones bajo el hero. Fondos a sangre alternando porcelana y blanco,
   una franja verde bosque para hostelería. Títulos en Bodoni, antetítulos en DM Mono. */

.mg-con-hero .mgs{margin-inline:calc(50% - 50vw)}
.mg-con-hero .main-page-wrapper{padding-bottom:0; margin-bottom:0}
.mg-con-hero .wd-page-content, .mg-con-hero .site-content{margin-bottom:0; padding-bottom:0}
.mgs{padding-block:clamp(64px,8vw,112px); color:var(--mg-texto)}
.mgs-in{max-width:1440px; margin-inline:auto; padding-inline:clamp(16px,4vw,56px)}
.mgs *, .mgs *::before, .mgs *::after{box-sizing:border-box}

/* Cabecera de sección */
.mgs-head{display:flex; flex-direction:column; gap:12px; margin-bottom:clamp(32px,4vw,48px); max-width:820px}
.mgs-eyebrow{margin:0; font:500 12px/1.4 var(--mg-f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--mg-salvia)}
.mgs .mgs-title{margin:0; font:500 clamp(36px,4.4vw,60px)/1.03 var(--mg-f-display); letter-spacing:-.015em; color:var(--mg-tinta); text-wrap:balance}
.mgs-title em{font-style:italic; color:var(--mg-bosque)}
/* Cursiva con el corte de texto de la Bodoni: sin él, los trazos finos desaparecen y «14» se lee «I I». */
.mgs-title em, .mgs-hh-title em{font-variation-settings:'opsz' 18}
.mgs-intro{margin:4px 0 0; font-size:17px; line-height:1.6; max-width:58ch}
.mgs-link{font-weight:600; color:var(--mg-bosque); text-decoration:none; display:inline-flex; gap:6px; align-items:center}
.mgs-link::after{content:"→"; transition:transform .25s ease}
.mgs-link:hover::after{transform:translateX(4px)}
.mgs-btn{display:inline-flex; align-items:center; min-height:50px; padding:0 26px; border-radius:6px; font:600 15px var(--mg-f-ui); text-decoration:none; transition:background-color .2s, color .2s}
.mgs-btn--light{background:#fff; color:var(--mg-bosque)}
.mgs-btn--light:hover{background:#E4EFE6; color:var(--mg-bosque-2)}

/* ——— 1. Familias ——— */
.mgs-familias{background:var(--mg-porcelana)}
.mgs-fam-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2vw,24px)}
.mgs-fam{display:flex; flex-direction:column; background:#fff; border:1px solid var(--mg-linea); border-radius:16px; overflow:hidden; color:inherit; text-decoration:none;
  transition:transform .3s ease, box-shadow .3s ease}
.mgs-fam:hover{transform:translateY(-4px); box-shadow:0 24px 40px -28px rgba(20,35,26,.5)}
.mgs-fam-ph{aspect-ratio:4/3; display:grid; place-items:center; padding:24px; border-bottom:1px solid var(--mg-linea); background:#fff}
.mgs-fam-ph img{width:78%; height:100%; object-fit:contain; transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.mgs-fam:hover .mgs-fam-ph img{transform:scale(1.05) rotate(-2deg)}
.mgs-fam-bd{display:flex; flex-direction:column; gap:10px; padding:22px 24px 24px; flex:1}
.mgs-fam-n{font:500 clamp(28px,2.6vw,36px)/1.05 var(--mg-f-display); color:var(--mg-tinta)}
.mgs-fam-t{font-size:15.5px; line-height:1.55}
.mgs-fam-f{display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-top:auto; padding-top:14px; border-top:1px solid var(--mg-linea)}
.mgs-fam-f span{font:500 12px var(--mg-f-mono); letter-spacing:.06em; color:var(--mg-salvia)}
.mgs-fam-f i{font-style:normal; font-weight:600; font-size:14px; color:var(--mg-bosque)}
.mgs-fam-f i::after{content:" →"}

/* ——— 2. Disponible esta semana ——— */
.mgs-destacados{background:#fff; border-block:1px solid var(--mg-linea)}
.mgs-destacados .mgs-head{max-width:none; position:relative; padding-right:200px}
.mgs-destacados .mgs-head .mgs-link{position:absolute; right:0; bottom:4px}
.mgs-destacados .wd-product .wd-product-wrapper{background:var(--mg-porcelana)}
.mgs-destacados .wd-product .wd-product-thumb{background:#fff}

/* ——— 3. Hostelería ——— */
.mgs-hosteleria{background:var(--mg-bosque-2); color:#DCE9DE}
.mgs-hos-grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(32px,5vw,72px); align-items:center}
.mgs-hosteleria .mgs-eyebrow{color:#8FB596}
.mgs-hosteleria .mgs-title{color:#fff}
.mgs-hosteleria .mgs-title em{color:#B6D27E}
.mgs-hosteleria .mgs-intro{color:#DCE9DE}
.mgs-hos-datos{display:grid; grid-template-columns:120px minmax(0,1fr); margin:0 0 32px; border-top:1px solid rgba(255,255,255,.16)}
.mgs-hos-datos dt, .mgs-hos-datos dd{margin:0; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.16)}
.mgs-hos-datos dt{font:500 11.5px/1.9 var(--mg-f-mono); letter-spacing:.12em; text-transform:uppercase; color:#8FB596}
.mgs-hos-datos dd{font-size:16px; line-height:1.5; color:#F1F6F1}
.mgs-hos-cta{display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px}
.mgs-tel{color:#DCE9DE; text-decoration:underline; text-underline-offset:4px}
.mgs-tel:hover{color:#fff}
.mgs-hos-plato{display:grid; place-items:center}
.mgs-plato{width:min(100%,520px); aspect-ratio:1; border-radius:50%; display:grid; place-items:center;
  background:radial-gradient(circle at 50% 46%,#FFFFFF 0 56%,#F1F3EF 57% 63%,#FFFFFF 64%);
  box-shadow:0 40px 70px -30px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.4)}
.mgs-plato img{width:62%; height:auto; filter:drop-shadow(0 12px 16px rgba(20,35,26,.25)); transform:rotate(-6deg)}

/* ——— 4. Proceso: bandeja que crece ——— */
.mgs-proceso{background:var(--mg-porcelana)}
.mgs-crece{display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:clamp(20px,3vw,40px); align-items:center}
.mgs-crece-escena{position:relative; background:#fff; border:1px solid var(--mg-linea); border-radius:18px; overflow:hidden}
.mgs-crece-svg{display:block; width:100%; height:auto}
.mgs-crece-dia{position:absolute; left:22px; top:16px; margin:0; font:500 13px/1 var(--mg-f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--mg-salvia)}
.mgs-crece-dia b{display:block; margin-top:6px; font:500 48px/1 var(--mg-f-mono); letter-spacing:-.02em; color:var(--mg-tinta)}
.mgs-crece-panel{display:flex; flex-direction:column; gap:14px}
.mgs-crece-fase{margin:0; font:500 clamp(28px,3vw,38px)/1.05 var(--mg-f-display); color:var(--mg-tinta); transition:color .3s}
.is-cosecha .mgs-crece-fase{color:var(--mg-bosque)}
.mgs-crece-texto{margin:0; font-size:16.5px; line-height:1.6; min-height:5.2em}
.mgs-crece-label{font:500 11.5px/1 var(--mg-f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--mg-salvia); margin-top:6px}
.mgs-crece-range{--p:0%; -webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:99px; margin:6px 0 0; cursor:pointer;
  background:linear-gradient(90deg, var(--mg-bosque) 0 var(--p), transparent var(--p) 100%), linear-gradient(90deg, #DCE2DA 0 50%, #EBCFD8 50% 100%)}
.mgs-crece-range::-webkit-slider-thumb{-webkit-appearance:none; width:26px; height:26px; border-radius:50%; background:#fff; border:2px solid var(--mg-bosque); box-shadow:0 6px 14px -6px rgba(20,35,26,.5)}
.mgs-crece-range::-moz-range-thumb{width:24px; height:24px; border-radius:50%; background:#fff; border:2px solid var(--mg-bosque)}
.mgs-crece-range:focus-visible{outline:2px solid var(--mg-bosque); outline-offset:6px}
.mgs-crece-escala{position:relative; display:flex; justify-content:space-between; font:500 11.5px var(--mg-f-mono); color:var(--mg-salvia); padding-bottom:26px}
.mgs-crece-ventana{position:absolute; left:50%; right:0; top:20px; text-align:center; padding:4px 0; border-top:2px solid var(--mg-amaranto); color:var(--mg-amaranto); letter-spacing:.06em}
.mgs-pasos{list-style:none; margin:clamp(28px,3vw,40px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
.mgs-pasos li{display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid var(--mg-linea); border-radius:14px; padding:20px 22px}
.mgs-paso-n{width:30px; height:30px; border-radius:50%; display:grid; place-items:center; font:500 13px var(--mg-f-mono); background:var(--mg-porcelana); color:var(--mg-bosque); border:1px solid var(--mg-linea); margin-bottom:6px}
.mgs-pasos b{font:500 22px/1.15 var(--mg-f-display); color:var(--mg-tinta)}
.mgs-pasos span:last-child{font-size:15px; line-height:1.55}

/* ——— 5. Qué son ——— */
.mgs-que{background:#fff; border-top:1px solid var(--mg-linea)}
.mgs-que-grid{display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr); gap:clamp(32px,5vw,72px); align-items:start}
.mgs-lead{font-size:clamp(17px,1.4vw,19.5px); line-height:1.65; color:var(--mg-tinta); margin:0 0 28px; max-width:62ch}
.mgs .mgs-h3{font:500 26px/1.15 var(--mg-f-display); color:var(--mg-tinta); margin:0 0 14px}
.mgs-usos{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; max-width:62ch}
.mgs-usos li{padding-left:22px; position:relative; font-size:16px; line-height:1.55}
.mgs-usos li::before{content:""; position:absolute; left:2px; top:.62em; width:8px; height:8px; border-radius:50%; background:var(--mg-bosque)}
.mgs-usos b{color:var(--mg-tinta)}
.mgs-resumen{background:var(--mg-porcelana); border:1px solid var(--mg-linea); border-radius:16px; padding:26px 26px 24px; display:flex; flex-direction:column; gap:14px; position:sticky; top:110px}
.mgs-resumen dl{display:grid; grid-template-columns:90px minmax(0,1fr); margin:0; border-top:1px solid var(--mg-linea)}
.mgs-resumen dt, .mgs-resumen dd{margin:0; padding:10px 0; border-bottom:1px solid var(--mg-linea); font-size:15px}
.mgs-resumen dt{font:500 11px/2 var(--mg-f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--mg-salvia)}
.mgs-resumen dd{color:var(--mg-tinta)}

/* ——— 6. Envíos ——— */
.mgs-envios{background:var(--mg-porcelana)}
.mgs-env-grid{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(32px,5vw,72px); align-items:end}
.mgs-env-calc{display:flex; flex-direction:column; gap:14px}
.mgs-env-q{margin:0; font:500 12px var(--mg-f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--mg-salvia)}
.mgs-env-dias{display:flex; flex-wrap:wrap; gap:8px}
.mgs-env-dia{width:48px; height:48px; border-radius:50%; border:1px solid var(--mg-linea); background:#fff; color:var(--mg-tinta); font:500 15px var(--mg-f-mono); cursor:pointer; transition:all .2s}
.mgs-env-dia:hover{border-color:var(--mg-bosque)}
.mgs-env-dia[aria-pressed="true"]{background:var(--mg-bosque); border-color:var(--mg-bosque); color:#fff}
.mgs-env-res{margin:6px 0 0; display:flex; flex-direction:column; gap:8px}
.mgs-env-sale{font:500 clamp(24px,2.6vw,34px)/1.15 var(--mg-f-display); color:var(--mg-tinta)}
.mgs-env-sale b{font-weight:500; font-style:italic; color:var(--mg-bosque)}
.mgs-env-nota{font-size:14.5px; color:var(--mg-salvia)}
.mgs-env-pie a, .mgs-faq-item p a, .mgs-que p a{text-decoration:underline; text-underline-offset:3px}
.mgs-env-tarifas{background:#fff; border:1px solid var(--mg-linea); border-radius:16px; padding:24px 26px}
.mgs-env-tarifas table{width:100%; border-collapse:collapse; margin:12px 0 10px}
.mgs-env-tarifas th, .mgs-env-tarifas td{padding:13px 0; border-bottom:1px solid var(--mg-linea); font-size:15.5px; text-align:left; font-weight:400; color:var(--mg-texto)}
.mgs-env-tarifas td{text-align:right; font:500 20px var(--mg-f-display); color:var(--mg-tinta)}
.mgs-env-tarifas td.mgs-gratis{color:var(--mg-bosque); font-style:italic}
.mgs-env-pie{margin:0; font-size:14px; color:var(--mg-salvia)}

/* ——— 7. Preguntas frecuentes ——— */
.mgs-faq{background:#fff; border-top:1px solid var(--mg-linea)}
.mgs-faq-grid{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,5vw,72px); align-items:start}
.mgs-faq-list{border-top:1px solid var(--mg-linea)}
.mgs-faq-item{border-bottom:1px solid var(--mg-linea)}
.mgs-faq-item summary{list-style:none; cursor:pointer; padding:20px 44px 20px 0; position:relative; font:600 17px/1.4 var(--mg-f-ui); color:var(--mg-tinta)}
.mgs-faq-item summary::-webkit-details-marker{display:none}
.mgs-faq-item summary::after{content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%); font:400 26px/1 var(--mg-f-ui); color:var(--mg-bosque); transition:transform .25s}
.mgs-faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.mgs-faq-item p{margin:0 0 20px; font-size:16px; line-height:1.65; max-width:64ch}

/* ——— Pantallas medianas y móvil ——— */
@media (max-width:1024px){
  .mgs-fam-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mgs-hos-grid, .mgs-crece, .mgs-que-grid, .mgs-env-grid, .mgs-faq-grid{grid-template-columns:minmax(0,1fr)}
  .mgs-hos-plato{order:-1}
  .mgs-plato{width:min(70%,380px)}
  .mgs-resumen{position:static}
}
@media (max-width:768px){
  .mgs-fam-grid, .mgs-pasos{grid-template-columns:minmax(0,1fr)}
  .mgs-fam-ph{aspect-ratio:16/10}
  .mgs-destacados .mgs-head{padding-right:0}
  .mgs-destacados .mgs-head .mgs-link{position:static}
  .mgs-hos-datos{grid-template-columns:minmax(0,1fr)}
  .mgs-hos-datos dt{border-bottom:0; padding-bottom:0}
  .mgs-crece-dia b{font-size:34px}
  .mgs-env-dia{width:42px; height:42px}
}
@media (prefers-reduced-motion:reduce){
  .mgs *{transition:none!important}
}

/* ——— Página de hostelería ——— */
.mgs-btn--dark{background:var(--mg-bosque); color:#fff}
.mgs-btn--dark:hover{background:var(--mg-bosque-2); color:#fff}
.mgs-btn--dark[disabled]{opacity:.45; cursor:not-allowed}
.mgs-btn--line{background:transparent; color:var(--mg-bosque); border:1px solid var(--mg-bosque)}
.mgs-btn--line:hover{background:#EEF3EC}
.mgs-tel--dark{color:var(--mg-tinta); text-decoration:underline; text-underline-offset:4px}
.mgs-tel--dark:hover{color:var(--mg-bosque)}

.mgs-hos-hero{background:radial-gradient(1000px 640px at 76% 30%, #fff 0%, rgba(255,255,255,0) 62%), var(--mg-porcelana); padding-block:clamp(40px,6vw,88px) clamp(40px,5vw,72px)}
.mgs-hh-grid{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(24px,5vw,72px); align-items:center}
.mgs-hh-copy{display:flex; flex-direction:column; gap:18px}
.mgs .mgs-hh-title{margin:0; font:500 clamp(42px,5.4vw,80px)/1 var(--mg-f-display); letter-spacing:-.02em; color:var(--mg-tinta); text-wrap:balance}
.mgs-hh-title em{font-style:italic; color:var(--mg-bosque)}
.mgs-hh-cta{display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:6px}
.mgs-hos-hero .mgs-plato{box-shadow:0 40px 70px -34px rgba(20,35,26,.45), 0 0 0 1px #E6EAE4}
.mgs-hh-datos{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:clamp(32px,4vw,52px) 0 0}
.mgs-hh-datos > div{background:#fff; border:1px solid var(--mg-linea); border-radius:14px; padding:18px 20px}
.mgs-hh-datos dt{font:500 11.5px/1.4 var(--mg-f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--mg-salvia); margin:0 0 8px}
.mgs-hh-datos dd{margin:0; font-size:15.5px; line-height:1.5; color:var(--mg-tinta)}

/* Pedido rápido */
.mgs-pedido{background:#fff; border-block:1px solid var(--mg-linea)}
.mgp-tabla-wrap{border:1px solid var(--mg-linea); border-radius:16px; overflow:hidden}
.mgp-tabla{width:100%; border-collapse:collapse; margin:0}
.mgp-tabla th{font:500 11.5px/1.4 var(--mg-f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--mg-salvia); text-align:left; padding:14px 16px; background:var(--mg-porcelana); border-bottom:1px solid var(--mg-linea)}
.mgp-tabla td{padding:12px 16px; border-bottom:1px solid var(--mg-linea); vertical-align:middle; font-size:14.5px; color:var(--mg-texto)}
.mgp-tabla tr:last-child td{border-bottom:0}
.mgp-fila.is-elegida td{background:#F4F8F2}
.mgp-fila.is-agotado td{opacity:.55}
.mgp-prod-in{display:flex; align-items:center; gap:14px; min-width:240px}
.mgp-prod img{width:56px; height:56px; object-fit:contain; background:#fff; border:1px solid var(--mg-linea); border-radius:10px; padding:4px; flex:0 0 auto}
.mgp-prod-in > span{display:flex; flex-direction:column; gap:2px}
.mgp-nombre{font:500 19px/1.15 var(--mg-f-display); color:var(--mg-tinta); text-decoration:none}
.mgp-nombre:hover{color:var(--mg-bosque)}
.mgp-meta{font:500 11px/1.4 var(--mg-f-mono); letter-spacing:.06em; color:var(--mg-salvia)}
.mgp-meta em{font-family:var(--mg-f-display); font-size:13px; letter-spacing:0}
.mgp-uso{max-width:280px}
.mgp-precio{font:500 18px var(--mg-f-display); font-variation-settings:'opsz' 6; color:var(--mg-tinta); white-space:nowrap}
.mgp-var{font:500 14px var(--mg-f-ui); border:1px solid var(--mg-linea); border-radius:8px; padding:8px 10px; background:#fff; max-width:170px}
.mgp-cant{display:inline-flex; align-items:center; border:1px solid var(--mg-linea); border-radius:8px; overflow:hidden; background:#fff}
.mgp-cant button{width:36px; height:38px; border:0; background:#fff; color:var(--mg-bosque); font:500 18px var(--mg-f-ui); cursor:pointer}
.mgp-cant button:hover{background:#EEF3EC}
.mgp-cant input{width:44px; height:38px; border:0; border-inline:1px solid var(--mg-linea); text-align:center; font:500 15px var(--mg-f-mono); -moz-appearance:textfield}
.mgp-cant input::-webkit-outer-spin-button, .mgp-cant input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
.mgp-agotado{font:500 11.5px var(--mg-f-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--mg-salvia)}
.mgp-sub{font:500 17px var(--mg-f-display); font-variation-settings:'opsz' 6; color:var(--mg-tinta); white-space:nowrap; text-align:right}
.mgp-pie{position:sticky; bottom:0; z-index:3; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; margin-top:16px;
  padding:16px 20px; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border:1px solid var(--mg-linea); border-radius:14px; box-shadow:0 -12px 30px -26px rgba(20,35,26,.5)}
.mgp-resumen{display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 18px}
.mgp-n{font:500 12px var(--mg-f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--mg-salvia)}
.mgp-total{font:500 30px/1 var(--mg-f-display); color:var(--mg-tinta)}
.mgp-envio{font-size:14px; color:var(--mg-salvia)}
.mgp-envio b{color:var(--mg-bosque)}
.mgp-nota{flex-basis:100%; margin:0; font-size:14px; color:var(--mg-amaranto)}
/* Mientras la barra del total va pegada abajo, los botones flotantes suben para no taparla (mg-home.js pone la clase y la altura). */
body.mgp-fijo .mg-bt{translate:0 calc(-1 * var(--mgp-alto, 0px))}

/* Cierre de contacto */
.mgs-hos-cta{background:var(--mg-bosque); color:#DCE9DE}
.mgs-hos-cta .mgs-eyebrow, .mgs-hos-cta .mgs-hc-vias span{color:#C2D8C5}
.mgs-hos-cta .mgs-title{color:#fff; font-size:clamp(30px,3.4vw,46px)}
.mgs-hc-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,5vw,72px); align-items:center}
.mgs-hc-vias{list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.16)}
.mgs-hc-vias li{display:flex; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.16)}
.mgs-hc-vias span{font:500 11.5px/1.8 var(--mg-f-mono); letter-spacing:.12em; text-transform:uppercase; color:#8FB596}
.mgs-hc-vias a{font:500 20px var(--mg-f-display); color:#fff; text-decoration:none}
.mgs-hc-vias a:hover{text-decoration:underline; text-underline-offset:4px}

@media (max-width:1024px){
  .mgs-hh-grid, .mgs-hc-grid{grid-template-columns:minmax(0,1fr)}
  body:has(.wd-toolbar) .mgp-pie{bottom:55px}
  /* En hostelería el titular y los botones van primero; el plato, después y más pequeño. */
  .mgs-hh-grid .mgs-hos-plato{order:0}
  .mgs-hos-hero .mgs-plato{width:min(56%,300px)}
  .mgs-hh-datos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mgp-uso{display:none}
  .mgp-tabla th:nth-child(3){display:none}
}
@media (max-width:768px){
  .mgs-hh-datos{grid-template-columns:minmax(0,1fr)}
  .mgp-tabla-wrap{border:0; border-radius:0; overflow:visible}
  .mgp-tabla thead{display:none}
  /* Cada producto, una tarjeta compacta: nombre arriba; formato y precio a la izquierda, cantidad a la derecha.
     El uso en cocina está en la ficha y el subtotal, en la barra del total. */
  .mgp-tabla, .mgp-tabla tbody{display:block; width:100%}
  .mgp-tabla tr{display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"prod prod" "formato cant" "precio cant"; gap:2px 12px;
    border:1px solid var(--mg-linea); border-radius:14px; margin-bottom:10px; padding:12px 14px; background:#fff}
  .mgp-tabla td{display:block; width:auto; border:0; padding:0; text-align:left}
  .mgp-tabla td.mgp-prod{grid-area:prod; padding-bottom:10px; border-bottom:1px solid var(--mg-linea); margin-bottom:8px}
  .mgp-prod-in{min-width:0}
  .mgp-tabla td.mgp-formato{grid-area:formato; align-self:end; font-size:13.5px; color:var(--mg-salvia)}
  .mgp-tabla td.mgp-pr{grid-area:precio; align-self:start}
  .mgp-tabla td.mgp-c{grid-area:cant; align-self:center}
  .mgp-tabla td.mgp-uso, .mgp-tabla td.mgp-sub{display:none}
  .mgp-fila.is-elegida{border-color:var(--mg-bosque)}
  .mgp-fila.is-elegida td{background:transparent}
  .mgp-pie{display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"n add" "total add" "envio envio" "nota nota"; gap:2px 12px; padding:10px 14px}
  .mgp-resumen{display:contents}
  .mgp-n{grid-area:n}
  .mgp-total{grid-area:total; font-size:24px}
  .mgp-envio{grid-area:envio; margin-top:4px; font-size:13px}
  .mgp-add{grid-area:add; align-self:center; min-height:46px; padding:0 16px; font-size:14px}
  .mgp-nota{grid-area:nota}
}

/* ——— Páginas de contenido: Quiénes somos, Envíos y Contacto ——— */
.mgs-pag-hero .mgs-hh-title{font-size:clamp(40px,5vw,74px)}
.mgs-pag-hero + .mgs-envios{border-top:1px solid var(--mg-linea)}
.mgs-r{font-size:.32em; vertical-align:super; font-style:normal; margin-left:.06em; color:var(--mg-bosque)}

/* Quiénes somos: tres platos */
.mgs-qs-platos{position:relative; aspect-ratio:1; width:min(100%,560px); margin-inline:auto}
.mgs-qs-platos .mgs-plato{position:absolute; box-shadow:0 34px 60px -32px rgba(20,35,26,.45), 0 0 0 1px #E6EAE4}
.mgs-plato--a{width:74%; left:4%; top:12%}
.mgs-plato--b{width:36%; right:0; top:0}
.mgs-plato--c{width:32%; right:6%; bottom:2%}
.mgs-plato--b img, .mgs-plato--c img{width:68%}
@media (prefers-reduced-motion:no-preference){
  .mgs-plato--b{animation:mg-flota 7s ease-in-out infinite}
  .mgs-plato--c{animation:mg-flota 8s ease-in-out -3s infinite}
}
@keyframes mg-flota{50%{transform:translateY(-10px)}}

.mgs-qs-historia{background:#fff; border-block:1px solid var(--mg-linea)}
.mgs-qs-grid{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(32px,6vw,96px); align-items:center}
.mgs-qs-texto p{font-size:16.5px; line-height:1.7; max-width:62ch}
.mgs-qs-texto .mgs-h3{margin-top:34px}
.mgs-qs-foto{margin:0; display:flex; flex-direction:column; align-items:center; gap:18px}
.mgs-qs-foto .mgs-plato{width:min(100%,420px); box-shadow:0 34px 60px -32px rgba(20,35,26,.4), 0 0 0 1px #E6EAE4}
.mgs-qs-foto .mgs-plato img{width:70%; transform:none}
.mgs-qs-foto figcaption{font:500 12px/1.5 var(--mg-f-mono); letter-spacing:.06em; color:var(--mg-salvia); text-align:center}

/* Envíos: la semana */
.mgs-semana{margin:0; background:#fff; border:1px solid var(--mg-linea); border-radius:20px; padding:clamp(18px,2.4vw,30px); box-shadow:0 34px 60px -40px rgba(20,35,26,.35)}
.mgs-sem-dias, .mgs-sem-tramos{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px}
.mgs-sem-dia{display:flex; flex-direction:column; align-items:center; gap:6px; padding:14px 0 12px; border:1px solid var(--mg-linea); border-radius:12px; background:var(--mg-porcelana)}
.mgs-sem-dia b{font:500 clamp(22px,2.2vw,30px)/1 var(--mg-f-display); color:var(--mg-tinta)}
.mgs-sem-dia i{font:500 10.5px/1 var(--mg-f-mono); font-style:normal; letter-spacing:.1em; text-transform:uppercase}
.mgs-sem-dia.is-sale{background:var(--mg-bosque); border-color:var(--mg-bosque)}
.mgs-sem-dia.is-sale b, .mgs-sem-dia.is-sale i{color:#fff}
.mgs-sem-tramos{margin-top:12px}
.mgs-sem-tramo{display:flex; flex-direction:column; gap:4px; padding:12px 14px; border-radius:12px; font-size:13.5px; line-height:1.35; color:var(--mg-texto)}
.mgs-sem-tramo b{font:500 17px/1.2 var(--mg-f-display); color:var(--mg-tinta)}
.mgs-sem-tramo--a{grid-column:1 / 4; background:#EEF3EC}
.mgs-sem-tramo--b{grid-column:4 / 8; background:#F3EFE4}
.mgs-semana figcaption{margin-top:16px; font-size:14px; line-height:1.5; color:var(--mg-salvia)}

.mgs-env-cond{background:#fff; border-block:1px solid var(--mg-linea)}
.mgs-cond-grid{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(24px,4vw,56px); align-items:start}
.mgs-cond-lista{margin:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:clamp(24px,4vw,56px)}
.mgs-cond-lista > div{display:grid; grid-template-columns:150px minmax(0,1fr); gap:16px; padding:18px 0; border-top:1px solid var(--mg-linea)}
.mgs-cond-lista dt{font:500 11.5px/1.8 var(--mg-f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--mg-salvia); margin:0}
.mgs-cond-lista dd{margin:0; font-size:16px; line-height:1.6; color:var(--mg-tinta)}
.mgs-env-cond .mgs-env-tarifas{background:var(--mg-porcelana)}

/* Contacto */
.mgs-con-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); align-items:start}
.mgs-con-vias{margin-top:10px; border-top-color:var(--mg-linea)}
.mgs-con-vias li{border-bottom-color:var(--mg-linea); align-items:baseline}
.mgs-con-vias span{color:var(--mg-salvia)}
.mgs-con-vias a{color:var(--mg-tinta); text-align:right}
.mgs-con-vias a:hover{color:var(--mg-bosque)}
.mgs-con-hos{margin:6px 0 0; font-size:15px}
.mgs-form{display:flex; flex-direction:column; gap:16px; background:#fff; border:1px solid var(--mg-linea); border-radius:20px; padding:clamp(20px,2.6vw,34px); box-shadow:0 34px 60px -40px rgba(20,35,26,.35)}
.mgs-form-t{margin:0 0 4px; font:500 clamp(26px,2.4vw,32px)/1.1 var(--mg-f-display); color:var(--mg-tinta)}
.mgs-form-fila{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px}
.mgs-campo{display:flex; flex-direction:column; gap:7px; margin:0; border:0; padding:0; min-width:0}
.mgs-campo > span, .mgs-perfil legend{font:500 11.5px/1.3 var(--mg-f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--mg-salvia); padding:0}
.mgs-form input[type=text], .mgs-form input[type=tel], .mgs-form input[type=email], .mgs-form textarea{width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--mg-linea); border-radius:10px; background:#fff;
  font:400 16px/1.4 var(--mg-f-ui); color:var(--mg-tinta); box-shadow:none; transition:border-color .2s, box-shadow .2s}
.mgs-form textarea{min-height:130px; resize:vertical}
.mgs-form input:focus, .mgs-form textarea:focus{outline:none; border-color:var(--mg-bosque); box-shadow:0 0 0 3px rgba(32,84,38,.14)}
.mgs-form .is-mal{border-color:var(--mg-amaranto)!important}
.mgs-perfil{flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px 18px}
.mgs-perfil legend{float:left; margin-right:6px}
.mgs-perfil label, .mgs-acepto{display:inline-flex; align-items:center; gap:8px; font-size:15px; color:var(--mg-tinta); cursor:pointer}
.mgs-perfil input, .mgs-acepto input{width:18px; height:18px; margin:0; accent-color:var(--mg-bosque)}
.mgs-acepto{align-items:flex-start}
.mgs-acepto a{text-decoration:underline; text-underline-offset:3px}
.mgs-hp{position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden}
.mgs-form .mgs-btn{justify-content:center; border:0; cursor:pointer}
.mgs-form .mgs-btn[disabled]{opacity:.6; cursor:wait}
.mgs-form-estado{margin:0; font-size:15px; min-height:1px}
.mgs-form-estado.is-ok{color:var(--mg-bosque); font-weight:600}
.mgs-form-estado.is-error{color:var(--mg-amaranto)}
.mgs-form-legal{margin:0; font-size:12.5px; line-height:1.5; color:var(--mg-salvia)}
.mgs-form.is-enviado > :not(.mgs-form-t):not(.mgs-form-estado){display:none}

@media (max-width:1024px){
  .mgs-qs-grid, .mgs-con-grid, .mgs-cond-lista{grid-template-columns:minmax(0,1fr)}
  .mgs-qs-platos{width:min(80%,440px)}
}
@media (max-width:768px){
  .mgs-form-fila{grid-template-columns:minmax(0,1fr)}
  .mgs-cond-lista > div{grid-template-columns:minmax(0,1fr); gap:4px}
  .mgs-sem-dias, .mgs-sem-tramos{gap:5px}
  .mgs-sem-dia{padding:10px 0 9px; border-radius:9px}
  .mgs-sem-dia i{font-size:9px; letter-spacing:.04em}
  .mgs-sem-tramos{grid-template-columns:minmax(0,1fr)}
  .mgs-sem-tramo--a, .mgs-sem-tramo--b{grid-column:auto; flex-direction:row; justify-content:space-between; align-items:baseline; gap:10px}
  .mgs-sem-tramo{padding:10px 12px; font-size:13px}
  .mgs-pag-hero .mgs-hh-datos{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
  .mgs-pag-hero .mgs-hh-datos > div{padding:14px}
  .mgs-pag-hero .mgs-hh-datos dd{font-size:14.5px}
  .mgs-sem-tramo b{font-size:15px}
  .mgs-con-vias li{flex-direction:column; gap:4px}
  .mgs-con-vias a{text-align:left}
}

/* Repetir pedido y avisos (hostelería) */
.mgp-repetir{display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:0 0 16px}
.mgp-repetir-btn{min-height:44px; padding:0 20px; cursor:pointer}
.mgp-repetir-msg{font-size:14.5px; color:var(--mg-salvia)}
.mgp-repetir-msg a{color:var(--mg-bosque); text-decoration:underline; text-underline-offset:3px}
.mgp-avisame{margin-left:8px; font-size:13px; font-weight:600; color:var(--mg-bosque); text-decoration:underline; text-underline-offset:3px; opacity:1}
.mgp-fila.is-agotado td.mgp-c{opacity:1}
