/* Nidamor Kids · tienda: aviso superior, carrito, tarjetas de producto, ficha y finalizar pedido.
   Usa los colores y tipografías de styles.css. */

.sin-scroll{overflow:hidden}
mark.pd{background:#FFF1A8;color:var(--tinta);padding:0 .25em;border-radius:4px;font-weight:700}

/* Aviso superior */
.aviso-tienda{background:var(--salvia-oscuro);color:var(--marfil);font-size:.78rem;font-weight:600;letter-spacing:.04em}
.aviso-tienda .wrap{display:flex;justify-content:center;gap:28px;padding-block:8px;white-space:nowrap;overflow:hidden}
.aviso-tienda span{display:inline-flex;align-items:center;gap:8px}
.aviso-tienda span + span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--durazno);margin-right:20px}
@media (max-width:720px){.aviso-tienda span:nth-child(n+2){display:none}}

/* Botón del carrito en la cabecera */
.top-acciones{display:flex;align-items:center;gap:8px;order:2}
.carrito-btn{position:relative;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--salvia-oscuro);cursor:pointer;display:grid;place-items:center;transition:background .2s}
.carrito-btn:hover{background:var(--salvia-velo)}
.carrito-btn svg{width:24px;height:24px}
.carrito-n{position:absolute;top:3px;right:2px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--durazno);color:var(--tinta);font-size:.7rem;font-weight:800;display:grid;place-items:center;line-height:1}
.carrito-n.salta{animation:salta .5s}
@keyframes salta{40%{transform:scale(1.35)}}
@media (min-width:861px){
  .top .wrap{gap:28px}
  .top nav{order:1;margin-left:auto}
}

