/* Libros Restauración · Colección de 14 libros
   Colores y letra de la marca (iguales a la lámina, el volante y el roll-up). */

:root {
  --negro: #0B0B0B;
  --texto: #141414;
  --dorado: #E8B32B;
  --dorado-claro: #F2C24A;
  --dorado-oscuro: #8A6200;
  --gris-banda: #F4F4F4;
  --borde: #D9D9D9;
  --linea: #E2E2E2;
  --blanco: #FFFFFF;
  --gris-texto: #4A4A4A;
  --gris-claro: #BDBDBD;
  --ancho: 1120px;
}

@font-face { font-family: 'Poppins'; font-weight: 400; font-style: normal; font-display: swap; src: url(fuentes/poppins-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'Poppins'; font-weight: 600; font-style: normal; font-display: swap; src: url(fuentes/poppins-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'Poppins'; font-weight: 700; font-style: normal; font-display: swap; src: url(fuentes/poppins-latin-700-normal.woff2) format('woff2'); }
@font-face { font-family: 'Poppins'; font-weight: 800; font-style: normal; font-display: swap; src: url(fuentes/poppins-latin-800-normal.woff2) format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-weight: 400; font-style: italic; font-display: swap; src: url(fuentes/playfair-display-latin-400-italic.woff2) format('woff2'); }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--texto);
  background: var(--blanco);
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3 { margin: 0; font-weight: 800; line-height: 1.08; letter-spacing: -0.02em; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; }
[hidden] { display: none !important; }
.tel { white-space: nowrap; }

.contenedor { width: 100%; max-width: var(--ancho); margin: 0 auto; padding: 0 16px; }
@media (min-width: 720px) { .contenedor { padding: 0 32px; } }

.saltar { position: absolute; left: -9999px; top: 8px; z-index: 100; padding: 10px 14px; border-radius: 6px; background: var(--dorado); color: var(--negro); font-weight: 700; text-decoration: none; }
.saltar:focus { left: 8px; }

:focus-visible { outline: 3px solid var(--dorado); outline-offset: 3px; }

/* ---------- Encabezado ---------- */
.encabezado { background: var(--negro); color: var(--blanco); border-bottom: 1px solid #1E1E1E; }
.encabezado .contenedor { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 68px; }
.marca { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.marca img { width: 44px; height: 44px; }
.marca-nombre { display: block; font-weight: 700; font-size: 1rem; line-height: 1.15; }
.marca-lema { display: block; font-weight: 500; font-size: 0.8125rem; line-height: 1.25; color: var(--dorado); }

.pastilla {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 44px; padding: 8px 16px;
  border: 1.5px solid var(--dorado); border-radius: 999px;
  color: var(--dorado); font-weight: 600; font-size: 0.875rem; text-decoration: none; white-space: nowrap;
}
.pastilla svg { width: 18px; height: 18px; flex: none; }
.pastilla:hover { background: var(--dorado); color: var(--negro); }
@media (max-width: 479px) {
  .pastilla { width: 44px; padding: 0; justify-content: center; }
  .pastilla-texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pastilla svg { width: 20px; height: 20px; }
}

/* ---------- Inicio (la portada de la página) ---------- */
.inicio { background: var(--negro); color: var(--blanco); padding: 28px 0 44px; }
.inicio .contenedor {
  display: grid; grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "texto" "caja" "compra";
  gap: 28px;
}
.inicio-texto { grid-area: texto; }
.caja { grid-area: caja; margin: 0; }
.compra { grid-area: compra; }

@media (min-width: 960px) {
  .inicio { padding: 64px 0 80px; }
  .inicio .contenedor {
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    grid-template-rows: auto 1fr;
    grid-template-areas: "texto caja" "compra caja";
    column-gap: 64px; row-gap: 36px;
    align-items: start;
  }
}

.etiqueta { margin-bottom: 14px; color: var(--dorado); font-weight: 600; font-size: 0.8125rem; letter-spacing: 0.16em; text-transform: uppercase; }
.inicio h1 { font-size: clamp(2.375rem, 9.6vw, 4rem); line-height: 1.02; letter-spacing: -0.03em; text-wrap: balance; }
.entrada { margin-top: 18px; max-width: 36rem; font-size: 1.125rem; line-height: 1.55; color: #E9E9E9; }
.envios { display: flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--dorado); font-weight: 600; font-size: 0.9375rem; }
.envios svg { width: 22px; height: 22px; flex: none; }

/* La cuadrícula de portadas: el mismo orden y la misma ficha dorada del volante */
.cuadricula { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 560px) { .cuadricula { gap: 12px; } }
.cuadricula li { position: relative; }
.cuadricula img { width: 100%; aspect-ratio: 300 / 438; object-fit: cover; border-radius: 3px; border: 1px solid #2B2B2B; background: #1A1A1A; }
.ficha-precio {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  aspect-ratio: 300 / 438; padding: 4px; border-radius: 6px;
  background: var(--dorado); color: var(--negro); text-align: center; line-height: 1.1;
}
.ficha-precio span { font-weight: 700; font-size: clamp(0.625rem, 2.6vw, 1rem); }
.ficha-precio strong { margin: 1px 0 3px; font-weight: 800; font-size: clamp(1rem, 5.4vw, 2rem); letter-spacing: -0.03em; }
.ficha-precio s { margin-top: 3px; font-weight: 700; font-size: clamp(0.5625rem, 2.3vw, 0.9375rem); line-height: 1; color: rgba(11, 11, 11, 0.7); text-decoration-thickness: 1.5px; }
@media (min-width: 960px) {
  .ficha-precio span { font-size: 0.875rem; }
  .ficha-precio strong { font-size: 1.75rem; }
}

.precio { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.precio-cifra { font-size: clamp(2.75rem, 11vw, 3.75rem); font-weight: 800; line-height: 1; letter-spacing: -0.03em; color: var(--dorado); }
.precio-detalle { font-weight: 600; font-size: 1.0625rem; }
.leyenda { margin-top: 12px; font-size: 0.8125rem; color: #9C9C9C; }

/* Promoción: el precio normal tachado (Q1,000) es el del paquete de 14 libros + Santa Biblia de lujo */
.lector { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.oferta { display: inline-block; margin-bottom: 12px; padding: 5px 12px; border-radius: 999px; background: var(--dorado); color: var(--negro); font-weight: 700; font-size: 0.875rem; line-height: 1.25; }
.precio-antes { font-size: clamp(1.25rem, 5.2vw, 1.75rem); font-weight: 600; line-height: 1; color: #A8A8A8; text-decoration-thickness: 2px; }

/* ---------- Botón de WhatsApp ---------- */
.boton {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 56px; padding: 14px 28px;
  border-radius: 999px; background: var(--dorado); color: var(--negro);
  font-weight: 700; font-size: 1.0625rem; line-height: 1.2; text-decoration: none;
}
.boton svg { width: 22px; height: 22px; flex: none; }
.boton:hover { background: var(--dorado-claro); }
.boton:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--blanco), 0 0 0 6px var(--negro); }
.compra .boton { width: 100%; max-width: 420px; margin-top: 18px; }

/* ---------- Secciones ---------- */
.seccion { padding: 56px 0; }
@media (min-width: 960px) { .seccion { padding: 88px 0; } }
.seccion h2 { font-size: clamp(1.875rem, 6.4vw, 2.75rem); text-wrap: balance; }
.intro { margin-top: 12px; max-width: 40rem; color: var(--gris-texto); }

/* Lo que trae cada libro */
.grupos { list-style: none; max-width: 880px; margin-top: 32px; }
.grupo { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 20px; padding: 24px 0; border-top: 1px solid var(--linea); }
.grupo:last-child { border-bottom: 1px solid var(--linea); }
.grupo h3 { font-size: 1.1875rem; line-height: 1.3; letter-spacing: -0.01em; }
.grupo p { margin-top: 6px; color: #2E2E2E; }
.cuantos {
  display: inline-block; margin-left: 4px; padding: 1px 9px; border-radius: 999px;
  background: #FFF3D1; color: var(--dorado-oscuro);
  font-size: 0.8125rem; font-weight: 600; letter-spacing: 0; vertical-align: 2px; white-space: nowrap;
}
@media (max-width: 359px) { .cuantos { white-space: normal; } } /* «7 lecciones de evangelismo» no cabe en 320 px */
.titulos { font-size: 0.875rem; color: #666666 !important; }

.pila { position: relative; height: 94px; }
.pila img { position: absolute; top: 0; left: 0; width: 64px; border-radius: 3px; border: 1px solid var(--borde); box-shadow: 3px 0 8px rgba(0, 0, 0, 0.18); }
.pila-5 img:nth-child(2) { left: 14px; }
.pila-5 img:nth-child(3) { left: 28px; }
.pila-5 img:nth-child(4) { left: 42px; }
.pila-5 img:nth-child(5) { left: 56px; }
.pila-3 img:nth-child(2) { left: 24px; }
.pila-3 img:nth-child(3) { left: 48px; }
@media (max-width: 420px) {
  .grupo { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; }
  .pila { height: 76px; }
  .pila img { width: 52px; }
  .pila-5 img:nth-child(2) { left: 10px; }
  .pila-5 img:nth-child(3) { left: 20px; }
  .pila-5 img:nth-child(4) { left: 30px; }
  .pila-5 img:nth-child(5) { left: 40px; }
  .pila-3 img:nth-child(2) { left: 18px; }
  .pila-3 img:nth-child(3) { left: 36px; }
}

details.mas { margin-top: 10px; }
details.mas summary {
  display: inline-flex; align-items: center; gap: 6px; min-height: 32px;
  cursor: pointer; list-style: none; color: var(--dorado-oscuro); font-weight: 600; font-size: 0.9375rem;
}
details.mas summary::-webkit-details-marker { display: none; }
details.mas summary::before { content: "+"; display: inline-block; width: 1em; font-weight: 700; }
details.mas[open] summary::before { content: "−"; }
details.mas ul { margin-top: 8px; padding-left: 1.15em; font-size: 0.9375rem; color: #2E2E2E; }
details.mas li { margin: 4px 0; }

/* Versículo */
.versiculo { background: var(--negro); color: var(--blanco); }
.versiculo h2 { max-width: 16ch; }
.versiculo blockquote { max-width: 34rem; margin: 28px 0 0; padding-left: 22px; border-left: 3px solid var(--dorado); }
.versiculo blockquote p { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif; font-style: italic; font-size: clamp(1.375rem, 4.6vw, 1.875rem); line-height: 1.45; color: #F1F1F1; }
.versiculo cite { display: block; margin-top: 12px; font-style: normal; font-weight: 600; font-size: 0.9375rem; color: var(--dorado); }

/* Cómo pedir: es una secuencia, por eso va numerada */
.pasos ol { list-style: none; counter-reset: paso; display: grid; gap: 22px; max-width: 720px; margin-top: 30px; }
.pasos li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; align-items: start; counter-increment: paso; }
.pasos li::before {
  content: counter(paso);
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--dorado); color: var(--negro); font-weight: 800; font-size: 1.125rem;
}
.pasos strong { display: block; font-weight: 700; font-size: 1.125rem; line-height: 1.3; padding-top: 9px; }
.pasos li div > span { display: block; margin-top: 4px; color: #3A3A3A; }
.pasos .boton { margin-top: 32px; }

/* Preguntas frecuentes */
.preguntas { background: var(--gris-banda); }
.lista-preguntas { max-width: 820px; margin-top: 24px; }
.lista-preguntas details { border-top: 1px solid #DADADA; }
.lista-preguntas details:last-child { border-bottom: 1px solid #DADADA; }
.lista-preguntas summary {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  min-height: 60px; padding: 14px 0;
  cursor: pointer; list-style: none; font-weight: 700; font-size: 1.0625rem; line-height: 1.35;
}
.lista-preguntas summary::-webkit-details-marker { display: none; }
.lista-preguntas summary::after { content: "+"; flex: none; font-size: 1.5rem; font-weight: 600; line-height: 1; color: var(--dorado-oscuro); }
.lista-preguntas details[open] summary::after { content: "−"; }
.lista-preguntas details p { max-width: 64ch; padding-bottom: 18px; color: #2E2E2E; }

/* Cierre */
.cierre { background: var(--negro); color: var(--blanco); }
.cierre-precio { margin-top: 20px; }
.cierre .boton { margin-top: 22px; }
.otros { margin-top: 18px; font-size: 0.9375rem; color: var(--gris-claro); }
.enlace-catalogo { display: inline-block; margin-top: 14px; padding: 6px 0; color: var(--dorado); font-weight: 600; text-underline-offset: 4px; }
.enlace-catalogo:hover { color: var(--dorado-claro); }

/* Pie */
.pie { padding: 36px 0 120px; background: #050505; color: #A8A8A8; font-size: 0.8125rem; line-height: 1.55; border-top: 1px solid #1E1E1E; }
@media (min-width: 720px) { .pie { padding-bottom: 44px; } }
.pie-marca { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; color: var(--blanco); }
.pie-marca img { width: 40px; height: 40px; }
.pie p { max-width: 60rem; margin-top: 8px; }

/* Barra fija del teléfono: se esconde mientras otro botón de WhatsApp está a la vista */
.barra-fija {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: rgba(11, 11, 11, 0.97); border-top: 1px solid #2A2A2A; color: var(--blanco);
  transition: transform 0.25s ease;
}
.barra-fija.oculta { transform: translateY(110%); }
.barra-fija p { display: flex; align-items: center; gap: 8px; flex: none; }
.barra-fija s { font-size: 0.875rem; font-weight: 600; line-height: 1; color: #A8A8A8; text-decoration-thickness: 1.5px; }
.barra-fija strong { font-size: 1.375rem; font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: var(--dorado); }
.barra-fija p span { font-size: 0.75rem; line-height: 1.2; color: #D6D6D6; white-space: nowrap; }
.barra-fija .boton { min-height: 48px; padding: 10px 20px; font-size: 0.9375rem; white-space: nowrap; }
.barra-fija .boton svg { width: 20px; height: 20px; }
@media (prefers-reduced-motion: reduce) { .barra-fija { transition: none; } }
@media (min-width: 720px) { .barra-fija { display: none; } }

@media (max-width: 419px) {
  .solo-ancho { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .barra-fija .boton { padding: 10px 18px; }
}

/* ---------- Computadora: aprovechar el ancho ---------- */
@media (min-width: 1100px) {
  .grupos { max-width: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 56px; }
  .grupo:nth-last-child(2) { border-bottom: 1px solid var(--linea); }
}
@media (min-width: 960px) {
  .versiculo .contenedor { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 64px; align-items: center; }
  .versiculo blockquote { margin-top: 0; }

  .pasos ol { max-width: none; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 40px; }

  .preguntas .contenedor { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); column-gap: 64px; align-items: start; }
  .preguntas .lista-preguntas { margin-top: 0; }

  .cierre .contenedor { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); grid-template-areas: "texto compra" "enlace compra"; column-gap: 64px; align-items: center; }
  .cierre-texto { grid-area: texto; }
  .cierre .tarjeta-compra { grid-area: compra; margin-top: 0; }
  .cierre .cierre-enlace { grid-area: enlace; align-self: start; }
  .caja { align-self: center; }
}

/* ---------- Paquete con Biblia (editorial.librosrestauraciongt.com) ---------- */
.precio-normal { flex-basis: 100%; display: flex; align-items: baseline; gap: 8px; font-size: 0.9375rem; font-weight: 600; color: #A8A8A8; }
.oferta-fila { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; }
.oferta-fila .precio { flex: 1 1 200px; }
.biblia-tarjeta {
  flex: 0 1 310px; display: flex; align-items: center; gap: 14px;
  padding: 10px 18px 10px 12px; border-radius: 12px; background: #FFFFFF; color: #141414;
}
.biblia-tarjeta img { flex: none; width: 58px; height: auto; }
.biblia-tarjeta p { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; line-height: 1.2; }
.biblia-tarjeta .sello {
  padding: 2px 9px 1px; border-radius: 999px; background: linear-gradient(180deg, #F3D27A, #C99A2E);
  color: #4A3808; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
}
.biblia-tarjeta strong { font-size: 1.0625rem; font-weight: 800; letter-spacing: -0.01em; text-wrap: balance; }
.biblia-tarjeta .rv { font-size: 0.8125rem; font-weight: 600; color: #555555; }

/* La Biblia al final de la lista: como en el reverso de la caja, en una franja neutra */
.grupo-biblia { margin-top: 10px; padding: 20px 16px; border: 1px solid #E4E0D6; border-radius: 10px; background: #F7F5F0; }
.grupo-biblia .pila img { width: 64px; border: 0; border-radius: 0; box-shadow: none; filter: drop-shadow(2px 3px 4px rgba(0, 0, 0, 0.25)); }
@media (max-width: 420px) { .grupo-biblia .pila img { width: 52px; } .grupo-biblia { padding: 16px 12px; } }

/* Foto de producto: 3 cajas con su calcomanía (en lugar de la cuadrícula de portadas, que ya está en la lista de abajo) */
.cajas-foto { display: block; width: 100%; height: auto; }
.caja figcaption { margin-top: 10px; font-size: 0.875rem; line-height: 1.45; color: var(--gris-claro); text-align: center; }
@media (min-width: 960px) { .caja figcaption { font-size: 0.9375rem; } }

/* ---------- Más orden: todo lo de la compra en una sola tarjeta ---------- */
.tarjeta-compra { padding: 20px; border: 1px solid #2E2E2E; border-radius: 16px; background: #141414; }
@media (min-width: 560px) { .tarjeta-compra { padding: 24px 26px; } }
.tarjeta-cabeza { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 14px; }
.tarjeta-cabeza .oferta { margin: 0; }
.tarjeta-cabeza .envios { margin: 0; font-size: 0.875rem; }
.tarjeta-cabeza .envios svg { width: 20px; height: 20px; }
.tarjeta-compra .biblia-tarjeta { margin-top: 16px; max-width: none; }
.tarjeta-compra .boton { display: flex; width: 100%; max-width: none; margin-top: 16px; }
.tarjeta-compra .leyenda { margin-top: 12px; text-align: center; }

/* Cierre: el versículo, la invitación y la tarjeta */
.cierre-texto .cita { max-width: 34rem; margin: 0 0 26px; padding-left: 20px; border-left: 3px solid var(--dorado); }
.cierre-texto .cita p { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif; font-style: italic; font-size: clamp(1.25rem, 4.4vw, 1.625rem); line-height: 1.45; color: #F1F1F1; }
.cierre-texto .cita cite { display: block; margin-top: 10px; font-style: normal; font-weight: 600; font-size: 0.9375rem; color: var(--dorado); }
.cierre-saludo { margin-top: 12px; font-size: 1.0625rem; color: #E0E0E0; }
.cierre .tarjeta-compra { margin-top: 28px; }
.cierre .cierre-enlace { margin-top: 18px; }

/* La Biblia, justo debajo de la foto de las cajas */
.caja .biblia-tarjeta { margin: 14px auto 0; max-width: 440px; }
/* Precio en orden: precio normal arriba y pequeño, Q599 grande, y abajo lo que incluye */
.tarjeta-compra .precio { display: block; }
.tarjeta-compra .precio-normal { display: flex; align-items: baseline; gap: 8px; font-size: 0.875rem; }
.tarjeta-compra .precio-normal .precio-antes { font-size: 1.0625rem; text-decoration-thickness: 1.5px; }
.tarjeta-compra .precio-cifra { display: block; margin-top: 6px; }
.tarjeta-compra .precio-detalle { display: block; margin-top: 8px; font-size: 1rem; line-height: 1.4; }

/* ---------- Siempre a la vista: arriba la marca y el WhatsApp; abajo (teléfono) el precio y el botón ---------- */
html { scroll-padding-top: 84px; }
.encabezado { position: sticky; top: 0; z-index: 60; background: rgba(11, 11, 11, 0.97); }
.barra-fija.oculta { transform: none; }
.barra-fija .barra-precio { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; flex: 0 1 auto; min-width: 0; }
.barra-cifras { display: flex; align-items: baseline; gap: 8px; }
.barra-fija .barra-que { font-size: 0.75rem; line-height: 1.2; color: #E6E6E6; white-space: nowrap; }
.barra-fija .barra-envio { font-size: 0.75rem; line-height: 1.2; font-weight: 600; color: var(--dorado); white-space: nowrap; }
