.oposi-lib{--ink:#293a4c;--muted:#657789;--pink:#f4dce6;--blue:#dcebf7;--cream:#fcf5e9;font-family:system-ui,-apple-system,sans-serif;color:var(--ink);max-width:1240px;margin:0 auto;padding:32px 30px 45px;box-sizing:border-box;background:#fff}
.oposi-lib *{box-sizing:border-box}.oposi-lib a{color:inherit;text-decoration:none}.ol-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}.ol-brand{font-size:26px;font-weight:900;letter-spacing:2px}.ol-brand span{display:block;font-size:11px;letter-spacing:1px;font-weight:600;color:var(--muted);margin-top:2px}.ol-nav>div{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:650}.ol-nav-pill{background:var(--blue);padding:12px 20px;border-radius:30px}.ol-hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;padding:48px 48px 38px;border-radius:30px;background:linear-gradient(115deg,#edf5fb,#faf1f5 75%,#fff5e8);overflow:hidden;gap:25px}.ol-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.7px;color:#647c92}.oposi-lib .ol-hero h1{font-size:clamp(32px,3.5vw,48px);line-height:1.12;font-weight:800;letter-spacing:-1.7px;color:var(--ink);margin:16px 0 18px}.ol-hero p{font-size:16px;line-height:1.7;max-width:470px;color:var(--muted);margin:0}.ol-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.ol-tags span{font-size:11px;padding:8px 12px;background:#ffffffb5;border-radius:20px;color:#50687d}.ol-hero-books{height:230px;display:flex;justify-content:center;align-items:flex-end;position:relative;gap:14px;padding:0 16px 22px;transform:rotate(-3deg)}.ol-hero-books i{font-style:normal;display:flex;flex-direction:column;justify-content:space-between;padding:22px 16px;position:relative;width:100px;height:170px;background:#c5d9ec;border-radius:3px 9px 9px 3px;box-shadow:inset 8px 0 #ffffff35,7px 8px 13px #53657b22;font-size:10px;letter-spacing:1px}.ol-hero-books i:nth-child(2){height:200px;background:#e4cbd9;transform:rotate(5deg)}.ol-hero-books i:nth-child(3){background:#dddfc5;transform:rotate(6deg)}.ol-hero-books b{font-size:20px;font-weight:650;letter-spacing:-.4px;line-height:1.2}.ol-hero-books em{position:absolute;bottom:10px;left:0;right:0;height:13px;background:#e6d5bb;border-radius:4px;box-shadow:0 10px 10px #736b5820}
.ol-section{padding-top:44px}.ol-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:8px}.oposi-lib .ol-section-title h2{font-size:28px;font-weight:750;letter-spacing:-.7px;color:var(--ink);margin:10px 0 0}.ol-search{font-size:11px;font-weight:700;color:var(--muted)}.ol-search input{display:block;width:240px!important;margin-top:7px;padding:12px 16px!important;background:#f7f9fb!important;border:1px solid #e4ebf1!important;border-radius:22px!important;font-size:13px!important;color:var(--ink)}.ol-shelves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 0;padding-top:18px}.ol-card{min-width:0}.ol-book-stage{height:290px;display:flex;justify-content:center;align-items:flex-end;padding:20px 20px 26px;position:relative}.ol-book-stage:after{content:"";position:absolute;bottom:12px;left:0;right:0;height:14px;background:linear-gradient(#eadfce,#d9c8ae);box-shadow:0 9px 12px #76674921;z-index:0}.ol-book-stage>a{position:relative;z-index:1;transition:transform .25s;display:block}.ol-book-stage>a:hover{transform:translateY(-7px) rotate(-2deg)}.ol-cover{display:block!important;width:auto!important;height:234px!important;max-width:190px!important;object-fit:contain;border-radius:2px 5px 5px 2px;filter:drop-shadow(8px 9px 6px #2937462c)}.ol-cover-fallback{width:172px!important;background:linear-gradient(135deg,#d8e8f4,#f3dce7);padding:22px 18px;display:flex!important;flex-direction:column;justify-content:space-between;border-left:9px solid #c4d8e8}.ol-cover-fallback span{letter-spacing:2px;font-size:12px;font-weight:800}.ol-cover-fallback strong{font-size:23px;line-height:1.15}.ol-cover-fallback small{font-size:9px;letter-spacing:1px}.ol-book-info{padding:18px 28px 14px}.ol-category{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:1px;color:#7b8fa3}.oposi-lib .ol-book-info h2{font-size:20px;line-height:1.3;color:var(--ink);margin:10px 0 8px;font-weight:750;letter-spacing:-.3px}.ol-meta{font-size:12px;color:var(--muted);margin:0 0 16px}.ol-price{font-size:24px;font-weight:800;margin:0 0 12px}.ol-price del{font-size:16px;color:var(--muted)}.ol-price ins{background:none;text-decoration:none}.ol-price .woocommerce-price-suffix{font-size:10px;font-weight:500;display:block}.ol-owned,.ol-progress{font-size:12px;color:#55766a;margin:0 0 14px;min-height:24px}.oposi-lib .ol-button{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px!important;border:none!important;border-radius:13px!important;background:#dceaf5!important;color:#304b63!important;font:650 13px/1.4 system-ui!important;cursor:pointer;width:100%;min-height:45px;box-shadow:none;text-align:left;transition:background .2s,transform .2s}.oposi-lib .ol-button:hover{background:#ccdfef!important;transform:translateY(-2px)}.oposi-lib .ol-button span{font-size:20px}.ol-how{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:30px;margin-top:48px;border-radius:25px;background:#faf6f0}.ol-how b{font-size:12px;color:#7d8ca0;background:#fff;padding:7px 10px;border-radius:20px}.oposi-lib .ol-how h3{font-size:17px;color:var(--ink);margin:20px 0 8px}.ol-how p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.ol-footer{border-top:1px solid #eaf0f5;margin-top:34px;padding-top:22px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.ol-empty{padding:45px 25px;margin:20px 0;text-align:center;background:#f6f9fc;border-radius:25px}.ol-empty h2{font-size:26px;color:var(--ink)}.ol-empty p{color:var(--muted);font-size:15px}.ol-empty .ol-button{max-width:260px;margin:20px auto 0;justify-content:center!important}.ol-count{display:inline-block;padding:4px 9px;background:#e8f1f8;border-radius:20px;font-size:14px;vertical-align:middle}.ol-text-link{font-size:12px;font-weight:650;color:#55768f!important}.ol-admin-note{font-size:12px;color:var(--muted);background:#f7f5fb;padding:12px 16px;border-radius:12px}.ol-no-results{padding:30px;color:var(--muted)}.oposi-lib [hidden]{display:none!important}
@media(max-width:800px){.oposi-lib{padding:24px 16px}.ol-hero{padding:30px;grid-template-columns:1fr}.ol-hero-books{display:none}.ol-shelves{grid-template-columns:repeat(2,minmax(0,1fr))}.ol-section-title{align-items:flex-start;flex-direction:column}.ol-search input{width:100%!important}.ol-search{width:100%}.ol-how{gap:20px;padding:24px}.ol-book-info{padding:18px 16px}.ol-nav>div{gap:12px}.ol-nav>div>a{font-size:12px}.ol-hero h1{letter-spacing:-1px!important}}
@media(max-width:480px){.ol-nav{gap:8px}.ol-brand{font-size:22px}.ol-nav>div>a:first-child{display:none}.ol-hero{padding:26px 22px}.ol-book-stage{height:245px;padding:15px 8px 25px}.ol-cover{height:190px!important;max-width:135px!important}.ol-cover-fallback{width:128px!important;padding:16px 10px}.ol-cover-fallback strong{font-size:18px}.ol-book-info{padding:15px 8px}.oposi-lib .ol-book-info h2{font-size:16px}.oposi-lib .ol-button{font-size:11px!important;padding:12px!important}.ol-meta{font-size:10px}.ol-how{grid-template-columns:1fr;gap:24px}.ol-how h3{margin-top:12px!important}.ol-footer{display:block;line-height:1.8}.ol-footer a{display:block}}

.oposi-lib .ol-hero-books b{font-size:18px;word-break:normal;overflow-wrap:normal;hyphens:none}
/* Estantería continua de Oposi: pared, baldas y libros reales. */
.oposi-lib{background:linear-gradient(150deg,#fffdfa,#faf6f7);padding:30px 36px 40px;border-radius:28px}
.ol-nav{margin-bottom:24px}.ol-nav-pill{box-shadow:0 5px 12px #6e8caa15}
.ol-hero{padding:30px 36px;grid-template-columns:1.4fr .8fr;gap:32px;border:1px solid #efe5eb;background:linear-gradient(110deg,#f8ecef,#f9f2ea 65%,#edf3f3);border-radius:24px}
.oposi-lib .ol-hero h1{font-size:clamp(32px,3.3vw,43px);margin:12px 0;letter-spacing:-1px}
.ol-hero p{max-width:580px}.ol-tags{margin-top:17px}.ol-library-seal{border:1px solid #ffffffc0;background:#ffffff70;box-shadow:0 12px 30px #ad9e9d12;transform:rotate(-3deg);border-radius:20px;text-align:center;padding:22px;color:#587481}.ol-library-seal span{font-size:10px;letter-spacing:3px;font-weight:800}.ol-library-seal b{display:block;font-size:24px;line-height:1.25;margin:14px 0;font-weight:750;letter-spacing:-.4px}.ol-library-seal i{font-style:normal;font-size:9px;letter-spacing:1px}
.ol-section{padding-top:30px}.ol-section-title{padding:0 4px 18px;margin-bottom:0;align-items:center}
.ol-shelves{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
 padding:0 8px;min-height:660px;position:relative;
 border:16px solid #e5cfb5;border-bottom-width:24px;border-radius:17px 17px 9px 9px;
 box-shadow:inset 0 0 0 2px #c8aa86,inset 18px 10px 26px #6f5a431c,0 16px 35px #85726220,0 3px 0 #bc9875;
 background:
 repeating-linear-gradient(to bottom,transparent 0px,transparent 323px,#f8eddf 323px,#ead4b9 331px,#d9b995 332px,#c5a17c 350px,#ad8b67 351px,#72573d26 354px,transparent 380px,transparent 660px),
 radial-gradient(ellipse at 30% 14%,#ffffff45,transparent 65%),
 repeating-linear-gradient(90deg,#ffffff06 0px,#ffffff06 2px,transparent 2px,transparent 7px),
 linear-gradient(100deg,#ead8d7,#e6d2d2 48%,#d9e3e1);
}
.ol-card{height:660px;position:relative;padding:0 16px;min-width:0;background:transparent}
.ol-book-stage{height:332px;padding:30px 10px 7px;align-items:flex-end;overflow:visible}
.ol-book-stage:after{display:none}.ol-book-stage>a{transform-origin:bottom center;transition:transform .3s,filter .3s}
.ol-book-stage>a:hover{transform:translateY(-7px) rotate(-2deg);filter:brightness(1.03)}
.ol-cover{height:282px!important;max-width:220px!important;filter:drop-shadow(14px 5px 7px #624d3830) drop-shadow(1px 12px 5px #71553822);border-radius:2px 7px 7px 2px}
.ol-cover-fallback{width:196px!important;padding:30px 20px!important;border-left:10px solid #b9cbd9;box-shadow:inset -5px 0 #ffffff4d}
.ol-book-info{padding:42px 16px 20px;position:relative}
.oposi-lib .ol-book-info h2{font-size:21px;line-height:1.25;margin:9px 0 8px;min-height:52px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ol-category{color:#687c81;letter-spacing:1.5px}.ol-meta{color:#647a80;margin-bottom:10px}
.ol-price{font-size:25px;margin:6px 0 13px;line-height:1.15;min-height:43px}.ol-price .woocommerce-price-suffix{font-size:10px;margin-top:5px}
.oposi-lib .ol-button{background:#fbf9f4!important;color:#365567!important;border:1px solid #e7e0d6!important;box-shadow:0 5px 8px #86736215;border-radius:12px!important;text-transform:none!important;font-size:13px!important}
.oposi-lib .ol-button:hover{background:#e7f1f4!important;border-color:#cedfe4!important}
.ol-owned,.ol-progress{font-size:12px;min-height:43px;margin:6px 0 13px;padding-top:4px;color:#527165}
.ol-how{margin-top:30px;background:#f4eeea;border:1px solid #ece1d9}.ol-footer{margin-top:26px}
.ol-empty{background:linear-gradient(130deg,#f5eeee,#eef3f3)}
@media(max-width:960px){.oposi-lib{padding:24px 24px 34px}.ol-card{padding:0 6px}.ol-book-info{padding-left:8px;padding-right:8px}.ol-cover{height:260px!important;max-width:185px!important}.oposi-lib .ol-book-info h2{font-size:18px}.oposi-lib .ol-button{font-size:11px!important;padding:12px!important}}
@media(max-width:700px){.ol-hero{grid-template-columns:1fr;padding:26px}.ol-library-seal{display:none}.ol-shelves{grid-template-columns:repeat(2,minmax(0,1fr));border-width:12px;border-bottom-width:20px}.ol-section-title{align-items:flex-start}.ol-card{padding:0 8px}.ol-cover{height:266px!important;max-width:190px!important}.ol-book-info{padding-left:4px;padding-right:4px}.ol-text-link{padding-top:5px}}
@media(max-width:480px){.oposi-lib{padding:20px 10px 30px;border-radius:20px}.ol-nav{padding:0 4px}.ol-hero{padding:23px 20px}.ol-shelves{padding:0;border-width:10px;border-bottom-width:18px;min-height:600px;background-size:100% 600px,auto,auto,auto;background-image:repeating-linear-gradient(to bottom,transparent 0px,transparent 263px,#f8eddf 263px,#ead4b9 271px,#d9b995 272px,#c5a17c 288px,#ad8b67 289px,#72573d26 292px,transparent 317px,transparent 600px),radial-gradient(ellipse at 30% 14%,#ffffff45,transparent 65%),repeating-linear-gradient(90deg,#ffffff06 0px,#ffffff06 2px,transparent 2px,transparent 7px),linear-gradient(100deg,#ead8d7,#e6d2d2 48%,#d9e3e1)}.ol-card{height:600px;padding:0 5px}.ol-book-stage{height:272px;padding:25px 0 8px}.ol-cover{height:222px!important;max-width:143px!important}.ol-cover-fallback{width:140px!important;padding:20px 12px!important;border-left-width:7px}.ol-book-info{padding:36px 3px 16px}.oposi-lib .ol-book-info h2{font-size:16px;min-height:42px}.ol-meta{font-size:10px}.ol-category{font-size:9px;letter-spacing:1px}.ol-price{font-size:22px}.oposi-lib .ol-button{font-size:10px!important;gap:5px;padding:10px!important;min-height:45px}.ol-button span{font-size:16px!important}.ol-progress{font-size:10px}.ol-how{padding:24px}}
@media(prefers-reduced-motion:reduce){.ol-book-stage>a,.oposi-lib .ol-button{transition:none}.ol-book-stage>a:hover,.oposi-lib .ol-button:hover{transform:none}}

/* Libro y ficha juntos dentro de una única balda. */
.oposi-lib{font-family:"Poppins",ui-rounded,system-ui,sans-serif;background:radial-gradient(ellipse at 0 0,#fff0f5 0,transparent 40%),radial-gradient(ellipse at 100% 30%,#eef8fb 0,transparent 45%),#fffdfa}
.ol-brand{color:#d07d9f;font-weight:850}.ol-nav-pill{background:#f7dfe9;color:#674d62!important;border:1px solid #efd1df;box-shadow:0 5px 12px #b4829b12}
.ol-hero{background:linear-gradient(110deg,#fae5ee,#fff5e9 55%,#e7f3f8);border-color:#f0dce6;box-shadow:0 10px 26px #b09aad0c;border-radius:28px}
.ol-eyebrow{color:#957487}.ol-tags span{background:#ffffffc9;border:1px solid #ffffff;font-size:11px}
.ol-library-seal{background:#ffffffa6;border:2px solid #fff;color:#668fa0;box-shadow:9px 9px 0 #ffffff5a}.ol-library-seal span{color:#cb89a6}
.ol-shelves{
 min-height:620px;border-color:#eedbd1;border-bottom-color:#e3c7b9;
 box-shadow:inset 0 0 0 2px #dec0b6,inset 14px 10px 24px #9e7d7220,0 18px 34px #b4929f17,0 3px 0 #d0afa0;
 background-size:auto; background-image:
 repeating-linear-gradient(to bottom,transparent 0,transparent 594px,#fff6ed 594px,#efd7c8 601px,#e4c3b1 602px,#d1aa96 617px,#b9907d 618px,#ad887730 620px),
 radial-gradient(ellipse at 20% 12%,#ffffffa0,transparent 62%),
 repeating-linear-gradient(90deg,#ffffff0b 0,#ffffff0b 2px,transparent 2px,transparent 8px),
 linear-gradient(100deg,#f6e6ec,#f2e9eb 46%,#e8f0f2);
}
.ol-card{height:620px;padding:0 20px}
.ol-book-stage{height:310px;padding:28px 10px 4px}
.ol-cover{height:268px!important;max-width:210px!important;filter:drop-shadow(11px 8px 8px #795c7030)}
.ol-book-info{padding:16px 16px 28px;text-align:center}
.oposi-lib .ol-book-info h2{font:750 20px/1.35 "Poppins",system-ui,sans-serif;letter-spacing:-.45px;margin:8px 0 7px;min-height:54px;color:#3c455e}
.oposi-lib .ol-book-info .ol-meta{font-size:12px;line-height:1.5;margin:0 0 9px;color:#7c8092}
.oposi-lib .ol-book-info .ol-price{font-size:25px;line-height:1.2;min-height:44px;margin:5px 0 13px;color:#4d5e78}
.oposi-lib .ol-price .woocommerce-price-suffix{font-size:10px;line-height:1.3;margin-top:4px;color:#7c8092}
.oposi-lib .ol-book-info .ol-owned,.oposi-lib .ol-book-info .ol-progress{font-size:12px;line-height:1.5;min-height:44px;margin:5px 0 13px;padding-top:4px;color:#687f78}
.ol-category{color:#a17c91;line-height:1.2}
.oposi-lib .ol-button{background:linear-gradient(110deg,#f7dce8,#efddea)!important;color:#62475e!important;border:1px solid #edcdda!important;box-shadow:0 5px 10px #a7789318;border-radius:16px!important;padding:13px 15px!important;min-height:48px;font-family:"Poppins",system-ui,sans-serif!important;font-size:12px!important}
.oposi-lib .ol-button:hover{background:linear-gradient(110deg,#e0eef6,#e5e4f4)!important;color:#52617b!important;border-color:#cddce9!important}
.ol-how{background:linear-gradient(110deg,#fff5e8,#f7edf3);border-color:#f0e3e7;border-radius:24px}
.ol-how b{background:#f2e3ec;color:#8f6e85}
@media(max-width:960px){.ol-card{padding:0 8px}.ol-book-info{padding-left:8px;padding-right:8px}.ol-cover{height:254px!important;max-width:185px!important}.oposi-lib .ol-book-info h2{font-size:18px;min-height:49px}.oposi-lib .ol-button{font-size:11px!important}}
@media(max-width:700px){.ol-shelves{grid-template-columns:repeat(2,minmax(0,1fr));border-width:12px;border-bottom-width:20px}.ol-card{padding:0 10px}}
@media(max-width:480px){
 .ol-shelves{min-height:560px;border-width:10px;border-bottom-width:16px;background-size:auto;background-image:
 repeating-linear-gradient(to bottom,transparent 0,transparent 534px,#fff6ed 534px,#efd7c8 541px,#e4c3b1 542px,#d1aa96 557px,#b9907d 558px,#ad887730 560px),
 radial-gradient(ellipse at 20% 12%,#ffffffa0,transparent 62%),repeating-linear-gradient(90deg,#ffffff0b 0,#ffffff0b 2px,transparent 2px,transparent 8px),linear-gradient(100deg,#f6e6ec,#f2e9eb 46%,#e8f0f2)}
 .ol-card{height:560px;padding:0 6px}.ol-book-stage{height:247px;padding:24px 0 3px}
 .ol-cover{height:215px!important;max-width:142px!important}
 .ol-book-info{padding:13px 2px 24px}.oposi-lib .ol-book-info h2{font-size:15px;line-height:1.3;min-height:40px;margin-top:7px}
 .oposi-lib .ol-book-info .ol-meta{font-size:9px;line-height:1.5}
 .oposi-lib .ol-book-info .ol-price{font-size:22px}.oposi-lib .ol-book-info .ol-progress,.oposi-lib .ol-book-info .ol-owned{font-size:10px}
 .oposi-lib .ol-button{font-size:10px!important;padding:10px!important;min-height:46px}
}

/* Banner Biblioteca: libro flotante y luces suaves de Oposi. */
.oposi-lib .ol-hero{position:relative;isolation:isolate;min-height:350px;padding:42px 44px;gap:44px;border:1px solid #f2d8e8;border-radius:32px;background:radial-gradient(ellipse at 12% 0%,#ffd7e8 0,transparent 55%),radial-gradient(ellipse at 100% 90%,#cef1ef 0,transparent 55%),linear-gradient(120deg,#fff0f6,#fff9e9 56%,#edf5ff);box-shadow:0 16px 44px #af7f9b14}
.ol-hero:before,.ol-hero:after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%;border:1px solid #ffffffd9;animation:ol-light-drift 12s ease-in-out infinite}
.ol-hero:before{width:250px;height:250px;top:-130px;right:26%;box-shadow:0 0 0 28px #ffffff28,0 0 0 60px #ffffff16}
.ol-hero:after{width:130px;height:130px;bottom:-74px;left:35%;box-shadow:0 0 0 25px #ffffff44;animation-delay:-6s}
.ol-hero>div:first-child{position:relative;z-index:1}
.oposi-lib .ol-hero h1{font-size:clamp(36px,4vw,53px);color:#76507f;letter-spacing:-1.5px;line-height:1.12;margin:15px 0 18px}
.ol-hero .ol-eyebrow{color:#ad648b;letter-spacing:2px;font-size:11px}
.ol-hero p{color:#72677d;font-size:16px;line-height:1.75}
.ol-hero .ol-tags{gap:9px;margin-top:23px}.ol-hero .ol-tags span{background:#ffffffb8;border:1px solid #ffffff;color:#805f86;box-shadow:0 3px 9px #996a8710;font-size:11px;padding:9px 13px}
.oposi-lib .ol-library-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:center;width:280px;min-height:260px;position:relative;z-index:1;border:2px solid #fff;border-left:14px solid #e8bad1;border-radius:9px 24px 24px 9px;padding:30px 22px;background:linear-gradient(135deg,#fffafd,#fae4ef 66%,#f3d5e8);color:#865b86;box-shadow:7px 8px 0 #fffaf6,9px 10px 0 #e6d6da,18px 25px 35px #94658122,inset 3px 0 0 #ffffff95;transform:rotate(-6deg);animation:ol-book-float 7s ease-in-out infinite}
.ol-library-seal:before{content:"";position:absolute;width:22px;height:61px;top:-2px;right:30px;background:#91d6ce;clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);box-shadow:0 3px 5px #608b8120}
.ol-library-seal:after{content:"✦";position:absolute;top:31px;left:-47px;font-size:37px;color:#ddb778;text-shadow:305px 157px 0 #a4cfc7,284px -39px 0 #dba5c7;animation:ol-sparkle 5s ease-in-out infinite}
.ol-library-seal span{font-size:11px;letter-spacing:4px;color:#b5789a}.ol-library-seal b{font-size:27px;line-height:1.35;margin:21px 0;font-weight:800}.ol-library-seal i{font-size:9px;letter-spacing:1.4px;color:#9b7596}
@keyframes ol-book-float{0%,100%{transform:translateY(2px) rotate(-6deg)}50%{transform:translateY(-9px) rotate(-3deg)}}
@keyframes ol-light-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(12px,8px)}}
@keyframes ol-sparkle{0%,100%{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}}
@media(max-width:800px){.oposi-lib .ol-hero{grid-template-columns:1.3fr .8fr;gap:22px;padding:32px 28px}.oposi-lib .ol-library-seal{width:220px;min-height:235px}.ol-library-seal b{font-size:23px}.ol-library-seal:after{left:-25px;font-size:25px;text-shadow:237px 155px 0 #a4cfc7}}
@media(max-width:600px){.oposi-lib .ol-hero{grid-template-columns:1fr;gap:35px;padding:29px 24px 37px}.oposi-lib .ol-hero h1{font-size:37px}.ol-hero p{font-size:15px}.oposi-lib .ol-library-seal{display:flex;width:230px;min-height:200px;padding:21px}.ol-library-seal b{font-size:23px;margin:17px 0}.ol-library-seal:after{text-shadow:248px 113px 0 #a4cfc7}.ol-hero .ol-tags{gap:6px}.ol-hero .ol-tags span{font-size:10px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.ol-hero:before,.ol-hero:after,.oposi-lib .ol-library-seal,.ol-library-seal:after{animation:none}}

/* Mascota de la marca y título con personalidad. */
.oposi-lib .ol-hero{grid-template-columns:1.4fr .85fr;min-height:390px;padding-top:26px;padding-bottom:26px}
.oposi-lib .ol-hero h1{font-family:"Baloo 2","Fredoka",ui-rounded,"Poppins",sans-serif;font-size:clamp(45px,4.8vw,66px);font-weight:800;letter-spacing:-1.2px;line-height:1.12;color:#80528a;text-shadow:0 3px 0 #ffffffbd}
.ol-mascot{position:relative;display:flex;justify-content:center;align-items:center;justify-self:center;animation:ol-mascot-float 6s ease-in-out infinite;transform-origin:50% 65%}
.ol-mascot img{display:block;width:auto;height:340px;max-width:100%;object-fit:contain;filter:drop-shadow(0 14px 10px #af789d13)}
@keyframes ol-mascot-float{0%,100%{transform:translateY(3px) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
@media(max-width:800px){.oposi-lib .ol-hero{grid-template-columns:1.2fr .8fr;gap:20px}.ol-mascot img{height:300px}.oposi-lib .ol-hero h1{font-size:48px}}
@media(max-width:600px){.oposi-lib .ol-hero{grid-template-columns:1fr;padding:30px 24px 22px;gap:20px}.ol-mascot img{height:280px}.oposi-lib .ol-hero h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){.ol-mascot{animation:none}}
/* Estantería abierta: libros sobre la balda, ficha al acercarse. */
.oposi-lib .ol-hero h1{font-family:"Lilita One",sans-serif!important;font-weight:400;font-size:clamp(45px,5.2vw,69px);line-height:1.08;text-transform:uppercase;color:#df80b1;letter-spacing:.2px;-webkit-text-stroke:1px #92526e;text-shadow:0 5px 0 #493744;margin-bottom:24px}
.oposi-lib .ol-hero{background:radial-gradient(ellipse at 2% 0,#ffdaec,transparent 60%),radial-gradient(ellipse at 100% 100%,#d7f2f0,transparent 60%),linear-gradient(115deg,#fff0f7,#fff9ed 58%,#f0f6ff);border-radius:25px}
.oposi-lib .ol-shelves{display:flex;flex-direction:column;gap:0;padding:0 18px;margin:0 0 30px;border:0;border-radius:16px 16px 0 0;min-height:0;overflow:visible;background:linear-gradient(100deg,#eeebed,#e5e3e6);box-shadow:inset 0 0 50px #c5bcc018}
.ol-shelf-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;isolation:isolate;height:370px;flex:none}
.ol-shelf-row:before{content:"";position:absolute;z-index:0;left:-38px;right:-38px;height:28px;bottom:68px;background:linear-gradient(#d7d2d7,#e7e1e6);clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 100%,0 100%)}
.ol-shelf-row:after{content:"";position:absolute;z-index:0;left:-38px;right:-38px;bottom:40px;height:28px;background:linear-gradient(#f8f4f7,#eee7ed);box-shadow:0 18px 20px -7px #69636a50;border-top:1px solid #ffffff94}
.oposi-lib .ol-card{position:relative;height:330px;min-width:0;padding:0 15px;display:block;align-self:start;border:0;background:none;box-shadow:none;overflow:visible;z-index:1}
.oposi-lib .ol-book-stage{display:flex;align-items:flex-end;justify-content:center;height:300px;padding:26px 0 10px;perspective:900px;background:none}
.oposi-lib .ol-book-open{position:relative;display:block;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;cursor:pointer;line-height:0;transition:transform .25s ease;transform:perspective(900px) rotateY(-7deg);filter:drop-shadow(14px 9px 7px #5e52502b)}
.ol-book-open:after{display:none}
.oposi-lib .ol-cover{height:260px!important;width:auto!important;max-width:190px!important;object-fit:contain;box-shadow:none!important;filter:none!important;border:0!important;border-radius:0!important;transform:none!important}
.oposi-lib .ol-cover-fallback{width:180px!important;height:260px!important}
.oposi-lib .ol-book-info{position:absolute;inset:32px 12px 37px;padding:20px 18px;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;border:1px solid #f4d5e6;border-radius:20px;background:#fff9fdf5;box-shadow:0 16px 30px #81607624;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;pointer-events:none;backdrop-filter:blur(8px)}
.oposi-lib .ol-card.is-open .ol-book-info,.oposi-lib .ol-card:focus-within .ol-book-info{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
@media(hover:hover){.oposi-lib .ol-card:hover .ol-book-info{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}}
.oposi-lib .ol-book-info h2{font-size:19px!important;line-height:1.25!important;min-height:0;margin:0!important;color:#704e78}.oposi-lib .ol-category{margin:0;font-size:10px}.oposi-lib .ol-meta{margin:0;font-size:11px}.oposi-lib .ol-price{font-size:26px;margin:0;line-height:1.25}.ol-book-info form{width:100%;margin:0}.oposi-lib .ol-book-info .ol-button{width:100%;font-size:11px!important;min-height:42px;padding:10px 8px!important}.oposi-lib .ol-product-link{font-size:12px;color:#8c577d;text-decoration:underline;text-underline-offset:3px;padding:4px}.ol-book-open:focus-visible,.ol-product-link:focus-visible{outline:3px solid #b76596;outline-offset:5px}.ol-book-info .ol-progress,.ol-book-info .ol-owned{font-size:12px;margin:0}
@media(max-width:800px){.oposi-lib .ol-cover{height:235px!important;max-width:155px!important}.oposi-lib .ol-book-info{inset:38px 6px 37px;padding:15px 10px}.oposi-lib .ol-book-info h2{font-size:17px!important}}
@media(max-width:600px){.ol-shelf-row{grid-template-columns:repeat(2,minmax(0,1fr));height:340px}.oposi-lib .ol-shelves{padding:0 8px;margin-left:12px;margin-right:12px}.ol-shelf-row:before,.ol-shelf-row:after{left:-20px;right:-20px}.ol-shelf-row:before{bottom:63px;height:23px}.ol-shelf-row:after{bottom:40px;height:23px}.oposi-lib .ol-card{height:305px;padding:0 5px}.oposi-lib .ol-book-stage{height:278px;padding:24px 0 12px}.oposi-lib .ol-cover{height:222px!important;max-width:140px!important}.oposi-lib .ol-book-info{inset:25px 0 23px;padding:13px 8px}.oposi-lib .ol-book-info h2{font-size:16px!important}.oposi-lib .ol-book-info .ol-button{font-size:10px!important}.oposi-lib .ol-hero h1{font-size:42px!important}}
@media(prefers-reduced-motion:reduce){.oposi-lib .ol-book-info,.oposi-lib .ol-book-open{transition:none}}

.oposi-lib .ol-book-info>*{flex:0 0 auto}.oposi-lib .ol-book-info h2{display:block!important;height:auto!important;overflow:visible!important;padding:0!important}.oposi-lib .ol-book-info p{margin:0!important;min-height:0!important}.oposi-lib .ol-book-info form{padding:0!important}

/* Biblioteca amplia: mantiene las baldas y da más espacio a los libros. */
@media(min-width:901px){
.oposi-lib{width:100%;max-width:1800px;padding:30px 40px 45px}
.oposi-lib .ol-hero{padding:42px 44px;grid-template-columns:1.4fr 1fr}
.oposi-lib .ol-hero h1{font-size:clamp(58px,5.2vw,82px)}
.oposi-lib .ol-hero p{font-size:18px;max-width:680px}
.oposi-lib .ol-mascot img{height:380px}
.oposi-lib .ol-shelf-row{height:440px}
.oposi-lib .ol-card{height:400px}
.oposi-lib .ol-book-stage{height:370px}
.oposi-lib .ol-cover{height:320px!important;max-width:250px!important}
.oposi-lib .ol-cover-fallback{width:220px!important;height:320px!important}
.oposi-lib .ol-book-info{inset:45px 18px 48px;padding:24px 22px;gap:10px}
.oposi-lib .ol-book-info h2{font-size:22px!important}
.oposi-lib .ol-book-info .ol-meta{font-size:13px}
.oposi-lib .ol-book-info .ol-price{font-size:30px}
.oposi-lib .ol-book-info .ol-button{font-size:13px!important;min-height:48px}
.oposi-lib .ol-product-link{font-size:14px}
.oposi-lib .ol-section-title h2{font-size:32px}
.oposi-lib .ol-how p{font-size:14px}
}

/* Movimiento suave y dos acciones visibles al pasar sobre el libro. */
@media(hover:hover){.oposi-lib .ol-card:hover .ol-book-open{transform:perspective(900px) translateY(-14px) rotateY(-7deg) rotate(-2deg) scale(1.04)}}
.oposi-lib .ol-card.is-open .ol-book-open,.oposi-lib .ol-card:focus-within .ol-book-open{transform:perspective(900px) translateY(-14px) rotateY(-7deg) rotate(-2deg) scale(1.04)}
.oposi-lib .ol-product-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:10px 12px;border:1px solid #d3b3c9;border-radius:13px;background:#fff;color:#704e78!important;font-weight:700;text-decoration:none;font-size:13px;line-height:1.4;transition:background .2s}
.oposi-lib .ol-product-link:hover{background:#f4e5ef}
.oposi-lib .ol-book-info{gap:8px;padding-top:18px;padding-bottom:18px}
@media(max-width:600px){.oposi-lib .ol-product-link{font-size:11px;min-height:38px;padding:8px}.oposi-lib .ol-book-info{gap:5px;padding-top:12px;padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.oposi-lib .ol-card:hover .ol-book-open,.oposi-lib .ol-card.is-open .ol-book-open,.oposi-lib .ol-card:focus-within .ol-book-open{transform:perspective(900px) rotateY(-7deg)}}

/* Catálogo: título limpio y opciones debajo de las portadas. */
.oposi-lib:has(.ol-search){background:#fff;border-radius:0}
.oposi-lib:has(.ol-search) .ol-nav{position:relative;z-index:2;justify-content:flex-end;height:50px;margin:0;pointer-events:none}
.oposi-lib:has(.ol-search) .ol-nav>div{pointer-events:auto}
.oposi-lib:has(.ol-search) .ol-nav .ol-brand,
.oposi-lib:has(.ol-search) .ol-nav>div>a:not(.ol-nav-pill){display:none}
.oposi-lib:has(.ol-search) .ol-hero{display:block;min-height:0;margin-top:-50px;padding:0 260px 28px 0;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
.oposi-lib:has(.ol-search) .ol-hero:before,
.oposi-lib:has(.ol-search) .ol-hero:after,
.oposi-lib:has(.ol-search) .ol-hero .ol-eyebrow,
.oposi-lib:has(.ol-search) .ol-hero p,
.oposi-lib:has(.ol-search) .ol-hero .ol-tags,
.oposi-lib:has(.ol-search) .ol-mascot{display:none}
.oposi-lib:has(.ol-search) .ol-hero h1{margin:0;font-size:clamp(40px,4.6vw,68px)!important;line-height:1.15}
.oposi-lib:has(.ol-search) .ol-section{padding-top:0}
.oposi-lib:has(.ol-search) .ol-section-title{display:none}
.oposi-lib:has(.ol-search) .ol-shelf-row{height:590px}
.oposi-lib:has(.ol-search) .ol-shelf-row:before{top:380px;bottom:auto;height:28px}
.oposi-lib:has(.ol-search) .ol-shelf-row:after{top:408px;bottom:auto;height:22px}
.oposi-lib:has(.ol-search) .ol-card{height:590px;padding:0 18px}
.oposi-lib:has(.ol-search) .ol-book-stage{height:390px;padding:30px 0 10px}
.oposi-lib:has(.ol-search) .ol-cover{height:350px!important;max-width:285px!important}
.oposi-lib:has(.ol-search) .ol-cover-fallback{width:250px!important;height:350px!important}
.oposi-lib:has(.ol-search) .ol-book-info{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;align-content:start;align-items:center;justify-content:normal;gap:10px;width:100%;max-width:420px;margin:0 auto;padding:54px 0 18px;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;transform:translateY(5px)}
.oposi-lib:has(.ol-search) .ol-book-info .ol-category,
.oposi-lib:has(.ol-search) .ol-book-info h2,
.oposi-lib:has(.ol-search) .ol-book-info .ol-meta{display:none!important}
.oposi-lib:has(.ol-search) .ol-book-info .ol-price,
.oposi-lib:has(.ol-search) .ol-book-info .ol-owned,
.oposi-lib:has(.ol-search) .ol-book-info .ol-progress{grid-column:1/-1;font-size:26px;margin:0!important}
.oposi-lib:has(.ol-search) .ol-book-info .ol-owned,
.oposi-lib:has(.ol-search) .ol-book-info .ol-progress{font-size:14px}
.oposi-lib:has(.ol-search) .ol-book-info .ol-button,
.oposi-lib:has(.ol-search) .ol-book-info .ol-product-link{min-height:48px;font-size:12px!important;padding:10px!important;border-radius:14px!important;justify-content:center;text-align:center;line-height:1.4}
.oposi-lib:has(.ol-search) .ol-book-info form{min-width:0}
.oposi-lib:has(.ol-search) .ol-card.is-open .ol-book-info,
.oposi-lib:has(.ol-search) .ol-card:focus-within .ol-book-info{transform:translateY(0)}
@media(hover:hover){.oposi-lib:has(.ol-search) .ol-card:hover .ol-book-info{transform:translateY(0)}}
@media(max-width:900px){
 .oposi-lib:has(.ol-search) .ol-hero{padding-right:220px}
 .oposi-lib:has(.ol-search) .ol-shelf-row,.oposi-lib:has(.ol-search) .ol-card{height:530px}
 .oposi-lib:has(.ol-search) .ol-book-stage{height:330px}
 .oposi-lib:has(.ol-search) .ol-cover{height:285px!important;max-width:205px!important}
 .oposi-lib:has(.ol-search) .ol-cover-fallback{width:200px!important;height:285px!important}
 .oposi-lib:has(.ol-search) .ol-shelf-row:before{top:320px}
 .oposi-lib:has(.ol-search) .ol-shelf-row:after{top:348px}
 .oposi-lib:has(.ol-search) .ol-book-info{grid-template-columns:1fr;gap:7px}
}
@media(max-width:600px){
 .oposi-lib:has(.ol-search) .ol-nav{height:auto;margin:0 0 18px}
 .oposi-lib:has(.ol-search) .ol-hero{margin-top:0;padding:0 0 24px;text-align:center}
 .oposi-lib:has(.ol-search) .ol-hero h1{font-size:40px!important}
 .oposi-lib:has(.ol-search) .ol-shelf-row,.oposi-lib:has(.ol-search) .ol-card{height:500px}
 .oposi-lib:has(.ol-search) .ol-card{padding:0 7px}
 .oposi-lib:has(.ol-search) .ol-book-stage{height:290px;padding-top:25px}
 .oposi-lib:has(.ol-search) .ol-cover{height:245px!important;max-width:165px!important}
 .oposi-lib:has(.ol-search) .ol-cover-fallback{width:155px!important;height:245px!important}
 .oposi-lib:has(.ol-search) .ol-shelf-row:before{top:280px;height:23px}
 .oposi-lib:has(.ol-search) .ol-shelf-row:after{top:303px;height:20px}
 .oposi-lib:has(.ol-search) .ol-book-info{padding:42px 0 14px}
 .oposi-lib:has(.ol-search) .ol-book-info .ol-button,.oposi-lib:has(.ol-search) .ol-book-info .ol-product-link{font-size:11px!important;min-height:43px}
}

/* Portadas nítidas: evitar el remuestreo de la perspectiva 3D. */
.oposi-lib .ol-book-open{transform:none}
.oposi-lib .ol-card.is-open .ol-book-open,.oposi-lib .ol-card:focus-within .ol-book-open{transform:translateY(-14px)}
@media(hover:hover){.oposi-lib .ol-card:hover .ol-book-open{transform:translateY(-14px)}}
@media(prefers-reduced-motion:reduce){.oposi-lib .ol-card:hover .ol-book-open,.oposi-lib .ol-card.is-open .ol-book-open,.oposi-lib .ol-card:focus-within .ol-book-open{transform:none}}
