.header{position:sticky;top:0;z-index:100;background-color:#f5efe6f2;backdrop-filter:blur(10px);border-bottom:1px solid var(--color-borde)}.header-contenido{display:flex;align-items:center;justify-content:space-between;padding:1rem var(--espacio-sm);gap:1rem}.logo{font-family:var(--fuente-titulo);font-size:1.5rem;color:var(--color-cafe);font-weight:600;letter-spacing:.5px}.nav-desktop{display:flex;gap:2rem}.nav-desktop a{color:var(--color-cafe);font-weight:500;font-size:.95rem;position:relative;padding:.25rem 0}.nav-desktop a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--color-acento);transition:width .3s ease}.nav-desktop a:hover:after,.nav-desktop a.nav-activo:after{width:100%}.header-derecha{display:flex;align-items:center;gap:.75rem}.header-cta{padding:.6rem 1.2rem;font-size:.9rem}.modo-badge{display:inline-flex;align-items:center;padding:.4rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#b8865b26;color:var(--color-acento-hover);border:1px solid rgba(184,134,91,.35);white-space:nowrap}.modo-badge.modo-badge-delivery{background:#6b7f5c26;color:#3d5530;border-color:#6b7f5c66}.estado-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:999px;font-size:.8rem;font-weight:500;background:#6b7f5c1f;color:var(--color-cafe);border:1px solid rgba(107,127,92,.25)}.estado-badge.abierto{background:#6b7f5c26;color:#3d5530;border-color:#6b7f5c66}.estado-badge.cerrado{background:#b85c511f;color:#8a3a30;border-color:#b85c514d}.estado-dot{width:8px;height:8px;border-radius:50%;background:var(--color-cafe-suave);flex-shrink:0}.estado-badge.abierto .estado-dot{background:#4a7c3a;box-shadow:0 0 #4a7c3a99;animation:pulso 2s infinite}.estado-badge.cerrado .estado-dot{background:#b85c51}@keyframes pulso{0%{box-shadow:0 0 #4a7c3a99}70%{box-shadow:0 0 0 8px #4a7c3a00}to{box-shadow:0 0 #4a7c3a00}}@media(max-width:768px){.nav-desktop,.estado-badge,.modo-badge{display:none}}.cabecera-carta{background:var(--color-cafe);padding-bottom:3rem}.cabecera-carta h1,.intro{color:var(--color-crema)}.seccion-eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:.8rem;color:var(--color-acento);margin-bottom:.5rem}.intro{max-width:60ch;font-size:1.05rem;margin-top:1rem}.modo-toggle{display:inline-flex;gap:.4rem;margin-top:1.5rem;background:#f5efe61a;border:1px solid rgba(245,239,230,.25);border-radius:999px;padding:.3rem}.modo-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.3rem;border-radius:999px;border:none;background:transparent;color:var(--color-crema);font-weight:600;font-size:.92rem;cursor:pointer;transition:background-color .2s ease,color .2s ease}.modo-btn svg{flex-shrink:0}.modo-btn.activo{background:var(--color-acento);color:var(--color-blanco)}.seccion.seccion-menu{padding-top:.5rem;padding-bottom:1rem;position:relative;background:#f0e8db}.menu-nav{position:sticky;top:72px;z-index:90;display:flex;gap:.6rem;flex-wrap:wrap;padding:1rem 0;background:var(--color-crema);border-bottom:1px solid var(--color-borde);margin-bottom:3rem}.menu-nav-link{padding:.45rem 1.1rem;border-radius:999px;background:var(--color-blanco);border:1px solid var(--color-borde);font-size:.85rem;font-weight:600;color:var(--color-cafe);white-space:nowrap;transition:all .2s ease}.menu-nav-link:hover{background:var(--color-cafe);color:var(--color-crema);border-color:var(--color-cafe);transform:translateY(-1px)}.menu-categoria{margin-bottom:4rem;scroll-margin-top:150px}.menu-categoria h2{display:flex;align-items:center;gap:.7rem;color:var(--color-cafe);margin-bottom:1.8rem}.menu-cat-num{font-family:var(--fuente-titulo);font-size:1.5rem;font-weight:600;color:var(--color-acento);flex-shrink:0}.productos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem 1.25rem}.producto-card{background:var(--color-blanco);border:1px solid var(--color-borde);border-radius:10px;padding:1.1rem 1.3rem;display:flex;flex-direction:column;gap:.8rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.producto-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #4a2e1f1a;border-color:var(--color-acento)}.producto-info h3{font-family:var(--fuente-cuerpo);font-size:1.02rem;color:var(--color-cafe)}.producto-info p{font-size:.85rem;margin-top:.2rem;line-height:1.5}.producto-precio{font-family:var(--fuente-titulo);font-weight:600;color:var(--color-acento);display:block;margin-top:.3rem}.stepper{display:flex;align-items:center;gap:.9rem;align-self:flex-start}.stepper-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--color-acento);background:var(--color-blanco);color:var(--color-acento);font-size:1.1rem;cursor:pointer;transition:background-color .15s ease,color .15s ease}.stepper-btn:hover{background:var(--color-acento);color:var(--color-blanco)}.stepper-cantidad{min-width:1.2rem;text-align:center;font-weight:600}.menu-cargando,.menu-vacio{text-align:center;padding:3rem 0;color:var(--color-cafe-suave)}.boton-carrito{position:relative;width:42px;height:42px;border-radius:50%;border:1px solid var(--color-borde);background:transparent;color:var(--color-cafe);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.boton-carrito:hover{background:#6b7f5c1a}.carrito-contador{position:absolute;top:-4px;right:-4px;background:var(--color-acento);color:var(--color-blanco);font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px}.overlay-carrito{position:fixed;inset:0;background:#2a1f1880;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:250}.overlay-carrito.visible{opacity:1;pointer-events:auto}.panel-carrito{position:fixed;top:0;right:0;bottom:0;width:min(380px,90vw);background:var(--color-crema);box-shadow:-8px 0 24px #00000026;z-index:260;transform:translate(100%);transition:transform .25s ease;display:flex;flex-direction:column}.panel-carrito.abierto{transform:translate(0)}.panel-carrito-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.4rem;border-bottom:1px solid var(--color-borde)}.cerrar-carrito{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--color-cafe)}.carrito-items{flex:1;overflow-y:auto;padding:1rem 1.4rem}.carrito-vacio{text-align:center;margin-top:2rem}.carrito-item{display:flex;align-items:center;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--color-borde);font-size:.9rem}.carrito-item-foto{width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0}.carrito-item-foto-placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-crema-suave);border:1px solid var(--color-borde);color:var(--color-cafe-suave);font-weight:600;font-size:.95rem}.carrito-item-info{display:flex;flex-direction:column;flex:1;min-width:0}.carrito-item-nombre{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.carrito-item-precio{color:var(--color-cafe-suave);font-size:.82rem}.carrito-quitar{background:none;border:none;color:var(--color-cafe-suave);cursor:pointer;flex-shrink:0}.carrito-footer{padding:1.2rem 1.4rem;border-top:1px solid var(--color-borde)}.carrito-total{display:flex;justify-content:space-between;font-weight:600;margin-bottom:1rem;font-family:var(--fuente-titulo)}.carrito-enviar{display:block;width:100%;text-align:center}.whatsapp-flotante{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background-color:#25d366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;z-index:200;transition:transform .2s ease}.whatsapp-flotante:hover{transform:scale(1.1);color:#fff}@media(max-width:700px){.productos-grid{grid-template-columns:1fr}}.marco-arriba{position:sticky;top:76px;height:0;pointer-events:none;z-index:5}.marco-abajo{position:sticky;bottom:4px;height:0;pointer-events:none;z-index:5}.esquina{position:absolute;width:34px;height:34px}.esquina-tl{top:0;left:4px;border-top:2px solid var(--color-acento);border-left:2px solid var(--color-acento)}.esquina-tr{top:0;right:4px;border-top:2px solid var(--color-acento);border-right:2px solid var(--color-acento)}.esquina-bl{bottom:0;left:4px;border-bottom:2px solid var(--color-acento);border-left:2px solid var(--color-acento)}.esquina-br{bottom:0;right:4px;border-bottom:2px solid var(--color-acento);border-right:2px solid var(--color-acento)}
