/*
 * Novopiel — tarjeta digital.
 *
 * Habla el MISMO idioma que el sitio nuevo del cliente
 * (sessions/novopiel-web/tema): papel blanco cálido, acento rosa #A55575,
 * tipografía Archivo (títulos) + Roboto (texto). No es un diseño inventado —
 * son los tokens de su style.css llevados al formato tarjeta.
 *
 * Prefijo .np-card: la hoja comparte <head> con el preflight de Tailwind y con
 * las demás tarjetas.
 */

.np-card{
  --tinta:#1A1A19; --tinta-2:#4A4A47; --tenue:#6A6A66;
  --papel:#FFFFFF; --papel-2:#FBF9F7; --papel-3:#F4F1ED;
  --linea:#E8E4DE; --linea-2:#D2CCC3;
  --rosa:#A55575; --rosa-tinte:#FAF3F6; --rosa-hondo:#8A4260;
  --titulo:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --texto:"Roboto",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;

  width:100%;max-width:460px;margin:0 auto;background:var(--papel);color:var(--tinta);
  font-family:var(--texto);font-size:16px;line-height:1.6;position:relative;overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
.np-card *{margin:0;box-sizing:border-box}
.np-card img{display:block;max-width:100%;height:auto}
.np-card a{text-decoration:none;color:inherit}
.np-card button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.np-card h1,.np-card h2,.np-card h3{font-family:var(--titulo);font-weight:600;
  letter-spacing:-.028em;line-height:1.12;text-wrap:balance}

.np-card .etq{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rosa);display:block}

.np-card .btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  font-family:var(--texto);font-weight:500;font-size:14.5px;letter-spacing:.03em;
  padding:16px 24px;border:1px solid transparent;text-align:center;
  transition:background .22s,color .22s,border-color .22s,transform .18s}
.np-card .btn:active{transform:translateY(1px)}
.np-card .btn-tinta{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.np-card .btn-tinta:hover{background:var(--rosa);border-color:var(--rosa)}
.np-card .btn-linea{background:transparent;color:var(--tinta);border-color:var(--linea-2)}
.np-card .btn-linea:hover{border-color:var(--tinta);background:var(--papel-3)}
.np-card .btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}

/* Revelado al entrar en pantalla */
.np-card .rv{opacity:0;transform:translateY(20px);
  transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.np-card .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.np-card .rv{opacity:1;transform:none;transition:none}}

/* ---------- HERO ---------- */
/* El hero llena la pantalla en movil: topbar + imagen 4:3 completa + el
   bloque de texto/CTAs centrado en el espacio restante (sin bandas). */
.np-card .hero{position:relative;min-height:100svh;display:flex;flex-direction:column}
.np-card .topbar{display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px 0}
.np-card .mark{width:150px;height:auto}
.np-card .lang{border:1px solid var(--linea-2);border-radius:30px;color:var(--tinta-2);
  font-size:10.5px;letter-spacing:.14em;padding:7px 13px;transition:.2s}
.np-card .lang:hover{color:var(--rosa);border-color:var(--rosa)}

/* La foto va tal cual sobre el MISMO gradiente que su fondo compuesto
   (#F8F5F0 arriba, #F0E9E1 abajo): object-fit:contain no deja bandas. */
/* 3/2 y no 4/3: con 4/3 el primer boton terminaba en y=758, muy por debajo
   del doblez de un telefono de 812 con barra. La foto usa object-fit:contain,
   asi que acortar la caja NO recorta el producto — solo lo escala. Junto con el
   respiro recortado abajo, el bloque sube ~63px. Medido en el navegador. */
/* La caja copia el 4:3 nativo de la foto: contain la llena de borde a borde,
   sin bandas ni recuadro, y el producto se ve a tamaño natural. max-height
   solo frena telefonos anchos. */
