/* Catálogo Life Editora: mobile first */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalog-title{font-size:clamp(2.2rem,8vw,3.5rem);margin:12px 0 28px}
.catalog-search{display:flex;flex-direction:column;gap:8px;max-width:720px}
.catalog-search input{width:100%;min-width:0;border:1px solid #d9d2c8;border-radius:4px;padding:15px;font:inherit}
.catalog-search button{cursor:pointer;border-radius:4px}
.catalog-categories{display:flex;gap:8px;overflow-x:auto;padding:20px 0 12px;scroll-snap-type:x proximity}
.catalog-categories a{white-space:nowrap;border:1px solid #d6cec3;border-radius:99px;padding:10px 16px;font-size:14px;scroll-snap-align:start}
.catalog-categories a.active{background:var(--wine);border-color:var(--wine);color:white}
.catalog-count{color:var(--muted);font-size:14px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;margin-top:25px}
.catalog-card{min-width:0}
.catalog-cover{display:flex;aspect-ratio:2/3;background:#eee8dc;align-items:center;justify-content:center;overflow:hidden}
.catalog-cover img{width:100%;height:100%;object-fit:contain}
.catalog-cover-placeholder{height:100%;width:100%;background:#782e3b;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:18px;overflow-wrap:anywhere}
.catalog-cover-placeholder small{letter-spacing:.14em;font-size:10px}
.catalog-cover-placeholder strong{font:600 clamp(16px,3vw,26px)/1.15 'Playfair Display',serif}
.catalog-info h2{font-size:17px;line-height:1.3;margin:12px 0 6px}
.catalog-info p{font-size:13px;color:var(--muted);margin:0 0 10px}
.catalog-info>strong{display:block;font-size:16px}
.catalog-details{display:inline-block;color:var(--wine);font-size:14px;font-weight:700;margin-top:12px}
.catalog-empty{background:var(--paper);padding:30px 20px;margin-top:24px}
.catalog-empty h2{font-size:25px}
.catalog-empty p{line-height:1.6}
.catalog-empty .btn{display:inline-block;margin-top:10px}
.catalog-pagination{margin-top:32px;overflow-x:auto}
.book-detail-grid{display:grid;grid-template-columns:1fr;gap:30px;margin-top:24px}
.book-detail-cover{max-width:350px;width:100%;aspect-ratio:2/3;background:var(--paper)}
.book-detail-cover img{width:100%;height:100%;object-fit:contain}
.book-detail h1{font-size:clamp(32px,8vw,56px)}
.book-detail h2{font-size:25px;margin-top:28px}
.book-detail-price{font-size:25px;font-weight:700;color:var(--wine)}
.book-synopsis{line-height:1.8;overflow-wrap:anywhere}
.catalog-notice{background:var(--paper);padding:14px;margin:25px 0;line-height:1.6}
@media(min-width:640px){.catalog-search{flex-direction:row}.catalog-search input{flex:1}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}.book-detail-grid{grid-template-columns:minmax(220px,380px) 1fr;gap:50px}}
@media(min-width:1000px){.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Filtros editoriais e ordenação */
.catalog-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 18px}
.catalog-controls label{font-size:13px;font-weight:700;color:var(--muted)}
.catalog-controls select{max-width:100%;border:1px solid #d9d2c8;border-radius:4px;background:#fff;padding:11px;font:inherit;font-size:14px}
.catalog-controls button{background:var(--wine);color:#fff;border:0;border-radius:4px;padding:12px 18px;cursor:pointer;font:inherit}
.catalog-card{display:flex;flex-direction:column}
.catalog-info{display:flex;flex:1;flex-direction:column}
.catalog-info .catalog-details{margin-top:auto;padding-top:14px}
.catalog-cover img{transition:transform .25s ease}
.catalog-cover:hover img{transform:scale(1.035)}
@media(max-width:639px){.catalog-controls{align-items:stretch}.catalog-controls label{width:100%}.catalog-controls select,.catalog-controls button{width:100%}}

/* Paginação compacta, independente dos estilos padrão do framework */
.catalog-pagination nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px auto}
.catalog-pagination nav a,.catalog-pagination nav span{display:inline-flex;align-items:center;gap:5px;font-size:14px;line-height:1.4}
.catalog-pagination nav svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}
.catalog-pagination nav a{color:var(--wine);font-weight:700}
.catalog-pagination nav span[aria-disabled="true"]{opacity:.45}

/* Vitrine: eliminar faixas vazias em capas com fundo embutido na imagem */
.catalog-cover{aspect-ratio:auto;height:clamp(220px,26vw,310px);background:#fff}
.catalog-cover img{display:block;width:100%;height:100%;object-fit:contain}
.catalog-cover-placeholder{background:#782e3b}
.catalog-grid{align-items:stretch}
.catalog-card{height:100%}
.catalog-info{padding-top:4px}
.catalog-info h2{margin-top:8px}
@media(max-width:639px){.catalog-cover{height:clamp(190px,56vw,260px)}}

/* Categorias: grade fluida sem rolagem horizontal */
.catalog-categories{display:flex;flex-wrap:wrap;overflow:visible;scroll-snap-type:none;gap:9px;padding:18px 0 16px;align-items:center}
.catalog-categories a{white-space:normal;scroll-snap-align:none;text-align:center;line-height:1.3;padding:9px 14px}
.catalog-categories a:hover{border-color:var(--wine);color:var(--wine)}
.catalog-categories a.active:hover{color:#fff}
@media(max-width:639px){.catalog-categories{gap:7px}.catalog-categories a{font-size:12px;padding:8px 11px}}

/* Página individual: capa sem moldura vazia e leitura confortável */
.book-detail-cover{aspect-ratio:auto;max-width:420px;background:transparent;display:flex;align-items:flex-start;justify-content:center}
.book-detail-cover img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}
.book-detail-grid{align-items:start}
.book-detail-grid>div:last-child{min-width:0}
.book-detail-grid h1{line-height:1.1;margin:12px 0 18px}
.book-detail-grid .book-synopsis{font-size:15px;line-height:1.8;white-space:normal;overflow-wrap:anywhere}
.book-detail-grid .book-detail-price{margin:18px 0 26px}
@media(min-width:640px){.book-detail-grid{grid-template-columns:minmax(230px,390px) minmax(0,1fr);gap:48px}}

.book-technical{margin:28px 0}
.book-technical h2{margin-bottom:12px}
.book-technical dl{margin:0;border-top:1px solid #e8e0d8}
.book-technical dl>div{display:grid;grid-template-columns:minmax(110px,36%) 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #e8e0d8;font-size:14px}
.book-technical dt{font-weight:700;color:var(--muted)}
.book-technical dd{margin:0;overflow-wrap:anywhere}
