/* Fluxo oficial: detalhes e compra explícitos em cada material. */
[data-catalog-mode=library] .volume-offer{flex-wrap:wrap;gap:18px}
.official-product-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.official-product-actions a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 10px;border-radius:10px;font-size:13px;font-weight:650;text-decoration:none;transition:background .2s,box-shadow .2s}
.official-product-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
.official-product-detail{background:#fffefa;color:#514a3e;border:1px solid #ddd2bd}
.official-product-buy{background:#eee2c6;color:#654b20;border:1px solid #c9ac70}
.official-product-detail:hover{background:#f5f0e5}.official-product-buy:hover{background:#e5d4ad;box-shadow:0 4px 12px #84632214}
.official-product-actions a:focus-visible{outline:2px solid #9c7839;outline-offset:3px}

/* Tamanho de toque e ritmo dos cards em resultados e coleções. */
[data-catalog-mode=library] .material-volume-copy{gap:0}
[data-catalog-mode=library] .material-volume :is(h3,h4){min-height:0;margin-bottom:0}
[data-catalog-mode=library] .volume-description{min-height:0;margin:12px 0 20px}
[data-catalog-mode=library] .volume-offer{margin-top:auto;padding-top:16px;border-top:1px solid #e8e0d3}
@media(max-width:700px){
 [data-catalog-mode=library] .library-flat-grid{grid-template-columns:1fr}
 [data-catalog-mode=library] .library-flat-grid .material-volume{max-width:none}
 [data-catalog-mode=library] .library-flat-grid .material-volume-copy{padding:20px}
 [data-catalog-mode=library] .library-flat-grid .material-volume :is(h3,h4){font-size:23px;min-height:0}
 [data-catalog-mode=library] .library-flat-grid .volume-meta{font-size:9px}
 [data-catalog-mode=library] .library-flat-grid .volume-description{font-size:13px;min-height:0}
 [data-catalog-mode=library] .library-flat-grid .material-volume-stage{height:270px}
 [data-catalog-mode=library] .library-flat-grid .volume-cover{height:220px;bottom:22px}
 [data-catalog-mode=library] .library-flat-grid .volume-page{height:200px;bottom:26px}
 .official-product-actions a{font-size:12px}
}

.kit-contents-inline{margin:0 0 18px;border:1px solid #e6dece;border-radius:10px;background:#fffefa;text-align:left}
.kit-contents-inline summary{display:flex;align-items:center;gap:9px;min-height:48px;padding:12px;cursor:pointer;list-style:none;color:#66502c;font-size:12px;font-weight:650}
.kit-contents-inline summary::-webkit-details-marker{display:none}
.kit-contents-count{background:#f3ecdc;border-radius:5px;padding:3px 6px;font-size:10px}
.kit-contents-toggle{margin-left:auto;font-size:21px;font-weight:400;line-height:1;transition:transform .2s}
.kit-contents-inline[open] .kit-contents-toggle{transform:rotate(45deg)}
.kit-contents-inline[open] summary{border-bottom:1px solid #ece5d8}
.kit-contents-inline ul{list-style:none;padding:0 12px;margin:0;max-height:310px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#caba97 #faf8f1}
.kit-contents-inline li+li{border-top:1px solid #eee9df}
.kit-contents-inline li a{display:flex;align-items:center;gap:10px;min-height:67px;padding:10px 0;text-decoration:none;color:#303a3e}
.kit-contents-inline li a>span{min-width:0;flex:1}
.kit-contents-inline li strong{display:block;font-size:12px;line-height:1.5;font-weight:600}
.kit-contents-inline li small{display:block;font-size:10px;color:#78786d;margin-top:3px}
.kit-contents-inline li img{object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 2px #685c3920)}
.kit-contents-inline li svg{width:14px;height:14px;fill:none;stroke:#9b7e48;stroke-width:1.5;flex-shrink:0}
.kit-contents-inline :is(summary,a):focus-visible{outline:2px solid #a2854c;outline-offset:2px;border-radius:5px}
.home-page .collection-cta .edition-count{font-size:10px;line-height:1.5;white-space:normal}
@media(max-width:360px){.home-page .collection-cta .edition-count{font-size:9px}}
@media(prefers-reduced-motion:reduce){.kit-contents-toggle{transition:none}}

/* Retrato fornecido: composição integral, sem recortar rosto ou tablet. */
.home-page .library-v7 .home-library-devices.library-portrait{display:block;position:relative;min-height:0;height:auto;align-self:center;margin:0;isolation:auto;padding:0;transform:none}
.home-page .library-v7 .library-portrait:before,.home-page .library-v7 .library-portrait:after{display:none}
.home-page .library-v7 .library-portrait-photo{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:16px;box-shadow:0 10px 30px #64563b12;transform:none}
@media(max-width:700px){.home-page .library-v7 .home-library-devices.library-portrait{width:100%;margin:24px 0;min-height:0}.home-page .library-v7 .library-portrait-photo{max-height:none;border-radius:12px}}

@media(min-width:701px){.home-page .library-v7 .library-portrait-photo{width:auto;max-width:100%;margin-inline:auto}}

/* Legibilidade das coleções e dos filtros em telas estreitas. */
@media(max-width:700px){
 .home-page .collection-bento{height:300px}
 .home-page .edition-copy{height:140px;padding:13px}
 .home-page .edition-visual{bottom:140px}
 .home-page .edition-name{line-height:1.35}
 .home-page .edition-subjects{font-size:11px;line-height:1.5;min-height:33px}
 .home-page .collection-cta{margin-top:8px;padding-top:8px}
 .home-page .collection-cta .edition-count{font-size:10px}
 .home-page .catalog-control-panel{padding:16px 14px}
 .home-page .catalog-control-panel .library-year-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;overflow:visible}
 .home-page .library-year-tabs button{width:100%;min-width:0;min-height:44px;font-size:12px;padding:8px}
 .home-page .catalog-control-panel .type-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;overflow:visible}
 .home-page .type-tabs button{grid-column:span 2;min-height:58px;font-size:11px;padding:8px 5px}
 .home-page .type-tabs button:nth-child(n+4){grid-column:span 3}
 .home-page .type-tabs .format-count{font-size:9px;position:absolute;top:5px;right:5px;margin:0}
 .home-page .catalog-tools #filterButton{min-width:48px;min-height:48px}
 .home-page .hero-search-tags button{min-height:40px;font-size:12px}
 .home-page .library-group-arrows button{width:44px;height:44px}
}
@media(max-width:360px){
 .home-page .collection-bento{height:300px}
 .home-page .edition-copy{height:154px;padding:12px 10px}
 .home-page .edition-visual{bottom:154px}
 .home-page .edition-subjects{font-size:10px;min-height:45px}
 .home-page .collection-cta .edition-count{font-size:10px}
 .home-page .type-tabs button{font-size:10px}
}
.home-page .library-year-tabs button{min-height:44px}
@media(min-width:701px) and (max-width:1100px){
 .home-page .collection-bento{height:354px}
 .home-page .edition-visual{bottom:156px}
 .home-page .edition-copy{height:156px}
}
/* Filtros e navegação seguem a mesma paleta clara da home. */
.home-page .filters-dialog{background:#fffefa;color:#29343a;border:1px solid #ded5c3;box-shadow:0 20px 70px #78644320;font-family:Manrope,Arial,sans-serif}
.home-page .filters-dialog::backdrop,.home-page .site-menu::backdrop{background:#6b614833;backdrop-filter:blur(3px)}
.home-page .filters-dialog>footer{background:#fffefa;border-top:1px solid #e8dfcd;padding-top:14px;gap:12px}
.home-page .filters-dialog .sheet-handle{background:#d5c6a9}
.home-page .filters-dialog .field select{background-color:#fff;color:#344047;border-color:#ddd4c1;border-radius:9px;min-height:48px}
.home-page #closeFilters{min-width:44px;min-height:44px;border:1px solid #e3dccf;border-radius:50%;background:#faf7ef}
.home-page #applyFilters{background:#eee2c6;color:#654b20;border:1px solid #c9ac70;border-radius:10px;box-shadow:none;min-height:48px}
.home-page #clearDraftFilters{color:#706552;min-height:48px}
.home-page .site-menu{background:#fffefa;border-color:#e1d7c2;box-shadow:0 12px 32px #6d5e3e18}
.home-page .site-menu a:hover{background:#f5efdf}
.home-page :is(button,a,input,select,summary):focus-visible{outline-color:#a78545}

.home-page .empty-state{background:#fffefa;border:1px solid #e2d7c1;border-radius:16px;padding:35px 22px;color:#29343a}
.home-page .empty-mark{background:#f5eedf;color:#9b7b40;border:1px solid #e7dcc4;border-radius:50%;width:62px;height:62px;display:grid;place-items:center;margin:0 auto 20px}
.empty-search-icon{width:30px;height:30px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.home-page .empty-state .secondary-button{background:#f1e7d0;border:1px solid #ccb17c;color:#765722;min-height:46px;border-radius:9px}
.home-page .empty-state .text-button{min-height:46px;color:#706552}

/* Posição e progresso das coleções, sem substituir o gesto nativo. */
.library-group-arrows svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.home-page .library-rail-footer{display:flex;align-items:center;gap:18px;padding:10px 2px 0;color:#847558}
.home-page .library-rail-position{font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:.06em;min-width:65px}
.home-page .library-rail-progress{height:3px;border-radius:4px;position:relative;overflow:hidden;background:#e9e3d8;flex:1}
.home-page .library-rail-progress>span{position:absolute;top:0;bottom:0;left:0;background:#b69b63;border-radius:4px;min-width:12px}
.home-page .library-rail-hint{font-size:11px;color:#7c7b70}
.home-page .library-volume-rail:has(.kit-contents-inline[open]){align-items:start}
.home-page .material-volume[data-material-type=flashcards] .volume-meta{letter-spacing:.06em}
@media(max-width:700px){.home-page .library-rail-footer{margin:0 5%;gap:12px;padding-top:7px}.home-page .library-rail-hint{font-size:10px}.home-page .library-group{margin-bottom:40px}.home-page .library-group-heading>div:first-child{min-width:0;flex-wrap:wrap;gap:7px}.home-page .library-group-arrows{flex-shrink:0}}
@media(hover:hover){.home-page .library-rail-hint{display:none}}

.home-page .library-group-heading>div:first-child{flex-wrap:wrap}
.home-page .library-group-description{flex-basis:100%;font-size:12px;line-height:1.5;color:#7d796d;margin:0;font-weight:400;letter-spacing:0}
@media(max-width:700px){.home-page .library-group-description{font-size:11px}.home-page .library-group-heading{align-items:center}}