/* Cajón del carrito */
.cajon{position:fixed;inset:0;z-index:50}
.cajon-fondo{position:absolute;inset:0;background:rgba(47,50,39,.45);opacity:0;transition:opacity .28s}
.cajon-panel{position:absolute;top:0;right:0;bottom:0;width:min(420px, 100%);background:var(--marfil);display:grid;grid-template-rows:auto 1fr auto;transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 40px -30px rgba(47,50,39,.6);padding-bottom:env(safe-area-inset-bottom,0px)}
.cajon.abierto .cajon-fondo{opacity:1}
.cajon.abierto .cajon-panel{transform:none}
.cajon-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--linea)}
.cajon-head h2{font-size:1.5rem}
.cerrar{width:40px;height:40px;border:0;border-radius:10px;background:var(--salvia-velo);color:var(--salvia-oscuro);font-size:1.6rem;line-height:1;cursor:pointer}
.cajon-lista{overflow:auto;padding:8px 22px}
.cajon-pie{display:grid;gap:10px;padding:18px 22px;border-top:1px solid var(--linea);background:var(--papel)}
.cajon-pie:empty{display:none}
.cajon-pie small{color:var(--tinta-suave);font-size:.82rem}
.vacio{display:grid;gap:16px;justify-items:start;padding:28px 0;color:var(--tinta-suave)}
.subtotal{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.subtotal b{font-family:var(--font-display);font-weight:500;font-size:1.3rem;color:var(--salvia-oscuro)}
@media (prefers-reduced-motion:reduce){.cajon-panel,.cajon-fondo{transition:none}}

/* Línea de producto (cajón y resumen) */
.linea{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--linea)}
.linea:last-of-type{border-bottom:0}
.linea-foto img{width:76px;height:95px;object-fit:cover;border-radius:10px;display:block;background:var(--papel)}
.linea-info{display:grid;gap:8px;min-width:0}
.linea-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.linea-top a{text-decoration:none;color:var(--salvia-oscuro);line-height:1.3}
.linea-precio{font-size:.88rem;color:var(--tinta-suave);white-space:nowrap}
.linea-ops{list-style:none;margin:0;padding:0;font-size:.82rem;color:var(--tinta-suave);display:grid;gap:2px}
.linea-ops li{overflow-wrap:anywhere}
.linea-ops span{font-weight:700;color:var(--salvia-oscuro)}
.linea-acc{display:flex;align-items:center;justify-content:space-between;gap:10px}
.linea-cant{font-size:.85rem;color:var(--tinta-suave)}
.quitar{border:0;background:none;color:var(--tinta-suave);font-size:.85rem;text-decoration:underline;cursor:pointer;padding:4px}
.cant{display:inline-flex;align-items:center;border:1.5px solid var(--linea);border-radius:999px;background:#fff}
.cant button{width:36px;height:36px;border:0;background:none;font-size:1.15rem;color:var(--salvia-oscuro);cursor:pointer;border-radius:999px}
.cant button:hover{background:var(--salvia-velo)}
.cant span{min-width:24px;text-align:center;font-weight:700}

/* Encabezado de página interior */
.pag-head{padding-block:clamp(36px, 6vw, 64px) clamp(24px, 4vw, 36px);background:linear-gradient(180deg, var(--marfil) 0%, #FBF4EE 100%)}
.pag-head .wrap{display:grid;gap:12px}
.pag-head h1{font-size:clamp(2.2rem, 5vw, 3.4rem)}

/* Filtros */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}

/* Grilla de tarjetas */
.grilla{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:clamp(18px, 2.5vw, 28px)}
@media (max-width:1000px){.grilla{grid-template-columns:repeat(2, minmax(0,1fr))}}
@media (max-width:560px){.grilla{grid-template-columns:1fr}}
.tarjeta{display:grid;grid-template-rows:auto 1fr;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;transition:transform .3s, box-shadow .3s}
.tarjeta:hover{transform:translateY(-4px);box-shadow:0 24px 40px -30px rgba(70,74,50,.55)}
.tarjeta-foto{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--papel)}
.tarjeta-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease, opacity .45s ease}
.tarjeta-foto .alterna{opacity:0}
.tarjeta:hover .tarjeta-foto img{transform:scale(1.04)}
.tarjeta:hover .tarjeta-foto .alterna{opacity:1}
/* Foto horizontal entera sobre un fondo difuminado de la misma foto */
.tarjeta-foto .fondo,.galeria-principal .fondo{filter:blur(22px) saturate(1.1);transform:scale(1.2);opacity:.85}
.tarjeta-foto .entera,.tarjeta:hover .tarjeta-foto .entera{object-fit:contain;transform:none}
.tarjeta:hover .tarjeta-foto .fondo{transform:scale(1.2)}
/* Conjunto: marco y caja lado a lado */
.tarjeta-foto.doble img{width:50%}
.tarjeta-foto.doble .segunda{left:50%;border-left:3px solid var(--marfil)}
.tarjeta-foto.doble::after{content:"+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:var(--marfil);color:var(--salvia-oscuro);font:500 1.6rem/40px var(--font-display);text-align:center;box-shadow:0 6px 16px -8px rgba(47,50,39,.5)}
.sello{position:absolute;left:14px;top:14px;background:rgba(254,251,244,.94);color:var(--salvia-oscuro);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .75rem;border-radius:999px}
.tarjeta-info{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px}
.tarjeta-info .tarjeta-pie{margin-top:auto}
.tarjeta-info p{margin-bottom:8px}
.tarjeta-tipo{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--salvia-claro)}
.tarjeta h3 a{text-decoration:none}
.tarjeta h3 a:hover{text-decoration:underline;text-decoration-color:var(--durazno);text-underline-offset:4px}
.tarjeta-info p{color:var(--tinta-suave);font-size:.95rem}
.tarjeta-pie{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;border-top:1px dashed var(--linea)}
.tarjeta-pie .btn{padding:.7rem 1.2rem;font-size:.92rem}
.precio{font-family:var(--font-display);font-size:1.25rem;color:var(--salvia-oscuro)}
.precio.sin{font-family:var(--font-body);font-size:.9rem;font-weight:700;color:var(--tinta-suave);background:var(--papel);padding:.3rem .7rem;border-radius:999px}
.precio.grande{font-size:1.7rem}
.precio-grupo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0}
.ahorro{font-size:.74rem;font-weight:800;letter-spacing:.04em;color:var(--tinta);background:var(--durazno-suave);padding:.28rem .65rem;border-radius:999px;white-space:nowrap}
.precio.grande.sin{font-size:.95rem;justify-self:start}

/* Franja de confianza */
.confianza{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:18px}
@media (max-width:900px){.confianza{grid-template-columns:repeat(2, minmax(0,1fr))}}
.confianza div{display:grid;gap:6px;padding:20px;border-radius:var(--radio);background:var(--marfil)}
.confianza svg{width:30px;height:30px}
.confianza b{color:var(--salvia-oscuro);font-family:var(--font-display);font-weight:400;font-size:1.1rem}
.confianza p{font-size:.9rem;color:var(--tinta-suave)}