.np-card .hero-gama{margin-top:6px;aspect-ratio:4/3;max-height:300px;
  background:linear-gradient(180deg,#F8F5F0 0%,#F0E9E1 100%)}
.np-card .hero-gama img{width:100%;height:100%;object-fit:contain;object-position:center bottom;
  animation:npRise 1.1s .05s cubic-bezier(.2,.7,.2,1) both}
@keyframes npRise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

.np-card .hero-txt{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;
  padding:20px 24px 28px;border-bottom:1px solid var(--linea)}
.np-card .hero-txt .etq{margin-bottom:9px}
.np-card .hero h1{font-size:clamp(27px,7.4vw,34px);line-height:1.06;letter-spacing:-.035em}
.np-card .hero h1 em{font-style:normal;color:var(--rosa)}
.np-card .lede{margin-top:10px;font-size:14.5px;line-height:1.5;color:var(--tinta-2)}
.np-card .hero-cta{margin-top:16px;display:flex;flex-direction:column;gap:10px}

/* ---------- GARANTÍAS ---------- */
.np-card .garantias{background:var(--papel-2);border-bottom:1px solid var(--linea);
  padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
.np-card .gar{display:grid;grid-template-columns:auto 1fr;column-gap:11px;align-items:start}
.np-card .gar svg{width:20px;height:20px;grid-row:1/3;color:var(--rosa);margin-top:2px;
  fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.np-card .gar b{font-family:var(--titulo);font-weight:600;font-size:13px;line-height:1.25}
.np-card .gar small{font-size:11.5px;color:var(--tenue);line-height:1.3}

/* ---------- SECCIONES ---------- */
.np-card section{padding:52px 24px}
.np-card .sec-cab{margin-bottom:26px}
.np-card .sec-cab .etq{margin-bottom:12px}
.np-card .h2{font-size:26px;line-height:1.1;letter-spacing:-.03em}
.np-card .sec-sub{margin-top:12px;font-size:14.5px;line-height:1.6;color:var(--tinta-2)}

/* ---------- FICHAS DE PRODUCTO ---------- */
.np-card .rejilla{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.np-card .ficha{display:flex;flex-direction:column;background:var(--papel);
  border:1px solid var(--linea);overflow:hidden;text-align:left;
  transition:border-color .25s,box-shadow .25s,transform .25s}
.np-card .ficha:hover{border-color:var(--linea-2);box-shadow:0 14px 34px rgba(26,26,25,.1);
  transform:translateY(-3px)}
.np-card .ficha-img{display:block;aspect-ratio:1;overflow:hidden;background:var(--papel-3);width:100%}
.np-card .ficha-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.np-card .ficha:hover .ficha-img img{transform:scale(1.05)}
.np-card .ficha-txt{padding:16px 16px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.np-card .ficha-txt h3{font-size:15px;line-height:1.25}
.np-card .ficha-txt p{font-size:12px;line-height:1.55;color:var(--tenue)}

.np-card .rejilla-cta{margin-top:22px}

/* ---------- POR QUÉ EXISTE ---------- */
.np-card .franja{background:var(--rosa-tinte);border-top:1px solid var(--linea)}
.np-card .why{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.np-card .why-item{padding:22px 0;border-top:1px solid rgba(165,85,117,.16)}
.np-card .why-item:first-child{border-top:0}
.np-card .why-item b{display:block;font-family:var(--titulo);font-weight:600;font-size:16px}
.np-card .why-item p{margin-top:8px;font-size:13.5px;line-height:1.7;color:var(--tinta-2)}

/* ---------- CONTACTO ---------- */
.np-card .rows{display:flex;flex-direction:column;margin-top:6px}
.np-card .r{display:flex;align-items:center;gap:15px;padding:17px 2px;
  border-top:1px solid var(--linea)}
.np-card .r:last-child{border-bottom:1px solid var(--linea)}
.np-card .r .ic{width:40px;height:40px;flex:0 0 40px;border:1px solid var(--linea);
  border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--rosa)}
.np-card .r .ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.np-card .r .m{display:flex;flex-direction:column}
.np-card .r .m b{font-size:15px;font-weight:500;font-family:var(--titulo);letter-spacing:-.01em}
.np-card .r .m span{font-size:12px;color:var(--tenue);margin-top:2px}

/* ---------- PIE ---------- */
.np-card footer{padding:40px 24px 42px;text-align:center;background:var(--papel-2);
  border-top:1px solid var(--linea)}
.np-card footer .mono{width:42px;height:42px;margin:0 auto;border-radius:50%}
.np-card footer .fn{margin-top:16px;font-family:var(--titulo);font-weight:600;
  font-size:13px;letter-spacing:.02em}
.np-card footer .meta{margin-top:7px;font-size:11px;letter-spacing:.14em;color:var(--tenue);text-transform:uppercase}
.np-card footer .share{margin-top:20px;color:var(--tinta-2);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;border-bottom:1px solid var(--linea-2);padding-bottom:4px;transition:.2s}
.np-card footer .share:hover{color:var(--rosa);border-color:var(--rosa)}

.np-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:60;
  background:var(--tinta);color:#fff;font-family:var(--texto);font-size:12px;
  letter-spacing:.08em;padding:13px 22px}
