/* Página Produtos em vidro claro: topo compacto, filtros na lateral (gaveta no
   celular) e cards translúcidos. Prefixo cg- para não herdar regras .pr-* antigas. */
.cg-page{
  --cg-ink:#1a1a1a;--cg-muted:#6b6f76;--cg-line:rgba(20,24,32,.08);--cg-accent:#c12623;
  --cg-glass:rgba(255,255,255,.58);--cg-glass-strong:rgba(255,255,255,.78);--cg-edge:rgba(255,255,255,.85);
  --cg-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 14px 34px -22px rgba(20,24,32,.35);
  position:relative;padding:20px 0 96px;min-height:70vh;color:var(--cg-ink);
  font-family:-apple-system,BlinkMacSystemFont,AlphaHeaderInter,Inter,'Segoe UI',Arial,sans-serif;
  /* Manchas suaves atrás do vidro, para o desfoque aparecer */
  background:
    radial-gradient(700px 460px at 92% 30%,rgba(120,130,150,.16),transparent 70%),
    radial-gradient(640px 420px at 40% 90%,rgba(150,160,180,.14),transparent 70%),
    linear-gradient(180deg,#f4f5f7 0%,#eceef1 100%);
}
.cg-glass,.cg-side,.cg-card,.cg-filter-toggle{
  background:var(--cg-glass);border:1px solid var(--cg-edge);box-shadow:var(--cg-shadow);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4)}

/* Topo compacto */
.cg-crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--cg-muted)}
.cg-crumbs a{color:var(--cg-muted);text-decoration:none}.cg-crumbs a:hover{color:var(--cg-ink)}
.cg-crumbs span:last-child{color:var(--cg-ink)}
.cg-titlebar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:10px 0 22px}
.cg-titles h1{margin:0;font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.15;color:var(--cg-ink)}
.cg-desc{margin:6px 0 0;max-width:640px;font-size:14px;line-height:1.5;color:var(--cg-muted)}
.cg-desc:empty{display:none}
.cg-tools{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.cg-count{font-size:14px;color:var(--cg-muted);white-space:nowrap}
.cg-sort{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--cg-muted)}
/* Menu "Ordenar por" em vidro (montado em js/catalog-page.js sobre o <select>) */
.cg-dd{position:relative}
.cg-dd-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cg-dd-btn{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px;border-radius:999px;color:var(--cg-ink);font:inherit;font-size:14px;cursor:pointer;
  background:var(--cg-glass);border:1px solid var(--cg-edge);box-shadow:var(--cg-shadow);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);transition:background .2s,box-shadow .2s}
.cg-dd-btn:hover{background:rgba(255,255,255,.8)}
.cg-dd-btn i{font-size:11px;color:var(--cg-muted);transition:transform .25s}
.cg-dd.is-open .cg-dd-btn{background:rgba(255,255,255,.85);box-shadow:0 0 0 4px rgba(20,24,32,.06),var(--cg-shadow)}
.cg-dd.is-open .cg-dd-btn i{transform:rotate(180deg)}
.cg-dd-btn:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(20,24,32,.12),var(--cg-shadow)}
.cg-dd-list{position:absolute;z-index:50;top:calc(100% + 8px);right:0;min-width:220px;margin:0;padding:6px;list-style:none;border-radius:16px;outline:0;
  background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 24px 48px -20px rgba(20,24,32,.35);
  -webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);animation:cg-dd-in .18s ease}
