/* Fuente servida desde nuestra web (sin Google Fonts: no se envía la IP del cliente a Google) */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(../fuentes/montserrat-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(../fuentes/montserrat-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(../fuentes/montserrat-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(../fuentes/montserrat-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url(../fuentes/montserrat-latin-800-normal.woff2) format('woff2')}
/* Layout: one mobile column (max 480px), three screens switched by #p1/#p2/#p3, sticky bar with the total at the bottom. Brand palette of sobretumesa.com, light only. */
:root{
  --verde:#125E42; --verde-osc:#0E4A34; --menta:#D6EBE3; --menta-2:#EEF6F2;
  --texto:#212529; --suave:#4B5A50; --linea:#C9D2CB; --fondo:#FFFFFF; --gris:#F4F6F4;
  --naranja:#C2410C; --naranja-bg:#FFF1E8; --aviso:#7A5A00; --aviso-bg:#FFF6D6;
  --font:"Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{background:var(--gris)}
body{margin:0;font-family:var(--font);color:var(--texto);font-size:16px;line-height:1.45}
.app{max-width:480px;margin:0 auto;background:var(--fondo);min-height:100vh;padding-bottom:110px;position:relative}
.proto{background:var(--aviso-bg);color:var(--aviso);font-size:13px;font-weight:600;text-align:center;padding-block:7px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--fondo);height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #E3E8E4;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.marca{font-size:19px;font-weight:800;color:var(--verde)}
.atras{background:none;border:0;color:var(--verde);font-weight:700;font-size:15px;padding:8px 0;cursor:pointer}
.pasos{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--suave);font-weight:600}
.pasos i{width:8px;height:8px;border-radius:50%;background:var(--linea);display:inline-block}
.pasos i.on{background:var(--verde)}
main{padding-block:18px 0;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:22px}
h1{margin:0;font-size:25px;line-height:1.2;font-weight:800;text-wrap:balance}
h2{margin:0;font-size:18px;font-weight:700}
.sub{margin:0;color:var(--suave);font-size:15.5px}
section{display:flex;flex-direction:column;gap:10px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.g1{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.op{min-height:56px;border-radius:10px;border:1px solid var(--linea);background:var(--fondo);color:var(--texto);font:600 15px/1.25 var(--font);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 6px;cursor:pointer;text-align:center}
.op small{font-size:13px;font-weight:500;color:var(--suave)}
.op[aria-pressed="true"]{border:2px solid var(--verde);background:var(--menta);font-weight:700}
.op.ancha{flex-direction:row;justify-content:flex-start;gap:12px;text-align:left;padding:12px 14px}
.op.ancha .ico{font-size:24px;line-height:1}
.op.ancha span{display:flex;flex-direction:column}
.op:focus-visible,.btn:focus-visible,.cambiar:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #F59E0B;outline-offset:2px}
.ahorro{color:var(--verde);font-weight:700}
.barra{position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--fondo);border-top:1px solid #E3E8E4;padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.barra .in{max-width:448px;margin:0 auto;display:flex;flex-direction:column;gap:4px}
.barra .res{font-size:13px;color:var(--suave);text-align:center}
.btn{width:100%;min-height:54px;border:0;border-radius:12px;background:var(--naranja);color:#fff;font:800 18px var(--font);cursor:pointer}
.btn[disabled]{background:#B9C2BB;cursor:not-allowed}
.nota{background:var(--menta-2);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--suave)}
.dia{border:1px solid #E3E8E4;border-radius:12px;overflow:hidden}
.dia h3{margin:0;background:var(--menta-2);font-size:15px;font-weight:800;padding:8px 12px;color:var(--verde)}
.toma{padding:6px 12px 10px;display:flex;flex-direction:column;gap:6px}
.toma+.toma{border-top:1px dashed #E3E8E4}
.toma .t{font-size:12.5px;font-weight:700;color:var(--suave);text-transform:uppercase;letter-spacing:.04em;padding-top:6px}
.plato{display:flex;align-items:center;gap:10px;min-height:40px}
.plato .n{flex:1;min-width:0;font-size:15.5px;font-weight:600}
.plato .o{font-size:12px;font-weight:700;color:var(--suave);background:var(--gris);border-radius:20px;padding:2px 8px;white-space:nowrap}
.cambiar{border:1px solid var(--verde);background:#fff;color:var(--verde);border-radius:20px;font:700 13px var(--font);padding:7px 12px;cursor:pointer;white-space:nowrap}
.cambiado{color:var(--naranja);font-size:12px;font-weight:700}
label{font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:4px}
input[type=text],input[type=tel],input[type=email],select{font:500 16px var(--font);padding:12px;border:1px solid var(--linea);border-radius:10px;width:100%;background:#fff;color:var(--texto)}
.fila2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px}
.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500;font-size:14px}
.check input{width:22px;height:22px;flex:none;margin-top:1px}
.resumen{border:1px solid #E3E8E4;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;font-size:15px}
.resumen .l{display:flex;justify-content:space-between;gap:10px;font-variant-numeric:tabular-nums}
.resumen .l span:last-child{white-space:nowrap}
.resumen .tot{font-size:18px;font-weight:800;border-top:1px solid #E3E8E4;padding-top:8px}
.verde{color:var(--verde)}
.pago .op{min-height:50px;flex-direction:row;justify-content:space-between;padding:10px 14px}
.pago .op[disabled]{opacity:.55;cursor:not-allowed}
.err{color:#B42318;font-size:13px;font-weight:600}
.hoja{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center}
.hoja .caja{background:#fff;width:100%;max-width:480px;max-height:80vh;border-radius:16px 16px 0 0;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}
.hoja .cab{padding:14px 16px;border-bottom:1px solid #E3E8E4;display:flex;justify-content:space-between;align-items:center;gap:10px}
.hoja .lista{overflow:auto;padding:8px 16px 16px;display:flex;flex-direction:column;gap:6px}
.hoja .lista button{text-align:left;min-height:48px;border:1px solid var(--linea);border-radius:10px;background:#fff;font:600 15px var(--font);padding:10px 12px;cursor:pointer;color:var(--texto)}
.hoja .lista .cat{font-size:12.5px;font-weight:800;color:var(--suave);text-transform:uppercase;letter-spacing:.04em;margin-top:8px}
.hoja .lista .btn{background:var(--verde);color:#fff;border:0;text-align:center;font:800 17px var(--font);min-height:52px}
.cerrar{background:none;border:0;font:700 15px var(--font);color:var(--verde);cursor:pointer;padding:6px}
.fab{position:fixed;z-index:7;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(96px + env(safe-area-inset-bottom,0px));background:var(--verde);color:#fff;border:0;border-radius:28px;padding:12px 16px;font:700 14px var(--font);box-shadow:0 4px 14px rgba(0,0,0,.18);cursor:pointer}
@media (min-width:520px){.fab{right:calc(50% - 240px + 16px)}}
.recorrido{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;font-size:12.5px;font-weight:600;color:var(--suave);background:var(--gris);padding-block:8px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));border-bottom:1px solid #E3E8E4}
.recorrido b{color:var(--linea);font-weight:700}
.recorrido span.on{color:#fff;background:var(--verde);border-radius:20px;padding:2px 9px}
.recorrido span.hecho{color:var(--verde)}
.foto{height:190px;border-radius:12px;background:#DCE5DE;color:var(--suave);display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;padding:0 24px}
.precio{margin:4px 0 0;font-weight:700;color:var(--verde);font-size:15px}
.confianza{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:13.5px;font-weight:600;color:var(--suave)}
.confianza span{background:var(--menta-2);border-radius:10px;padding:10px}
details{border:1px solid #E3E8E4;border-radius:10px;padding:10px 12px}
summary{font-weight:700;cursor:pointer}
details p{margin:8px 0 0;color:var(--suave);font-size:15px}
.puerta{min-height:72px}
.puerta .flecha{margin-left:auto;color:var(--verde);font-size:22px;font-weight:800}
.ejemplo{background:var(--aviso-bg);color:var(--aviso);font-size:12.5px;font-weight:700;border-radius:8px;padding:6px 10px;text-align:center}
.chat{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px}
.chat .b{max-width:86%;padding:10px 12px;border-radius:14px;font-size:15px;line-height:1.4}
.chat .bot{background:var(--menta-2);align-self:flex-start;border-bottom-left-radius:4px}
.chat .yo{background:var(--verde);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.micro{display:flex;align-items:center;gap:10px;border:1px solid var(--linea);border-radius:28px;padding:8px 12px;color:var(--suave);font-size:14px;margin-top:4px}
.micro .mic{width:40px;height:40px;border-radius:50%;background:var(--naranja);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex:none}
.fin{text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center;padding-top:20px}
.fin .ok{font-size:44px}
@media (prefers-reduced-motion:no-preference){.op,.btn,.cambiar{transition:background .15s,border-color .15s}}

.primera{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;border:2px dashed var(--verde);background:var(--menta-2);color:var(--texto);border-radius:12px;padding:10px 14px;font:500 15px/1.3 var(--font);text-align:left;cursor:pointer}
.primera b{color:var(--verde)}
.primera .flecha{margin-left:auto;color:var(--verde);font-size:22px;font-weight:800}
.pasos4{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.pasos4 li{display:flex;gap:12px;align-items:flex-start;border:1px solid #E3E8E4;border-radius:12px;padding:12px}
.pasos4 .num{flex:none;width:34px;height:34px;border-radius:50%;background:var(--verde);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.pasos4 b{font-size:16px}
.pasos4 p{margin:4px 0 0;color:var(--suave);font-size:15px}
.tarjetas{display:flex;flex-direction:column;gap:8px}
.tarjetas button{display:flex;gap:12px;align-items:flex-start;text-align:left;border:1px solid var(--linea);border-radius:12px;background:#fff;padding:12px;font:500 15px/1.35 var(--font);color:var(--suave);cursor:pointer}
.tarjetas button b{display:block;color:var(--texto);font-size:16px;margin-bottom:2px}
.tarjetas .ico{font-size:24px;line-height:1}
.tarjetas .ir{color:var(--verde);font-weight:700;display:block;margin-top:4px}
.hueco{border:2px dashed var(--linea);border-radius:12px;padding:18px;color:var(--suave);font-size:14px;text-align:center}
.cierre{text-align:center;align-items:center;background:var(--menta-2);border-radius:14px;padding:20px 16px}
.cierre .btn{max-width:360px}

.rasgos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rasgos>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;background:var(--menta-2);border-radius:12px;padding:14px 10px}
.rasgos .ico{font-size:30px;line-height:1}
.rasgos b{font-size:14.5px;line-height:1.3}
.rasgos p{margin:2px 0 0;color:var(--suave);font-size:14.5px}

.antetitulo{margin:0;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--naranja)}
.carta{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.cat-c{border:1px solid #E3E8E4;border-radius:12px;padding:10px;display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:12px;align-items:start}
.cat-c .foto.mini{grid-row:1 / 3;height:96px;font-size:11.5px;padding:0 6px}
.cat-c b{font-size:16px}
.cat-c p{margin:4px 0 0;color:var(--suave);font-size:14px;line-height:1.4}

.fotop{display:none}
.mas{display:block;font-style:normal}
#q-para .mas>*:not(.masinfo){display:none}
.mas .masinfo{margin-left:0;margin-top:4px}
.mastxt{display:block}
@media (min-width:900px){#q-para .mas>.mastxt,#q-para .mas>.ayuda{display:block}#q-para .mas>.oir{display:inline-block}}
#q-sem .op{position:relative;overflow:visible}
.barata{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--verde);color:#fff;font-size:11px;font-weight:800;border-radius:20px;padding:2px 9px;white-space:nowrap}
.masinfo{display:inline-block;margin-top:8px;margin-left:6px;font-style:normal;font-weight:700;color:var(--verde);text-decoration:underline;font-size:12.5px;cursor:pointer}
.infofoto{width:100%;height:180px;object-fit:cover;border-radius:12px}
.infolista{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:15px}
.infoej{margin:0;color:var(--suave);font-size:14.5px}
.infobtn{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.infobtn .btn{background:var(--verde)}
.infobtn .oir{margin:0;cursor:pointer;background:#fff;font:700 13px var(--font);padding:8px 14px}
.infobtn .oir.hablar{background:var(--verde);color:#fff}
.acc{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.acc .oir{display:inline-block;margin:0;font-style:normal;font-weight:700;color:var(--verde);border:1px solid var(--verde);border-radius:20px;padding:4px 10px;font-size:12.5px;background:#fff;cursor:pointer}
.acc .oir.hablar{background:var(--verde);color:#fff}
.acc .masinfo{margin:0}
.acc .oir.hablar{margin-left:0}
.aviso-voz{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:#212529;color:#fff;font-size:14px;font-weight:600;border-radius:24px;padding:10px 16px;z-index:30;max-width:90vw;text-align:center}
.hablaBarra{display:none}
.fplato{width:46px;height:46px;border-radius:10px;object-fit:cover;flex:none}
.ayudap3{display:flex;flex-wrap:wrap;gap:8px}
.ya{border:1.5px solid var(--verde);background:#fff;color:var(--texto);border-radius:12px;padding:10px 14px;font:500 14px var(--font);cursor:pointer;text-align:left}
.ya b{color:var(--verde)}
.ayudap3 .oir.hablar{border-radius:12px;padding:10px 14px;font-size:14px;margin:0}
.codigo{display:flex;flex-direction:column;gap:6px;border:1px dashed var(--linea);border-radius:12px;padding:12px}
.codigo label{font-size:14px;font-weight:700}
.codfila{display:flex;gap:8px}
.codfila input{flex:1;font:500 16px var(--font);padding:10px 12px;border:1px solid var(--linea);border-radius:10px;text-transform:uppercase}
.codfila button{border:0;background:var(--verde);color:#fff;font:700 14px var(--font);border-radius:10px;padding:0 16px;cursor:pointer}
.codmsg{font-size:13px;font-weight:600}.codmsg.ok{color:var(--verde)}
.tuPedido{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--texto);text-align:left}
.tuPedido .l{display:flex;justify-content:space-between;gap:10px}
.tuPedido .l span:last-child{white-space:nowrap}
.tuPedido .tot{font-size:17px;font-weight:800;border-top:1px solid #E3E8E4;padding-top:6px}
.tuPedido small{color:var(--suave)}
.miniF{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:4px 0 6px}
.miniF img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
.okc{width:64px;height:64px;border-radius:50%;background:var(--verde);color:#fff;font-size:34px;font-weight:800;display:flex;align-items:center;justify-content:center}
.finGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;text-align:left}
.finCaja{border:1px solid #E3E8E4;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px;font-size:15px}
.finL{display:flex;justify-content:space-between;gap:12px}.finL span:first-child{color:var(--suave)}.finL span:last-child{text-align:right}
.finL.tot{font-weight:800;font-size:17px;border-top:1px solid #E3E8E4;padding-top:8px}
.finPasos{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--suave)}.finPasos b{color:var(--texto)}
.finBtns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.hablaFin{border-radius:12px;padding:10px 14px;font-size:14px;margin:0}
/* ---------- Ordenador (pantallas anchas) ---------- */
@media (min-width:900px){
  .app{max-width:1180px;display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:32px;align-items:start;padding-bottom:40px;box-shadow:0 0 0 1px #E3E8E4}
  .proto,header,.recorrido{grid-column:1 / -1}
  header,.recorrido{padding-left:32px;padding-right:32px}
  main{grid-column:1;padding-left:32px;padding-right:0;padding-block:28px 0}
  main#p0,main#p4,main#p5{grid-column:1 / -1;padding-right:32px}
  .pasos4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  .rasgos{grid-template-columns:repeat(4,minmax(0,1fr))}
  .carta{grid-template-columns:repeat(3,minmax(0,1fr))}
  #paraQuien{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}

  .pasos4 li{flex-direction:column}
  #p5 section>.btn[data-elegir]{max-width:360px}
  .primera{max-width:620px}
  .barra{grid-column:2;position:sticky;top:90px;margin-top:28px;margin-right:32px;border:1px solid #E3E8E4;border-radius:14px;padding:18px;left:auto;right:auto;bottom:auto}
  .barra .in{max-width:none;gap:10px}
  .barra .res{font-size:14px;text-align:left}
  h1{font-size:34px}
  #p1 .g3,#p1 .g2{grid-template-columns:repeat(4,minmax(0,1fr))}
  #q-para{grid-template-columns:repeat(3,minmax(0,1fr))}
  #q-para .op.ancha{flex-direction:column;align-items:stretch;min-height:110px;padding:0 0 14px;overflow:hidden}
  #q-para .op.ancha>span:last-child{padding:0 14px}
  .fotop{display:block;width:100%;height:150px;object-fit:cover}
  #q-para .op.ancha{transition:box-shadow .2s,transform .2s}
  #q-para .op.ancha:hover{box-shadow:0 10px 26px rgba(18,94,66,.18);transform:translateY(-2px)}
  #q-para .mas{display:block;max-height:0;overflow:hidden;opacity:0;font-style:normal;font-weight:500;font-size:13.5px;line-height:1.4;color:var(--suave);transition:max-height .3s,opacity .3s,margin .3s}
  #q-para .op.ancha:hover .mas,#q-para .op.ancha:focus-visible .mas{max-height:420px;opacity:1;margin-top:8px}
  #q-para .ayuda{display:block;margin-top:8px;color:var(--verde);font-weight:700}
  .oir.hablar{background:var(--verde);color:#fff;margin-left:6px}
  .oir{display:inline-block;margin-top:8px;font-style:normal;font-weight:700;color:var(--verde);border:1px solid var(--verde);border-radius:20px;padding:4px 10px;font-size:12.5px}
  .op .ico,.op.ancha .ico,.tarjetas .ico{display:none!important}
  .fotop{object-position:center 45%}
  #puertas .op.ancha{flex-direction:column;align-items:stretch;padding:0 0 14px;overflow:hidden;position:relative}
  #puertas .op.ancha>span{padding:0 14px}
  #puertas .flecha{position:absolute;right:12px;bottom:12px}
  #paraQuien button{flex-direction:column;padding:0 0 14px;overflow:hidden}
  #paraQuien button>span{padding:0 14px}
  #semana{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
  #datos{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
  #datos>label:nth-child(4),#datos>.fila2,#datos>#cp-msg,#datos>section,#datos>.resumen,#datos>.check,#datos>#f-msg{grid-column:1 / -1}
  .portada-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:center}
  .portada-top .foto{height:340px;order:2}
  #puertas{grid-template-columns:repeat(3,minmax(0,1fr))}
  #puertas .op.ancha{min-height:96px}
  .confianza{grid-template-columns:repeat(4,minmax(0,1fr))}
  .portada-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
  .fab{right:32px;bottom:24px}
  .fplato{width:64px;height:64px;border-radius:12px}
  body[data-p="p2"] .app{grid-template-columns:minmax(0,1fr);padding-bottom:0}
  body[data-p="p2"] main#p2{padding-right:32px}
  body[data-p="p2"] #semana{grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-p="p2"] #semana>.dia:last-child:nth-child(3n+1){grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-p="p2"] #semana>.dia:last-child:nth-child(3n+1)>h3{grid-column:1 / -1}
  body[data-p="p2"] #semana>.dia:last-child:nth-child(3n+1)>.toma+.toma{border-top:0;border-left:1px dashed #E3E8E4}
  body[data-p="p2"] .fplato{width:92px;height:92px;border-radius:14px}
  body[data-p="p2"] .plato{display:grid;grid-template-columns:auto 92px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:6px;align-items:center;align-content:center;min-height:100px}
  body[data-p="p2"] .plato .o{grid-row:1 / 3;grid-column:1}
  body[data-p="p2"] .plato .fplato{grid-row:1 / 3;grid-column:2}
  body[data-p="p2"] .plato .n{grid-column:3;grid-row:1;align-self:end}
  body[data-p="p2"] .plato .cambiar{grid-column:3;grid-row:2;justify-self:start;align-self:start;padding:5px 12px}
  body[data-p="p2"] .barra{grid-column:1 / -1;position:sticky;top:auto;bottom:0;margin:24px 0 0;border-radius:0;border:0;border-top:1px solid #E3E8E4;box-shadow:0 -6px 18px rgba(0,0,0,.06);padding:14px 32px}
  body[data-p="p2"] .barra .in{flex-direction:row;align-items:center;gap:16px}
  body[data-p="p2"] .barra .res{flex:1 1 auto;order:2}
  body[data-p="p2"] #seguir{order:1;width:auto;padding:0 34px;flex:none}
  body[data-p="p2"] .hablaBarra{order:3;width:auto;max-width:440px;flex:none}
  body[data-p="p3"] #resumen{display:none}
  body[data-p="p4"] .app{grid-template-columns:minmax(0,1fr)}
  .finGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  main#p4 .fin{max-width:900px;margin:0 auto}
  .hablaBarra{display:flex;gap:10px;align-items:center;width:100%;border:1.5px solid var(--verde);background:var(--menta-2);color:var(--texto);border-radius:12px;padding:12px 14px;font:500 14px/1.35 var(--font);text-align:left;cursor:pointer}
  .hablaBarra b{display:block;color:var(--verde);font-size:15.5px;margin-top:2px}
  .hablaBarra .cris{flex:none;width:42px;height:42px;border-radius:50%;background:var(--verde);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px}
  body:has(#barra:not([hidden])) .fab{display:none}
  .hoja{align-items:center}
  .hoja .caja{max-width:560px;border-radius:16px}
}

/* MÓVIL: una sola forma de hablar (barra de abajo) y fotos reales en los planes */
.hablaM{display:none}
@media (max-width:899px){
  body[data-p="p1"] .fab,body[data-p="p2"] .fab,body[data-p="p3"] .fab{display:none!important}
  .barra .in{flex-direction:row;flex-wrap:wrap;gap:8px}
  .barra .res{width:100%}
  .hablaM{display:flex;align-items:center;justify-content:center;flex:1 1 0;min-height:56px;border:0;border-radius:12px;background:var(--verde);color:#fff;font:700 15px/1.2 var(--font);padding:0 8px;cursor:pointer}
  #seguir{flex:1.25 1 0;min-height:56px;font-size:15.5px;padding:0 8px}
  #q-para .op.ancha{align-items:flex-start;gap:12px;padding:10px}
  #q-para .fotop{display:block;flex:none;width:92px;height:104px;border-radius:10px;object-fit:cover}
  #q-para .ico{display:none}
  #q-para .acc .oir.hablar{display:none}
}

/* MÓVIL: Elige tu plan en 2 pantallas completas, se pasan de una en una */
@media (max-width:899px){
  html:has(body[data-p="p1"]){scroll-snap-type:y mandatory;scroll-padding-top:56px}
  body[data-p="p1"] .proto{scroll-snap-align:start}
  .p1b{display:flex;flex-direction:column;gap:22px;scroll-snap-align:start;scroll-snap-stop:always;padding-top:14px;min-height:calc(100svh - 56px - 112px - env(safe-area-inset-bottom,0px))}
  #p1{padding-bottom:132px}
  body[data-p="p1"] #p1 .sub{font-size:15px}
  #q-para .op.ancha{padding:8px}
  #q-para .fotop{height:96px}
}

.desliza{display:none}
@media (max-width:899px){
  .p1a{display:flex;flex-direction:column;gap:22px;box-sizing:border-box}
  .desliza{display:block;margin-top:auto;text-align:center;font-size:13.5px;font-weight:600;color:var(--suave)}
}

.resM{display:none}
@media (max-width:899px){
  body[data-p="p1"] header{position:relative;top:auto}
  html:has(body[data-p="p1"]){scroll-padding-top:0}
  .p1b{min-height:calc(100svh - 112px - env(safe-area-inset-bottom,0px));padding-top:18px}
  .resM{display:flex;flex-direction:column;gap:4px;background:var(--menta-2);border:1.5px solid var(--verde);border-radius:14px;padding:14px 16px;font-size:14.5px}
  .resM b{font-size:16px;color:var(--verde)}
  .resM .tot{display:flex;justify-content:space-between;font-weight:800;font-size:19px;margin-top:4px}
  .resM small{color:var(--suave);font-size:12.5px}
  .p1a #q-para{flex:1}
  .p1a section:has(#q-para){flex:1;display:flex;flex-direction:column}
  #q-para{display:flex;flex-direction:column;gap:10px}
  #q-para .op.ancha{flex:1;align-items:stretch}
  #q-para .fotop{height:auto;min-height:96px;width:104px}
  .desliza{margin-top:0}
}

@media (max-width:899px){
  body[data-p="p1"] .barra .res{display:none}
  body[data-p="p1"] .barra .in{gap:8px}
  #q-para .fotop{width:92px}
  #q-para .acc{flex-wrap:nowrap;white-space:nowrap}
  body[data-p="p1"] .p1b>section:last-of-type .sub{display:none}
  .p1b{gap:18px;min-height:calc(100svh - 80px - env(safe-area-inset-bottom,0px))}
  .resM{padding:12px 14px}
}

@media (max-width:899px){ .p1b{justify-content:space-between;padding-bottom:10px} }

.vozP{display:none}
@media (max-width:899px){
  .vozP{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;border:0;border-radius:16px;background:var(--verde);color:#fff;padding:14px;font-family:var(--font);cursor:pointer;box-shadow:0 8px 20px rgba(18,94,66,.25)}
  .vozP .vzi{flex:none;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--verde);display:flex;align-items:center;justify-content:center;font-size:24px}
  .vozP>span:last-child{display:flex;flex-direction:column;gap:2px}
  .vozP small{font-size:12.5px;opacity:.9}
  .vozP b{font-size:19px;line-height:1.2}
  .vozP em{font-style:normal;font-size:13px;line-height:1.35;opacity:.95}
  .vozP i{font-style:normal;margin-top:8px;align-self:flex-start;background:#fff;color:var(--verde);font-weight:800;font-size:15.5px;border-radius:10px;padding:10px 16px}
  .p1b .g3 .op,.p1b .g2 .op{min-height:0;padding-top:8px;padding-bottom:8px}
  .p1b h2{font-size:17px}
  .p1b{gap:12px}
}

.finM{display:none}
@media (max-width:899px){
  body[data-p="p2"] header{position:relative;top:auto}
  body[data-p="p2"] .barra .res{display:none}
  body[data-p="p2"] .nota{display:none}
  html:has(body[data-p="p2"]){scroll-snap-type:y mandatory;scroll-padding-top:0}
  body[data-p="p2"] .proto{scroll-snap-align:start}
  #p2{padding-bottom:110px}
  .pag2{display:flex;flex-direction:column;gap:12px;box-sizing:border-box}
  .pag2+.pag2{scroll-snap-align:start;scroll-snap-stop:always;padding-top:16px}
  .finM{display:flex;flex:1;flex-direction:column;justify-content:center;gap:6px;text-align:center;color:var(--suave);font-size:14px;line-height:1.45;padding:12px 8px}
  .finM b{color:var(--texto);font-size:17px}
}

@media (max-width:899px){
  .pag2 .dia{flex:1;display:flex;flex-direction:column}
  .pag2 .dia .toma{flex:1;display:flex;flex-direction:column;justify-content:space-evenly}
  body[data-p="p2"] .fplato{width:72px;height:72px;border-radius:12px}
  .finM{flex:none;display:block;font-size:13px;padding:2px 4px}
  .finM b{font-size:14px}
}

/* MÓVIL: sin cabecera ni fila de pasos en plan, menú y datos (Javier, 31 oct) */
@media (max-width:899px){
  body[data-p="p1"] header,body[data-p="p2"] header,body[data-p="p3"] header,
  body[data-p="p1"] .recorrido,body[data-p="p2"] .recorrido,body[data-p="p3"] .recorrido{display:none!important}
  body[data-p="p1"] .proto,body[data-p="p2"] .proto,body[data-p="p3"] .proto{font-size:11px;padding-block:4px}
}

@media (max-width:899px){
  body[data-p="p1"] .proto,body[data-p="p2"] .proto,body[data-p="p3"] .proto{display:none!important}
  html:has(body[data-p="p1"]),html:has(body[data-p="p2"]){scroll-snap-type:y mandatory}
  body[data-p="p1"] #p1>.p1a,body[data-p="p2"] #p2>div:first-child{scroll-snap-align:start}
  body[data-p="p2"] .fplato{width:104px;height:104px;border-radius:14px}
  body[data-p="p2"] .plato{gap:12px}
  body[data-p="p2"] .plato .o{display:none}
  body[data-p="p2"] .plato .n{font-size:16px}
}

@media (max-width:899px){ body[data-p="p1"] #p1,body[data-p="p2"] #p2,body[data-p="p3"] #p3{padding-top:20px} }

@media (max-width:899px){ body[data-p="p1"] #p1 .p1a>div:first-child,body[data-p="p2"] #p2>div:first-child,body[data-p="p3"] #p3>div:first-child{padding-top:22px!important} }

/* MÓVIL: plan y menú sin barra fija; se avanza deslizando (Javier, 31 oct) */
.sigM{display:none}
@media (max-width:899px){
  body[data-p="p1"] .barra,body[data-p="p2"] .barra{display:none!important}
  body[data-p="p1"] #p1,body[data-p="p2"] #p2{padding-bottom:0}
  .p1b{min-height:100svh}
  .sigM{display:block;margin-top:auto;border:0;background:none;color:var(--verde);font:700 15px var(--font);padding:14px 0 18px;cursor:pointer}
  #q-para .fotop{width:128px;min-height:120px;border-radius:12px}
  #q-para .op.ancha{padding:10px}
  .p1a{padding-bottom:6px}
}

@media (max-width:899px){
  #q-para .fotop{width:112px}
  #q-para .acc{gap:8px}
  #q-para .acc .oir{font-size:13.5px;padding:6px 10px}
  #q-para .acc .masinfo{font-size:13.5px}
  .p1b .sigM{margin-top:0}
  .p1b .g3 .op,.p1b .g2 .op{padding-top:14px;padding-bottom:14px}
  .p1b h2{font-size:18px}
  .p1b{gap:14px}
}

@media (max-width:899px){
  #q-para .op.ancha>span:last-child{min-width:0;flex:1 1 0}
  #q-para .acc{flex-wrap:wrap!important;white-space:normal;row-gap:8px}
  #q-para .op.ancha small{font-size:13.5px}
}

@media (max-width:899px){ .desliza{display:none!important} }

/* MÓVIL menú: Carolina fija arriba (como el camarero esperando), los días pasan por debajo (Javier, 31 oct) */
@media (max-width:899px){
  body[data-p="p2"] #p2 .vozP{position:sticky;top:8px;z-index:4;padding:10px 12px;align-items:center;gap:10px;border-radius:14px}
  body[data-p="p2"] #p2 .vozP .vzi{width:40px;height:40px;font-size:20px}
  body[data-p="p2"] #p2 .vozP small,body[data-p="p2"] #p2 .vozP em{display:none}
  body[data-p="p2"] #p2 .vozP b{font-size:16px}
  body[data-p="p2"] #p2 .vozP i{margin-top:6px;font-size:14px;padding:7px 12px}
  body[data-p="p2"] #p2>div:first-child{padding-top:14px!important}
  body[data-p="p2"] #p2{gap:12px}
  html:has(body[data-p="p2"]){scroll-snap-type:y proximity}
  #semana .dia{scroll-snap-align:start}
  body[data-p="p2"] .dia .toma{gap:10px;padding-bottom:12px}
  #semana{padding-bottom:20px}
}

@media (max-width:899px){ body[data-p="p2"] #p2 .vozP{box-shadow:0 -10px 0 10px var(--fondo),0 8px 16px rgba(18,94,66,.22)} }

/* MÓVIL datos y pago: Carolina fija arriba, resumen y Pagar al final, sin barra fija (Javier, 31 oct) */
.resP3,.pagarM{display:none}
@media (max-width:899px){
  body[data-p="p3"] .barra{display:none!important}
  body[data-p="p3"] #p3{padding-bottom:28px}
  body[data-p="p3"] .ya.hablar2{display:none}
  body[data-p="p3"] #p3 .vozP{position:sticky;top:8px;z-index:4;padding:10px 12px;align-items:center;gap:10px;border-radius:14px;box-shadow:0 -10px 0 10px var(--fondo),0 8px 16px rgba(18,94,66,.22)}
  body[data-p="p3"] #p3 .vozP .vzi{width:40px;height:40px;font-size:20px}
  body[data-p="p3"] #p3 .vozP small,body[data-p="p3"] #p3 .vozP em{display:none}
  body[data-p="p3"] #p3 .vozP b{font-size:16px}
  body[data-p="p3"] #p3 .vozP i{margin-top:6px;font-size:14px;padding:7px 12px}
  body[data-p="p3"] #p3>div:first-child{padding-top:14px!important}
  .resP3{display:block;border:1.5px solid var(--verde);border-radius:14px;padding:14px;background:var(--menta-2)}
  .resP3 .miniF{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:8px 0}
  .resP3 .miniF img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
  .pagarM{display:block;width:100%;min-height:58px;font-size:18px}
}

@media (max-width:899px){ .resP3{display:none!important} body[data-p="p3"] #p3{padding-bottom:40px} }

.chipsM,.notaDia{display:none}
@media (max-width:899px){
  body[data-p="p3"] #f-dia,body[data-p="p3"] #f-conocido{display:none}
  .chipsM{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
  .chipM{border:1.5px solid #CFD8D2;background:#fff;border-radius:12px;padding:12px 14px;font:600 15px var(--font);color:var(--texto);cursor:pointer;text-transform:none}
  .chipsM[data-for="f-dia"] .chipM{flex:1 1 calc(50% - 8px);padding:12px 6px}
  .chipM.on{border-color:var(--verde);background:var(--menta-2);color:var(--verde);font-weight:800}
  .notaDia{display:block;color:var(--suave);font-size:13px;margin-top:4px;font-weight:500}
}

/* Cliente conocido: no se le piden los datos otra vez (Javier, 31 oct) */
.yaDatos{display:none}
body.conocido .yaDatos{display:flex;flex-direction:column;gap:10px}
.yaL{position:relative;border:1.5px solid var(--verde);background:var(--menta-2);border-radius:14px;padding:12px 90px 12px 14px;display:flex;flex-direction:column;gap:2px;font-size:14px}
.yaL span{color:var(--suave);font-size:13px}
.yaL b{font-size:16px}
.yaL small{color:var(--suave);font-size:13px}
.yaCamb{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:1px solid var(--verde);background:#fff;color:var(--verde);border-radius:20px;font:700 13px var(--font);padding:7px 12px;cursor:pointer}
body.conocido .ayudap3,body.conocido #datos label:has(#f-nombre),body.conocido #datos label:has(#f-tel),body.conocido #datos label:has(#f-email),body.conocido #datos label:has(#f-dir),body.conocido #datos .fila2,body.conocido #cp-msg,body.conocido #datos .pago,body.conocido #datos label:has(#f-conocido),body.conocido #datos label.check:has(#c-priv),body.conocido #datos label.check:has(#c-nov){display:none!important}
/* MÓVIL cliente nuevo: menos cosas (Javier, 31 oct) */
@media (max-width:899px){
  #datos label:has(#f-conocido){display:none!important}
  #p3 .codigo{border:0;padding:0;background:none}
  #p3 .codigo label{color:var(--verde);font-weight:700;cursor:pointer;text-decoration:underline}
  #p3 .codigo:not(.abierto) .codfila,#p3 .codigo:not(.abierto) .codmsg{display:none}
  #p3 .codigo.abierto .codfila{margin-top:8px}
}

@media (max-width:899px){ #q-pago .op:disabled{display:none} }

.lineaM,.linkM{display:none}
@media (max-width:899px){
  .lineaM{position:relative;display:flex;align-items:center;border:1.5px solid var(--verde);background:var(--menta-2);border-radius:14px;padding:12px 90px 12px 14px;font-size:14.5px;line-height:1.35}
  body[data-p="p3"] #datos label:has(#f-dia){font-size:0}
  body:not(.verDias) .chipsM[data-for="f-dia"],body:not(.verDias) .notaDia{display:none}
  body.verDias .chipsM[data-for="f-dia"]{font-size:15px}
  .linkM{display:inline-block;border:0;background:none;color:var(--verde);font:700 14.5px var(--font);text-decoration:underline;padding:4px 0;cursor:pointer;text-align:left}
  body:not(.verPagos) #q-pago .op[aria-pressed="false"]{display:none}
  #p3 .pago h2{font-size:17px}
  body[data-p="p3"] #p3 .sub{display:none}
  .yaL{padding:10px 90px 10px 14px}
  body.conocido .yaDatos{gap:8px}
  body[data-p="p3"] #datos{gap:10px}
}

/* MÓVIL datos hablados */
.vozDatos{display:none}
.vfT{display:none}
@media (max-width:899px){
  body[data-p="p3"]:not(.escribir):not(.verif):not(.conocido) .vozDatos{display:flex;flex-direction:column;gap:12px;background:var(--verde);color:#fff;border-radius:18px;padding:16px}
  body[data-p="p3"]:not(.escribir):not(.verif):not(.conocido) #p3 .vozP,
  body[data-p="p3"]:not(.escribir):not(.verif):not(.conocido) #datos,
  body[data-p="p3"]:not(.escribir):not(.verif):not(.conocido) .ayudap3 .ya.hablar2,
  body[data-p="p3"]:not(.escribir):not(.verif):not(.conocido) .pagarM{display:none!important}
  .vdT{display:flex;gap:12px;align-items:center}
  .vdT .vzi{flex:none;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--verde);display:flex;align-items:center;justify-content:center;font-size:24px}
  .vdT span:last-child{display:flex;flex-direction:column}
  .vdT b{font-size:19px}
  .vdT small{font-size:13px;opacity:.9}
  .vdPreg{background:#fff;color:var(--texto);border-radius:14px 14px 14px 4px;padding:12px 14px;font-size:16px;font-weight:600}
  .vdLista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
  .vdLista li{display:grid;grid-template-columns:28px 86px 1fr;align-items:center;gap:8px;background:rgba(255,255,255,.12);border-radius:10px;padding:10px;font-size:14.5px}
  .vdLista li span{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
  .vdLista li.ok span{background:#fff;color:var(--verde)}
  .vdLista li em{font-style:normal;opacity:.9}
  .vdLista li.ahora{outline:2px solid #fff}
  .vdLista li.ahora b{font-weight:500;font-style:italic;opacity:.85}
  .vdMic{border:0;background:#fff;color:var(--verde);border-radius:14px;min-height:64px;font:800 19px var(--font);cursor:pointer}
  .vdEsc{color:#fff!important;align-self:center;font-weight:600!important;opacity:.9}
  /* paso 2: verificar */
  body.verif .vfT{display:block;font-size:20px;font-weight:800;margin-bottom:2px}
  body.verif .yaDatos{display:flex;flex-direction:column;gap:8px}
  body.verif .ayudap3,body.verif #datos label:has(#f-nombre),body.verif #datos label:has(#f-tel),body.verif #datos label:has(#f-email),body.verif #datos label:has(#f-dir),body.verif #datos .fila2,body.verif #cp-msg{display:none!important}
}

@media (max-width:899px){
  body.verif:not(.verPagos) #datos .pago,body.verif:not(.verPagos) #pagoMas{display:none!important}
  body.verif.verPagos #q-pago .op{display:flex!important}
  body.verif .yaL{padding-top:9px;padding-bottom:9px}
  body.verif #datos{gap:8px}
}

.cortoM{display:none}
@media (max-width:899px){ .cortoM{display:inline} .largoM{display:none} body[data-p="p3"] #datos label.check{font-size:14.5px} body.verif #p3>div:first-child h1{font-size:26px} }

@media (max-width:899px){
  .vdMic{display:flex;align-items:center;justify-content:center;gap:10px}
  .vdMic .onda{width:12px;height:12px;border-radius:50%;background:#E0533D;box-shadow:0 0 0 0 rgba(224,83,61,.6);animation:latido 1.4s infinite}
  @keyframes latido{0%{box-shadow:0 0 0 0 rgba(224,83,61,.6)}70%{box-shadow:0 0 0 12px rgba(224,83,61,0)}100%{box-shadow:0 0 0 0 rgba(224,83,61,0)}}
  .vdSiNo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .vdSiNo[hidden]{display:none}
  .vdSiNo button{border:0;border-radius:14px;min-height:60px;font:800 20px var(--font);cursor:pointer;background:#fff;color:var(--verde)}
  .vdSiNo #vdNo{background:rgba(255,255,255,.15);color:#fff;border:2px solid rgba(255,255,255,.7)}
  .vdLista li{padding:8px 10px}
}

.precioM{display:none}
@media (max-width:899px){
  body[data-p="p3"] .precioM{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:6;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-top:1px solid #E3E8E4;box-shadow:0 -6px 18px rgba(0,0,0,.08);padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px))}
  .precioM .pmL{display:flex;flex-direction:column;font-size:13.5px;color:var(--suave);line-height:1.3}
  .precioM .pmL small{font-size:13px;color:var(--texto);font-weight:600}
  .precioM em{font-style:normal;text-decoration:line-through}
  .precioM i{font-style:normal;color:var(--verde);font-weight:700}
  .precioM b{font-size:40px;font-weight:800;color:#C8102E;line-height:1}
  body[data-p="p3"] #p3{padding-bottom:110px}
}

@media (max-width:899px){ .vdOpc{grid-template-columns:1fr 1fr 1fr} .vdOpc button{font-size:16px;min-height:56px} }

.vdBanco{display:none}
@media (max-width:899px){
  .vdBanco:not([hidden]){display:flex;flex-direction:column;gap:10px;background:#fff;color:var(--texto);border-radius:14px;padding:14px}
  .vbT{font-weight:800;font-size:16px;display:flex;justify-content:space-between;align-items:baseline}
  .vbT small{font-weight:600;color:var(--suave);font-size:12px}
  .vbF{border:1.5px solid #CFD8D2;border-radius:10px;padding:14px;color:#8A948E;font-size:16px}
  .vbFila{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .vbPagar{border:0;border-radius:12px;min-height:58px;background:#C8102E;color:#fff;font:800 20px var(--font);cursor:pointer}
  .vbNota{color:var(--suave);font-size:11.5px;line-height:1.35}
}

.vozFin{display:none}
@media (max-width:899px){
  body[data-p="p4"] header,body[data-p="p4"] .recorrido,body[data-p="p4"] .proto{display:none!important}
  body[data-p="p4"] #p4{padding-top:18px}
  body[data-p="p4"] .fin{gap:14px}
  body[data-p="p4"] .okc{width:56px;height:56px;font-size:28px}
  body[data-p="p4"] #finTit{font-size:28px}
  body[data-p="p4"] .fin>.sub{font-size:14px}
  .vozFin{display:flex;flex-direction:column;gap:12px;background:var(--verde);color:#fff;border-radius:18px;padding:16px;text-align:left}
  .vozFin .vdT{display:flex;gap:12px;align-items:center}
  .vozFin .vzi{flex:none;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--verde);display:flex;align-items:center;justify-content:center;font-size:22px}
  .vozFin .vdT span:last-child{display:flex;flex-direction:column}
  .vozFin .vdT b{font-size:18px}
  .vozFin .vdT small{font-size:13px;opacity:.9}
  .vfChips{display:flex;flex-wrap:wrap;gap:8px}
  .vfChips button{border:0;background:#fff;color:var(--verde);border-radius:12px;padding:12px 14px;font:700 15px var(--font);cursor:pointer}
  body[data-p="p4"] .finGrid>.finCaja:nth-child(2){display:none}
  body[data-p="p4"] .finCaja .miniF{grid-template-columns:repeat(5,1fr)}
  body[data-p="p4"] .finCaja .miniF img:nth-child(n+6){display:none}
  body[data-p="p4"] .finL{font-size:14.5px}
  body[data-p="p4"] .fin>.nota{display:none}
  body[data-p="p4"] #otra{background:none!important;color:var(--verde);border:0;text-decoration:underline;min-height:0;font-size:14px;padding:6px}
  body[data-p="p4"] .finBtns .hablaFin{background:var(--verde);color:#fff;border:0;font-weight:700}
}

.subM{display:none}
@media (max-width:899px){
  body[data-p="p4"] #p4{padding-top:12px;padding-bottom:12px}
  body[data-p="p4"] .fin{gap:10px}
  body[data-p="p4"] .okc{width:40px;height:40px;font-size:20px;margin:0 auto}
  body[data-p="p4"] #finTit{font-size:24px;margin:0}
  body[data-p="p4"] .fin>.sub{display:none}
  body[data-p="p4"] .subM{display:block;margin:0;font-size:13px;color:var(--suave);text-align:center}
  body[data-p="p4"] .vozFin{padding:12px;gap:10px}
  body[data-p="p4"] .vozFin .vdT{display:none}
  body[data-p="p4"] .vozFin .vdPreg{font-size:15px;padding:10px 12px}
  body[data-p="p4"] .vfChips{gap:6px}
  body[data-p="p4"] .vfChips button{padding:9px 11px;font-size:14px}
  body[data-p="p4"] .finCaja{padding:12px;gap:6px}
  body[data-p="p4"] .finCaja>b{display:none}
  body[data-p="p4"] .finCaja .miniF img{height:54px}
  body[data-p="p4"] .finL{font-size:13.5px}
  body[data-p="p4"] .finBtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  body[data-p="p4"] .finBtns .ya{justify-content:center;text-align:center;padding:12px 8px;font-size:14.5px;width:auto;margin:0}
  body[data-p="p4"] #otra{font-size:12px;padding:0}
}

@media (max-width:899px){
  body[data-p="p4"] .finGrid{display:none!important}
  body[data-p="p4"] .fin{min-height:calc(100svh - 120px);justify-content:center;gap:18px}
  body[data-p="p4"] .okc{width:64px;height:64px;font-size:30px}
  body[data-p="p4"] #finTit{font-size:30px}
  body[data-p="p4"] .vozFin .vdPreg{font-size:16.5px;padding:14px}
  body[data-p="p4"] .vfChips button{padding:12px 14px;font-size:15.5px}
}

.finEntM{display:none}
@media (max-width:899px){
  body[data-p="p4"] .finEntM{display:flex;flex-direction:column;gap:6px;width:100%;box-sizing:border-box;border:1.5px solid var(--verde);background:var(--menta-2);border-radius:14px;padding:12px 14px;text-align:left;font-size:15px;line-height:1.35}
  .finEntM div{display:flex;gap:8px}
}

.oir.sonando{background:var(--verde)!important;color:#fff!important}

/* Sin el asistente de voz contratado todavía: se ocultan los botones de Carolina y se usa el formulario.
   Con ?demo=1 se ve el diseño aprobado con Carolina simulada. */
body.sinCarolina .vozP, body.sinCarolina #vozDatos, body.sinCarolina .oir.hablar, body.sinCarolina .hablar2,
body.sinCarolina #fab, body.sinCarolina .hablaM, body.sinCarolina .hablaBarra, body.sinCarolina .vozFin .vdT,
body.sinCarolina .ayuda{display:none!important}
button:disabled{opacity:.6;cursor:wait}

/* Platos sueltos: carta con cantidades */
#semana .dia.carta{display:flex;flex-direction:column;gap:8px}
.plato.pc{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}
.plato.pc .pp{display:block;font-weight:700;color:var(--verde);margin-top:2px}
.plato.pc.elegido{background:var(--menta);border-radius:12px}
.cant{display:flex;align-items:center;gap:8px}
.cant button{width:40px;height:40px;border-radius:50%;border:2px solid var(--verde);background:#fff;color:var(--verde);font-size:22px;font-weight:800;line-height:1;cursor:pointer}
.cant button:disabled{opacity:.3;cursor:default}
.cant b{min-width:22px;text-align:center;font-size:18px}
body[data-p="p2"] #semana .dia.carta .plato.pc .cambiar{display:none}
.plato.pc .fplato{width:76px;height:76px;object-fit:cover;border-radius:10px}
/* Carta: foto, nombre y precio, y los botones a la derecha (también en el ordenador) */
#semana .dia.carta .plato.pc{display:flex!important;align-items:center;gap:12px;padding:8px 10px}
#semana .dia.carta .plato.pc .fplato{order:1;flex:none}
#semana .dia.carta .plato.pc .n{order:2;flex:1;min-width:0}
#semana .dia.carta .plato.pc .cant{order:3;flex:none}

/* MÓVIL con 5 planes (2 nov): tarjetas más bajas para que "Elige tu plan" quepa en una pantalla */
@media (max-width:899px){
  #q-para{gap:8px}
  #q-para .op.ancha{padding:8px;gap:10px;align-items:center}
  #q-para .fotop{width:96px;height:88px;min-height:0}
  #q-para .op.ancha small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px}
  #q-para .acc{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:4px}
  #q-para .acc .oir{font-size:12.5px;padding:4px 9px}
  #q-para .acc .masinfo{font-size:12.5px}
  .p1a .vozP{padding:12px 14px}
  .p1a .vozP em{display:none}
  .p1a h1{font-size:28px}
}
@media (max-width:899px){
  #q-para .op.ancha small{-webkit-line-clamp:1}
  #q-para .fotop{height:80px;width:92px}
  .p1a > div:first-child .sub{font-size:14px}
  .p1a section h2{margin-bottom:4px}
  .p1a{gap:10px}
}

/* Repetir mi último pedido (cliente conocido) */
.repetir{display:flex;flex-direction:column;gap:10px;background:#FFF7EE;border:2px solid #E8A15A;border-radius:16px;padding:14px 16px}
.repetir small{display:block;color:var(--suave);font-size:13px}
.repetir b{display:block;font-size:19px}
.repetir span{display:block;font-size:14px;margin-top:2px}
.repetir .repBtns{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.repetir .btn{width:auto;padding:12px 18px}
@media (min-width:900px){ .repetir{flex-direction:row;align-items:center;justify-content:space-between} }
.repetir .repBtns{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
.repetir .repBtns .btn{width:100%;padding:12px 10px;font-size:17px}
.repetir .repCris{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;background:var(--verde);color:#fff;font:700 15px var(--font);padding:10px;cursor:pointer}
.repetir .repCris .vzi{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--verde);font-size:16px}
.repetir #repMenu{align-self:flex-start}
@media (min-width:900px){ .repetir .repBtns{display:flex;gap:10px} .repetir .repBtns .btn{width:auto;padding:12px 18px} }
/* Cliente conocido: la tarjeta de Repetir ya lleva a Carolina, no se repite la grande */
body.conocido #p1 .p1a .vozP{display:none!important}
@media (min-width:900px){
  .repetir{display:grid!important;grid-template-columns:1fr auto;column-gap:20px;row-gap:6px;align-items:center}
  .repetir > div:first-child{grid-column:1;grid-row:1}
  .repetir .repBtns{grid-column:2;grid-row:1 / span 2;display:flex!important;flex-direction:row;gap:10px}
  .repetir #repMenu{grid-column:1;grid-row:2;justify-self:start}
  .repetir .repCris{padding:10px 16px}
}
.repetir #repMenu{display:inline-block!important;background:none;border:0;color:var(--verde);font:700 14px var(--font);text-decoration:underline;padding:0;cursor:pointer}
/* Cliente que repite: solo su plan; los demás detrás de "Ver otros planes" */
body.conRepetir:not(.todosPlanes) #q-para > button.otroPlan{display:none!important}
.verTodos{border:0;background:none;color:var(--verde);font:700 15px var(--font);text-decoration:underline;padding:6px 0;cursor:pointer;align-self:flex-start}
.repetir .repPlan{font-weight:700;color:var(--verde);font-size:16px;margin-top:6px}
.repetir .repDet{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:6px 0 0;padding:0}
.repetir .repDet li{background:#fff;border:1px solid #F0C9A0;border-radius:999px;padding:3px 10px;font-size:13.5px}
.repetir .repFotos{display:flex;gap:6px;margin-top:8px}
.repetir .repFotos img{width:46px;height:46px;border-radius:8px;object-fit:cover}
.repetir .repInfo{font-size:14px;color:var(--suave);margin-top:6px}
.repetir .repInfo b{color:inherit;display:inline;font-size:inherit}
body.conRepetir:not(.todosPlanes) #q-para{flex:none!important;grid-auto-rows:auto}
body.conRepetir:not(.todosPlanes) #q-para > button{flex:none!important;min-height:0!important;height:auto!important}
body.conRepetir .p1a{min-height:0!important}
/* Repetir en el ordenador (2 nov): tarjeta a dos columnas, sin huecos; el plan va dentro de la tarjeta */
.repetir .repFoto{display:none}
.repetir .repLinks{display:flex;flex-wrap:wrap;gap:6px 18px}
.repetir #repOtros{display:none!important}
@media (min-width:900px){
  .repetir{display:grid!important;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto auto auto;column-gap:24px;row-gap:12px;padding:20px 22px;align-items:start}
  .repetir > .repTxt{grid-column:1;grid-row:1 / span 2}
  .repetir .repFoto{display:block;grid-column:2;grid-row:1;width:100%;height:190px;object-fit:cover;border-radius:14px}
  .repetir .repBtns{grid-column:2!important;grid-row:2!important;display:grid!important;grid-template-columns:1fr;gap:10px}
  .repetir .repBtns .btn,.repetir .repCris{width:100%;justify-content:center;padding:14px}
  .repetir .repLinks{grid-column:1;grid-row:3}
  .repetir #repMenu,.repetir #repOtros{display:inline-block!important;background:none;border:0;color:var(--verde);font:700 14.5px var(--font);text-decoration:underline;padding:0;cursor:pointer}
  .repetir b{font-size:24px}
  .repetir .repFotos img{width:64px;height:64px}
  .repetir .repDet li{font-size:14.5px}
  .repetir .repInfo{font-size:15px}
  body.conRepetir:not(.todosPlanes) #q-para,body.conRepetir:not(.todosPlanes) #verTodos{display:none!important}
  body.conRepetir:not(.todosPlanes) .p1a section:has(#q-para) > h2{display:none}
}
.repetir .repDer{display:contents}
.repetir .repCris{margin:0!important}
@media (min-width:900px){
  .repetir{grid-template-rows:auto auto!important;align-items:stretch}
  .repetir > .repTxt{grid-row:1!important}
  .repetir .repDer{display:flex;flex-direction:column;gap:10px;grid-column:2;grid-row:1 / span 2}
  .repetir .repFoto{height:170px}
  .repetir .repBtns{display:grid!important;grid-template-columns:1fr;gap:10px}
  .repetir .repLinks{grid-column:1;grid-row:2;align-self:end}
}
/* Cliente que repite (Javier, 2 nov): solo "Elige tu plan" y la tarjeta de repetir, grande.
   Las opciones (personas, días, semanas, otros planes) salen solo con "Cambiar mi plan". */
body.conRepetir:not(.todosPlanes):not(.repOpciones) #p1 .p1b{display:none!important}
@media (min-width:900px){
  body.conRepetir:not(.todosPlanes):not(.repOpciones)[data-p="p1"] .app{grid-template-columns:minmax(0,1fr)}
  body.conRepetir:not(.todosPlanes):not(.repOpciones)[data-p="p1"] #barra{display:none!important}
  body.conRepetir:not(.todosPlanes) .repetir{grid-template-columns:minmax(0,1fr) 420px;padding:28px 30px;column-gap:36px}
  body.conRepetir:not(.todosPlanes) .repetir b{font-size:30px}
  body.conRepetir:not(.todosPlanes) .repetir .repPlan{font-size:19px}
  body.conRepetir:not(.todosPlanes) .repetir .repDet li{font-size:16px;padding:5px 14px}
  body.conRepetir:not(.todosPlanes) .repetir .repFotos img{width:84px;height:84px;border-radius:10px}
  body.conRepetir:not(.todosPlanes) .repetir .repInfo{font-size:16.5px}
  body.conRepetir:not(.todosPlanes) .repetir .repFoto{height:240px}
  body.conRepetir:not(.todosPlanes) .repetir .repBtns .btn{font-size:20px;padding:16px}
  body.conRepetir:not(.todosPlanes) .repetir .repCris{font-size:17px;padding:14px}
  body.conRepetir:not(.todosPlanes) .repetir #repMenu,body.conRepetir:not(.todosPlanes) .repetir #repOtros{font-size:16px}
}

/* Repetir con preguntas rápidas (Javier, 2 nov): ¿quieres cambiar algo? día, plato, cantidad u otro plan */
.repetir .repLinks{display:none!important}
.repetir .repCrisN{font-size:13px;color:var(--suave);text-align:center;margin-top:-2px}
.repetir .repCambia{display:flex;flex-direction:column;gap:8px;border-top:1px dashed #F0C9A0;padding-top:12px}
.repetir .repPreg{font-weight:700;font-size:16px;margin:0}
.repetir .repOps,.repetir .repDias{display:flex;flex-wrap:wrap;gap:8px}
.repetir .repOp{background:#fff;border:1.5px solid #E8A15A;border-radius:999px;padding:9px 14px;font:600 15px var(--font);color:var(--texto,#222);cursor:pointer;min-height:44px}
.repetir .repOp[aria-pressed="true"]{background:var(--verde);border-color:var(--verde);color:#fff}
.repetir .repOp:hover{border-color:var(--verde)}
.repetir #repOtros{display:inline-flex!important;align-items:center}
.repetir #repMenu{display:inline-flex!important;align-items:center;text-decoration:none!important;color:var(--texto,#222)!important;font:600 15px var(--font)!important;padding:9px 14px!important;background:#fff!important;border:1.5px solid #E8A15A!important}
.repetir #repOtros{text-decoration:none!important;color:var(--texto,#222)!important;font:600 15px var(--font)!important;padding:9px 14px!important;background:#fff!important;border:1.5px solid #E8A15A!important}
.repetir .repDias[hidden]{display:none}
@media (min-width:900px){
  .repetir .repCambia{grid-column:1 / span 2;grid-row:3}
  body.conRepetir:not(.todosPlanes) .repetir .repPreg{font-size:19px}
  body.conRepetir:not(.todosPlanes) .repetir .repOp,body.conRepetir:not(.todosPlanes) .repetir #repMenu,body.conRepetir:not(.todosPlanes) .repetir #repOtros{font-size:17px!important;padding:11px 18px!important}
  .repetir{grid-template-rows:auto auto auto!important}
}
@media (max-width:899px){
  .repetir .repOps,.repetir .repDias{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .repetir .repOp,.repetir #repMenu,.repetir #repOtros{width:100%;justify-content:center;text-align:center;font-size:14.5px!important;padding:8px 8px!important;display:flex!important;align-items:center}
}
body.conRepetir .repetir .repInfo b{font-size:inherit!important;display:inline}
/* Con la tarjeta de repetir, "Otro plan" ya está dentro: fuera sobran "Tu plan" y "Cambiar mi plan" */
body.conRepetir:not(.todosPlanes) .p1a section:has(#q-para),body.conRepetir:not(.todosPlanes) #verTodos{display:none!important}
/* Guardar el icono en el móvil (pantalla Pedido hecho) */
.guardaApp{display:grid;grid-template-columns:52px 1fr auto auto;align-items:center;gap:12px;background:var(--menta-2);border:1.5px solid var(--menta);border-radius:16px;padding:12px 14px;margin:14px 0;text-align:left}
.guardaApp[hidden]{display:none}
.guardaApp img{width:52px;height:52px;border-radius:12px;border:1px solid #e3e3e3;background:#fff}
.guardaApp b{display:block;font-size:16px}
.guardaApp span{display:block;font-size:14px;color:var(--suave);margin-top:2px}
.guardaApp span b{display:inline;font-size:inherit;color:var(--texto,#222)}
.guardaApp .btn{width:auto;padding:10px 16px;font-size:15px}
.guardaApp .gaX{background:none;border:0;font-size:24px;line-height:1;color:var(--suave);cursor:pointer;padding:4px 6px}
.guardaApp.ios{grid-template-columns:52px 1fr auto}
.guardaApp.ios .btn{display:none}
.guardaApp #gaTxt span{display:inline;margin:0}
@media (max-width:899px){
  .guardaApp{grid-template-columns:52px 1fr auto;grid-template-areas:"i t x" "b b b";row-gap:10px}
  .guardaApp img{grid-area:i}
  .guardaApp > div{grid-area:t}
  .guardaApp .gaX{grid-area:x;align-self:start}
  .guardaApp .btn{grid-area:b;width:100%}
  .guardaApp.ios{grid-template-areas:"i t x"}
}
.gaHoja{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:17px}
.gaHoja img{width:84px;height:84px;border-radius:18px;border:1px solid #e3e3e3}
.gaHoja ol{text-align:left;margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.gaHoja p{margin:0}
.gaHoja .gaNota{font-size:14px;color:var(--suave)}
/* Ordenador: las filas no se estiran para llenar la pantalla (quitaba huecos arriba en todas las pantallas) */
@media (min-width:900px){ .app{align-content:start} }
/* Datos y pago del cliente que ya conocemos, en el ordenador (Javier, 2 nov: «mucho hueco, las fotos pequeñas»):
   sus datos en una fila de tarjetas, el día en botones y su pedido con las fotos grandes. */
.p3Ped{display:none}
@media (min-width:900px){
  body.conocido[data-p="p3"] .p3Ped{display:block;border:1.5px solid var(--menta);border-radius:16px;padding:18px 20px;background:#fff}
  .p3PedT{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px}
  .p3PedT b{font-size:20px}
  .p3PedT span{font-size:16px;color:var(--suave)}
  .p3PedT .linkM{margin-left:auto;background:none;border:0;color:var(--verde);font:700 15px var(--font);text-decoration:underline;cursor:pointer;padding:0}
  .p3Fotos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  .p3Fotos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
  body.conocido[data-p="p3"] #barraRes .miniF{display:none}
  body.conocido[data-p="p3"] #datos{grid-template-columns:minmax(0,1fr)!important}
  body.conocido[data-p="p3"] .yaDatos{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  body.conocido[data-p="p3"] .yaDatos > *{height:100%;box-sizing:border-box}
  body.conocido[data-p="p3"] #datos label:has(#f-dia){font-size:15px;font-weight:700}
  body.conocido[data-p="p3"] #p3{gap:16px}
}
@media (min-width:900px){
  body.conocido[data-p="p3"] .p3PedT .linkM{display:inline-block!important}
  body.conocido[data-p="p3"] #p3 .codigo{border:0;padding:0;background:none}
  body.conocido[data-p="p3"] #p3 .codigo label{color:var(--verde);font-weight:700;cursor:pointer;text-decoration:underline}
  body.conocido[data-p="p3"] #p3 .codigo:not(.abierto) .codfila,body.conocido[data-p="p3"] #p3 .codigo:not(.abierto) .codmsg{display:none}
}
/* Repetir → «Confirma y paga»: una sola tarjeta con lo mismo o con lo que ha cambiado */
body.repite .p3Ped{display:block!important;border:0!important;padding:0!important;background:none!important}
.repOk{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:start;background:var(--menta-2);border:1.5px solid var(--verde);border-radius:16px;padding:14px 16px}
.repOkI{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--verde);color:#fff;font-size:22px;font-weight:700}
.repOk b{display:block;font-size:18px}
.repOk span{display:block;font-size:15px;color:var(--suave);margin-top:2px}
.repOk ul{margin:8px 0 0;padding-left:18px;font-size:15.5px}
.repOk li b{display:inline;font-size:inherit}
.repOk .linkM{background:none;border:0;color:var(--verde);font:700 14.5px var(--font);text-decoration:underline;cursor:pointer;padding:0;align-self:center;display:inline-block!important}
@media (min-width:900px){ .repOk b{font-size:21px} .repOk span,.repOk ul{font-size:16.5px} }
.repOk .repOkI{color:#fff;font-size:22px;margin:0}
body.repite #p3 .sub{display:none}
@media (max-width:899px){
  .repOk{grid-template-columns:40px 1fr}
  .repOk .repOkI{width:40px;height:40px}
  .repOk .linkM{grid-column:2;justify-self:start}
  body.repite #resumen .l:first-child{display:none}
}
.repOk .repOkI{display:flex!important;line-height:1}
/* Móvil (Javier, 2 nov): la barra de abajo dice «Pagar 68 €» y es el botón; nada queda tapado */
@media (max-width:899px){
  .precioM .pmPagar{border:0;border-radius:14px;background:#C4410F;color:#fff;font:800 22px var(--font);padding:14px 18px;cursor:pointer;white-space:nowrap}
  .precioM .pmPagar:disabled{opacity:.6}
  body[data-p="p3"] #p3{padding-bottom:150px!important}
  body.repite #resumen,body.repite .pagarM{display:none!important}
}
/* Ordenador, «Confirma y paga» (Javier, 2 nov: «agrándalo, solo empleas media página») */
@media (min-width:900px){
  body.repite[data-p="p3"] #p3 h1{font-size:46px}
  body.repite[data-p="p3"] #p3{gap:22px}
  body.repite .repOk{padding:24px 26px;grid-template-columns:60px 1fr auto;gap:18px}
  body.repite .repOk .repOkI{width:60px;height:60px;font-size:30px}
  body.repite .repOk b{font-size:28px}
  body.repite .repOk span,body.repite .repOk ul{font-size:19px}
  body.repite .repOk .linkM{font-size:17px}
  body.repite .yaDatos{gap:18px!important}
  body.repite .yaDatos > *{padding:22px 24px!important;font-size:19px}
  body.repite .yaDatos b,body.repite .yaDatos strong{font-size:22px}
  body.repite .yaDatos button{font-size:16px;padding:10px 18px}
  body.repite #datos label:has(#f-dia){font-size:19px!important}
  body.repite #f-dia{font-size:20px;padding:16px 18px;height:auto}
  body.repite #p3 .codigo label{font-size:17px}
  body.repite #barraRes{font-size:17px}
  body.repite #barraRes .l{font-size:17px}
  body.repite #barraRes .tot{font-size:24px}
  body.repite #seguir{font-size:24px;padding:20px}
}
@media (min-width:900px){
  body.repite .yaL{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-right:24px!important}
  body.repite .yaL .yaCamb{position:static;transform:none;margin-top:10px}
}
/* Sin casilla de código (Javier, 2 nov): los descuentos van automáticos en la ficha del cliente; no se dan códigos a particulares.
   La lógica de códigos sigue en el servidor por si un día se usa un enlace de campaña. */
#p3 .codigo{display:none!important}

/* Familiar de contacto (primer pedido de Mayores) */
.familiar{grid-column:1 / -1;border:1px solid #e3e0d8;border-radius:14px;padding:12px 14px;background:#faf8f3;display:flex;flex-direction:column;gap:8px}
.familiar[hidden]{display:none}
.famT{font-weight:700}.famT span{font-weight:400;color:#6b6b6b}
.famS{margin:0;font-size:.9em;color:#555;line-height:1.35}
.famF{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:420px){.famF{grid-template-columns:1fr}}

/* Carolina de verdad (chat) */
.crisLog{max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:8px}
.crisF{display:flex;gap:8px;margin-top:10px}
.crisF input{flex:1;min-width:0}
.hoja .lista .crisMic,.crisMic{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:12px;padding:14px 16px;border:0;border-radius:16px;background:var(--verde);color:#fff;font:inherit;font-size:1.15em;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.crisMic .mi{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#c8462a;font-size:1.35em;line-height:1;flex:none;box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.crisMic.on .mi{color:#c8462a}
.crisEnv[hidden]{display:none}
.hoja .lista .crisF .crisEnv{width:auto;flex:none;min-height:48px;padding:0 16px;font-size:16px}
.crisF input{min-height:48px;border:1px solid var(--linea);border-radius:12px;padding:0 12px;font:500 16px var(--font)}
.crisNota{margin-top:6px;font-size:12px;color:var(--suave,#6b6b6b);text-align:center}
.hoja .lista .crisNota .linkM,.crisNota .linkM{display:inline;min-height:0;font-weight:700;font-size:12px;border:0;background:none;color:var(--verde);text-decoration:underline;padding:0;cursor:pointer}
.hoja .lista .crisMic.on,.crisMic.on{background:#c8462a;animation:crisLate 1.2s ease-in-out infinite}
@keyframes crisLate{50%{transform:scale(1.02);box-shadow:0 0 0 8px rgba(200,70,42,.18)}}
.urg112{display:block;text-align:center;background:#b3261e!important;margin-top:10px}

/* Varios menús en un pedido */
.masMenu{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-top:8px}
.masMenu[hidden]{display:none}
.masMenu small{color:var(--suave)}
.btn.sec{background:#fff;color:var(--verde);border:2px solid var(--verde)}
.extrasL:empty{display:none}
.extrasL{border:1px solid #d9e6df;background:#f4f9f6;border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}
.exT{font-weight:700;font-size:.9em;color:var(--verde)}
.exL{display:flex;justify-content:space-between;gap:10px;align-items:center}
.exL.actual{font-weight:600}

/* Varios menús: en el móvil no se ofrece (se pide uno y luego otro; Javier, 2 nov). En el ordenador, la lista va a la columna derecha. */
@media (max-width:899px){ #masMenu,#extrasP2,#extrasP3{display:none!important} }
@media (min-width:900px){ #extrasP3{display:none!important} }
.bqM{display:flex;flex-direction:column;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--linea);margin-bottom:6px}
.bqM .miniF{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.bqM .miniF img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}

/* Pestañas de semanas (pedidos de 2 a 4 semanas: cada semana lleva un menú distinto) */
.semTabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.semTabs[hidden]{display:none}
.semTab{flex:1 1 0;min-width:0;white-space:nowrap;font-size:14px!important;min-height:52px;border:2px solid var(--linea,#d9e6df);border-radius:12px;background:#fff;color:var(--texto,#222);font:700 15px var(--font);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px}
.semTab small{font-weight:500;font-size:12px;color:var(--suave,#6b6b6b)}
.semTab.on{border-color:var(--verde);background:var(--menta,#e9f5ef);color:var(--verde)}
.semCopia{flex-basis:100%;border:0;background:none;color:var(--verde);font:700 14.5px var(--font);text-decoration:underline;cursor:pointer;padding:4px 0;text-align:left}

/* Factura (4 nov) */
.facChk{grid-column:1 / -1}
.factura .opc{font-weight:400;color:#7a766c}