/* Llamado al simulador */
.llamado{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-top:clamp(28px, 4vw, 44px);padding:clamp(22px, 3vw, 32px);border-radius:var(--radio);background:var(--salvia-oscuro);color:var(--marfil)}
.llamado h2{color:var(--marfil);font-size:clamp(1.5rem, 3vw, 2rem)}
.llamado p{opacity:.85}
@media (max-width:640px){.llamado{grid-template-columns:1fr}.llamado .btn{width:100%}}

/* Ficha de producto */
.migas{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;color:var(--tinta-suave);padding-block:20px}
.migas a{text-decoration:none}
.migas a:hover{text-decoration:underline}
.ficha{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px, 5vw, 64px);align-items:start;padding-bottom:clamp(56px, 8vw, 96px)}
@media (max-width:880px){.ficha{grid-template-columns:1fr}}
.galeria{display:grid;gap:12px;position:sticky;top:96px}
@media (max-width:880px){.galeria{position:static}}
.galeria-principal{position:relative;border-radius:var(--radio);overflow:hidden;background:var(--papel);aspect-ratio:4/5}
.galeria-principal img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.miniaturas{display:flex;gap:10px}
.miniaturas button{width:72px;height:90px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;background:var(--papel)}
.miniaturas button[aria-pressed="true"]{border-color:var(--salvia-oscuro)}
.miniaturas img{width:100%;height:100%;object-fit:cover;display:block}
.nota-foto{font-size:.82rem;color:var(--tinta-suave)}
.ficha-info{display:grid;gap:16px;min-width:0}
.ficha-info h1{font-size:clamp(2rem, 4vw, 2.8rem)}

/* Formulario de personalización: sin la tarjeta del formulario general */
form.personalizar{background:none;border:0;padding:20px 0 0;border-top:1px solid var(--linea);grid-template-columns:1fr;gap:16px;border-radius:0}
.form-titulo{font-size:1.35rem}
.ayuda{font-size:.8rem;color:var(--tinta-suave)}
.opc{font-weight:400}
.simulador{font-size:.92rem;color:var(--tinta-suave);background:var(--durazno-suave);border-radius:12px;padding:12px 14px}
.simulador a{font-weight:700;color:var(--salvia-oscuro)}
.comprar{display:flex;gap:12px;align-items:stretch}
.comprar .cant{flex:none}
.comprar .btn{flex:1}
.consulta{justify-self:center;font-size:.9rem;font-weight:600;color:var(--salvia-oscuro)}
.garantias{list-style:none;margin:0;padding:16px 18px;border-radius:14px;background:var(--salvia-velo);display:grid;gap:8px;font-size:.92rem;color:var(--salvia-oscuro);font-weight:600}
.garantias li{display:grid;grid-template-columns:18px 1fr;gap:8px}
.garantias li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--durazno);margin-top:.55em}
.incluye,.mini-pasos{margin:0;padding:0 22px 20px 42px;color:var(--tinta-suave);display:grid;gap:6px}
.mini-pasos b{color:var(--salvia-oscuro)}
details p + p{margin-top:-8px}
.relacionados{padding-bottom:clamp(56px, 8vw, 96px);display:grid;gap:24px}
.relacionados h2{font-size:clamp(1.6rem, 3vw, 2.1rem)}
.relacionados .grilla{grid-template-columns:repeat(3, minmax(0,1fr))}
@media (max-width:1000px){.relacionados .grilla{grid-template-columns:repeat(2, minmax(0,1fr))}}
@media (max-width:560px){.relacionados .grilla{grid-template-columns:1fr}}

/* Finalizar pedido */
.checkout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px, 4vw, 48px);align-items:start;padding-bottom:clamp(56px, 8vw, 96px)}
@media (max-width:880px){.checkout{grid-template-columns:1fr}.resumen-caja{order:-1}}
.checkout form h2,.resumen-caja h2{font-size:1.4rem;grid-column:1 / -1}
.resumen-caja{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:clamp(20px, 3vw, 28px);display:grid;gap:8px;position:sticky;top:96px}
@media (max-width:880px){.resumen-caja{position:static}}
.resumen-caja .subtotal{padding-top:14px;border-top:1px solid var(--linea)}
.pago{grid-column:1 / -1;display:grid;gap:6px;padding:14px 16px;border-radius:12px;background:var(--papel);font-size:.9rem;color:var(--tinta-suave)}
.pago b{color:var(--salvia-oscuro)}
.vaciar{justify-self:start;border:0;background:none;color:var(--tinta-suave);text-decoration:underline;cursor:pointer;font-size:.85rem;padding:0}
.checkout-vacio{display:grid;gap:18px;justify-items:start;padding-bottom:clamp(56px, 8vw, 96px)}