.cg-dd-list[hidden]{display:none}
.cg-dd-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;height:38px;padding:0 12px;border-radius:10px;font-size:14px;color:var(--cg-ink);cursor:pointer;transition:background .15s}
.cg-dd-list li.is-focus{background:rgba(20,24,32,.06)}
.cg-dd-list li[aria-selected="true"]{font-weight:600}
.cg-dd-list li[aria-selected="true"]::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--cg-accent)}
@keyframes cg-dd-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.cg-filter-toggle{display:none;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;color:var(--cg-ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer}

/* Layout: lateral + grade */
.cg-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.cg-side{padding:6px 18px 18px;border-radius:20px}
.cg-side-head{display:flex;align-items:center;gap:10px;padding:14px 0 12px;border-bottom:1px solid var(--cg-line)}
.cg-side-head strong{flex:1;font-size:16px;font-weight:600}
.cg-clear{border:0;background:none;color:var(--cg-accent);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:4px 0}
.cg-side-close{display:none;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.7);color:var(--cg-ink);font-size:16px;cursor:pointer}
.cg-group{padding:16px 0;border-bottom:1px solid var(--cg-line)}
.cg-group:last-child{border-bottom:0;padding-bottom:4px}
.cg-group h2{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cg-muted)}
.cg-search{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid var(--cg-line);color:var(--cg-muted)}
.cg-search input{flex:1;min-width:0;border:0;background:transparent;outline:0;font:inherit;font-size:14px;color:var(--cg-ink)}
.cg-search:focus-within{border-color:rgba(20,24,32,.25)}
.cg-options{display:flex;flex-direction:column;gap:2px}
.cg-option{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border-radius:10px;color:var(--cg-ink);font-size:14px;text-decoration:none;cursor:pointer;transition:background .15s}
.cg-option:hover{background:rgba(255,255,255,.75)}
.cg-option span{flex:1}
.cg-option em{font-style:normal;font-size:12px;color:var(--cg-muted);min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:rgba(20,24,32,.05);display:grid;place-items:center}
.cg-option input{width:16px;height:16px;margin:0;accent-color:var(--cg-ink)}
.cg-cat.is-on{background:rgba(255,255,255,.9);font-weight:600;box-shadow:0 0 0 1px var(--cg-line)}
.cg-cat.is-on em{background:var(--cg-ink);color:#fff}
.cg-price-range input::-webkit-outer-spin-button,.cg-price-range input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cg-price-range{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cg-price-range label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:12px;color:var(--cg-muted)}
.cg-price-range input{-moz-appearance:textfield;appearance:textfield;width:100%;height:38px;padding:0 10px;border-radius:10px;border:1px solid var(--cg-line);background:rgba(255,255,255,.7);font:inherit;font-size:14px;color:var(--cg-ink);min-width:0}

/* Filtros ativos */
.cg-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.cg-chips[hidden]{display:none}
.cg-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--cg-edge);background:var(--cg-glass-strong);color:var(--cg-ink);font:inherit;font-size:13px;cursor:pointer}
.cg-chip i{font-size:11px;color:var(--cg-muted)}
.cg-chip:hover i{color:var(--cg-accent)}

