.library-hero{position:relative;overflow:hidden;padding:54px 0 62px;background:radial-gradient(circle at 80% 15%,rgba(246,174,102,.24),transparent 28%),linear-gradient(135deg,#fff5ea,#fffaf4)}
.library-hero:after{content:"L";position:absolute;right:-40px;top:-155px;color:rgba(230,111,34,.055);font:700 29rem/1 Lora,serif;pointer-events:none}
.library-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:70px;align-items:end}
.breadcrumbs{display:flex;align-items:center;gap:9px;margin-bottom:25px;color:var(--muted);font-size:.8rem}.breadcrumbs a:hover{color:var(--plum)}
.library-hero h1{max-width:800px;margin:0 0 16px;font:700 clamp(2.6rem,5vw,4.65rem)/1.07 Lora,serif;letter-spacing:-.045em}.library-hero h1 em{color:var(--plum);font-weight:600}.library-hero p{max-width:720px;margin:0;color:var(--muted);font-size:1.05rem}
.library-hero-stat{display:flex;flex-direction:column;align-items:flex-start;padding:25px;border-left:4px solid var(--plum);border-radius:0 18px 18px 0;background:rgba(255,255,255,.72);box-shadow:0 12px 30px rgba(139,67,22,.08)}.library-hero-stat strong{font:700 2.8rem/1 Lora,serif;color:var(--plum-dark)}.library-hero-stat span{margin:6px 0 14px;color:var(--muted);font-size:.82rem}.library-hero-stat a{color:var(--plum);font-size:.82rem;font-weight:800}
.library-content{padding-top:42px}.library-filters{display:grid;grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(135px,.7fr)) auto;gap:14px;align-items:end;padding:22px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.library-filters label{display:block;margin:0 0 7px;color:#665b63;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.filter-search>div{display:flex;align-items:center;height:48px;padding-left:15px;border:1px solid #e6d9d1;border-radius:14px;background:#fffaf6}.filter-search span{color:var(--plum);font-size:1.35rem}.filter-search input{flex:1;min-width:0;padding:8px 10px;border:0;outline:0;background:transparent}.filter-search button{align-self:stretch;padding:0 18px;border:0;border-radius:0 13px 13px 0;background:var(--plum);color:#fff;font-weight:800;cursor:pointer}.filter-field select{width:100%;height:48px;padding:0 34px 0 12px;border:1px solid #e6d9d1;border-radius:14px;background:#fffaf6;color:var(--ink);outline:0}.filter-field select:focus,.filter-search>div:focus-within{border-color:var(--plum);box-shadow:0 0 0 3px rgba(230,111,34,.12)}.filter-submit{height:48px;padding:0 17px;border:0;border-radius:14px;background:var(--plum-dark);color:#fff;font-weight:800;cursor:pointer}
.quick-filters{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:18px 0 48px}.quick-filters a{padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.8rem;font-weight:700}.quick-filters a:hover,.quick-filters a.active{border-color:var(--plum);background:#fff1e6;color:var(--plum-dark)}.quick-filters .clear-filter{margin-left:auto;border:0;color:#a94712}
.results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.results-heading h2{margin:0;font:700 clamp(2rem,3.4vw,3rem)/1.12 Lora,serif;letter-spacing:-.03em}.results-heading>p{margin:0;color:var(--muted);font-size:.85rem}.library-ad{min-height:120px;margin-bottom:32px;padding-top:14px;padding-bottom:14px;border-block:1px solid #f0e8e1}.bottom-ad{margin:55px 0 0}
.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.library-card{display:grid;grid-template-columns:155px minmax(0,1fr);min-height:330px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;transition:transform .25s,box-shadow .25s}.library-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.library-cover{position:relative;display:block;min-height:100%;overflow:hidden;background:#ede7e2}.library-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.library-card:hover .library-cover img{transform:scale(1.035)}.rating-badge,.completed-badge{position:absolute;top:12px;padding:5px 9px;border-radius:999px;color:#fff;font-size:.65rem;font-weight:800;box-shadow:0 4px 12px rgba(42,27,30,.18)}.rating-badge{left:12px;background:#4d384a}.completed-badge{right:12px;background:var(--sage)}.library-card-body{display:flex;min-width:0;flex-direction:column;padding:20px}.library-card h3{margin:6px 0 5px;font:700 1.17rem/1.3 Lora,serif}.library-card h3 a:hover,.story-author a:hover{color:var(--plum)}.story-author{margin:0 0 12px;color:var(--muted);font-size:.82rem}.story-summary{display:-webkit-box;overflow:hidden;margin:0 0 17px;color:#62575f;font-size:.83rem;line-height:1.55;-webkit-line-clamp:4;-webkit-box-orient:vertical}.story-numbers{display:grid;grid-template-columns:repeat(4,1fr);margin:auto 0 15px;padding:12px 0;border-block:1px solid var(--line)}.story-numbers div{text-align:center}.story-numbers div+div{border-left:1px solid var(--line)}.story-numbers dt{font-size:.82rem;font-weight:800;color:var(--plum-dark)}.story-numbers dd{margin:1px 0 0;color:#948892;font-size:.6rem;text-transform:uppercase}.story-numbers dd a{color:inherit}.story-numbers dd a:hover{color:var(--plum);text-decoration:underline;text-underline-offset:2px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#92868f;font-size:.67rem}.card-footer a{color:var(--plum);font-size:.72rem;font-weight:800;white-space:nowrap}
.library-empty{padding:70px 25px;border:1px dashed #e1c9b8;border-radius:24px;background:var(--cream);text-align:center}.library-empty strong{font:700 1.65rem Lora,serif}.library-empty p{margin:6px 0 22px;color:var(--muted)}
.pagination-modern{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;margin-top:52px}.page-arrow{font-size:.83rem;font-weight:800;color:var(--plum)}.page-arrow:last-child{text-align:right}.page-arrow.disabled{color:#b9afb5}.page-numbers{display:flex;align-items:center;gap:7px}.page-numbers a,.page-numbers span{display:grid;min-width:38px;height:38px;place-items:center;border-radius:11px;font-size:.8rem}.page-numbers a{border:1px solid var(--line);background:#fff}.page-numbers a:hover,.page-numbers a.active{border-color:var(--plum);background:var(--plum);color:#fff}
@media(max-width:1180px){.library-filters{grid-template-columns:2fr repeat(3,1fr)}.filter-submit{grid-column:1/-1}.library-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.library-hero-grid{grid-template-columns:1fr;gap:28px}.library-hero-stat{max-width:260px}.library-filters{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.filter-submit{grid-column:1/-1}.library-grid{grid-template-columns:1fr}.library-card{grid-template-columns:180px 1fr}.results-heading{align-items:flex-start;flex-direction:column}.quick-filters .clear-filter{margin-left:0}}
@media(max-width:560px){.library-hero{padding:38px 0 45px}.library-hero h1{font-size:2.55rem}.library-filters{grid-template-columns:1fr;padding:16px}.filter-search{grid-column:auto}.filter-submit{grid-column:auto}.filter-search>div{display:grid;grid-template-columns:auto 1fr}.filter-search button{grid-column:1/-1;min-height:42px;margin:5px 5px 5px -10px;border-radius:10px}.library-card{grid-template-columns:118px minmax(0,1fr);min-height:310px;border-radius:17px}.library-card-body{padding:15px}.library-card h3{font-size:1.02rem}.story-summary{font-size:.76rem;-webkit-line-clamp:3}.story-numbers{grid-template-columns:1fr}.story-numbers div{display:flex;align-items:center;justify-content:space-between;padding:3px 0}.story-numbers div+div{border-left:0}.card-footer{align-items:flex-start;flex-direction:column}.pagination-modern{grid-template-columns:1fr 1fr}.page-numbers{grid-column:1/-1;grid-row:1;justify-content:center}.page-arrow{grid-row:2}.page-numbers a,.page-numbers span{min-width:34px;height:34px}}

/* Rosa da bandeira lésbica como cor complementar */
.library-hero{background:radial-gradient(circle at 80% 15%,rgba(211,98,164,.18),transparent 29%),radial-gradient(circle at 12% 88%,rgba(246,174,102,.2),transparent 26%),linear-gradient(135deg,#fff3f8,#fffaf4)}
.library-hero h1 em{position:relative;color:#a9477f}
.library-hero h1 em:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:5px;border-radius:5px;background:linear-gradient(90deg,#d362a4,#f19bc5)}
.quick-filters a:hover,.quick-filters a.active{border-color:#c75998;background:#fcebf4;color:#843766}
.quick-filters .clear-filter{color:#a9477f}
.library-card{border-top:3px solid transparent;transition:transform .25s,box-shadow .25s,border-color .25s}
.library-card:hover{border-top-color:#d362a4;box-shadow:0 18px 50px rgba(166,69,126,.14)}
.rating-badge{background:#71395f}
.completed-badge{background:linear-gradient(135deg,#b84f8a,#db74ad)}
.library-card .story-category{color:#b34d87}
.page-numbers a:hover,.page-numbers a.active{border-color:#bd528d;background:linear-gradient(135deg,#b74b87,#df73ad);color:#fff}

/* Listagem de histórias em uma história por linha. */
.library-grid{grid-template-columns:1fr}
.library-card{grid-template-columns:225px minmax(0,1fr);min-height:0}
.library-cover{aspect-ratio:3/4;min-height:0}
.story-summary{-webkit-line-clamp:3}
@media(max-width:1180px){.library-grid{grid-template-columns:1fr}}
@media(max-width:820px){.library-card{grid-template-columns:225px minmax(0,1fr)}}
@media(max-width:560px){.library-card{grid-template-columns:168px minmax(0,1fr);min-height:0}.library-cover{aspect-ratio:3/4}.story-numbers{grid-template-columns:1fr}}
