/* La biblioteca hereda el lenguaje visual de las seis tarjetas de programas. */
body { font-family: "Manrope", sans-serif; color: #10192e; background: #f3f7ff; }
.brand strong, .hero h1, .section-heading h2, .panel-intro h2,
.price-card h3, .closing h2, .steps h3 {
  font-family: "Space Grotesk", sans-serif;
  letter-spacing: -.035em;
}

.demo-bar { background: linear-gradient(135deg, #ff4c22, #f73513); }
.site-header { box-shadow: 0 10px 30px rgba(7, 26, 63, .07); }
.nav-cta, .primary, .buy {
  color: #fff;
  background: linear-gradient(135deg, #ff4c22, #f73513);
  box-shadow: 0 12px 28px rgba(255, 76, 34, .22);
}
.nav-cta:hover, .primary:hover, .buy:hover { background: linear-gradient(135deg, #f73513, #dc2e0b); }

.hero {
  color: #fff;
  background:
    radial-gradient(circle at 88% 18%, rgba(255, 76, 34, .35), transparent 25rem),
    linear-gradient(125deg, #061631 0%, #0a2450 62%, #0958e8 100%);
}
.hero-copy > p { color: #dbe7fb; }
.hero .eyebrow { color: #a7c8ff; }
.hero .ghost { color: #fff; border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.09); }
.hero .trust-row { color: #d7e5f8; }
.glow { background: rgba(255, 76, 34, .38); }

.collections {
  background:
    radial-gradient(circle at 8% 20%, rgba(9, 88, 232, .13), transparent 22rem),
    radial-gradient(circle at 92% 82%, rgba(193, 63, 119, .13), transparent 24rem),
    #f5f8ff;
}
.collection-tabs { max-width: 1120px; }
.tab {
  min-height: 122px;
  color: #fff;
  border: 0;
  box-shadow: 0 18px 38px rgba(7,26,63,.18);
  transition: .25s;
}
.tab:nth-child(1) { background: linear-gradient(145deg, #bd3f78, #702451); }
.tab:nth-child(2) { background: linear-gradient(145deg, #1768b5, #0b397c); }
.tab:nth-child(3) { background: linear-gradient(145deg, #b94035, #762923); }
.tab:nth-child(4) { background: linear-gradient(145deg, #138779, #075b5b); }
.tab:nth-child(5) { background: linear-gradient(145deg, #a93475, #691f58); }
.tab:nth-child(6) { background: linear-gradient(145deg, #7d3fa0, #472364); }
.tab > span { color: #fff; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.22); }
.tab small { color: rgba(255,255,255,.8); }
.tab.active {
  border: 3px solid #95d51b;
  box-shadow: 0 20px 45px rgba(7,26,63,.25);
  transform: translateY(-4px);
}

.catalog {
  background:
    radial-gradient(circle at 12% 18%, rgba(9,88,232,.12), transparent 25rem),
    radial-gradient(circle at 88% 75%, rgba(255,76,34,.12), transparent 24rem),
    linear-gradient(135deg, #edf5ff 0%, #f5efff 48%, #fff1eb 100%);
}
.panel-intro .eyebrow, .section-heading .eyebrow { color: #0958e8; }
.pricing-grid { gap: 22px; }
.fixed-pack-notice {
  max-width: 820px;
  margin: -18px auto 42px;
  padding: 17px 20px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  color: #17365d;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(9,88,232,.18);
  border-left: 5px solid #0958e8;
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(7,26,63,.08);
}
.fixed-pack-notice > span { width: 29px; height: 29px; flex: 0 0 29px; display: grid; place-items: center; color: #071a3f; background: #b5ec43; border-radius: 50%; font-weight: 900; }
.fixed-pack-notice strong { display: block; margin-bottom: 3px; font-size: .9rem; }
.fixed-pack-notice p { margin: 0; color: #5d687d; font-size: .82rem; line-height: 1.5; }
.price-card {
  --pack-bg: linear-gradient(145deg, #1768b5, #0b397c);
  --pack-accent: #79bdff;
  overflow: hidden;
  color: #fff;
  border: 0;
  border-top: 5px solid var(--pack-accent);
  background: var(--pack-bg);
  box-shadow: 0 22px 50px rgba(7,26,63,.2);
}
.price-card::after {
  content: "";
  position: absolute;
  right: -65px;
  bottom: -72px;
  width: 145px;
  height: 145px;
  border-radius: 50%;
  background: #fff;
  opacity: .1;
  pointer-events: none;
}
.price-card:nth-child(2) { --pack-bg: linear-gradient(145deg, #7d3fa0, #472364); --pack-accent: #dc9bef; }
.price-card:nth-child(3) { --pack-bg: linear-gradient(145deg, #b94035, #762923); --pack-accent: #ffb09b; }
.price-card.featured {
  border: 0;
  border-top: 5px solid var(--pack-accent);
  box-shadow: 0 28px 60px rgba(40,22,80,.3);
}
#pastoral .price-card:nth-child(1) { --pack-bg: linear-gradient(145deg, #1768b5, #0b397c); --pack-accent: #79bdff; }
#pastoral .price-card:nth-child(2) { --pack-bg: linear-gradient(145deg, #138779, #075b5b); --pack-accent: #77dfcf; }
#pastoral .price-card:nth-child(3) { --pack-bg: linear-gradient(145deg, #9b5d0b, #603805); --pack-accent: #ffe092; }
.popular { top: 14px; color: #071a3f; background: #95d51b; z-index: 3; }
.price-card .pack-label { color: var(--pack-accent); }
.price-card .card-copy, .price-card li { color: rgba(255,255,255,.88); }
.price-card ul { border-top-color: rgba(255,255,255,.18); }
.price-card li::before { color: #c8f16a; }
.price-card .upgrade { color: #071a3f; background: #c8f16a; }
.price-card .price { color: #fff; }
.price-card .buy {
  position: relative;
  z-index: 2;
  background: linear-gradient(135deg, #ff4c22, #f73513);
  box-shadow: 0 12px 25px rgba(17,15,35,.28);
}
.price-card .buy:hover { background: linear-gradient(135deg, #ff6847, #ff4c22); }
.mini-covers i { font-family: "Space Grotesk", sans-serif; border: 1px solid rgba(255,255,255,.25); box-shadow: 7px 12px 20px rgba(0,0,0,.28); }

.titles-details {
  position: relative;
  z-index: 2;
  margin: -4px 0 10px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px;
  background: rgba(255,255,255,.09);
}
.titles-details summary {
  padding: 11px 13px;
  cursor: pointer;
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  list-style-position: inside;
}
.titles-details[open] summary { border-bottom: 1px solid rgba(255,255,255,.16); }
.titles-details ol { margin: 0; padding: 12px 18px 14px 36px; }
.titles-details ol li { padding: 4px 0; color: rgba(255,255,255,.88); font-size: .75rem; line-height: 1.35; }
.titles-details ol li::before { content: none; }

.book-catalog { margin-top: 90px; }
.catalog-heading { max-width: 760px; margin: 0 auto 34px; text-align: center; }
.catalog-heading h3 { margin: 10px 0; font: 700 clamp(1.8rem,3vw,2.5rem) "Space Grotesk",sans-serif; letter-spacing: -.035em; }
.catalog-heading p { color: #5d687d; line-height: 1.65; }
.book-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 14px; }
.catalog-book {
  min-height: 205px;
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  color: #fff;
  border-radius: 14px;
  box-shadow: 0 14px 30px rgba(7,26,63,.16);
}
.catalog-book::after { content: ""; position: absolute; right: -35px; bottom: -42px; width: 90px; height: 90px; border-radius: 50%; background: #fff; opacity: .1; }
.catalog-book > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 9px; background: rgba(255,255,255,.17); border: 1px solid rgba(255,255,255,.2); font-size: .72rem; font-weight: 800; }
.catalog-book h4 { margin: 22px 0 8px; font: 700 1rem/1.12 "Space Grotesk",sans-serif; }
.catalog-book p { margin: 0; color: rgba(255,255,255,.82); font-size: .76rem; line-height: 1.45; }
.availability {
  width: fit-content;
  margin-top: auto;
  padding: 6px 8px;
  position: relative;
  z-index: 2;
  color: #071a3f;
  background: #fff;
  border-radius: 7px;
  font-size: .62rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .02em;
}
.availability.essential { background: #b5ec43; }
.availability.seven { background: #9ed9ff; }
.availability.complete-only { background: #ffe092; }
.personal-tone-1 { background: linear-gradient(145deg,#bd3f78,#702451); }
.personal-tone-2 { background: linear-gradient(145deg,#7d3fa0,#472364); }
.personal-tone-3 { background: linear-gradient(145deg,#b94035,#762923); }
.personal-tone-4 { background: linear-gradient(145deg,#1768b5,#0b397c); }
.personal-tone-5 { background: linear-gradient(145deg,#9b5d0b,#603805); }
.pastoral-tone-1 { background: linear-gradient(145deg,#1768b5,#0b397c); }
.pastoral-tone-2 { background: linear-gradient(145deg,#138779,#075b5b); }
.pastoral-tone-3 { background: linear-gradient(145deg,#7d3fa0,#472364); }
.pastoral-tone-4 { background: linear-gradient(145deg,#9b5d0b,#603805); }
.pastoral-tone-5 { background: linear-gradient(145deg,#b94035,#762923); }
.business-tone-1 { background: linear-gradient(145deg,#b94035,#762923); }
.business-tone-2 { background: linear-gradient(145deg,#1768b5,#0b397c); }
.business-tone-3 { background: linear-gradient(145deg,#7d3fa0,#472364); }
.business-tone-4 { background: linear-gradient(145deg,#138779,#075b5b); }
.business-tone-5 { background: linear-gradient(145deg,#9b5d0b,#603805); }
.wellness-tone-1 { background: linear-gradient(145deg,#138779,#075b5b); }
.wellness-tone-2 { background: linear-gradient(145deg,#1768b5,#0b397c); }
.wellness-tone-3 { background: linear-gradient(145deg,#9b5d0b,#603805); }
.wellness-tone-4 { background: linear-gradient(145deg,#7d3fa0,#472364); }
.wellness-tone-5 { background: linear-gradient(145deg,#b94035,#762923); }
.women-tone-1 { background: linear-gradient(145deg,#bd3f78,#702451); }
.women-tone-2 { background: linear-gradient(145deg,#7d3fa0,#472364); }
.women-tone-3 { background: linear-gradient(145deg,#b94035,#762923); }
.women-tone-4 { background: linear-gradient(145deg,#1768b5,#0b397c); }
.women-tone-5 { background: linear-gradient(145deg,#9b5d0b,#603805); }
.coaching-tone-1 { background: linear-gradient(145deg,#7d3fa0,#472364); }
.coaching-tone-2 { background: linear-gradient(145deg,#1768b5,#0b397c); }
.coaching-tone-3 { background: linear-gradient(145deg,#138779,#075b5b); }
.coaching-tone-4 { background: linear-gradient(145deg,#bd3f78,#702451); }
.coaching-tone-5 { background: linear-gradient(145deg,#b94035,#762923); }

.how { background: linear-gradient(135deg, #fff8e7 0%, #fff0ed 48%, #f2ecff 100%); }
.steps article { padding: 28px; color: #fff; border-radius: 16px; box-shadow: 0 16px 35px rgba(7,26,63,.16); }
.steps article:nth-child(1) { background: linear-gradient(145deg, #1768b5, #0b397c); }
.steps article:nth-child(2) { background: linear-gradient(145deg, #138779, #075b5b); }
.steps article:nth-child(3) { background: linear-gradient(145deg, #bd3f78, #702451); }
.steps b { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.25); }
.steps p { color: rgba(255,255,255,.85); }
.closing { background: radial-gradient(circle at 85% 20%, rgba(9,88,232,.38), transparent 32%), #071a3f; }
.closing .light { color: #fff; background: linear-gradient(135deg, #ff4c22, #f73513); }
footer { background: #041027; }

.library-footer {
  padding: 58px max(5%, calc((100% - 1180px)/2));
  display: block;
  color: #d7e2f2;
  background: #041027;
}
.footer-grid { display: grid; grid-template-columns: 1.45fr .75fr 1fr 1.15fr; gap: 42px; align-items: start; }
.library-footer h2 { margin: 2px 0 18px; color: #fff; font: 700 1rem "Space Grotesk", sans-serif; }
.library-footer p { max-width: 310px; color: #aebbd0; line-height: 1.65; }
.footer-brand { color: #fff; }
.footer-brand img { width: 52px; height: 52px; }
.footer-brand span { display: flex; flex-direction: column; }
.footer-brand small { margin-top: 3px; color: #95d51b; font-size: .68rem; }
.footer-links, .social-links { margin: 0; padding: 0; list-style: none; }
.footer-links li, .social-links li { margin: 0 0 11px; }
.footer-links a, .social-links a { color: #bdc9db; text-decoration: none; font-size: .88rem; transition: .2s; }
.footer-links a:hover, .social-links a:hover { color: #fff; }
.social-links a { display: flex; align-items: center; gap: 9px; }
.social-links a span { width: 27px; height: 27px; display: grid; place-items: center; color: #fff; background: #0958e8; border-radius: 7px; font-weight: 800; }
.social-links li:nth-child(2) span { background: #bd3f78; }
.social-links li:nth-child(3) span { background: #10192e; border: 1px solid #58677c; }
.social-links li:nth-child(4) span { background: #ff4c22; }
.simulation-note { display: inline-block; margin-top: 8px; color: #7f8ca1; font-size: .72rem; }
.whatsapp-float {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 40;
  min-height: 52px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #071a3f;
  background: #a6e22d;
  border-radius: 999px;
  box-shadow: 0 18px 44px rgba(149,213,27,.3);
  text-decoration: none;
  font-weight: 800;
}
.whatsapp-float span { color: #16857a; font-size: 1.2rem; }

@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .book-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  .tab.active { transform: none; }
}

@media (max-width: 620px) {
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .library-footer { text-align: left; align-items: initial; }
  .whatsapp-float { right: 12px; bottom: 12px; }
  .book-grid { grid-template-columns: 1fr; }
  .catalog-book { min-height: 170px; }
}