/* Grade e card */
.cg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.cg-grid[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cg-grid[data-cols="3"] .cg-name{font-size:18px}
.cg-grid[data-cols="3"] .cg-price strong{font-size:20px}
/* Alternador 3/4 por fileira */
.cg-view{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--cg-glass);border:1px solid var(--cg-edge);box-shadow:var(--cg-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.cg-view button{display:grid;place-items:center;width:34px;height:32px;border:0;border-radius:999px;background:none;color:#a3a8b0;cursor:pointer;transition:background .2s,color .2s}
.cg-view button svg{fill:currentColor}
.cg-view button:hover{color:var(--cg-ink)}
.cg-view button[aria-pressed="true"]{background:rgba(255,255,255,.95);color:var(--cg-ink);box-shadow:0 2px 8px -3px rgba(20,24,32,.25)}
.cg-view button:focus-visible{outline:2px solid var(--cg-ink);outline-offset:1px}
.cg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cg-card{position:relative;border-radius:20px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.cg-card:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 22px 40px -24px rgba(20,24,32,.45)}
.cg-card-link{display:flex;flex-direction:column;height:100%;color:var(--cg-ink);text-decoration:none}
.cg-media{position:relative;display:block;aspect-ratio:1;margin:8px 8px 0;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.75)}
.cg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s ease,transform .5s ease}
.cg-img--alt{opacity:0}
.cg-card--alt:hover .cg-img--alt,.cg-card--alt:focus-within .cg-img--alt{opacity:1}
.cg-card--alt:hover .cg-img:not(.cg-img--alt){opacity:0}
.cg-card:not(.cg-card--alt):hover .cg-img{transform:scale(1.05)}
.cg-img--empty{display:grid;place-items:center;color:#b5b9c0;font-size:28px}
.cg-body{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px}
.cg-name{margin:0;font-size:16px;font-weight:600;line-height:1.3;letter-spacing:-.01em;color:var(--cg-ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-transform:none}
.cg-name::first-letter{text-transform:uppercase}
.cg-detail{margin-top:4px;font-size:13px;color:var(--cg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cg-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px}
.cg-price{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.cg-price small{font-size:12px;color:var(--cg-muted)}
.cg-price strong{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--cg-ink)}
.cg-price-row{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
.cg-price em{font-style:normal;font-size:12px;color:var(--cg-muted)}
.cg-cta{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;height:36px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap;
  color:var(--cg-ink);background:rgba(255,255,255,.75);border:1px solid rgba(20,24,32,.12);transition:background .2s,color .2s}
.cg-cta i{font-size:11px;transition:transform .2s}
.cg-cta--buy{background:rgba(26,26,26,.88);border-color:transparent;color:#fff}
.cg-card:hover .cg-cta i{transform:translateX(3px)}
.cg-card:hover .cg-cta--buy{background:var(--cg-accent)}
.cg-card:hover .cg-cta:not(.cg-cta--buy){background:#fff}
.cg-card-link:focus-visible{outline:2px solid var(--cg-ink);outline-offset:-2px;border-radius:20px}

.cg-card--skeleton{aspect-ratio:3/4;animation:cg-pulse 1.4s ease-in-out infinite alternate}
@keyframes cg-pulse{from{opacity:.55}to{opacity:1}}
.cg-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 24px;border-radius:20px;text-align:center;color:var(--cg-muted);
  background:var(--cg-glass);border:1px solid var(--cg-edge)}
.cg-empty i{font-size:28px}.cg-empty p{margin:0;font-size:15px}
.cg-empty-clear{height:38px;padding:0 18px;border-radius:999px;border:0;background:var(--cg-ink);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.cg-backdrop{position:fixed;inset:0;z-index:1100;background:rgba(20,24,32,.35);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}

@media (max-width:1100px){
  .cg-layout{grid-template-columns:230px minmax(0,1fr);gap:20px}
  .cg-grid,.cg-grid[data-cols="4"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
}
/* Celular/tablet: filtros viram gaveta */
@media (max-width:900px){
  .cg-layout{grid-template-columns:1fr}
  .cg-filter-toggle{display:inline-flex}
  .cg-view{display:none}
  .cg-titlebar{flex-direction:column;align-items:stretch;gap:14px}
  .cg-tools{justify-content:space-between;flex-wrap:wrap}
  .cg-sort>span:first-child{display:none}
  .cg-side{position:fixed;z-index:1200;top:0;bottom:0;left:0;width:min(340px,88vw);overflow-y:auto;scrollbar-width:none;border-radius:0 20px 20px 0;
    background:rgba(250,250,251,.92);transform:translateX(-105%);transition:transform .28s ease;visibility:hidden}
  .cg-drawer-open .cg-side{transform:none;visibility:visible}
  .cg-side-close{display:grid;place-items:center}
  .cg-drawer-open{overflow:hidden}
}
@media (max-width:560px){
  .cg-page{padding-top:14px}
  .cg-titles h1{font-size:24px}
  .cg-grid,.cg-grid[data-cols]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .cg-media{margin:6px 6px 0;border-radius:12px}
  .cg-body{padding:10px 12px 12px}
  .cg-name{font-size:14px}
  .cg-foot{flex-direction:column;align-items:stretch;gap:8px}
  .cg-price strong{font-size:16px}
  .cg-cta{justify-content:center;height:34px}
}
@media (prefers-reduced-motion:reduce){.cg-card,.cg-img,.cg-side,.cg-cta i{transition:none}.cg-card--skeleton{animation:none}}

/* ===== Responsivo do catálogo (07/10) ===== */
.cg-count--sub{display:none}
.cg-page{padding-top:16px}
/* Tablet (≤1100): grade de 3, lateral mais estreita */
@media (max-width:1100px) and (min-width:901px){
  .cg-grid,.cg-grid[data-cols="4"],.cg-grid[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cg-view{display:none}
}
/* Gaveta de filtros (≤900): cabeçalho em 2 linhas */
@media (max-width:900px){
  .cg-titlebar{gap:12px;margin:8px 0 16px}
  .cg-titles{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 12px}
  .cg-titles .cg-desc{flex-basis:100%}
  .cg-count--sub{display:block;font-size:14px;color:var(--cg-muted);white-space:nowrap}
  .cg-tools{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px}
  .cg-tools>.cg-count{display:none}
  .cg-filter-toggle,.cg-dd-btn{height:44px;padding:0 18px;font-size:15px}
  .cg-sort{margin-left:auto}
  .cg-grid,.cg-grid[data-cols]{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .cg-side{padding-bottom:24px}
  .cg-side-head{position:sticky;top:0;z-index:1;background:inherit}
  .cg-option{min-height:44px}
  .cg-search,.cg-price-range input{height:44px;font-size:16px}
  .cg-search input{font-size:16px}
}
/* Celular (≤600): 2 colunas, nome em até 2 linhas, botão alinhado */
@media (max-width:600px){
  .cg-titles h1{font-size:24px}
  .cg-grid,.cg-grid[data-cols]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .cg-card{border-radius:18px}
  .cg-media{margin:6px 6px 0;border-radius:12px}
  .cg-body{padding:10px 10px 10px}
  .cg-name{font-size:14px;min-height:2.6em}
  .cg-foot{flex-direction:column;align-items:stretch;gap:8px;padding-top:8px}
  .cg-price strong{font-size:16px}
  .cg-cta{justify-content:center;height:44px;font-size:14px}
  .cg-filter-toggle,.cg-dd-btn{padding:0 14px}
}
@media (max-width:359px){
  .cg-dd-btn{padding:0 12px;font-size:14px}
  .cg-filter-toggle{padding:0 12px}
}
@media (max-width:900px){.cg-side-head{margin:0 -18px;padding:14px 18px 12px;background:rgba(250,250,251,.97)}}
