/* ANSEIO ÍNTIMO — ETAPA 5 — CATÁLOGO PÚBLICO CONSOLIDADO
   Autoridade única para páginas de categoria, vitrines, filtros e cartões. */

body.anseio-catalog-page{
  --catalog-container:min(1280px,calc(100vw - 40px));
  --catalog-surface:var(--anseio-theme-product,#fffafb);
  --catalog-page:var(--anseio-theme-page,#fff);
  --catalog-text:var(--anseio-theme-text,#2a1015);
  --catalog-muted:var(--anseio-theme-muted,#6f555c);
  --catalog-accent:var(--anseio-theme-accent,#780007);
  --catalog-line:var(--anseio-theme-border,rgba(120,0,7,.18));
  --catalog-soft:#fff5f7;
  --catalog-shadow:0 14px 34px rgba(64,0,12,.08);
  --catalog-shadow-hover:0 22px 48px rgba(64,0,12,.13);
}
html[data-theme="dark"] body.anseio-catalog-page{
  --catalog-soft:#12080b;
  --catalog-shadow:0 16px 38px rgba(0,0,0,.48);
  --catalog-shadow-hover:0 24px 56px rgba(0,0,0,.64);
}

body.anseio-catalog-page .anseio-category-hero{
  min-height:clamp(390px,45vw,560px)!important;
  padding:clamp(126px,13vw,168px) 20px clamp(54px,6vw,76px)!important;
  display:grid!important;
  place-items:end center!important;
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  text-align:center!important;
  background:#16070a!important;
}
body.anseio-catalog-page .anseio-category-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background:var(--hero-image,url("../images/banners/reais/home.webp")) center/cover no-repeat!important;
  transform:scale(1.015);
}
body.anseio-catalog-page .anseio-category-hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  height:auto!important;
  background:linear-gradient(180deg,rgba(12,2,5,.16) 0%,rgba(22,3,8,.18) 34%,rgba(255,255,255,.74) 72%,var(--catalog-page) 100%)!important;
  pointer-events:none!important;
}
html[data-theme="dark"] body.anseio-catalog-page .anseio-category-hero::after{
  background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.36) 42%,rgba(0,0,0,.84) 76%,#000 100%)!important;
}
body.anseio-catalog-page .anseio-category-hero>div{
  width:min(820px,100%);
  position:relative!important;
  z-index:1!important;
  margin:0 auto!important;
  padding:0!important;
}
body.anseio-catalog-page .anseio-category-hero small{
  display:block;
  margin:0 0 12px;
  color:#8c0011!important;
  font:700 var(--anseio-text-xs,.75rem)/1.2 var(--anseio-font-body)!important;
  letter-spacing:.24em!important;
  text-transform:uppercase;
  text-shadow:0 1px 16px rgba(255,255,255,.9)!important;
}
body.anseio-catalog-page .anseio-category-hero h1{
  margin:0!important;
  color:#3b1119!important;
  font-family:var(--anseio-font-display)!important;
  font-size:clamp(2.7rem,6vw,5.35rem)!important;
  font-weight:400!important;
  line-height:.98!important;
  text-shadow:0 2px 22px rgba(255,255,255,.88)!important;
}
body.anseio-catalog-page .anseio-category-hero p{
  max-width:700px;
  margin:16px auto 0!important;
  color:#5f3f47!important;
  font-size:clamp(.95rem,.9rem + .22vw,1.08rem)!important;
  line-height:1.65!important;
  text-shadow:0 1px 15px rgba(255,255,255,.96)!important;
}
html[data-theme="dark"] body.anseio-catalog-page .anseio-category-hero small{color:#ffd0dc!important;text-shadow:0 2px 20px rgba(0,0,0,.82)!important}
html[data-theme="dark"] body.anseio-catalog-page .anseio-category-hero h1{color:#fff!important;text-shadow:0 4px 26px rgba(0,0,0,.9)!important}
html[data-theme="dark"] body.anseio-catalog-page .anseio-category-hero p{color:#f1dce2!important;text-shadow:0 3px 20px rgba(0,0,0,.9)!important}

body.anseio-catalog-page .anseio-catalog-main{
  padding:var(--anseio-space-7,56px) 0 var(--anseio-space-9,96px)!important;
  background:var(--catalog-page)!important;
}
body.anseio-catalog-page .anseio-catalog-main>.container{
  width:var(--catalog-container)!important;
  max-width:none!important;
  padding-inline:0!important;
}

/* Ferramentas compactas da vitrine */
body.anseio-catalog-page .anseio-catalog-tools{
  min-height:48px;
  margin:0 0 var(--anseio-space-6,32px);
  display:flex;
  justify-content:flex-end;
  position:relative;
  z-index:40;
}
body.anseio-catalog-page .anseio-catalog-filter-toggle{
  width:52px;
  min-width:52px;
  height:46px;
  padding:8px;
  display:grid;
  place-items:center;
  border:1px solid var(--catalog-line)!important;
  border-radius:6px!important;
  background:var(--catalog-surface)!important;
  color:var(--catalog-accent)!important;
  box-shadow:var(--catalog-shadow)!important;
  cursor:pointer;
}
body.anseio-catalog-page .anseio-catalog-filter-toggle:hover,
body.anseio-catalog-page .anseio-catalog-filter-toggle:focus-visible,
body.anseio-catalog-page .anseio-catalog-filter-toggle[aria-expanded="true"]{
  border-color:var(--catalog-accent)!important;
  transform:translateY(-1px);
  outline:3px solid color-mix(in srgb,var(--catalog-accent) 13%,transparent)!important;
}
body.anseio-catalog-page .anseio-catalog-filter-toggle img{width:36px;height:22px;object-fit:contain}
body.anseio-catalog-page .anseio-catalog-filter-panel{
  position:absolute;
  top:54px;
  right:0;
  width:min(760px,calc(100vw - 40px));
  padding:16px;
  border:1px solid var(--catalog-line);
  border-radius:6px;
  background:var(--catalog-surface);
  color:var(--catalog-text);
  box-shadow:0 26px 74px rgba(44,0,9,.22);
}
body.anseio-catalog-page .anseio-catalog-filter-panel[hidden]{display:none!important}
body.anseio-catalog-page .anseio-catalog-filter-grid{
  display:grid;
  grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr));
  gap:12px;
  align-items:end;
}
body.anseio-catalog-page .anseio-catalog-filter-panel label{
  display:grid;
  gap:7px;
  color:var(--catalog-accent)!important;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.anseio-catalog-page .anseio-catalog-filter-panel :where(input,select){
  width:100%;
  min-height:46px;
  padding:0 12px;
  border:1px solid var(--catalog-line)!important;
  border-radius:6px!important;
  background:var(--catalog-page)!important;
  color:var(--catalog-text)!important;
  -webkit-text-fill-color:var(--catalog-text)!important;
  font:600 .9rem/1.2 var(--anseio-font-body)!important;
}
body.anseio-catalog-page .anseio-catalog-filter-panel :where(input,select):focus{
  border-color:var(--catalog-accent)!important;
  outline:3px solid color-mix(in srgb,var(--catalog-accent) 12%,transparent)!important;
}
body.anseio-catalog-page .anseio-catalog-filter-footer{
  margin-top:14px;
  padding-top:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  border-top:1px solid var(--catalog-line);
}
body.anseio-catalog-page .anseio-catalog-filter-count{color:var(--catalog-accent)!important;font-weight:700}
body.anseio-catalog-page .anseio-catalog-pagination{display:flex;align-items:center;gap:9px}
body.anseio-catalog-page .anseio-catalog-pagination button,
body.anseio-catalog-page .anseio-catalog-reset{
  min-height:38px;
  padding:0 13px;
  border:1px solid var(--catalog-line)!important;
  border-radius:6px!important;
  background:var(--catalog-page)!important;
  color:var(--catalog-accent)!important;
  font-weight:700!important;
}
body.anseio-catalog-page .anseio-catalog-pagination button:disabled{opacity:.38;cursor:not-allowed}

/* Seções e grade */
body.anseio-catalog-page .anseio-product-section{margin:0 0 var(--anseio-space-8,64px)}
body.anseio-catalog-page .anseio-section-head{
  margin:0 0 var(--anseio-space-5,24px)!important;
  padding:0 0 14px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  border-bottom:1px solid var(--catalog-line)!important;
}
body.anseio-catalog-page .anseio-section-head span{
  color:var(--catalog-muted)!important;
  font-size:var(--anseio-text-xs,.75rem)!important;
  font-weight:600!important;
  letter-spacing:.18em!important;
  text-transform:uppercase;
}
body.anseio-catalog-page .anseio-section-head h2{
  margin:5px 0 0!important;
  color:var(--catalog-accent)!important;
  font-family:var(--anseio-font-display)!important;
  font-size:clamp(1.8rem,2.7vw,2.7rem)!important;
  font-weight:400!important;
  line-height:1.08!important;
}
body.anseio-catalog-page .anseio-section-head small{color:var(--catalog-muted)!important;font-weight:600}
body.anseio-catalog-page .anseio-section-grid{
  width:100%;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:var(--anseio-space-5,24px)!important;
  align-items:stretch;
}

/* Cartão oficial da Etapa 5 */
body.anseio-catalog-page .anseio-catalog-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  border:1px solid var(--catalog-line)!important;
  border-radius:6px!important;
  background:var(--catalog-surface)!important;
  color:var(--catalog-text)!important;
  box-shadow:var(--catalog-shadow)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
body.anseio-catalog-page .anseio-catalog-card:hover{
  transform:translateY(-3px)!important;
  border-color:color-mix(in srgb,var(--catalog-accent) 42%,var(--catalog-line))!important;
  box-shadow:var(--catalog-shadow-hover)!important;
}
body.anseio-catalog-page .anseio-catalog-card__media{
  width:100%;
  aspect-ratio:3/4;
  position:relative;
  overflow:hidden;
  background:var(--catalog-soft);
}
body.anseio-catalog-page .anseio-catalog-gallery{
  position:absolute;
  inset:0;
  overflow:hidden;
  touch-action:pan-y;
}
body.anseio-catalog-page .anseio-catalog-gallery-track{
  width:100%;
  height:100%;
  display:flex;
  transition:transform .5s cubic-bezier(.22,.8,.22,1);
  will-change:transform;
}
body.anseio-catalog-page .anseio-catalog-gallery-slide{flex:0 0 100%;width:100%;height:100%}
body.anseio-catalog-page .anseio-catalog-gallery-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
body.anseio-catalog-page .anseio-catalog-card__open{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:pointer;
}
body.anseio-catalog-page .anseio-catalog-gallery-arrow{
  position:absolute;
  top:50%;
  z-index:4;
  width:36px;
  height:36px;
  padding:0;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:1px solid rgba(120,0,7,.16)!important;
  border-radius:6px!important;
  background:rgba(255,255,255,.92)!important;
  color:#780007!important;
  box-shadow:0 10px 24px rgba(0,0,0,.15)!important;
  font-size:1.45rem!important;
  line-height:1!important;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,background .18s ease,color .18s ease;
}
body.anseio-catalog-page .anseio-catalog-gallery-arrow[data-gallery-prev]{left:10px}
body.anseio-catalog-page .anseio-catalog-gallery-arrow[data-gallery-next]{right:10px}
body.anseio-catalog-page .anseio-catalog-card:hover .anseio-catalog-gallery-arrow,
body.anseio-catalog-page .anseio-catalog-card:focus-within .anseio-catalog-gallery-arrow,
body.anseio-catalog-page .anseio-catalog-gallery.is-touching .anseio-catalog-gallery-arrow{opacity:1;pointer-events:auto}
body.anseio-catalog-page .anseio-catalog-gallery-dots{
  position:absolute;
  left:12px;
  right:12px;
  bottom:10px;
  z-index:4;
  display:flex;
  justify-content:center;
  gap:5px;
  pointer-events:none;
}
body.anseio-catalog-page .anseio-catalog-gallery-dot{
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(255,255,255,.68);
  box-shadow:0 0 0 1px rgba(0,0,0,.12);
}
body.anseio-catalog-page .anseio-catalog-gallery-dot.is-active{width:14px;border-radius:6px;background:#fff}
body.anseio-catalog-page .anseio-catalog-card__body{
  min-height:0;
  flex:1;
  padding:15px 14px 14px!important;
  display:flex;
  flex-direction:column;
}
body.anseio-catalog-page .anseio-catalog-card__eyebrow{
  color:var(--catalog-muted)!important;
  font-size:.68rem!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
  line-height:1.3;
  text-transform:uppercase;
}
body.anseio-catalog-page .anseio-catalog-card h3{
  min-height:2.55em;
  margin:7px 0 9px!important;
  color:var(--catalog-text)!important;
  font-family:var(--anseio-font-display)!important;
  font-size:clamp(.98rem,.94rem + .16vw,1.08rem)!important;
  font-weight:400!important;
  line-height:1.28!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
body.anseio-catalog-page .anseio-catalog-card__price{
  margin:auto 0 12px;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:7px;
  color:var(--catalog-accent)!important;
  font-size:1.04rem!important;
  font-weight:700!important;
}
body.anseio-catalog-page .anseio-catalog-card__old-price{color:var(--catalog-muted)!important;font-size:.8rem;font-weight:500;text-decoration:line-through}
body.anseio-catalog-page .anseio-catalog-card__actions{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}
body.anseio-catalog-page .anseio-catalog-card__buy,
body.anseio-catalog-page .anseio-catalog-card__favorite{
  min-height:42px!important;
  border:1px solid var(--catalog-line)!important;
  border-radius:6px!important;
  font-weight:700!important;
  cursor:pointer;
}
body.anseio-catalog-page .anseio-catalog-card__buy{
  padding:8px 10px!important;
  background:var(--catalog-page)!important;
  color:var(--catalog-accent)!important;
  font-size:.77rem!important;
  line-height:1.2!important;
}
body.anseio-catalog-page .anseio-catalog-card__buy:hover,
body.anseio-catalog-page .anseio-catalog-card__buy:focus-visible{
  background:var(--catalog-accent)!important;
  color:var(--catalog-page)!important;
  border-color:var(--catalog-accent)!important;
}
html[data-theme="dark"] body.anseio-catalog-page .anseio-catalog-card__buy:hover,
html[data-theme="dark"] body.anseio-catalog-page .anseio-catalog-card__buy:focus-visible{color:#22040b!important}
body.anseio-catalog-page .anseio-catalog-card__buy:disabled{opacity:.5;cursor:not-allowed}
body.anseio-catalog-page .anseio-catalog-card__favorite{
  width:42px!important;
  padding:0!important;
  background:var(--catalog-soft)!important;
  color:var(--catalog-accent)!important;
  font-size:1.05rem!important;
}
body.anseio-catalog-page .anseio-catalog-card__favorite[aria-pressed="true"]{
  background:var(--catalog-accent)!important;
  color:var(--catalog-page)!important;
  border-color:var(--catalog-accent)!important;
}
body.anseio-catalog-page .anseio-catalog-badge{
  position:absolute;
  top:10px;
  left:10px;
  z-index:5;
  max-width:calc(100% - 20px);
  padding:6px 9px;
  border:1px solid rgba(120,0,7,.16);
  border-radius:6px;
  background:rgba(255,255,255,.92)!important;
  color:#780007!important;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
  font-size:.66rem;
  font-weight:700;
}
body.anseio-catalog-page .anseio-catalog-badge--stock{left:auto;right:10px}
body.anseio-catalog-page .anseio-catalog-badge--empty{background:rgba(32,10,15,.92)!important;color:#fff!important;border-color:rgba(255,255,255,.2)!important}
body.anseio-catalog-page .anseio-catalog-empty,
body.anseio-catalog-page .anseio-catalog-loading{
  grid-column:1/-1;
  width:min(760px,100%);
  margin:0 auto;
  padding:clamp(38px,6vw,60px) 22px;
  border:1px solid var(--catalog-line);
  border-radius:6px;
  background:var(--catalog-surface);
  color:var(--catalog-muted);
  text-align:center;
}
body.anseio-catalog-page .anseio-catalog-empty h3,
body.anseio-catalog-page .anseio-catalog-loading h3{margin:0 0 8px;color:var(--catalog-accent)!important;font-family:var(--anseio-font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:400}
body.anseio-catalog-page .anseio-catalog-empty p,
body.anseio-catalog-page .anseio-catalog-loading p{margin:0;color:var(--catalog-muted)!important}

@media(max-width:1080px){
  body.anseio-catalog-page .anseio-section-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body.anseio-catalog-page{--catalog-container:calc(100vw - 24px)}
  body.anseio-catalog-page .anseio-category-hero{min-height:390px!important;padding:112px 16px 48px!important}
  body.anseio-catalog-page .anseio-category-hero h1{font-size:clamp(2.35rem,12vw,4rem)!important}
  body.anseio-catalog-page .anseio-catalog-main{padding:38px 0 72px!important}
  body.anseio-catalog-page .anseio-catalog-tools{margin-bottom:22px}
  body.anseio-catalog-page .anseio-catalog-filter-panel{width:calc(100vw - 24px);padding:13px}
  body.anseio-catalog-page .anseio-catalog-filter-grid{grid-template-columns:1fr}
  body.anseio-catalog-page .anseio-catalog-filter-footer{align-items:stretch;flex-direction:column}
  body.anseio-catalog-page .anseio-catalog-pagination{width:100%;justify-content:space-between}
  body.anseio-catalog-page .anseio-section-head{display:block!important}
  body.anseio-catalog-page .anseio-section-head small{display:block;margin-top:7px}
  body.anseio-catalog-page .anseio-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  body.anseio-catalog-page .anseio-product-section{margin-bottom:46px}
  body.anseio-catalog-page .anseio-catalog-card__body{padding:12px 10px 11px!important}
  body.anseio-catalog-page .anseio-catalog-card h3{font-size:.92rem!important}
  body.anseio-catalog-page .anseio-catalog-card__price{font-size:.92rem!important}
  body.anseio-catalog-page .anseio-catalog-card__actions{grid-template-columns:minmax(0,1fr) 38px;gap:6px}
  body.anseio-catalog-page .anseio-catalog-card__buy,
  body.anseio-catalog-page .anseio-catalog-card__favorite{min-height:38px!important}
  body.anseio-catalog-page .anseio-catalog-card__favorite{width:38px!important}
  body.anseio-catalog-page .anseio-catalog-card__buy{padding:7px 6px!important;font-size:.68rem!important}
  body.anseio-catalog-page .anseio-catalog-gallery-arrow{width:32px;height:32px;font-size:1.25rem}
}
@media(pointer:coarse){
  body.anseio-catalog-page .anseio-catalog-gallery-arrow{opacity:.88;pointer-events:auto}
}
@media(prefers-reduced-motion:reduce){
  body.anseio-catalog-page .anseio-catalog-card,
  body.anseio-catalog-page .anseio-catalog-gallery-track{transition:none!important}
}