/* Ficha: lo que incluye, a la vista, y aviso de la pantalla */
.incluye-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.incluye-lista li{display:grid;grid-template-columns:22px 1fr;gap:8px;color:var(--tinta-suave);font-size:.95rem}
.incluye-lista li::before{content:"";width:16px;height:16px;margin-top:.2em;border-radius:50%;background:var(--salvia-velo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5' fill='none' stroke='%23626950' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.pantalla-info{font-size:.92rem;color:var(--tinta-suave);background:var(--salvia-velo);border-radius:12px;padding:12px 14px;line-height:1.55}
.pantalla-info b{color:var(--salvia-oscuro)}

/* Portada: grilla de productos */
.ver-todo{display:flex;justify-content:center;margin-top:clamp(24px, 4vw, 40px)}

/* Diseñador: la pantalla trae video y fotos */
.pant-nota{margin:2px 0 10px;font-size:.92rem;color:var(--tinta-suave);line-height:1.5}

/* Pago con Mercado Pago */
.pago-error{grid-column:1 / -1;display:grid;gap:8px;justify-items:start;padding:14px 16px;border-radius:12px;background:var(--durazno-suave);font-size:.92rem;color:var(--tinta)}
.resultado{display:grid;gap:12px;justify-items:start;margin-bottom:clamp(28px, 4vw, 44px);padding:clamp(20px, 3vw, 32px);border-radius:var(--radio);background:var(--salvia-velo);border:1px solid var(--linea)}
.resultado h2{font-size:clamp(1.4rem, 3vw, 1.8rem);color:var(--salvia-oscuro);margin:0}
.resultado p{margin:0;max-width:60ch;color:var(--tinta-suave)}
.resultado .acciones{display:flex;flex-wrap:wrap;gap:10px}
#pagar:disabled{opacity:.7;cursor:progress}

/* Despacho, cambios y devoluciones */
.politicas{max-width:780px;padding-bottom:clamp(56px, 8vw, 96px)}
.politicas h1{margin-bottom:12px}
.politicas section{padding-top:clamp(24px, 4vw, 36px);scroll-margin-top:90px}
.politicas section h2{font-size:clamp(1.3rem, 2.6vw, 1.6rem);margin-bottom:10px}
.politicas section p,.politicas section li{color:var(--tinta-suave);line-height:1.65}
.politicas section ul{padding-left:1.2em;display:grid;gap:8px;margin:0}
.politicas section b{color:var(--tinta)}
.politicas .indice{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.politicas .indice a{font-size:.88rem;padding:6px 12px;border-radius:999px;background:var(--salvia-velo);color:var(--salvia-oscuro);text-decoration:none}
.politicas .llamado{margin-top:clamp(36px, 5vw, 56px)}

/* Finalizar pedido: entrega y aceptación */
.entrega{border:0;margin:0;padding:0;display:grid;gap:10px;min-width:0}
.entrega legend{font-weight:700;font-size:.9rem;color:var(--tinta);margin-bottom:8px;padding:0}
.entrega-op{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;padding:12px 14px;border:1px solid var(--linea);border-radius:12px;background:#fff;cursor:pointer}
.entrega-op:has(input:checked){border-color:var(--salvia-claro);background:var(--salvia-velo)}
.entrega-op input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--salvia-oscuro)}
.entrega-op span{display:grid;gap:2px}
.entrega-op small{color:var(--tinta-suave);font-size:.86rem;line-height:1.5}
.acepto{grid-column:1 / -1;display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:.88rem;color:var(--tinta-suave);line-height:1.55;cursor:pointer}
.acepto input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--salvia-oscuro)}
.acepto a{color:var(--salvia-oscuro)}
.entrega-op small,.acepto span{font-weight:400}
.entrega-op b{font-weight:700}

/* Página no encontrada */
.no-encontrada{padding-top:clamp(40px, 7vw, 80px);padding-bottom:clamp(56px, 8vw, 96px)}
.no-encontrada .acciones{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 clamp(36px, 5vw, 56px)}
