/* Inicio de Librería Digital CCA — mismo estilo que el inicio de ccaaduanas.com (héroe claro con resplandor celeste, tarjetas redondeadas). */
.heroe { position: relative; overflow: hidden; padding: 56px 0 72px; text-align: center; background: radial-gradient(circle 650px at 50% -120px, rgba(14,165,233,.18), transparent 70%), var(--gris-50); }
.pildora { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; border-radius: 999px; border: 1px solid var(--celeste-300); background: rgba(224,242,254,.7); color: var(--navy-900); font-size: 12px; font-weight: 600; margin-bottom: 24px; box-shadow: 0 1px 2px rgba(15,23,42,.05); }
.pildora b { color: var(--celeste-600); font-weight: 700; }
.pildora .punto { width: 8px; height: 8px; border-radius: 50%; background: var(--celeste-500); animation: pulso 2s ease-in-out infinite; }
@keyframes pulso { 50% { opacity: .35; } }
.heroe h1 { font-size: clamp(2rem, 4.8vw, 3.5rem); max-width: 64rem; margin: 0 auto .4em; line-height: 1.15; }
.grad { white-space: nowrap; background: linear-gradient(90deg, var(--navy-800), var(--celeste-600) 55%, var(--celeste-400)); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.bajada { max-width: 42rem; margin: 0 auto 28px; font-size: 1.15rem; color: var(--gris-600); }
.acciones { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-bottom: 22px; }
.ico-btn { width: 16px; height: 16px; }
.garantias { display: flex; flex-wrap: wrap; gap: 10px 28px; justify-content: center; color: var(--gris-500); font-size: .8rem; font-weight: 500; margin: 0; }
.garantias span { display: inline-flex; align-items: center; gap: 6px; } .ico { width: 16px; height: 16px; color: var(--celeste-600); flex: none; }
.seccion { padding-top: 56px; scroll-margin-top: 130px; }
.ojo { text-align: center; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--celeste-600); margin-bottom: 8px; }
.rejilla-3 { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin-top: 28px; }
.rejilla-3 .tarjeta { padding: 26px; }
.icono { width: 46px; height: 46px; border-radius: 14px; background: var(--celeste-100); color: var(--celeste-600); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.icono svg { width: 22px; height: 22px; }
.planes { display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); max-width: 820px; margin: 28px auto 0; }
.plan { display: flex; flex-direction: column; padding: 28px; } .plan ul { padding-left: 20px; margin: 0 0 22px; flex: 1; } .plan li { margin-bottom: 8px; }
.plan .precio { font-family: var(--serif); font-weight: 900; font-size: 2.1rem; color: var(--navy-950); margin-bottom: 14px; }
.plan .insignia { align-self: flex-start; margin-bottom: 8px; }
.plan-destacado { border: 2px solid var(--celeste-500); box-shadow: 0 14px 40px rgba(2,132,199,.14); }
.estrecho { max-width: 820px; }
details { background: #fff; border: 1px solid var(--gris-200); border-radius: 14px; padding: 0 18px; margin-bottom: 10px; }
summary { cursor: pointer; font-weight: 700; padding: 15px 0; min-height: 44px; color: var(--navy-900); }
details p { color: var(--gris-600); }
.volver { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; } .volver h3 { margin-bottom: 4px; } .volver p { margin: 0; }
