/* ================================================================
   GUILDA BERNÔ — CATÁLOGO DE PRODUTOS
   Estrutura para e-commerce TCG com filtros e grande volume de itens
   ================================================================ */
.page-catalogo{--cat-bg:#07231a;--cat-deep:#04150f;--cat-surface:#0d3327;--cat-card:#10382b;--cat-card-2:#154836;--cat-border:#234c3b;--cat-brand:#ffd700;--cat-text:#f8fafc;--cat-muted:#a5b7ae;--cat-soft:#738a80;--cat-success:#62d68a;--cat-danger:#e77878;--cat-content:1320px;margin:0;background:radial-gradient(circle at 15% 8%,rgba(255,215,0,.055),transparent 24%),linear-gradient(180deg,var(--cat-bg),var(--cat-deep));color:var(--cat-text)}
.page-catalogo *,.page-catalogo *::before,.page-catalogo *::after{box-sizing:border-box}.page-catalogo button,.page-catalogo input,.page-catalogo select{font:inherit}.page-catalogo .catalogo-main{min-height:70vh;padding-bottom:90px}.page-catalogo .catalogo-shell{width:min(var(--cat-content),calc(100% - 48px));margin:0 auto}
.catalogo-hero{padding:54px 0 30px;border-bottom:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,rgba(15, 51, 38, .46),rgba(7, 34, 25, 0))}.catalogo-kicker{display:inline-block;margin-bottom:12px;color:var(--cat-brand);font-size:11px;font-weight:900;letter-spacing:.16em}.catalogo-hero h1{max-width:820px;margin:0;font-size:clamp(38px,5vw,66px);line-height:1;letter-spacing:-.045em}.catalogo-hero h1 em{color:var(--cat-brand);font-style:normal}.catalogo-hero p{max-width:760px;margin:18px 0 0;color:var(--cat-muted);font-size:16px;line-height:1.7}.catalogo-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.catalogo-tabs button{padding:10px 16px;border:1px solid var(--cat-border);border-radius:999px;background:rgba(13, 42, 32, .82);color:var(--cat-muted);cursor:pointer;font-weight:800;transition:.2s ease}.catalogo-tabs button:hover,.catalogo-tabs button.ativo{border-color:rgba(255,215,0,.55);background:rgba(255,215,0,.1);color:var(--cat-brand)}
.catalogo-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;padding-top:34px}.catalogo-sidebar{position:sticky;top:145px;align-self:start;padding:20px;border:1px solid var(--cat-border);border-radius:18px;background:rgba(13, 42, 32, .9);box-shadow:0 20px 50px rgba(0,0,0,.18)}.filtro-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--cat-border)}.filtro-header h2{margin:0;font-size:17px}.filtro-header button{padding:0;border:0;background:none;color:var(--cat-brand);font-size:12px;font-weight:800;cursor:pointer}.filtro-bloco{margin:18px 0 0;padding:0 0 18px;border:0;border-bottom:1px solid var(--cat-border)}.filtro-bloco legend,.filtro-label{display:block;margin-bottom:11px;color:var(--cat-text);font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.filtro-bloco label{display:flex;align-items:center;gap:9px;margin:10px 0;color:var(--cat-muted);font-size:13px;cursor:pointer}.filtro-bloco input[type="checkbox"]{accent-color:var(--cat-brand)}.catalogo-search{width:100%;padding:11px 12px;border:1px solid var(--cat-border);border-radius:10px;outline:none;background:#092b20;color:var(--cat-text)}.catalogo-search:focus{border-color:rgba(255,215,0,.6);box-shadow:0 0 0 3px rgba(255,215,0,.07)}.catalogo-select{width:100%;padding:11px 34px 11px 12px;border:1px solid var(--cat-border);border-radius:10px;outline:none;background:#092b20;color:var(--cat-text);cursor:pointer}.catalogo-select:focus{border-color:rgba(255,215,0,.6);box-shadow:0 0 0 3px rgba(255,215,0,.07)}.catalogo-select option:disabled{color:var(--cat-soft)}.filtro-ajuda{margin-top:18px;padding:15px;border-radius:12px;background:linear-gradient(145deg,rgba(255,215,0,.09),rgba(255,215,0,.025))}.filtro-ajuda strong{font-size:13px}.filtro-ajuda p{margin:7px 0 10px;color:var(--cat-muted);font-size:12px;line-height:1.5}.filtro-ajuda a{color:var(--cat-brand);font-size:12px;font-weight:900}
.catalogo-toolbar{min-height:64px;margin-bottom:16px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--cat-border);border-radius:14px;background:rgba(13, 42, 32, .68)}.catalogo-toolbar>div{display:flex;flex-direction:column;gap:3px}.catalogo-toolbar strong{font-size:14px}.catalogo-toolbar span{color:var(--cat-soft);font-size:11px}.catalogo-toolbar label{display:flex;align-items:center;gap:9px;color:var(--cat-muted);font-size:12px}.catalogo-toolbar select{padding:9px 34px 9px 11px;border:1px solid var(--cat-border);border-radius:9px;background:#092b20;color:var(--cat-text);outline:none}
.catalogo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.catalogo-card{--product-accent-rgb:255,215,0;min-width:0;overflow:hidden;border:1px solid rgba(var(--product-accent-rgb),.28);border-radius:16px;background:linear-gradient(180deg,var(--cat-card),#0a2b20);box-shadow:0 12px 30px rgba(0,0,0,.14);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.catalogo-card:hover{transform:translateY(-5px);border-color:rgba(var(--product-accent-rgb),.62);box-shadow:0 20px 42px rgba(0,0,0,.28),0 0 26px rgba(var(--product-accent-rgb),.11)}.catalogo-card[hidden]{display:none!important}.catalogo-media{position:relative;height:220px;padding:20px;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid rgba(var(--product-accent-rgb),.16);background:radial-gradient(circle at 50% 45%,rgba(var(--product-accent-rgb),.22) 0%,rgba(var(--product-accent-rgb),.09) 27%,transparent 62%),linear-gradient(145deg,#123d2f 0%,#092e22 55%,#07231a 100%);isolation:isolate}.catalogo-media::before{content:"";position:absolute;width:72%;aspect-ratio:1;left:14%;top:12%;border-radius:50%;background:radial-gradient(circle,rgba(var(--product-accent-rgb),.18),transparent 68%);filter:blur(14px);opacity:.72;transition:opacity .25s ease,transform .25s ease;z-index:-1}.catalogo-media img{position:relative;z-index:1;max-width:82%;max-height:185px;object-fit:contain;filter:drop-shadow(0 15px 18px rgba(0,0,0,.34));transition:transform .25s ease,filter .25s ease}.catalogo-card:hover .catalogo-media::before{opacity:1;transform:scale(1.08)}.catalogo-card:hover .catalogo-media img{transform:scale(1.045);filter:drop-shadow(0 18px 22px rgba(0,0,0,.38)) drop-shadow(0 0 10px rgba(var(--product-accent-rgb),.12))}.catalogo-badge{position:absolute;top:12px;left:12px;z-index:2;padding:6px 8px;border-radius:999px;background:var(--cat-brand);color:#07231a;font-size:9px;font-weight:900;letter-spacing:.08em}.catalogo-placeholder{width:118px;height:156px;padding:15px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:linear-gradient(145deg,#295b47,#0e3528);box-shadow:0 15px 28px rgba(0,0,0,.28);transform:rotate(-2deg)}.catalogo-placeholder.magic{background:linear-gradient(145deg,#503228,#17131a)}.catalogo-placeholder.onepiece{background:linear-gradient(145deg,#4b2331,#16121a)}.catalogo-placeholder.lorcana{background:linear-gradient(145deg,#356c55,#17152a)}.catalogo-placeholder.acessorios{background:linear-gradient(145deg,#28493c,#132b22)}.catalogo-placeholder span{font-size:9px;font-weight:800;opacity:.7}.catalogo-placeholder strong{margin-top:4px;font-size:19px;color:var(--cat-brand)}.catalogo-placeholder small{margin-top:5px;color:#dce6f2;font-size:9px}.catalogo-card-body{padding:14px}.catalogo-meta{height:28px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:var(--cat-soft);font-size:9px;font-weight:800;text-transform:uppercase}.catalogo-title h3{min-height:42px;margin:7px 0 10px;color:var(--cat-text);font-size:15px;line-height:1.35;transition:color .2s ease}.catalogo-title:hover h3{color:var(--cat-brand)}.catalogo-stock{min-height:22px;font-size:11px}.estoque-ok{color:var(--cat-success)}.estoque-off{color:var(--cat-danger)}.catalogo-price{margin-top:10px;display:flex;flex-direction:column}.catalogo-price small{color:var(--cat-soft);font-size:10px}.catalogo-price strong{margin-top:2px;font-size:20px;letter-spacing:-.02em}.catalogo-price span{margin-top:3px;color:var(--cat-brand);font-size:10px;font-weight:800}.catalogo-actions{margin-top:13px;display:grid;grid-template-columns:1fr auto;gap:8px}.catalogo-actions a,.catalogo-actions button{height:38px;display:grid;place-items:center;border-radius:9px;font-weight:900;cursor:pointer}.catalogo-actions a{border:1px solid var(--cat-border);color:var(--cat-text);font-size:11px}.catalogo-actions a:hover{border-color:rgba(255,215,0,.45);color:var(--cat-brand)}.catalogo-actions button{min-width:78px;padding:0 12px;border:0;background:var(--cat-brand);color:#07231a;font-size:11px}.catalogo-actions button:hover{background:#ffe95d}
@media(max-width:1120px){.catalogo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.catalogo-layout{grid-template-columns:1fr}.catalogo-sidebar{position:static}.catalogo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.page-catalogo .catalogo-shell{width:min(100% - 28px,var(--cat-content))}.catalogo-hero{padding-top:36px}.catalogo-hero h1{font-size:38px}.catalogo-toolbar{align-items:flex-start;flex-direction:column}.catalogo-toolbar label,.catalogo-toolbar select{width:100%}.catalogo-grid{grid-template-columns:1fr 1fr;gap:10px}.catalogo-media{height:170px;padding:12px}.catalogo-placeholder{width:90px;height:120px}.catalogo-card-body{padding:11px}.catalogo-title h3{font-size:13px;min-height:38px}.catalogo-price strong{font-size:17px}.catalogo-meta span:last-child{display:none}}@media(max-width:420px){.catalogo-grid{grid-template-columns:1fr}}


/* Estado dos filtros vindos do Mega Menu / Coleções */
.catalogo-contexto {
    margin: 6px 0 0;
    color: var(--text-secondary, #b9c8c1);
    font-size: .82rem;
}

.catalogo-card[hidden] {
    display: none !important;
}

.catalogo-vazio {
    margin-top: 24px;
    padding: 42px 28px;
    border: 1px solid var(--border, #1d4a39);
    border-radius: 18px;
    background: var(--bg-card, #10392b);
    text-align: center;
}

.catalogo-vazio[hidden] {
    display: none;
}

.catalogo-vazio h3 {
    margin: 0 0 8px;
    color: var(--text-primary, #F8FAFC);
}

.catalogo-vazio p {
    margin: 0 0 16px;
    color: var(--text-secondary, #b9c8c1);
}

.catalogo-vazio a {
    color: var(--brand, #FFD700);
    font-weight: 800;
}


/* Estado comercial: produto esgotado */
.catalogo-card-esgotado .catalogo-media,
.catalogo-card-esgotado .catalogo-price {
    opacity: 0.72;
}

.catalogo-actions .botao-esgotado {
    border: 1px solid rgba(255, 111, 111, 0.35);
    background: rgba(255, 111, 111, 0.10);
    color: #ff9b9b;
    font-size: 18px;
}

.catalogo-actions .botao-esgotado:hover {
    background: rgba(255, 111, 111, 0.16);
    color: #ffc0c0;
}

.catalogo-loading {
    margin: 24px 0;
    padding: 18px 20px;
    border: 1px solid var(--cat-border);
    border-radius: 14px;
    background: rgba(13, 42, 32, 0.72);
    color: var(--cat-muted);
    text-align: center;
}

.catalogo-loading[hidden] {
    display: none !important;
}

.catalogo-loading-erro {
    border-color: rgba(239, 68, 68, 0.35);
    color: #fecaca;
}

/* ================================================================
   GUILDA BERNÔ 3.6 — FILTROS MOBILE E ESTADOS FINAIS
   ================================================================ */
@media (max-width: 900px) {
    .page-catalogo .catalogo-layout {
        gap: 14px;
    }

    .page-catalogo .catalogo-sidebar {
        top: auto;
        max-height: none;
    }
}

@media (max-width: 480px) {
    .page-catalogo .catalogo-shell {
        width: calc(100% - 20px);
    }

    .page-catalogo .catalogo-hero h1 {
        font-size: clamp(2rem, 11vw, 2.65rem);
    }

    .page-catalogo .catalogo-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 6px;
        scroll-snap-type: x proximity;
    }

    .page-catalogo .catalogo-tabs button {
        flex: 0 0 auto;
        min-height: 44px;
        scroll-snap-align: start;
    }

    .page-catalogo .catalogo-grid {
        grid-template-columns: 1fr;
    }

    .page-catalogo .catalogo-card {
        max-width: 460px;
        width: 100%;
        margin-inline: auto;
    }

    .page-catalogo .catalogo-actions a,
    .page-catalogo .catalogo-actions button {
        min-height: 44px;
    }
}


/* =========================================================
   GUILDA BERNÔ 4.3.6 — ESTADO DO CATÁLOGO / COMÉRCIO
   ========================================================= */
.catalogo-mode-notice {
    width: min(720px, 100%);
    margin: 22px 0 4px;
    padding: 14px 16px;
    display: flex;
    gap: 8px 14px;
    flex-wrap: wrap;
    align-items: center;
    border: 1px solid rgba(255, 215, 0, .32);
    border-radius: 12px;
    background: rgba(255, 215, 0, .07);
}
.catalogo-mode-notice strong { color: #FFD700; }
.catalogo-mode-notice.commerce-ativo{border-color:rgba(74,222,128,.42);background:rgba(74,222,128,.08)}
.catalogo-mode-notice.commerce-ativo strong{color:#6ee7a0}
.catalogo-mode-notice span { color: #dbe6e1; font-size: .92rem; }
.catalogo-card:focus-within { outline: 2px solid #FFD700; outline-offset: 3px; }
@media (max-width: 720px) {
    .catalogo-mode-notice { align-items: flex-start; flex-direction: column; }
}

/* ================================================================
   GUILDA BERNÔ 4.1.5 — CATÁLOGO MOBILE
   ================================================================ */
@media (max-width: 900px) {
    .page-catalogo .catalogo-sidebar {
        width: 100%;
    }

    .page-catalogo .catalogo-toolbar {
        position: relative;
        z-index: 2;
    }
}

@media (max-width: 620px) {
    .page-catalogo .catalogo-layout {
        gap: 18px;
        padding-top: 22px;
    }

    .page-catalogo .catalogo-sidebar {
        padding: 16px;
        border-radius: 14px;
    }

    .page-catalogo .catalogo-toolbar {
        gap: 10px;
    }

    .page-catalogo .catalogo-toolbar select,
    .page-catalogo .catalogo-search {
        min-height: 44px;
        font-size: 16px;
    }

    .page-catalogo .catalogo-card {
        min-width: 0;
    }

    .page-catalogo .catalogo-title h3 {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 480px) {
    .page-catalogo .catalogo-shell {
        width: calc(100% - 20px);
    }

    .page-catalogo .catalogo-hero {
        padding-top: 28px;
    }

    .page-catalogo .catalogo-hero p {
        font-size: .95rem;
        line-height: 1.6;
    }

    .page-catalogo .catalogo-grid {
        gap: 14px;
    }

    .page-catalogo .catalogo-media {
        height: min(72vw, 290px);
        padding: 18px;
    }

    .page-catalogo .catalogo-card-body {
        padding: 14px;
    }

    .page-catalogo .catalogo-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

/* Catálogo em preparação: sem botão amarelo comprimido "Em breve". */
.catalogo-actions.catalogo-actions-somente-link {
    grid-template-columns: 1fr;
}
.catalogo-actions.catalogo-actions-somente-link a {
    min-height: 42px;
    border-color: rgba(255, 215, 0, .34);
    background: rgba(255, 215, 0, .055);
    color: var(--cat-brand);
    letter-spacing: .01em;
}
.catalogo-actions.catalogo-actions-somente-link a:hover {
    border-color: var(--cat-brand);
    background: var(--cat-brand);
    color: #07231a;
}
