/*
 * ESTILOS EXCLUSIVOS DO CATÁLOGO DE JOIAS.
 * Grade, barra de filtros e navegação de retorno.
 */
.products-page { padding-top: 125px; min-height: 100vh; }
    .products-page .section-header { margin-bottom: 34px; }
    .products-intro { max-width: 650px; margin-top: 12px; line-height: 1.7; color: var(--gray); }
    .products-toolbar { display:flex; gap:10px; flex-wrap:wrap; margin: 26px 0 36px; }
    .filter-btn { border:1px solid var(--border); background:transparent; padding:10px 18px; border-radius:30px; cursor:pointer; transition:var(--transition); }
    .filter-btn.active,.filter-btn:hover { background:var(--black); color:var(--white); border-color:var(--black); }
    .page-back { display:inline-flex; align-items:center; gap:8px; margin-bottom:22px; font-size:13px; color:var(--wine); }
    @media (max-width:768px){ .products-page{padding-top:105px;} }
/* Estado de estoque controlado pelo painel. */
.stock-out{display:inline-block;color:#8a4348;font-size:12px;font-weight:800;letter-spacing:.05em}
.catalog-empty{grid-column:1/-1;padding:28px;text-align:center;color:#6c6463;background:#fbf8f6;border-radius:12px}
.filter-btn:disabled{opacity:.35;cursor:not-allowed}

.catalog-filter-label {
    margin: 20px 0 8px;
    font-size: 14px;
    font-weight: 700;
}

.products-page .products-toolbar { margin: 0 0 26px; }
.products-page .filter-btn { min-height: 44px; }
.products-page .quick-view { min-width: 44px; min-height: 44px; }
.products-page .page-back { min-height: 44px; }

@media (min-width: 480px) and (max-width: 850px) {
    .products-page .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .products-page .product-bottom { flex-wrap: wrap; }
    .products-page .product-info { padding: 16px; }
}

@media (max-width: 850px) {
    .products-page .product-info p { font-size: 14px; }
    .products-page .buy-btn { min-height: 44px; }
}

.catalog-help {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    padding: clamp(14px, 3vw, 24px);
    margin-bottom: 24px;
    border: 1px solid #d8bca5;
    border-radius: 16px;
    background: #f6ebe1;
    color: #39231a;
}

.catalog-help h2 { font-size: clamp(18px, 3vw, 23px); }
.catalog-help p { margin-top: 4px; font-size: 14px; }

.catalog-help a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #38261c;
    color: #fff4e7;
    font-size: 14px;
    font-weight: 700;
}

.catalog-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(175px, 260px);
    gap: 12px;
}

.catalog-controls[hidden],
.products-page .product-card[hidden],
.catalog-empty[hidden] { display: none; }

.catalog-controls label {
    display: grid;
    gap: 5px;
    color: #40291d;
    font-size: 14px;
    font-weight: 700;
}

.catalog-controls input,
.catalog-controls select {
    width: 100%;
    min-height: 46px;
    padding: 8px 12px;
    border: 1px solid #977864;
    border-radius: 10px;
    background: #fff;
    color: #342119;
    font: inherit;
    font-size: 16px;
    font-weight: 400;
}

.catalog-results { margin: 0 0 14px; font-size: 14px; color: #624638; }
.catalog-results:empty { display: none; }

@media (max-width: 540px) {
    .catalog-controls { grid-template-columns: minmax(0, 1fr); }
}
