/* Carmela Smash · tienda. Hereda tokens y componentes de ../styles.css; aquí solo lo propio del pedido. Móvil primero. */
.tienda{padding-bottom:5rem}
.nav__estado{margin:0;font-size:.78rem;color:var(--texto3);flex:1;text-align:center}.nav__estado.abierto{color:var(--beige)}.nav__estado.cerrado{color:var(--texto2)}
.cesta-boton{gap:.5rem;padding:.7rem 1.1rem}.cesta-boton__n{display:inline-grid;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 .35rem;border-radius:999px;background:var(--gris);color:var(--beige);font-size:.75rem}
.cabecera{display:grid;grid-template-columns:1fr;gap:1.2rem;padding:clamp(20px,4vw,48px) var(--margen) 0;position:relative;z-index:2}
.cabecera__foto{border-radius:var(--radio);overflow:hidden;aspect-ratio:16/9;max-height:260px}.cabecera__foto img{width:100%;height:100%;object-fit:cover;display:block}
.cabecera h1{font-size:clamp(3.4rem,10vw,6.5rem)}.aviso{background:var(--beige);border:1px solid var(--beige);color:var(--gris);border-radius:14px;padding:.7rem 1rem;font-size:.9rem;margin:0 0 1rem}
@media(min-width:760px){.cabecera{grid-template-columns:1fr 1.4fr;align-items:center}.cabecera__foto{aspect-ratio:4/5;max-height:none}}
.categorias{position:sticky;top:64px;z-index:15;display:flex;gap:.5rem;overflow-x:auto;padding:.7rem var(--margen);background:rgba(55,55,55,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--beige-faint);scrollbar-width:none}.categorias::-webkit-scrollbar{display:none}
.categorias a{flex:none;font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--texto2);text-decoration:none;padding:.45rem .9rem;border:1px solid var(--beige-line);border-radius:999px}.categorias a.activa,.categorias a:hover{background:var(--beige);color:var(--gris);border-color:var(--beige)}
.seccion--tienda{padding-top:1.5rem}
.categoria{margin-bottom:2.5rem;scroll-margin-top:130px}.categoria h2{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:1rem}
.productos{display:grid;grid-template-columns:1fr;gap:.8rem}@media(min-width:560px){.productos{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
.producto{transition:transform .3s var(--suave),border-color .2s;display:grid;grid-template-columns:1fr 96px;gap:.8rem;align-items:center;text-align:left;background:var(--fondo2);border:1px solid var(--linea);border-radius:18px;padding:.9rem;color:var(--crema);font:inherit;cursor:pointer;transition:transform .25s,border-color .2s}
.producto:hover,.producto:focus-visible{transform:translateY(-2px);border-color:var(--beige-line);outline:none}
.producto h3{font-family:var(--sans);font-size:1rem;margin:0 0 .2rem}.producto p{margin:0 0 .5rem;color:var(--texto2);font-size:.85rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.producto__precio{font-family:var(--display);font-size:1.15rem;color:var(--beige);letter-spacing:.04em}
.producto__foto{width:96px;height:96px;border-radius:12px;overflow:hidden;background:var(--fondo3)}.producto__foto img{width:100%;height:100%;object-fit:cover;display:block}
.producto--agotado{opacity:.5;cursor:not-allowed}.producto--agotado .producto__precio{color:var(--texto3);font-family:var(--texto);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}
.producto__destacado{display:inline-block;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--beige);margin-bottom:.3rem}
/* capas: ficha (hoja inferior) y cesta (cajón lateral) */
.capa{position:fixed;inset:0;z-index:40}.capa__fondo{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px)}
.hoja{position:absolute;left:0;right:0;bottom:0;max-height:92vh;overflow:auto;background:var(--gris);color:var(--crema);border-radius:var(--radio) var(--radio) 0 0;border-top:1px solid var(--beige-faint);animation:sube .3s ease-out}
@keyframes sube{from{transform:translateY(40px);opacity:0}}
.hoja__cerrar{position:absolute;top:.7rem;right:.7rem;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(55,55,55,.85);color:var(--crema);font-size:1.5rem;line-height:1;cursor:pointer}
.hoja__foto{aspect-ratio:16/9;max-height:240px;background:var(--fondo3)}.hoja__foto img{width:100%;height:100%;object-fit:cover;display:block}.hoja__foto:empty{display:none}.hoja__foto{position:relative}.hoja__ilustrativa{position:absolute;left:.8rem;bottom:.6rem;font-family:var(--sans);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--beige);background:rgba(55,55,55,.75);padding:.3rem .6rem;border-radius:999px}
.hoja__cuerpo{padding:1.2rem var(--margen) calc(1.2rem + env(safe-area-inset-bottom));display:grid;gap:1rem}.hoja__cuerpo h2{font-family:var(--serif);text-transform:none;font-size:2.2rem;margin:0}.hoja__desc{margin:0;color:var(--texto2)}
.toppings{border:0;padding:0;margin:0}.toppings legend{font-weight:600;font-size:.9rem;margin-bottom:.5rem}
.toppings__lista{display:grid;grid-template-columns:1fr;gap:.4rem}@media(min-width:560px){.toppings__lista{grid-template-columns:1fr 1fr}}
.topping{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border:1px solid var(--beige-faint);border-radius:12px;font-size:.9rem;cursor:pointer}.topping:has(input:checked){border-color:var(--beige);background:var(--beige-faint)}.topping input{accent-color:var(--beige)}.topping span:last-child{margin-left:auto;color:var(--texto3);font-size:.85rem}
.hoja__notas{display:grid;gap:.35rem;font-size:.85rem;font-weight:600}.hoja__notas input{font:inherit;padding:.75rem .9rem;border:1.5px solid var(--beige-line);border-radius:12px;background:var(--fondo2);color:var(--crema)}
.hoja__pie{display:flex;gap:.8rem;align-items:center;position:sticky;bottom:0;background:var(--gris);padding-top:.5rem}.hoja__pie .btn{flex:1}
.cantidad{display:inline-flex;align-items:center;border:1px solid var(--beige-line);border-radius:999px}.cantidad button{width:42px;height:42px;border:0;background:transparent;color:var(--crema);font-size:1.3rem;cursor:pointer}.cantidad output{min-width:2ch;text-align:center;font-weight:600}
.cajon{position:absolute;top:0;right:0;bottom:0;width:min(100%,460px);background:var(--beige);color:var(--gris);display:flex;flex-direction:column;animation:entra .3s ease-out}
@keyframes entra{from{transform:translateX(40px);opacity:0}}
.cajon__cabecera{display:flex;align-items:center;justify-content:space-between;padding:1rem var(--margen);border-bottom:1px solid #cfc9b6}.cajon__cabecera h2{margin:0;font-size:2rem;color:var(--gris)}.cajon__cabecera .hoja__cerrar{position:static;background:var(--gris)}
.cajon__cuerpo{overflow:auto;padding:1rem var(--margen) calc(2rem + env(safe-area-inset-bottom));flex:1}
.lineas{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.6rem}
.linea{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;background:#fff;border-radius:14px;padding:.8rem .9rem}
.linea__nombre{font-weight:600}.linea__detalle{grid-column:1/-1;font-size:.8rem;color:#666}.linea__precio{font-family:var(--display);font-size:1.1rem;text-align:right}
.linea__acciones{grid-column:1/-1;display:flex;gap:.6rem;align-items:center;font-size:.8rem}.linea__acciones button{font:inherit;background:transparent;border:1px solid #cfc9b6;border-radius:999px;padding:.3rem .7rem;cursor:pointer;color:var(--gris)}.linea__acciones .cantidad{border-color:#cfc9b6}.linea__acciones .cantidad button{border:0;width:34px;height:34px;color:var(--gris)}
.cesta-vacia{color:#5a5a5a;text-align:center;padding:2rem 0}
.form--checkout{box-shadow:none;padding:1rem;gap:.8rem}.form--checkout h3{font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:1.5rem;margin:.6rem 0 0}.form__fila--2{grid-template-columns:1fr 1fr!important}@media(max-width:400px){.form__fila--2{grid-template-columns:1fr!important}}
.form__ayuda{margin:0;font-size:.8rem;color:#777}
.segmentos{display:flex;gap:.5rem;flex-wrap:wrap}.segmentos label{display:block;font-size:.85rem;font-weight:500}.segmentos input{position:absolute;opacity:0;width:0;height:0}.segmentos span{display:inline-block;padding:.6rem 1rem;border:1.5px solid #d9d4c6;border-radius:999px;cursor:pointer}.segmentos input:checked+span{background:var(--gris);color:var(--crema);border-color:var(--gris)}.segmentos input:focus-visible+span{outline:2px solid var(--beige)}
.totales{display:grid;gap:.3rem;font-size:.95rem;border-top:1px solid #e5e0d2;padding-top:.8rem}.totales div{display:flex;justify-content:space-between}.totales .total{font-family:var(--display);font-size:1.5rem;letter-spacing:.04em}
.form--checkout .btn--grande{width:100%}.form--checkout .btn[disabled]{opacity:.5;cursor:wait}
.capa--llena{position:relative;inset:auto;z-index:2;padding:clamp(24px,5vw,64px) var(--margen)}.confirmacion--pedido{max-width:640px;margin:0 auto;border:1px solid var(--beige-faint)}
.confirmacion--pedido h2{font-size:clamp(2.4rem,7vw,4rem)}.resumen{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.4rem;color:var(--texto2);font-size:.92rem}.conf-total{font-size:1.1rem}.conf-total strong{font-family:var(--display);font-size:1.8rem;color:var(--beige);margin:0 .4rem}
.estado-pedido{margin:.5rem 0 0}.estado-pedido__chip{display:inline-block;padding:.35rem .8rem;border-radius:999px;background:var(--beige-faint);color:var(--beige);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.estado-pedido__chip{font-family:var(--sans)}.estado-pedido__chip[data-estado="aceptado"],.estado-pedido__chip[data-estado="en_preparacion"]{background:var(--beige3);color:var(--gris)}.estado-pedido__chip[data-estado="en_reparto"],.estado-pedido__chip[data-estado="listo_para_recoger"],.estado-pedido__chip[data-estado="entregado"]{background:var(--beige);color:var(--gris)}.estado-pedido__chip[data-estado="cancelado"]{background:var(--negro);color:var(--texto2);text-decoration:line-through}
.confirmacion a:not(.btn){color:var(--beige)}
body.sin-scroll{overflow:hidden}
@media(prefers-reduced-motion:reduce){.hoja,.cajon{animation:none}}

/* ── Fase B de Higgsfield (design-tokens.md §7), portada el 14-sep ─────────────────────────── */
:root{--error:#A6503E;--campo:#FFFDF8;--campo-borde:rgba(55,55,55,.22);--campo-foco:#6B6559;--placeholder:#9A937F;--linea-cesta:#F7F3EA}
.form--checkout input,.form--checkout select{background:var(--campo);border:1.5px solid var(--campo-borde);border-radius:10px}.form--checkout input::placeholder{color:var(--placeholder)}.form--checkout input:focus,.form--checkout select:focus{border-color:var(--campo-foco);box-shadow:0 0 0 2px rgba(107,101,89,.25)}
.form__estado{color:var(--error)}
.linea{background:var(--linea-cesta);border-radius:16px}.linea__precio{font-family:var(--serif);font-size:1.15rem}
.topping{border-color:rgba(223,216,201,.18);border-radius:14px}.topping:has(input:checked){background:var(--beige);border-color:var(--beige);color:var(--gris)}.topping:has(input:checked) span:last-child{color:var(--gris)}.topping span:last-child{font-family:var(--serif)}
.segmentos span{border:1.5px solid rgba(55,55,55,.35);color:var(--gris)}.segmentos input:checked+span{background:var(--gris);color:var(--beige);border-color:var(--gris)}
.cantidad output{font-family:var(--serif);font-size:1.05rem}.cantidad button:hover{background:rgba(223,216,201,.12)}
.estado-pedido__chip{background:transparent;border:1px solid rgba(223,216,201,.3);color:var(--beige-dim)}.estado-pedido__chip[data-estado="nuevo"],.estado-pedido__chip[data-estado="aceptado"],.estado-pedido__chip[data-estado="en_preparacion"],.estado-pedido__chip[data-estado="en_reparto"],.estado-pedido__chip[data-estado="listo_para_recoger"]{background:var(--beige);color:var(--gris);border-color:var(--beige)}.estado-pedido__chip[data-estado="entregado"]{background:rgba(223,216,201,.14);color:var(--beige);border-color:transparent}.estado-pedido__chip[data-estado="cancelado"]{background:transparent;color:var(--beige-dim);text-decoration:line-through}
#enviar{background:var(--gris);color:var(--beige)}#enviar:hover{background:var(--negro)}#enviar[disabled]{opacity:.5}
.producto:hover{background:rgba(223,216,201,.05)}.producto__mono{display:grid;place-items:center;width:100%;height:100%;font-family:var(--display);font-size:2.4rem;color:var(--beige);background:var(--fondo3)}
.esqueleto{display:grid;gap:.8rem}.esqueleto div{height:96px;border-radius:18px;background:var(--fondo2);animation:pulso 1.4s ease-in-out infinite}@keyframes pulso{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.esqueleto div{animation:none}}
