/* ═══════════════════════════════════════════════════════════
   V53 — Executive Soft Premium Store
   Ajuste visual do carrossel: banner mais baixo, contido e profissional,
   mantendo largura premium, filtros únicos e AJAX/server-side preservado.
   ═══════════════════════════════════════════════════════════ */
:root{
  --store-max:1480px;
  --store-bg:#f2f0ed;
  --store-bg-2:#ebe8e3;
  --store-surface:#fbfaf7;
  --store-surface-2:#f7f5f0;
  --store-elevated:#ffffff;
  --store-ink:#151b2c;
  --store-muted:#687489;
  --store-subtle:#8a94a6;
  --store-line:#ded9d0;
  --store-line-2:#ece7dd;
  --store-blue:#2563eb;
  --store-blue-2:#0f74b8;
  --store-success:#16a34a;
  --store-danger:#ef4444;
  --store-warning:#f59e0b;
  --store-radius-xl:32px;
  --store-radius-lg:24px;
  --store-radius-md:16px;
  --store-shadow-soft:0 18px 60px rgba(30,41,59,.08);
  --store-shadow-card:0 22px 70px rgba(30,41,59,.11);
  --store-shadow-strong:0 34px 110px rgba(30,41,59,.18);
  --store-safe-bottom:env(safe-area-inset-bottom,0px);
  --store-safe-top:env(safe-area-inset-top,0px);
}

html{scroll-padding-top:150px;background:var(--store-bg);}
body.premium-store{
  min-height:100vh;
  background:
    radial-gradient(circle at 8% -8%, rgba(37,99,235,.10), transparent 390px),
    radial-gradient(circle at 90% 0%, rgba(14,116,144,.09), transparent 450px),
    linear-gradient(180deg,#f5f3ee 0%,#efede8 48%,#f4f2ee 100%) !important;
  color:var(--store-ink);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.premium-store::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(rgba(30,41,59,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(30,41,59,.025) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.05));
  pointer-events:none;
}
body.premium-store a{text-decoration:none;color:inherit;}
body.premium-store a:hover{text-decoration:none;}
body.premium-store button,
body.premium-store input,
body.premium-store select,
body.premium-store textarea{font-family:inherit;}
body.premium-store ::selection{background:rgba(37,99,235,.20);color:#0f172a;}

/* ───────────────── Navbar Executive Light ───────────────── */
body.premium-store .navbar{
  position:sticky;
  top:0;
  z-index:120;
  background:rgba(250,249,246,.88)!important;
  border-bottom:1px solid rgba(222,217,208,.90)!important;
  box-shadow:0 16px 44px rgba(30,41,59,.08)!important;
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
}
body.premium-store .navbar-inner{
  max-width:var(--store-max);
  min-height:76px;
  height:auto;
  padding:0 28px;
  gap:18px;
}
body.premium-store .navbar-brand{
  color:var(--store-ink)!important;
  font-size:1.08rem;
  font-weight:900;
  letter-spacing:-.035em;
  min-width:0;
  max-width:min(560px,48vw);
}
body.premium-store .navbar-brand svg{
  width:42px;
  height:42px;
  padding:9px;
  border-radius:16px;
  color:#fff;
  stroke:#fff;
  background:linear-gradient(135deg,var(--primary),var(--hero-end));
  box-shadow:0 16px 34px rgba(37,99,235,.20);
  flex:0 0 auto;
}
body.premium-store .navbar-logo{max-height:52px;max-width:285px;object-fit:contain;border-radius:14px;}
body.premium-store .navbar-logo-fallback{font-weight:900;display:inline-flex;align-items:center;gap:10px;}
body.premium-store .navbar-actions{gap:9px;min-width:0;}
body.premium-store .nav-greeting{
  color:#475569;
  background:#fff;
  border:1px solid var(--store-line-2);
  padding:8px 12px;
  border-radius:999px;
  white-space:nowrap;
}
body.premium-store .btn-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:999px;
  padding:9px 14px;
  color:#4b5870!important;
  font-weight:790;
  border:1px solid transparent;
  transition:.18s ease;
  white-space:nowrap;
}
body.premium-store .btn-link:hover{color:var(--store-ink)!important;background:#fff;border-color:var(--store-line);box-shadow:0 12px 28px rgba(30,41,59,.07);transform:translateY(-1px);}
body.premium-store .btn-cart{
  min-height:46px;
  padding:11px 19px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--primary),var(--hero-end))!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:0 18px 42px rgba(37,99,235,.24)!important;
  transition:.18s ease;
  white-space:nowrap;
}
body.premium-store .btn-cart:hover{transform:translateY(-1px);filter:saturate(1.08) brightness(1.03);}
body.premium-store .cart-badge{top:-8px;right:-8px;width:24px;height:24px;border:3px solid #faf9f6;background:#ec4899!important;color:#fff!important;box-shadow:0 10px 22px rgba(236,72,153,.26);}

/* ───────────────── Hero simples ───────────────── */
body.premium-store .hero-premium{
  position:relative;
  overflow:hidden;
  text-align:left!important;
  padding:70px 28px 78px!important;
  border-radius:0 0 42px 42px;
  background:
    radial-gradient(circle at 76% 20%, rgba(255,255,255,.30), transparent 310px),
    linear-gradient(135deg, var(--hero-start), var(--primary) 54%, var(--hero-end));
  box-shadow:0 32px 90px rgba(30,41,59,.16);
}
body.premium-store .hero-premium::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.18),transparent 34%,rgba(255,255,255,.10));pointer-events:none;}
.hero-premium-inner{position:relative;z-index:1;max-width:var(--store-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,430px);gap:50px;align-items:center;}
.hero-copy{max-width:840px;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.30);color:rgba(255,255,255,.94);font-size:.77rem;line-height:1;font-weight:950;text-transform:uppercase;letter-spacing:.13em;backdrop-filter:blur(12px);}
.hero-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.15);}
body.premium-store .hero-premium .hero-logo{margin:0 0 18px!important;max-height:84px;max-width:min(330px,76vw);object-fit:contain;border-radius:24px;padding:10px 13px;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.50);box-shadow:0 24px 58px rgba(30,41,59,.20);}
body.premium-store .hero-premium h1{margin:0 0 18px!important;color:#fff!important;font-size:clamp(2.45rem,5.2vw,5rem)!important;line-height:.98!important;font-weight:950!important;letter-spacing:-.078em!important;text-shadow:0 22px 65px rgba(30,41,59,.22);text-wrap:balance;}
body.premium-store .hero-premium p{margin:0!important;max-width:730px!important;color:rgba(255,255,255,.90)!important;font-size:1.08rem!important;line-height:1.75!important;font-weight:520;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.hero-action-primary,.hero-action-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 23px;border-radius:999px;font-weight:950;letter-spacing:-.01em;transition:.18s ease;}
.hero-action-primary{background:#fff;color:var(--primary)!important;box-shadow:0 22px 54px rgba(30,41,59,.22);}
.hero-action-secondary{color:#fff!important;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(12px);}
.hero-action-primary:hover,.hero-action-secondary:hover{transform:translateY(-2px);}
.hero-panel{display:flex;flex-direction:column;gap:14px;}
.hero-panel-card,.hero-panel-grid>div{border:1px solid rgba(255,255,255,.25);background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.09));backdrop-filter:blur(18px);border-radius:28px;color:#fff;box-shadow:0 26px 70px rgba(30,41,59,.18);}
.hero-panel-main{padding:27px;}
.hero-panel span{display:block;color:rgba(255,255,255,.78);font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900;}
.hero-panel strong{display:block;margin-top:8px;font-size:2.45rem;line-height:1;font-weight:950;letter-spacing:-.06em;}
.hero-panel small{display:block;margin-top:9px;color:rgba(255,255,255,.76);}
.hero-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.hero-panel-grid>div{padding:22px;}
.hero-panel-grid strong{font-size:1.35rem;}

/* ───────────────── Carrossel executivo contido ───────────────── */
body.premium-store .carousel{
  position:relative!important;
  width:calc(100% - 44px)!important;
  max-width:var(--store-max)!important;
  height:clamp(280px,22vw,390px)!important;
  min-height:280px!important;
  margin:20px auto 0!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#d7dce3!important;
  box-shadow:0 24px 74px rgba(30,41,59,.16)!important;
  border:1px solid rgba(255,255,255,.70)!important;
}
body.premium-store .carousel::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55), inset 0 -82px 150px rgba(16,24,40,.14);
  z-index:2;
}
body.premium-store .carousel-track{height:100%!important;display:flex!important;transition:transform .55s cubic-bezier(.4,0,.2,1)!important;will-change:transform;}
body.premium-store .carousel-slide{min-width:100%!important;height:100%!important;min-height:0!important;background-size:cover!important;background-position:center!important;position:relative!important;display:block!important;flex-shrink:0!important;}
body.premium-store .carousel-overlay{position:absolute!important;inset:0!important;background:linear-gradient(90deg,rgba(15,23,42,.38),rgba(15,23,42,.08) 45%,rgba(15,23,42,.20))!important;z-index:1!important;}
body.premium-store .carousel-content{
  position:absolute!important;
  left:clamp(20px,4.2vw,58px)!important;
  right:auto!important;
  bottom:clamp(18px,4vw,42px)!important;
  z-index:4!important;
  width:min(560px,calc(100% - 40px))!important;
  max-width:560px!important;
  padding:20px 22px!important;
  border-radius:24px!important;
  background:rgba(250,249,246,.88)!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 18px 58px rgba(15,23,42,.18)!important;
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
}
body.premium-store .carousel-content::before{
  content:"Campanha em destaque";
  display:inline-flex;
  margin-bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(37,99,235,.10);
  color:#1d4ed8;
  font-size:.70rem;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}
body.premium-store .carousel-titulo{
  margin:0 0 8px!important;
  color:var(--store-ink)!important;
  font-size:clamp(1.45rem,2.55vw,2.55rem)!important;
  line-height:1.02!important;
  font-weight:950!important;
  letter-spacing:-.065em!important;
  text-shadow:none!important;
  word-break:break-word;
  text-wrap:balance;
}
body.premium-store .carousel-desc{margin:0!important;color:#4b5870!important;font-size:.96rem!important;line-height:1.55!important;max-width:520px!important;text-shadow:none!important;}
body.premium-store .carousel-cta{margin-top:13px;border:0!important;cursor:pointer;display:inline-flex!important;align-items:center;justify-content:center;border-radius:999px!important;padding:12px 18px!important;background:linear-gradient(135deg,var(--primary),var(--hero-end))!important;color:#fff!important;font-weight:950!important;box-shadow:0 18px 40px rgba(37,99,235,.22)!important;transition:.18s ease!important;}
body.premium-store .carousel-cta:hover{transform:translateY(-1px)!important;filter:saturate(1.08) brightness(1.03);}
body.premium-store .carousel-btn{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:42px!important;height:42px!important;border-radius:16px!important;background:rgba(250,249,246,.84)!important;backdrop-filter:blur(14px)!important;border:1px solid rgba(255,255,255,.72)!important;color:#1f2937!important;box-shadow:0 16px 38px rgba(30,41,59,.16)!important;z-index:8!important;}
body.premium-store .carousel-btn:hover{background:#fff!important;transform:translateY(-50%) scale(1.04)!important;}
body.premium-store .carousel-prev{left:18px!important;}
body.premium-store .carousel-next{right:18px!important;}
body.premium-store .carousel-dots{position:absolute!important;left:50%!important;bottom:14px!important;transform:translateX(-50%)!important;display:flex!important;gap:8px!important;z-index:8!important;}
body.premium-store .carousel-dot{width:9px!important;height:9px!important;border-radius:999px!important;background:rgba(255,255,255,.65)!important;border:1px solid rgba(15,23,42,.10)!important;padding:0!important;transition:.18s ease!important;}
body.premium-store .carousel-dot.active{width:28px!important;background:#fff!important;transform:none!important;box-shadow:0 8px 22px rgba(30,41,59,.16);}

/* ───────────────── Trustbar ───────────────── */
body.premium-store .store-trustbar{position:relative;z-index:5;margin:18px auto 0!important;padding:0 22px 0!important;}
.store-trustbar-inner{max-width:var(--store-max);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:14px;border-radius:28px;background:rgba(250,249,246,.78);border:1px solid rgba(255,255,255,.78);box-shadow:var(--store-shadow-soft);backdrop-filter:blur(18px);}
.trust-item{display:flex;align-items:center;gap:14px;min-width:0;padding:15px 16px;border-radius:20px;background:rgba(255,255,255,.74);border:1px solid var(--store-line-2);box-shadow:0 10px 28px rgba(30,41,59,.045);}
.trust-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:16px;background:linear-gradient(135deg,#fff,#f0eee8);border:1px solid var(--store-line-2);font-size:1.15rem;}
.trust-item strong{display:block;color:var(--store-ink);font-size:.93rem;font-weight:950;line-height:1.12;}
.trust-item small{display:block;margin-top:3px;color:var(--store-muted);font-size:.78rem;line-height:1.35;}

/* ───────────────── Filtros ───────────────── */
body.premium-store .filters-bar{position:sticky;top:76px;z-index:100;padding:14px 22px;background:rgba(242,240,237,.88)!important;border-top:1px solid rgba(255,255,255,.60);border-bottom:1px solid rgba(222,217,208,.86)!important;box-shadow:0 16px 42px rgba(30,41,59,.075)!important;backdrop-filter:blur(20px);}
body.premium-store .filters-inner{max-width:var(--store-max);margin:0 auto;padding:0!important;display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;}
body.premium-store .search-box{height:54px;min-width:280px;max-width:390px;flex:1 1 320px;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--store-elevated)!important;border:1px solid var(--store-line)!important;border-radius:18px!important;box-shadow:0 14px 34px rgba(30,41,59,.06)!important;transition:.18s ease;}
body.premium-store .search-box:focus-within{border-color:rgba(37,99,235,.38)!important;box-shadow:0 0 0 5px rgba(37,99,235,.08),0 16px 36px rgba(30,41,59,.08)!important;}
body.premium-store .search-box input{height:100%;border:0!important;outline:0!important;background:transparent!important;color:var(--store-ink)!important;font-weight:760;min-width:0;width:100%;}
body.premium-store .search-box input::placeholder{color:#9aa3b2;font-weight:760;}
body.premium-store .search-clear{width:28px;height:28px;border:0;border-radius:10px;background:#f1f5f9;color:#64748b;}
body.premium-store .filter-group{display:flex;align-items:center;gap:10px;}
body.premium-store .filter-label{font-size:.72rem;font-weight:950;color:#69758a;text-transform:uppercase;letter-spacing:.13em;white-space:nowrap;}
body.premium-store .filter-select{height:54px;min-width:210px;border:1px solid var(--store-line)!important;border-radius:18px!important;background-color:var(--store-elevated)!important;color:var(--store-ink)!important;font-weight:850;padding:0 42px 0 16px!important;box-shadow:0 14px 34px rgba(30,41,59,.055)!important;outline:0!important;}
body.premium-store .filter-select:focus{border-color:rgba(37,99,235,.38)!important;box-shadow:0 0 0 5px rgba(37,99,235,.08),0 16px 36px rgba(30,41,59,.08)!important;}
body.premium-store .btn.btn-primary.btn-sm{height:54px;border-radius:18px!important;padding:0 22px!important;font-size:.90rem!important;font-weight:950!important;background:linear-gradient(135deg,var(--primary),var(--hero-end))!important;color:#fff!important;border:0!important;box-shadow:0 18px 40px rgba(37,99,235,.22)!important;}
body.premium-store .btn-clear-all{height:44px;display:inline-flex;align-items:center;border:1px solid #f3c6cf!important;border-radius:16px!important;background:#fff7f8!important;color:#be123c!important;padding:0 14px;font-weight:900;}
.view-switch{display:flex;align-items:center;gap:4px;height:54px;padding:5px;border-radius:18px;background:#e9ecef;border:1px solid #d8dee8;box-shadow:inset 0 1px 0 rgba(255,255,255,.55);}
.view-switch-btn{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 14px;border-radius:14px;color:#62708a!important;font-weight:900;transition:.18s ease;white-space:nowrap;}
.view-switch-btn.active{background:linear-gradient(135deg,var(--primary),var(--hero-end));color:#fff!important;box-shadow:0 12px 26px rgba(37,99,235,.22);}
.filter-active-info{margin-left:auto;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.filter-active-badge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;padding:7px 10px;font-weight:900;font-size:.82rem;}
.filter-badge-remove{color:#1d4ed8;font-weight:950;}
.filter-count{display:inline-flex;align-items:center;min-height:44px;padding:0 15px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid var(--store-line-2);color:#42526a;font-weight:950;white-space:nowrap;}

/* ───────────────── Content shell ───────────────── */
body.premium-store .container.section{max-width:var(--store-max);padding:28px 22px 72px;margin:0 auto;}
body.premium-store .section{background:transparent!important;}
body.store-loading #catalogContent{opacity:.55;pointer-events:none;filter:saturate(.9);}
#catalogContent{transition:opacity .18s ease,filter .18s ease;}
.alert.alert-danger,.empty-state{border-radius:24px!important;background:#fff!important;border:1px solid var(--store-line)!important;box-shadow:var(--store-shadow-soft);}
.empty-state{padding:48px 22px!important;text-align:center;color:var(--store-muted);}
.empty-title{font-weight:950!important;color:var(--store-ink)!important;}

/* ───────────────── Cards ───────────────── */
.product-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(248px,1fr))!important;gap:24px!important;}
body.premium-store .product-card{position:relative;border:1px solid var(--store-line)!important;border-radius:28px!important;background:rgba(251,250,247,.94)!important;box-shadow:0 18px 52px rgba(30,41,59,.08)!important;overflow:hidden!important;transform:translateZ(0);transition:transform .20s ease, box-shadow .20s ease, border-color .20s ease;}
body.premium-store .product-card:hover{transform:translateY(-6px);box-shadow:0 28px 80px rgba(30,41,59,.14)!important;border-color:#cfd8e6!important;}
body.premium-store .product-img-wrap{position:relative;height:218px;background:linear-gradient(135deg,#edf0f4,#f8f7f3)!important;border-radius:0!important;overflow:hidden;border-bottom:1px solid var(--store-line-2);}
body.premium-store .product-img-wrap img{width:100%;height:100%;object-fit:contain;padding:22px;transition:transform .22s ease;}
body.premium-store .product-card:hover .product-img-wrap img{transform:scale(1.035);}
.product-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#7b8798;background:linear-gradient(135deg,#edf0f4,#f8f7f3);}
body.premium-store .cat-badge{position:absolute;top:14px;left:14px;max-width:calc(100% - 28px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:rgba(255,255,255,.90)!important;color:#334155!important;border:1px solid rgba(226,232,240,.92);font-size:.74rem;font-weight:950;padding:7px 12px;box-shadow:0 12px 24px rgba(30,41,59,.08);}
body.premium-store .product-body{padding:20px 20px 18px!important;}
.product-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;}
body.premium-store .product-ref{font-size:.82rem;font-weight:950;color:var(--primary)!important;letter-spacing:.015em;}
body.premium-store .product-name{min-height:52px;color:var(--store-ink)!important;font-size:1rem;line-height:1.38;font-weight:950!important;letter-spacing:-.025em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
body.premium-store .product-price{margin-top:14px;color:var(--primary)!important;font-size:1.35rem;font-weight:950;letter-spacing:-.045em;}
body.premium-store .product-price-na{margin-top:14px;color:#64748b!important;font-size:.92rem;font-weight:900;font-style:italic;}
.info-btn{width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:12px;background:linear-gradient(135deg,#60a5fa,var(--primary))!important;box-shadow:0 12px 24px rgba(37,99,235,.20);}
.product-purchase-row{display:grid;grid-template-columns:108px 1fr;gap:10px;margin-top:18px;}
.card-qty-stepper{height:46px;display:grid;grid-template-columns:34px 1fr 34px;border:1px solid var(--store-line);border-radius:16px;overflow:hidden;background:#fff;}
.card-qty-stepper button{border:0;background:#f2f4f7;color:#334155;font-weight:950;font-size:1.05rem;}
.card-qty-stepper input{width:100%;border:0;text-align:center;background:#fff;color:var(--store-ink);font-weight:950;outline:0;}
body.premium-store .btn-add{height:46px;border:0;border-radius:16px!important;background:linear-gradient(135deg,var(--primary),var(--hero-end))!important;color:#fff!important;font-weight:950;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 16px 34px rgba(37,99,235,.20);}
body.premium-store .btn-add:hover{filter:saturate(1.08) brightness(1.03);transform:translateY(-1px);}

/* ───────────────── Lista rápida ───────────────── */
.catalog-list-shell{border-radius:30px;background:rgba(251,250,247,.82);border:1px solid var(--store-line);box-shadow:var(--store-shadow-soft);overflow:hidden;}
.catalog-list-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 20px;background:linear-gradient(180deg,#fff,#f7f5f0);border-bottom:1px solid var(--store-line-2);}
.catalog-list-toolbar strong{display:block;color:var(--store-ink);font-weight:950;letter-spacing:-.02em;}
.catalog-list-toolbar span,.catalog-list-toolbar small{display:block;color:var(--store-muted);font-size:.84rem;}
.catalog-list-summary{text-align:right;}
.catalog-list{display:block;}
.catalog-list-head,.catalog-list-row{display:grid;grid-template-columns:minmax(0,1fr) 135px 120px 178px;gap:14px;align-items:center;}
.catalog-list-head{padding:12px 20px;background:#efede8;color:#69758a;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:950;}
.catalog-list-row{padding:15px 20px;background:rgba(255,255,255,.70);border-top:1px solid var(--store-line-2);transition:.16s ease;}
.catalog-list-row:hover{background:#fff;}
.catalog-list-product{display:flex;align-items:center;gap:14px;min-width:0;}
.catalog-list-img{width:70px;height:70px;flex:0 0 70px;border-radius:18px;background:#edf0f4;border:1px solid var(--store-line-2);overflow:hidden;display:grid;place-items:center;}
.catalog-list-img img{width:100%;height:100%;object-fit:contain;padding:8px;}
.list-img-placeholder{display:grid;place-items:center;color:#94a3b8;width:100%;height:100%;}
.catalog-list-info{min-width:0;display:flex;flex-direction:column;gap:4px;}
.list-family{align-self:flex-start;max-width:100%;border-radius:999px;padding:4px 9px;background:#eef2f7;color:#475569;font-size:.70rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.catalog-list-info strong{color:var(--store-ink);font-size:.96rem;line-height:1.25;font-weight:950;}
.list-ref{color:var(--primary);font-weight:950;font-size:.82rem;}
.list-info-btn{align-self:flex-start;border:0;background:transparent;color:#64748b;font-weight:850;font-size:.78rem;padding:0;}
.catalog-list-price strong{color:var(--primary);font-size:1rem;font-weight:950;}
.catalog-list-price span{color:#64748b;font-weight:900;font-style:italic;}
.catalog-list-stock strong{display:block;color:#334155;font-weight:950;}
.catalog-list-stock small{color:#64748b;}
.catalog-list-stock.stock-zero strong{color:#be123c;}
.catalog-list-actions-inline{display:flex;align-items:center;justify-content:flex-end;gap:6px;}
.list-qty-btn{width:38px;height:38px;border:1px solid var(--store-line);border-radius:14px;background:#fff;color:#334155;font-weight:950;font-size:1.1rem;box-shadow:0 8px 18px rgba(30,41,59,.05);}
.list-qty-input{width:54px;height:38px;border:1px solid var(--store-line);border-radius:14px;background:#f8fafc;text-align:center;color:var(--store-ink);font-weight:950;}

/* ───────────────── Paginação ───────────────── */
.pagination{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin-top:28px;}
.page-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border:1px solid var(--store-line)!important;border-radius:14px!important;background:#fff!important;color:#475569!important;font-weight:900;box-shadow:0 10px 24px rgba(30,41,59,.045);}
.page-active{background:linear-gradient(135deg,var(--primary),var(--hero-end))!important;border-color:transparent!important;color:#fff!important;}
.page-disabled{opacity:.45;pointer-events:none;}
.pagination-info{text-align:center;color:#64748b;font-size:.86rem;margin:8px 0 0;}

/* ───────────────── Carrinho claro premium ───────────────── */
body.premium-store .cart-overlay{background:rgba(30,41,59,.32)!important;backdrop-filter:blur(8px);}
body.premium-store .cart-panel{background:#fbfaf7!important;color:var(--store-ink);border-left:1px solid var(--store-line);box-shadow:-28px 0 90px rgba(30,41,59,.18);}
body.premium-store .cart-header{border-bottom:1px solid var(--store-line-2);background:linear-gradient(180deg,#fff,#f6f4ef)!important;}
body.premium-store .cart-header h2{color:var(--store-ink)!important;font-weight:950;letter-spacing:-.04em;}
body.premium-store .cart-subtitle{color:var(--store-muted)!important;}
body.premium-store .cart-close{background:#fff!important;color:#334155!important;border:1px solid var(--store-line)!important;border-radius:16px!important;}
body.premium-store .cart-items{background:transparent!important;}
body.premium-store .cart-empty{color:#64748b;border:1px dashed var(--store-line);border-radius:20px;margin:18px;padding:22px;background:#fff;}
body.premium-store .cart-item{background:#fff!important;border:1px solid var(--store-line-2)!important;border-radius:20px!important;margin:12px 16px!important;box-shadow:0 12px 32px rgba(30,41,59,.065);}
body.premium-store .cart-item-name{color:var(--store-ink)!important;font-weight:950;}
body.premium-store .cart-item-ref{color:#64748b!important;}
body.premium-store .cart-item-line-total{display:inline-flex;margin:8px 0;color:var(--primary);font-weight:950;}
body.premium-store .qty-btn{background:#f2f4f7!important;color:#334155!important;border:1px solid var(--store-line)!important;border-radius:11px!important;}
body.premium-store .qty-num{color:var(--store-ink);font-weight:950;}
body.premium-store .cart-item-obs-input,.cart-extra-input,body.premium-store #cartNotas{background:#fff!important;border:1px solid var(--store-line)!important;color:var(--store-ink)!important;border-radius:14px!important;}
body.premium-store .cart-item-obs-input::placeholder,.cart-extra-input::placeholder,body.premium-store #cartNotas::placeholder{color:#9aa3b2;}
body.premium-store .btn-remove-item{color:#be123c!important;background:#fff1f2!important;border-radius:14px!important;}
body.premium-store .cart-footer{background:linear-gradient(180deg,#f7f5f0,#fbfaf7)!important;border-top:1px solid var(--store-line-2);padding-bottom:calc(18px + var(--store-safe-bottom));}
body.premium-store .cart-total-box{background:linear-gradient(135deg,#eff6ff,#eef8fb)!important;border:1px solid #bfdbfe!important;border-radius:20px!important;color:var(--store-ink)!important;}
body.premium-store .cart-total-box span{color:#1d4ed8!important;}
body.premium-store .cart-total-box strong{color:var(--store-ink)!important;font-size:1.55rem;}
body.premium-store .cart-extra-title{color:var(--store-ink);font-weight:950;margin:14px 0 10px;}
body.premium-store .cart-extra-label{color:#64748b;font-weight:850;font-size:.78rem;}
body.premium-store .btn.btn-success{border:0!important;border-radius:18px!important;background:linear-gradient(135deg,#16a34a,#0f766e)!important;box-shadow:0 18px 44px rgba(22,163,74,.22)!important;color:#fff!important;}

/* ───────────────── Modal/Tooltip/Footer/Toast ───────────────── */
body.premium-store .modal{background:#fff!important;color:var(--store-ink);border:1px solid var(--store-line);box-shadow:var(--store-shadow-strong);border-radius:24px;}
body.premium-store .modal-header,body.premium-store .modal-footer{border-color:var(--store-line-2)!important;}
body.premium-store .modal-body{color:#64748b;}
.global-tooltip{position:absolute;z-index:9999;display:none;max-width:min(420px,calc(100vw - 28px));padding:12px 14px;border-radius:16px;background:rgba(21,27,44,.96);color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:0 24px 70px rgba(30,41,59,.32);font-size:.88rem;line-height:1.45;}
.promo-modal.open{display:flex!important;}
.promo-modal{position:fixed;inset:0;z-index:650;display:none;align-items:center;justify-content:center;padding:22px;}
.promo-modal-backdrop{position:absolute;inset:0;background:rgba(30,41,59,.48);backdrop-filter:blur(10px);}
.promo-modal-card{position:relative;z-index:1;width:min(860px,100%);display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);border-radius:28px;overflow:hidden;background:#fff;border:1px solid var(--store-line);box-shadow:var(--store-shadow-strong);}
.promo-modal-image{min-height:330px;background:linear-gradient(135deg,var(--primary),var(--hero-end));background-size:cover;background-position:center;}
.promo-modal-body{padding:32px;color:var(--store-ink);}
.promo-eyebrow{display:inline-flex;margin-bottom:12px;color:var(--primary);font-weight:950;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;}
.promo-modal-body h2{margin:0 0 12px;color:var(--store-ink);font-size:2rem;line-height:1;font-weight:950;letter-spacing:-.06em;}
.promo-modal-body p{color:#64748b;line-height:1.65;}
.promo-modal-action{display:inline-flex;margin-top:18px;border-radius:999px;padding:13px 20px;background:linear-gradient(135deg,var(--primary),var(--hero-end));color:#fff!important;font-weight:950;}
.promo-modal-close{position:absolute;right:14px;top:14px;z-index:2;width:38px;height:38px;border:0;border-radius:14px;background:rgba(15,23,42,.72);color:#fff;font-size:1.4rem;}
.toast-container{position:fixed;right:18px;bottom:calc(18px + var(--store-safe-bottom));z-index:800;display:flex;flex-direction:column;gap:10px;}
body.premium-store .toast{display:flex;align-items:center;gap:10px;min-width:260px;max-width:min(420px,calc(100vw - 28px));padding:13px 15px;border-radius:18px;background:#fff;color:var(--store-ink);border:1px solid var(--store-line);box-shadow:0 22px 60px rgba(30,41,59,.18);font-weight:850;}
body.premium-store .toast.success{border-color:rgba(34,197,94,.34);}
body.premium-store .toast.danger{border-color:rgba(248,113,113,.36);}
body.premium-store .toast.info{border-color:rgba(56,189,248,.36);}
.public-company-footer{background:#eeece7!important;border-top:1px solid var(--store-line)!important;color:#64748b!important;padding:22px 24px calc(22px + var(--store-safe-bottom))!important;}
.public-footer-inner{max-width:var(--store-max);margin:0 auto;display:flex;align-items:center;gap:14px;}
.public-footer-inner img{max-height:44px;border-radius:12px;background:#fff;padding:4px;}
.public-footer-inner strong{display:block;color:var(--store-ink);}
.public-footer-inner span{display:block;margin-top:3px;color:#64748b;font-size:.84rem;}
body.premium-store.auth-modern .auth-card{background:#fff!important;border:1px solid var(--store-line)!important;color:var(--store-ink)!important;box-shadow:var(--store-shadow-strong)!important;}
body.premium-store.auth-modern .auth-card p{color:#64748b!important;}

@media (min-width:1180px){
  body.premium-store.cart-mode-fixo .container.section,
  body.premium-store.cart-mode-fixo .navbar-inner,
  body.premium-store.cart-mode-fixo .filters-inner,
  body.premium-store.cart-mode-fixo .hero-premium-inner,
  body.premium-store.cart-mode-fixo .store-trustbar-inner,
  body.premium-store.cart-mode-fixo .public-footer-inner{max-width:calc(var(--store-max) - 390px);margin-left:max(24px,calc((100vw - var(--store-max))/2));margin-right:410px;}
  body.premium-store.cart-mode-fixo .carousel{width:calc(100% - 454px)!important;margin-left:max(24px,calc((100vw - var(--store-max))/2))!important;margin-right:410px!important;}
  body.premium-store.cart-mode-fixo .cart-panel{transform:none!important;right:0!important;width:390px;}
}

/* ───────────────── Responsive ───────────────── */
@media (max-width:1120px){
  .hero-premium-inner{grid-template-columns:1fr;gap:28px;}
  .hero-panel{max-width:620px;}
  .store-trustbar-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  .catalog-list-head{display:none;}
  .catalog-list-row{grid-template-columns:1fr 120px 170px;grid-template-areas:'prod prod prod' 'price stock actions';gap:12px;padding:16px;}
  .catalog-list-product{grid-area:prod;}
  .catalog-list-price{grid-area:price;}
  .catalog-list-stock{grid-area:stock;}
  .catalog-list-actions{grid-area:actions;}
}
@media (max-width:860px){
  html{scroll-padding-top:190px;}
  body.premium-store .navbar-inner{padding:10px 16px;min-height:72px;align-items:flex-start;flex-direction:column;gap:10px;}
  body.premium-store .navbar-brand{max-width:100%;width:100%;}
  body.premium-store .navbar-actions{width:100%;overflow-x:auto;padding-bottom:2px;justify-content:flex-start;scrollbar-width:none;}
  body.premium-store .navbar-actions::-webkit-scrollbar{display:none;}
  body.premium-store .nav-greeting{display:none;}
  body.premium-store .btn-link{min-height:38px;padding:8px 12px;font-size:.86rem;background:#fff;border:1px solid var(--store-line);}
  body.premium-store .btn-cart{margin-left:auto;min-height:40px;padding:9px 14px;}
  body.premium-store .hero-premium{padding:46px 18px 64px!important;border-radius:0 0 30px 30px;}
  body.premium-store .hero-premium h1{font-size:clamp(2.15rem,12vw,3.25rem)!important;}
  body.premium-store .hero-premium p{font-size:1rem!important;line-height:1.62!important;}
  .hero-panel{display:none;}
  body.premium-store .carousel{width:calc(100% - 28px)!important;height:300px!important;min-height:300px!important;margin-top:14px!important;border-radius:24px!important;}
  body.premium-store .carousel-content{left:14px!important;right:14px!important;bottom:14px!important;width:auto!important;max-width:none!important;padding:15px!important;border-radius:20px!important;}
  body.premium-store .carousel-content::before{font-size:.66rem;padding:5px 9px;margin-bottom:8px;}
  body.premium-store .carousel-titulo{font-size:clamp(1.2rem,6.4vw,1.85rem)!important;}
  body.premium-store .carousel-desc{font-size:.86rem!important;line-height:1.42!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  body.premium-store .carousel-cta{padding:10px 14px!important;margin-top:10px;}
  body.premium-store .carousel-btn{display:none!important;}
  body.premium-store .store-trustbar{margin-top:14px!important;padding:0 14px;}
  .store-trustbar-inner{grid-template-columns:1fr;padding:10px;border-radius:22px;}
  .trust-item{padding:12px;border-radius:17px;}
  body.premium-store .filters-bar{position:relative;top:0;padding:12px 14px;}
  body.premium-store .filters-inner{gap:9px;}
  body.premium-store .search-box{flex:1 1 100%;min-width:100%;height:50px;}
  body.premium-store .filter-group{flex:1 1 calc(50% - 6px);display:block;}
  body.premium-store .filter-label{display:block;margin:0 0 6px;}
  body.premium-store .filter-select{width:100%;min-width:0;height:48px;}
  body.premium-store .btn.btn-primary.btn-sm{flex:1 1 112px;height:46px;}
  .view-switch{flex:1 1 100%;height:48px;}
  .view-switch-btn{flex:1;justify-content:center;height:38px;font-size:.86rem;}
  .filter-active-info{width:100%;justify-content:space-between;margin-left:0;}
  body.premium-store .container.section{padding:22px 14px 62px;}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  body.premium-store .product-card{border-radius:22px!important;}
  body.premium-store .product-img-wrap{height:165px;}
  body.premium-store .product-img-wrap img{padding:14px;}
  body.premium-store .product-body{padding:14px!important;}
  body.premium-store .cat-badge{font-size:.66rem;padding:6px 9px;}
  body.premium-store .product-name{font-size:.88rem;min-height:48px;}
  body.premium-store .product-price{font-size:1.1rem;}
  .product-purchase-row{grid-template-columns:1fr;gap:8px;}
  .card-qty-stepper{height:42px;}
  body.premium-store .btn-add{height:42px;font-size:.86rem;}
  .catalog-list-toolbar{align-items:flex-start;flex-direction:column;}
  .catalog-list-summary{text-align:left;}
  .catalog-list-row{grid-template-columns:1fr;grid-template-areas:'prod' 'price' 'stock' 'actions';}
  .catalog-list-actions-inline{justify-content:flex-start;}
  body.premium-store .cart-panel{width:100%!important;right:-100%!important;border-left:0;border-radius:24px 24px 0 0;top:auto!important;height:min(86vh,760px)!important;bottom:0!important;}
  body.premium-store .cart-panel.open{right:0!important;}
  .promo-modal-card{grid-template-columns:1fr;max-height:92vh;overflow:auto;}
  .promo-modal-image{min-height:210px;}
  .promo-modal-body{padding:24px;}
  .public-footer-inner{align-items:flex-start;flex-direction:column;}
}
@media (max-width:520px){
  body.premium-store .navbar-logo{max-width:190px;}
  body.premium-store .carousel{height:270px!important;min-height:270px!important;}
  .product-grid{grid-template-columns:1fr!important;}
  body.premium-store .filter-group{flex:1 1 100%;}
  .filter-count{width:100%;justify-content:center;}
  .toast-container{left:12px;right:12px;}
  body.premium-store .toast{min-width:0;width:100%;}
}

/* ═══════════════════════════════════════════════════════════
   V54 — Promoções, modal de imagem e carrinho executivo
   ═══════════════════════════════════════════════════════════ */
body.premium-store .product-promo-slide{
  background-size:cover!important;
  background-position:center!important;
}
body.premium-store .product-promo-slide .carousel-overlay{
  background:
    radial-gradient(circle at 73% 48%,rgba(37,99,235,.16),transparent 270px),
    linear-gradient(90deg,rgba(246,244,239,.55),rgba(246,244,239,.08) 48%,rgba(255,255,255,.18))!important;
}
.promo-product-stage{
  position:absolute;
  z-index:3;
  inset:24px 48px 24px auto;
  width:min(39%,430px);
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.promo-product-stage::before{
  content:"";
  position:absolute;
  width:84%;
  height:72%;
  border-radius:999px;
  background:radial-gradient(circle,rgba(37,99,235,.18),rgba(14,116,144,.07),transparent 70%);
  filter:blur(2px);
}
.promo-product-frame{
  position:relative;
  width:min(320px,100%);
  height:min(260px,86%);
  display:grid;
  place-items:center;
  padding:22px;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,250,252,.76));
  border:1px solid rgba(255,255,255,.86);
  box-shadow:0 28px 80px rgba(30,41,59,.20), inset 0 0 0 1px rgba(255,255,255,.46);
  backdrop-filter:blur(18px);
  transform:rotate(1deg);
}
.promo-product-frame img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 24px 26px rgba(30,41,59,.18));}
.promo-product-placeholder{font-size:4rem;opacity:.74;}
.carousel-promo-tag{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  margin:0 0 9px;
  padding:7px 11px;
  border-radius:999px;
  background:linear-gradient(135deg,#f59e0b,#f97316);
  color:#fff;
  font-size:.70rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 12px 24px rgba(245,158,11,.22);
}
.carousel-promo-tag::before{content:"🔥";letter-spacing:0;}
.carousel-product-ref{margin:-2px 0 9px;color:#64748b;font-weight:850;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;}
body.premium-store .product-promo-slide .carousel-content::before{display:none!important;}
body.premium-store .product-promo-slide .carousel-content{background:rgba(255,255,255,.82)!important;}

.promo-product-badge,
.list-promo-badge,
.promo-filter-chip,
.filter-active-badge.promo-active{
  background:linear-gradient(135deg,#fff7ed,#ffedd5)!important;
  color:#9a3412!important;
  border:1px solid #fed7aa!important;
}
.promo-product-badge{
  position:absolute;
  right:13px;
  top:13px;
  z-index:6;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.055em;
  text-transform:uppercase;
  box-shadow:0 12px 26px rgba(154,52,18,.13);
}
.list-badges{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:6px;}
.list-promo-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:.70rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase;}
.promo-filter-chip{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 16px;
  border-radius:999px;
  font-size:.88rem;
  font-weight:950;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(154,52,18,.07);
  transition:.18s ease;
}
.promo-filter-chip:hover,
.promo-filter-chip.active{transform:translateY(-1px);background:linear-gradient(135deg,#fb923c,#f97316)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 18px 38px rgba(249,115,22,.22);}
.filter-active-badge.promo-active{font-weight:950;}

body.premium-store .cart-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:18px 18px 16px!important;
}
.cart-header-copy{min-width:0;}
.cart-top-total{
  min-width:142px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  padding:11px 14px;
  border-radius:18px;
  background:linear-gradient(135deg,#eff6ff,#f0fdfa)!important;
  border:1px solid #bfdbfe;
  box-shadow:0 14px 32px rgba(37,99,235,.10);
}
.cart-top-total span{color:#1d4ed8;font-size:.70rem;font-weight:950;text-transform:uppercase;letter-spacing:.12em;line-height:1;}
.cart-top-total strong{margin-top:4px;color:var(--store-ink);font-size:1.25rem;font-weight:950;letter-spacing:-.04em;line-height:1;}
body.premium-store .cart-total-box{display:none!important;}

.catalog-list-img.image-preview-trigger{
  appearance:none;
  -webkit-appearance:none;
  padding:0;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.catalog-list-img.image-preview-trigger:hover:not(:disabled){transform:translateY(-2px) scale(1.02);border-color:#bfdbfe;box-shadow:0 14px 30px rgba(37,99,235,.12);}
.catalog-list-img.image-preview-trigger:disabled{cursor:default;}
.catalog-list-img.image-preview-trigger::after{content:"🔍";position:absolute;right:5px;bottom:5px;display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:rgba(255,255,255,.92);font-size:.72rem;border:1px solid rgba(226,232,240,.9);box-shadow:0 8px 18px rgba(30,41,59,.12);opacity:0;transform:scale(.92);transition:.16s ease;}
.catalog-list-img.image-preview-trigger:hover:not(:disabled)::after{opacity:1;transform:scale(1);}

.product-image-modal.open{display:flex!important;}
.product-image-modal{position:fixed;inset:0;z-index:700;display:none;align-items:center;justify-content:center;padding:24px;}
.product-image-modal-backdrop{position:absolute;inset:0;background:rgba(30,41,59,.46);backdrop-filter:blur(10px);}
.product-image-modal-card{position:relative;z-index:1;width:min(760px,100%);max-height:92vh;display:flex;flex-direction:column;border-radius:30px;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.84);box-shadow:0 34px 110px rgba(15,23,42,.28);}
.product-image-modal-media{min-height:360px;max-height:68vh;display:grid;place-items:center;padding:32px;background:linear-gradient(135deg,#f8fafc,#f3f0eb);}
.product-image-modal-media img{max-width:100%;max-height:62vh;object-fit:contain;filter:drop-shadow(0 26px 32px rgba(30,41,59,.16));}
.product-image-modal-caption{display:flex;flex-direction:column;gap:5px;padding:18px 22px;border-top:1px solid var(--store-line-2);background:#fff;}
.product-image-modal-caption span{color:#2563eb;font-size:.78rem;font-weight:950;letter-spacing:.10em;text-transform:uppercase;}
.product-image-modal-caption strong{color:var(--store-ink);font-size:1.05rem;line-height:1.32;}
.product-image-modal-close{position:absolute;right:14px;top:14px;z-index:2;width:40px;height:40px;border:0;border-radius:15px;background:rgba(15,23,42,.74);color:#fff;font-size:1.45rem;line-height:1;cursor:pointer;box-shadow:0 14px 28px rgba(15,23,42,.18);}
.product-image-modal-close:hover{background:#0f172a;}

@media (max-width:860px){
  .promo-product-stage{inset:18px 18px auto auto;width:38%;height:43%;opacity:.92;}
  .promo-product-frame{height:100%;padding:12px;border-radius:22px;}
  body.premium-store .product-promo-slide .carousel-content{padding-right:15px!important;}
  body.premium-store .cart-header{grid-template-columns:1fr auto;}
  .cart-top-total{order:3;grid-column:1 / -1;align-items:flex-start;min-width:0;width:100%;}
  .promo-filter-chip{flex:1 1 130px;min-height:46px;}
  .product-image-modal{padding:14px;}
  .product-image-modal-card{border-radius:24px;}
  .product-image-modal-media{min-height:260px;padding:22px;}
}
@media (max-width:520px){
  .promo-product-stage{display:none;}
  .promo-product-badge{top:10px;right:10px;font-size:.62rem;padding:6px 8px;}
  .product-image-modal-media{min-height:230px;}
  .product-image-modal-caption{padding:15px 18px;}
}
.catalog-list-img{position:relative;}

/* ═══════════════════════════════════════════════════════════
   V56 — Promo carousel e ampliação de imagens
   - Slides automáticos de promoção sem descrição longa.
   - Produto no carrossel enquadrado e alinhado profissionalmente.
   - Ampliar imagem também nos cartões, além da lista rápida.
   ═══════════════════════════════════════════════════════════ */
body.premium-store .product-promo-slide{
  background:
    radial-gradient(circle at 78% 38%, rgba(59,130,246,.20), transparent 260px),
    radial-gradient(circle at 74% 78%, rgba(14,165,233,.10), transparent 240px),
    linear-gradient(120deg,#f8f6f1 0%,#eef2f7 46%,#f7f3eb 100%) !important;
}
body.premium-store .product-promo-slide .carousel-overlay{
  background:
    linear-gradient(90deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.48) 42%, rgba(255,255,255,.16) 100%) !important;
}
body.premium-store .product-promo-slide .carousel-content{
  width:min(500px,41%)!important;
  max-width:500px!important;
  padding:22px 24px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.82))!important;
  border:1px solid rgba(255,255,255,.96)!important;
  box-shadow:0 24px 60px rgba(30,41,59,.10)!important;
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
}
body.premium-store .product-promo-slide .carousel-titulo{
  font-size:clamp(1.6rem,2.55vw,2.8rem)!important;
  line-height:1.01!important;
  letter-spacing:-.07em!important;
  color:var(--store-ink)!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.premium-store .product-promo-slide .carousel-desc{display:none!important;}
body.premium-store .product-promo-slide .carousel-product-ref{
  margin:10px 0 14px!important;
  color:#64748b!important;
}
body.premium-store .product-promo-slide .carousel-cta{
  margin-top:6px!important;
  box-shadow:0 16px 32px rgba(37,99,235,.16)!important;
}
.promo-product-stage{
  top:18px!important;
  right:clamp(22px,4.2vw,54px)!important;
  bottom:18px!important;
  left:auto!important;
  width:min(48%,560px)!important;
  height:auto!important;
  display:grid!important;
  place-items:center!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  isolation:isolate;
}
.promo-product-stage::before{
  content:"";
  position:absolute;
  inset:auto 8% 9% 8%;
  height:56%;
  border-radius:999px;
  background:radial-gradient(circle,rgba(59,130,246,.22),rgba(14,165,233,.10),transparent 70%)!important;
  filter:blur(6px);
  z-index:0;
}
.promo-product-stage::after{
  content:"";
  position:absolute;
  left:16%;
  right:16%;
  bottom:5%;
  height:18px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(15,23,42,.22),rgba(15,23,42,.08),transparent 72%);
  filter:blur(10px);
  z-index:0;
}
.promo-product-frame{
  position:relative!important;
  z-index:1!important;
  width:min(420px,96%)!important;
  height:min(292px,94%)!important;
  max-height:calc(100% - 2px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px 14px 22px!important;
  overflow:visible!important;
  transform:none!important;
  border-radius:36px!important;
  border:1px solid rgba(255,255,255,.84)!important;
  box-shadow:
    0 28px 50px rgba(30,41,59,.12),
    inset 0 1px 0 rgba(255,255,255,.65)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(248,250,252,.58)),
    radial-gradient(circle at 50% 14%,rgba(255,255,255,.98),transparent 62%)!important;
  backdrop-filter:blur(12px) saturate(145%);
  -webkit-backdrop-filter:blur(12px) saturate(145%);
}
.promo-product-frame img{
  display:block!important;
  width:auto!important;
  height:114%!important;
  max-width:118%!important;
  max-height:118%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:translateY(-3px) scale(1.12)!important;
  padding:0!important;
  border-radius:0!important;
  filter:drop-shadow(0 18px 26px rgba(255,255,255,.38)) drop-shadow(0 34px 28px rgba(30,41,59,.24)) !important;
}
@media (max-width:980px){
  body.premium-store .product-promo-slide .carousel-content{width:min(470px,56%)!important;}
  .promo-product-stage{right:16px!important;width:41%!important;}
  .promo-product-frame{width:min(320px,96%)!important;height:min(228px,86%)!important;padding:14px 12px 18px!important;border-radius:28px!important;}
  .promo-product-frame img{height:112%!important;max-width:116%!important;max-height:116%!important;transform:translateY(-2px) scale(1.08)!important;}
}
@media (max-width:720px){
  body.premium-store .product-promo-slide .carousel-content{width:auto!important;max-width:none!important;left:14px!important;right:14px!important;bottom:14px!important;}
  body.premium-store .product-promo-slide .carousel-titulo{-webkit-line-clamp:2;font-size:clamp(1.15rem,6vw,1.65rem)!important;}
  .promo-product-stage{display:none!important;}
  .product-card-image-button img{padding:14px!important;}
  .product-card-zoom-badge{opacity:1;transform:none;font-size:.62rem;padding:6px 8px;}
}

/* V70 — frontend produtos/carrinho/imagens remotas */
body.premium-store .catalog-list.prices-visible .catalog-list-head,
body.premium-store .catalog-list.prices-visible .catalog-list-row{grid-template-columns:minmax(0,1fr) 145px 168px!important;}
body.premium-store .catalog-list.prices-hidden .catalog-list-head,
body.premium-store .catalog-list.prices-hidden .catalog-list-row{grid-template-columns:minmax(0,1fr) 168px!important;}
body.premium-store .catalog-list-head div:last-child{text-align:center;}
body.premium-store .catalog-list-stock{display:none!important;}
body.premium-store .catalog-list-img{width:78px!important;height:78px!important;flex:0 0 78px!important;background:transparent!important;border:0!important;border-radius:14px!important;box-shadow:none!important;}
body.premium-store .catalog-list-img img{width:100%!important;height:100%!important;object-fit:contain!important;padding:0!important;mix-blend-mode:multiply;filter:contrast(1.03) saturate(1.02);}
body.premium-store .product-img-wrap{background:#fff!important;}
body.premium-store .product-img-wrap img{object-fit:contain!important;mix-blend-mode:multiply;filter:contrast(1.03) saturate(1.02);}
body.premium-store .price-login-required{color:#64748b!important;background:#f8fafc;border:1px dashed var(--store-line);border-radius:14px;padding:10px 12px;display:inline-flex;margin-top:14px;}
body.premium-store .cart-items{padding:8px 18px!important;}
body.premium-store .cart-item.cart-item-v70{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:12px!important;margin:0!important;padding:14px 0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;border-bottom:1px solid var(--store-line-2)!important;}
body.premium-store .cart-item.cart-item-v70:last-child{border-bottom:0!important;}
body.premium-store .cart-item-thumb{width:58px;height:58px;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden;}
body.premium-store .cart-item-thumb-img{width:100%;height:100%;object-fit:contain;padding:3px;mix-blend-mode:multiply;}
body.premium-store .cart-item-thumb-empty{color:#94a3b8;font-size:1.25rem;}
body.premium-store .cart-item-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
body.premium-store .cart-item-controls-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;}
body.premium-store .cart-item-line-total.price-hidden{color:#94a3b8!important;font-style:italic;font-weight:800;}
body.premium-store .cart-item-obs-input{margin-top:10px!important;height:38px!important;}
body.premium-store .btn-remove-item{flex:0 0 auto;width:36px!important;height:36px!important;}
@media(max-width:980px){
  body.premium-store .catalog-list.prices-visible .catalog-list-row,
  body.premium-store .catalog-list.prices-hidden .catalog-list-row{grid-template-columns:1fr!important;}
  body.premium-store .catalog-list-price::before{content:'Preço';color:var(--text-muted);font-weight:700;}
  body.premium-store .catalog-list.prices-hidden .catalog-list-price{display:none!important;}
  body.premium-store .catalog-list-actions-inline{justify-content:flex-start!important;}
}

/* V71 — imagens completas na lista rápida e cartões */
body.premium-store .catalog-list-img{
  width:92px!important;
  height:92px!important;
  flex:0 0 92px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
  padding:3px!important;
}
body.premium-store .catalog-list-img img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  display:block!important;
  mix-blend-mode:multiply;
  filter:contrast(1.03) saturate(1.02);
}
body.premium-store .catalog-list-product{
  align-items:center!important;
  min-height:104px;
}
body.premium-store .catalog-list-row{
  min-height:112px;
}
body.premium-store .list-img-placeholder{
  width:92px!important;
  height:92px!important;
  border-radius:14px;
  background:#f8fafc;
}

/* Cartões: preservar imagem completa, sem cortar produto */
body.premium-store .product-img-wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:#fff!important;
}
body.premium-store .product-img-wrap img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:18px!important;
}

/* Carrinho: miniatura também sempre completa */
body.premium-store .cart-item-thumb{
  overflow:visible!important;
  background:transparent!important;
}
body.premium-store .cart-item-thumb-img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}

@media(max-width:720px){
  body.premium-store .catalog-list-img{
    width:82px!important;
    height:82px!important;
    flex-basis:82px!important;
  }
  body.premium-store .catalog-list-product{
    min-height:94px;
  }
}

/* V74 — filtros, quantidade editável, cartões e carrinho compacto */
body.premium-store .filters-inner{
  grid-template-columns:minmax(280px,1.15fr) repeat(3,minmax(190px,.72fr)) minmax(170px,.62fr) auto auto auto!important;
  align-items:end!important;
}
body.premium-store .filter-group-v74 .filter-select{min-width:0!important;width:100%!important}
body.premium-store .catalog-list-actions-inline{
  justify-content:center!important;
  align-items:center!important;
}
body.premium-store .list-qty-input{
  text-align:center!important;
  font-size:1rem!important;
  -moz-appearance:textfield;
}
body.premium-store .list-qty-input::-webkit-outer-spin-button,
body.premium-store .list-qty-input::-webkit-inner-spin-button{opacity:1}
body.premium-store .catalog-list.prices-visible .catalog-list-head,
body.premium-store .catalog-list.prices-visible .catalog-list-row{
  grid-template-columns:minmax(0,1fr) 145px 172px!important;
}
body.premium-store .catalog-list.prices-hidden .catalog-list-head,
body.premium-store .catalog-list.prices-hidden .catalog-list-row{
  grid-template-columns:minmax(0,1fr) 172px!important;
}
body.premium-store .product-img-wrap{
  height:250px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
}
body.premium-store .product-card-image-button{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  cursor:zoom-in;
}
body.premium-store .product-card-image-button img,
body.premium-store .product-img-wrap>img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:16px!important;
  transform:none!important;
}
body.premium-store .product-card:hover .product-img-wrap img{transform:none!important}
body.premium-store .cart-panel{
  max-width:min(430px,100vw)!important;
}
body.premium-store .cart-header{
  padding:14px 16px!important;
}
body.premium-store .cart-header h2{font-size:1.12rem!important}
body.premium-store .cart-items{
  padding:6px 16px!important;
}
body.premium-store .cart-item.cart-item-v70{
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:10px!important;
  padding:10px 0!important;
}
body.premium-store .cart-item-thumb{
  width:48px!important;
  height:48px!important;
}
body.premium-store .cart-item-name{
  font-size:.9rem!important;
  line-height:1.25!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.premium-store .cart-item-ref{font-size:.74rem!important}
body.premium-store .cart-item-controls-row{margin-top:6px!important}
body.premium-store .cart-item-qty .qty-btn{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
}
body.premium-store .qty-num{
  min-width:34px!important;
  text-align:center!important;
}
body.premium-store .cart-footer{
  padding:12px 16px calc(14px + var(--store-safe-bottom))!important;
}
body.premium-store #cartNotas{
  min-height:42px!important;
  height:42px!important;
  rows:1;
}
body.premium-store .cart-extra-fields{display:none!important}
@media(max-width:1500px){
  body.premium-store .filters-inner{grid-template-columns:minmax(260px,1fr) repeat(2,minmax(180px,1fr)) auto auto!important}
}
@media(max-width:980px){
  body.premium-store .filters-inner{grid-template-columns:1fr!important}
  body.premium-store .catalog-list.prices-visible .catalog-list-row,
  body.premium-store .catalog-list.prices-hidden .catalog-list-row{grid-template-columns:1fr!important}
  body.premium-store .product-img-wrap{height:230px!important}
}

/* V75 — labels configuráveis e pesquisa sem perda de foco */
body.premium-store .filters-inner .search-box input:focus{
  box-shadow:none!important;
}
body.premium-store .filters-inner .search-box:focus-within{
  border-color:#0f6b7b!important;
  box-shadow:0 0 0 4px rgba(15,107,123,.10), 0 18px 50px rgba(30,41,59,.08)!important;
}
body.premium-store .filter-label{
  min-height:16px;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.premium-store.store-loading #searchInput{
  pointer-events:auto!important;
}

/* V76 — filtros em layout profissional e pesquisa operacional */
body.premium-store .store-trustbar{
  margin-bottom:0!important;
}
body.premium-store .store-trustbar-inner{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(220px,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
body.premium-store .trust-item{
  min-width:0!important;
  height:92px!important;
  padding:16px 20px!important;
}
body.premium-store .trust-item strong{
  white-space:normal!important;
  line-height:1.15!important;
}
body.premium-store .trust-item small{
  white-space:normal!important;
  line-height:1.25!important;
}

body.premium-store .filters-bar{
  padding:18px 0 16px!important;
  border-top:1px solid rgba(15,23,42,.05)!important;
}
body.premium-store .filters-inner{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  align-items:stretch!important;
}
body.premium-store .filters-inner .search-box{
  width:100%!important;
  max-width:720px!important;
  min-height:58px!important;
}
body.premium-store .filters-inner .search-box input{
  font-size:1rem!important;
}
body.premium-store .filter-group-v74,
body.premium-store .filter-group{
  min-width:0!important;
}
body.premium-store .filters-inner{
  grid-template-areas:
    "search"
    "dropdowns"
    "actions"!important;
}
body.premium-store .filters-inner .search-box{
  grid-area:search!important;
}
body.premium-store .filters-inner > .filter-group{
  grid-area:auto!important;
}
body.premium-store .filters-inner > .filter-group-v74{
  align-self:stretch!important;
}
body.premium-store .filter-label{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:18px!important;
  margin-bottom:7px!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  line-height:1.2!important;
  color:#67738a!important;
  letter-spacing:.12em!important;
  font-size:.72rem!important;
}
body.premium-store .filter-select{
  min-width:0!important;
  width:100%!important;
  height:58px!important;
}
body.premium-store #filtersForm{
  position:relative;
}
body.premium-store #filtersForm::before{
  content:'';
  display:none;
}
body.premium-store .filter-group-v74:nth-of-type(1),
body.premium-store .filter-group-v74:nth-of-type(2),
body.premium-store .filter-group-v74:nth-of-type(3){
  width:100%!important;
}
body.premium-store .filter-group-v74{
  display:block!important;
}
body.premium-store .filter-group-v74 + .filter-group-v74{
  margin-left:0!important;
}

/* Reorganiza visualmente os controlos sem mexer no PHP */
body.premium-store .filters-inner{
  grid-template-columns:1fr 1fr 1fr 210px!important;
}
body.premium-store .filters-inner .search-box{
  grid-column:1 / span 2!important;
  grid-row:1!important;
}
body.premium-store .filters-inner .btn.btn-primary{
  grid-column:3!important;
  grid-row:1!important;
  align-self:end!important;
  height:58px!important;
  width:100%!important;
}
body.premium-store .filters-inner .promo-filter-chip{
  grid-column:4!important;
  grid-row:1!important;
  align-self:end!important;
  height:58px!important;
  display:inline-flex!important;
  justify-content:center!important;
}
body.premium-store .filters-inner .filter-group-v74{
  grid-row:2!important;
}
body.premium-store .filters-inner .filter-group-v74:nth-of-type(1){grid-column:1!important;}
body.premium-store .filters-inner .filter-group-v74:nth-of-type(2){grid-column:2!important;}
body.premium-store .filters-inner .filter-group-v74:nth-of-type(3){grid-column:3!important;}
body.premium-store .filters-inner .filter-group:not(.filter-group-v74){
  grid-column:4!important;
  grid-row:2!important;
}
body.premium-store .filters-inner .btn-clear-all{
  grid-column:4!important;
  grid-row:3!important;
  justify-self:start!important;
}
body.premium-store .filters-inner .view-switch{
  grid-column:1 / span 2!important;
  grid-row:3!important;
  justify-self:start!important;
}
body.premium-store .filters-inner .filter-active-info{
  grid-column:3 / span 2!important;
  grid-row:3!important;
  justify-self:end!important;
  align-self:center!important;
}
body.premium-store .filters-inner input[type="hidden"]{
  display:none!important;
}

@media(max-width:1250px){
  body.premium-store .store-trustbar-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.premium-store .filters-inner{grid-template-columns:1fr 1fr!important}
  body.premium-store .filters-inner .search-box{grid-column:1/-1!important;grid-row:auto!important;max-width:none!important}
  body.premium-store .filters-inner .btn.btn-primary,
  body.premium-store .filters-inner .promo-filter-chip,
  body.premium-store .filters-inner .filter-group-v74,
  body.premium-store .filters-inner .filter-group:not(.filter-group-v74),
  body.premium-store .filters-inner .view-switch,
  body.premium-store .filters-inner .filter-active-info,
  body.premium-store .filters-inner .btn-clear-all{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:stretch!important;
  }
}
@media(max-width:760px){
  body.premium-store .store-trustbar-inner{grid-template-columns:1fr!important}
  body.premium-store .trust-item{height:auto!important}
  body.premium-store .filters-inner{grid-template-columns:1fr!important}
}

/* V77 — ordem correta: Família, Subfamília, Marca + autocomplete */
body.premium-store .filters-inner{
  display:grid!important;
  grid-template-columns:minmax(360px,1.35fr) minmax(170px,.55fr) minmax(170px,.55fr) minmax(180px,.55fr)!important;
  gap:14px!important;
  align-items:end!important;
}
body.premium-store .filters-inner .search-box{
  grid-column:1 / span 2!important;
  grid-row:1!important;
  max-width:none!important;
  width:100%!important;
}
body.premium-store .filters-inner .btn.btn-primary{
  grid-column:3!important;
  grid-row:1!important;
  width:100%!important;
  height:58px!important;
}
body.premium-store .filters-inner .promo-filter-chip{
  grid-column:4!important;
  grid-row:1!important;
  height:58px!important;
  width:100%!important;
  justify-content:center!important;
}
body.premium-store .filters-inner .filter-key-categoria{
  grid-column:1!important;
  grid-row:2!important;
}
body.premium-store .filters-inner .filter-key-subfamilia{
  grid-column:2!important;
  grid-row:2!important;
}
body.premium-store .filters-inner .filter-key-marca{
  grid-column:3!important;
  grid-row:2!important;
}
body.premium-store .filters-inner .filter-sort-v77{
  grid-column:4!important;
  grid-row:2!important;
}
body.premium-store .filters-inner .view-switch{
  grid-column:1 / span 2!important;
  grid-row:3!important;
  justify-self:start!important;
}
body.premium-store .filters-inner .btn-clear-all{
  grid-column:3!important;
  grid-row:3!important;
  justify-self:start!important;
}
body.premium-store .filters-inner .filter-active-info{
  grid-column:4!important;
  grid-row:3!important;
  justify-self:end!important;
}
body.premium-store .filter-label{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-width:none!important;
  min-height:18px!important;
  margin-bottom:8px!important;
  line-height:1.2!important;
}
body.premium-store .filter-select{
  width:100%!important;
  min-width:0!important;
}
body.premium-store #searchInput::-webkit-calendar-picker-indicator{
  display:none!important;
}
body.premium-store .search-box datalist{
  display:none!important;
}
@media(max-width:1280px){
  body.premium-store .filters-inner{
    grid-template-columns:1fr 1fr!important;
  }
  body.premium-store .filters-inner .search-box,
  body.premium-store .filters-inner .btn.btn-primary,
  body.premium-store .filters-inner .promo-filter-chip,
  body.premium-store .filters-inner .filter-key-categoria,
  body.premium-store .filters-inner .filter-key-subfamilia,
  body.premium-store .filters-inner .filter-key-marca,
  body.premium-store .filters-inner .filter-sort-v77,
  body.premium-store .filters-inner .view-switch,
  body.premium-store .filters-inner .btn-clear-all,
  body.premium-store .filters-inner .filter-active-info{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:stretch!important;
  }
  body.premium-store .filters-inner .search-box{grid-column:1/-1!important;}
}
@media(max-width:760px){
  body.premium-store .filters-inner{grid-template-columns:1fr!important;}
}

/* V78 — filtros em cascata, layout estável e atualização silenciosa */
body.premium-store.store-loading #catalogContent{
  opacity:1!important;
  pointer-events:auto!important;
  filter:none!important;
}
body.premium-store .is-soft-loading{
  opacity:.92!important;
  pointer-events:auto!important;
  filter:none!important;
}
body.premium-store .filters-bar{
  padding:20px 0 18px!important;
}
body.premium-store .filters-inner{
  display:grid!important;
  grid-template-columns:minmax(360px,1.5fr) minmax(180px,.55fr) minmax(180px,.55fr) minmax(180px,.55fr)!important;
  grid-auto-flow:row!important;
  gap:16px!important;
  align-items:end!important;
}
body.premium-store .filters-inner .search-box{
  grid-column:1 / 3!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  min-height:60px!important;
}
body.premium-store .filters-inner .btn.btn-primary{
  grid-column:3!important;
  grid-row:1!important;
  height:60px!important;
  width:100%!important;
}
body.premium-store .filters-inner .promo-filter-chip{
  grid-column:4!important;
  grid-row:1!important;
  height:60px!important;
  width:100%!important;
  justify-content:center!important;
}
body.premium-store .filters-inner .filter-key-categoria{
  grid-column:1!important;
  grid-row:2!important;
}
body.premium-store .filters-inner .filter-key-subfamilia{
  grid-column:2!important;
  grid-row:2!important;
}
body.premium-store .filters-inner .filter-key-marca{
  grid-column:3!important;
  grid-row:2!important;
  display:block!important;
  visibility:visible!important;
}
body.premium-store .filters-inner .filter-sort-v77{
  grid-column:4!important;
  grid-row:2!important;
}
body.premium-store .filters-inner .view-switch{
  grid-column:1 / 3!important;
  grid-row:3!important;
  justify-self:start!important;
}
body.premium-store .filters-inner .btn-clear-all{
  grid-column:3!important;
  grid-row:3!important;
  justify-self:start!important;
}
body.premium-store .filters-inner .filter-active-info{
  grid-column:4!important;
  grid-row:3!important;
  justify-self:end!important;
}
body.premium-store .filter-label{
  width:100%!important;
  max-width:none!important;
  min-height:20px!important;
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.22!important;
  margin:0 0 8px 0!important;
  letter-spacing:.12em!important;
}
body.premium-store .filter-select{
  width:100%!important;
  min-width:0!important;
  height:60px!important;
}
body.premium-store .filter-select:disabled{
  opacity:.58!important;
  cursor:not-allowed!important;
  background:#f8fafc!important;
}
body.premium-store .store-background-refresh .filters-bar,
body.premium-store .store-background-refresh .filters-inner{
  pointer-events:auto!important;
}
@media(max-width:1280px){
  body.premium-store .filters-inner{
    grid-template-columns:1fr 1fr!important;
  }
  body.premium-store .filters-inner .search-box,
  body.premium-store .filters-inner .btn.btn-primary,
  body.premium-store .filters-inner .promo-filter-chip,
  body.premium-store .filters-inner .filter-key-categoria,
  body.premium-store .filters-inner .filter-key-subfamilia,
  body.premium-store .filters-inner .filter-key-marca,
  body.premium-store .filters-inner .filter-sort-v77,
  body.premium-store .filters-inner .view-switch,
  body.premium-store .filters-inner .btn-clear-all,
  body.premium-store .filters-inner .filter-active-info{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:stretch!important;
  }
  body.premium-store .filters-inner .search-box{grid-column:1/-1!important;}
}
@media(max-width:760px){
  body.premium-store .filters-inner{
    grid-template-columns:1fr!important;
  }
}

/* V79 — clean layout, sem cards informativos, dropdowns id/desc e cascata rápida */
body.premium-store .store-trustbar{
  display:none!important;
}
body.premium-store .filters-bar{
  position:sticky!important;
  top:76px!important;
  z-index:100!important;
  padding:18px 22px 16px!important;
  background:rgba(242,240,237,.94)!important;
  backdrop-filter:blur(18px)!important;
}
body.premium-store .filters-inner{
  max-width:var(--store-max)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1.35fr .38fr .38fr .38fr!important;
  gap:14px 16px!important;
  align-items:end!important;
}
body.premium-store .filters-inner .search-box{
  grid-column:1 / 3!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  height:60px!important;
  min-height:60px!important;
}
body.premium-store .filters-inner .btn.btn-primary{
  grid-column:3!important;
  grid-row:1!important;
  width:100%!important;
  height:60px!important;
}
body.premium-store .filters-inner .promo-filter-chip{
  grid-column:4!important;
  grid-row:1!important;
  width:100%!important;
  height:60px!important;
  justify-content:center!important;
}
body.premium-store .filters-inner .filter-key-categoria{
  grid-column:1!important;
  grid-row:2!important;
  display:block!important;
  visibility:visible!important;
}
body.premium-store .filters-inner .filter-key-subfamilia{
  grid-column:2!important;
  grid-row:2!important;
  display:block!important;
  visibility:visible!important;
}
body.premium-store .filters-inner .filter-key-marca{
  grid-column:3!important;
  grid-row:2!important;
  display:block!important;
  visibility:visible!important;
}
body.premium-store .filters-inner .filter-sort-v77{
  grid-column:4!important;
  grid-row:2!important;
  display:block!important;
}
body.premium-store .filter-group-v74,
body.premium-store .filter-sort-v77{
  min-width:0!important;
  width:100%!important;
}
body.premium-store .filter-label{
  display:block!important;
  width:100%!important;
  min-height:20px!important;
  margin:0 0 8px!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.25!important;
  letter-spacing:.12em!important;
  font-size:.72rem!important;
  color:#69758a!important;
}
body.premium-store .filter-select{
  width:100%!important;
  min-width:0!important;
  height:60px!important;
}
body.premium-store .filter-select:disabled{
  opacity:.70!important;
  color:#94a3b8!important;
  cursor:not-allowed!important;
}
body.premium-store .filters-inner .view-switch{
  grid-column:1 / 3!important;
  grid-row:3!important;
  justify-self:start!important;
}
body.premium-store .filters-inner .btn-clear-all{
  grid-column:3!important;
  grid-row:3!important;
  justify-self:start!important;
}
body.premium-store .filters-inner .filter-active-info{
  grid-column:4!important;
  grid-row:3!important;
  justify-self:end!important;
  align-self:center!important;
}
body.premium-store.store-loading #catalogContent,
body.premium-store .is-soft-loading{
  opacity:1!important;
  pointer-events:auto!important;
  filter:none!important;
}
@media(max-width:1280px){
  body.premium-store .filters-inner{
    grid-template-columns:1fr 1fr!important;
  }
  body.premium-store .filters-inner .search-box{grid-column:1/-1!important;grid-row:auto!important;}
  body.premium-store .filters-inner .btn.btn-primary,
  body.premium-store .filters-inner .promo-filter-chip,
  body.premium-store .filters-inner .filter-key-categoria,
  body.premium-store .filters-inner .filter-key-subfamilia,
  body.premium-store .filters-inner .filter-key-marca,
  body.premium-store .filters-inner .filter-sort-v77,
  body.premium-store .filters-inner .view-switch,
  body.premium-store .filters-inner .btn-clear-all,
  body.premium-store .filters-inner .filter-active-info{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:stretch!important;
  }
}
@media(max-width:760px){
  body.premium-store .filters-inner{grid-template-columns:1fr!important;}
}

/* V80 — correção definitiva da dropdown Marca */
body.premium-store .filter-slot-v80{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
  width:100%!important;
}
body.premium-store .filters-inner .filter-slot-categoria,
body.premium-store .filters-inner .filter-key-categoria{
  grid-column:1!important;
  grid-row:2!important;
  order:10!important;
}
body.premium-store .filters-inner .filter-slot-subfamilia,
body.premium-store .filters-inner .filter-key-subfamilia{
  grid-column:2!important;
  grid-row:2!important;
  order:20!important;
}
body.premium-store .filters-inner .filter-slot-marca,
body.premium-store .filters-inner .filter-key-marca{
  grid-column:3!important;
  grid-row:2!important;
  order:30!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.premium-store .filters-inner .filter-sort-v77{
  grid-column:4!important;
  grid-row:2!important;
  order:40!important;
}
body.premium-store .filter-slot-marca .filter-select{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.premium-store .filter-select[data-empty="1"]{
  background:#fff!important;
  color:#94a3b8!important;
  border-style:dashed!important;
}
@media(max-width:1280px){
  body.premium-store .filters-inner .filter-slot-categoria,
  body.premium-store .filters-inner .filter-key-categoria,
  body.premium-store .filters-inner .filter-slot-subfamilia,
  body.premium-store .filters-inner .filter-key-subfamilia,
  body.premium-store .filters-inner .filter-slot-marca,
  body.premium-store .filters-inner .filter-key-marca,
  body.premium-store .filters-inner .filter-sort-v77{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* V81 — filtros explícitos: Família, Subfamília e Marca sempre visíveis */
body.premium-store .filters-inner{
  display:grid!important;
  grid-template-columns:minmax(420px,1.45fr) minmax(190px,.45fr) minmax(190px,.45fr) minmax(190px,.45fr)!important;
  gap:14px 16px!important;
  align-items:end!important;
}
body.premium-store .filters-inner .search-box{
  grid-column:1 / 3!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  min-height:60px!important;
}
body.premium-store .filters-inner .btn.btn-primary{
  grid-column:3!important;
  grid-row:1!important;
  width:100%!important;
  height:60px!important;
}
body.premium-store .filters-inner .promo-filter-chip{
  grid-column:4!important;
  grid-row:1!important;
  width:100%!important;
  height:60px!important;
  justify-content:center!important;
}
body.premium-store .filters-inner .filter-familia-v81{
  grid-column:1!important;
  grid-row:2!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.premium-store .filters-inner .filter-subfamilia-v81{
  grid-column:2!important;
  grid-row:2!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.premium-store .filters-inner .filter-marca-v81{
  grid-column:3!important;
  grid-row:2!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.premium-store .filters-inner .filter-sort-v77{
  grid-column:4!important;
  grid-row:2!important;
  display:block!important;
}
body.premium-store .filter-slot-v81{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
body.premium-store .filter-slot-v81 .filter-select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:60px!important;
}
body.premium-store .filter-marca-v81,
body.premium-store .filter-marca-v81 .filter-select{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.premium-store .filters-inner .view-switch{
  grid-column:1 / 3!important;
  grid-row:3!important;
  justify-self:start!important;
}
body.premium-store .filters-inner .btn-clear-all{
  grid-column:3!important;
  grid-row:3!important;
  justify-self:start!important;
}
body.premium-store .filters-inner .filter-active-info{
  grid-column:4!important;
  grid-row:3!important;
  justify-self:end!important;
}
@media(max-width:1280px){
  body.premium-store .filters-inner{
    grid-template-columns:1fr 1fr!important;
  }
  body.premium-store .filters-inner .search-box,
  body.premium-store .filters-inner .btn.btn-primary,
  body.premium-store .filters-inner .promo-filter-chip,
  body.premium-store .filters-inner .filter-familia-v81,
  body.premium-store .filters-inner .filter-subfamilia-v81,
  body.premium-store .filters-inner .filter-marca-v81,
  body.premium-store .filters-inner .filter-sort-v77,
  body.premium-store .filters-inner .view-switch,
  body.premium-store .filters-inner .btn-clear-all,
  body.premium-store .filters-inner .filter-active-info{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:stretch!important;
  }
  body.premium-store .filters-inner .search-box{grid-column:1/-1!important;}
}
@media(max-width:760px){
  body.premium-store .filters-inner{grid-template-columns:1fr!important;}
}

/* V82 — layout horizontal definitivo dos filtros */
body.premium-store .filters-bar{
  padding:22px 24px 18px!important;
}
body.premium-store .filters-inner{
  max-width:var(--store-max)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(420px,1.45fr) minmax(230px,.55fr) minmax(230px,.55fr) minmax(210px,.50fr)!important;
  grid-template-rows:auto auto auto!important;
  gap:18px 22px!important;
  align-items:end!important;
  grid-auto-flow:row!important;
}

/* Primeira linha: pesquisa + ações */
body.premium-store .filters-inner > .search-box{
  grid-column:1 / 3!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.premium-store .filters-inner > .btn.btn-primary{
  grid-column:3 / 4!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  height:60px!important;
}
body.premium-store .filters-inner > .promo-filter-chip{
  grid-column:4 / 5!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  height:60px!important;
  justify-content:center!important;
}

/* Segunda linha: Família | Subfamília | Marca | Ordenar */
body.premium-store .filters-inner > .filter-order-1-v82,
body.premium-store .filters-inner > .filter-familia-v81,
body.premium-store .filters-inner > .filter-key-categoria{
  grid-column:1 / 2!important;
  grid-row:2!important;
  order:10!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  transform:none!important;
}
body.premium-store .filters-inner > .filter-order-2-v82,
body.premium-store .filters-inner > .filter-subfamilia-v81,
body.premium-store .filters-inner > .filter-key-subfamilia{
  grid-column:2 / 3!important;
  grid-row:2!important;
  order:20!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  transform:none!important;
}
body.premium-store .filters-inner > .filter-order-3-v82,
body.premium-store .filters-inner > .filter-marca-v81,
body.premium-store .filters-inner > .filter-key-marca{
  grid-column:3 / 4!important;
  grid-row:2!important;
  order:30!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  transform:none!important;
}
body.premium-store .filters-inner > .filter-order-4-v82,
body.premium-store .filters-inner > .filter-sort-v77{
  grid-column:4 / 5!important;
  grid-row:2!important;
  order:40!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  transform:none!important;
}

/* Limpa sobreposições de labels/dropdowns */
body.premium-store .filters-inner > .filter-group,
body.premium-store .filters-inner > .filter-slot-v81,
body.premium-store .filters-inner > .filter-slot-v80,
body.premium-store .filters-inner > .filter-group-v74{
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  align-self:end!important;
}
body.premium-store .filters-inner .filter-label{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:18px!important;
  margin:0 0 9px 0!important;
  padding:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.25!important;
  letter-spacing:.13em!important;
  font-size:.72rem!important;
  color:#69758a!important;
  position:static!important;
  transform:none!important;
}
body.premium-store .filters-inner .filter-select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:60px!important;
  margin:0!important;
  position:relative!important;
  transform:none!important;
}

/* Terceira linha: visualização, limpar e contador */
body.premium-store .filters-inner > .view-switch{
  grid-column:1 / 3!important;
  grid-row:3!important;
  justify-self:start!important;
  align-self:center!important;
}
body.premium-store .filters-inner > .btn-clear-all{
  grid-column:3 / 4!important;
  grid-row:3!important;
  justify-self:start!important;
  align-self:center!important;
}
body.premium-store .filters-inner > .filter-active-info{
  grid-column:4 / 5!important;
  grid-row:3!important;
  justify-self:end!important;
  align-self:center!important;
}

/* Garante que a marca não fica por baixo de subfamília */
body.premium-store .filter-marca-v81,
body.premium-store .filter-order-3-v82,
body.premium-store .filter-key-marca,
body.premium-store .filter-marca-v81 .filter-select{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:2!important;
}

/* Responsivo */
@media(max-width:1280px){
  body.premium-store .filters-inner{
    grid-template-columns:1fr 1fr!important;
    gap:16px!important;
  }
  body.premium-store .filters-inner > .search-box{
    grid-column:1 / -1!important;
    grid-row:auto!important;
  }
  body.premium-store .filters-inner > .btn.btn-primary,
  body.premium-store .filters-inner > .promo-filter-chip,
  body.premium-store .filters-inner > .filter-order-1-v82,
  body.premium-store .filters-inner > .filter-order-2-v82,
  body.premium-store .filters-inner > .filter-order-3-v82,
  body.premium-store .filters-inner > .filter-order-4-v82,
  body.premium-store .filters-inner > .filter-familia-v81,
  body.premium-store .filters-inner > .filter-subfamilia-v81,
  body.premium-store .filters-inner > .filter-marca-v81,
  body.premium-store .filters-inner > .filter-sort-v77,
  body.premium-store .filters-inner > .view-switch,
  body.premium-store .filters-inner > .btn-clear-all,
  body.premium-store .filters-inner > .filter-active-info{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:stretch!important;
  }
}
@media(max-width:760px){
  body.premium-store .filters-inner{
    grid-template-columns:1fr!important;
  }
}

/* V83 — correção final CSS dropdowns Família/Subfamília/Marca sem sobreposição
   Objetivo: manter os três selects sempre visíveis, alinhados e com espaço. */
body.premium-store .filters-bar{
  padding:22px 26px 18px!important;
  overflow:visible!important;
}

body.premium-store #filtersForm.filters-inner,
body.premium-store .filters-inner{
  max-width:var(--store-max)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(420px,1.45fr) minmax(220px,.55fr) minmax(220px,.55fr) minmax(220px,.55fr)!important;
  grid-template-rows:auto auto auto!important;
  column-gap:24px!important;
  row-gap:20px!important;
  align-items:end!important;
  justify-items:stretch!important;
  grid-auto-flow:row!important;
  overflow:visible!important;
}

/* Linha 1 */
body.premium-store #filtersForm > .search-box,
body.premium-store .filters-inner > .search-box{
  grid-column:1 / span 2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}

body.premium-store #filtersForm > button.btn.btn-primary,
body.premium-store .filters-inner > button.btn.btn-primary{
  grid-column:3!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  height:60px!important;
  margin:0!important;
  align-self:end!important;
}

body.premium-store #filtersForm > .promo-filter-chip,
body.premium-store .filters-inner > .promo-filter-chip{
  grid-column:4!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  height:60px!important;
  margin:0!important;
  justify-content:center!important;
  align-self:end!important;
}

/* Linha 2 — dropdowns: Família | Subfamília | Marca | Ordenar */
body.premium-store #filtersForm > .filter-final-familia-v83,
body.premium-store #filtersForm > .filter-order-1-v82,
body.premium-store #filtersForm > .filter-familia-v81,
body.premium-store #filtersForm > .filter-key-categoria,
body.premium-store .filters-inner > .filter-final-familia-v83,
body.premium-store .filters-inner > .filter-order-1-v82,
body.premium-store .filters-inner > .filter-familia-v81,
body.premium-store .filters-inner > .filter-key-categoria{
  grid-column:1!important;
  grid-row:2!important;
  order:10!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:4!important;
}

body.premium-store #filtersForm > .filter-final-subfamilia-v83,
body.premium-store #filtersForm > .filter-order-2-v82,
body.premium-store #filtersForm > .filter-subfamilia-v81,
body.premium-store #filtersForm > .filter-key-subfamilia,
body.premium-store .filters-inner > .filter-final-subfamilia-v83,
body.premium-store .filters-inner > .filter-order-2-v82,
body.premium-store .filters-inner > .filter-subfamilia-v81,
body.premium-store .filters-inner > .filter-key-subfamilia{
  grid-column:2!important;
  grid-row:2!important;
  order:20!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:4!important;
}

body.premium-store #filtersForm > .filter-final-marca-v83,
body.premium-store #filtersForm > .filter-order-3-v82,
body.premium-store #filtersForm > .filter-marca-v81,
body.premium-store #filtersForm > .filter-key-marca,
body.premium-store .filters-inner > .filter-final-marca-v83,
body.premium-store .filters-inner > .filter-order-3-v82,
body.premium-store .filters-inner > .filter-marca-v81,
body.premium-store .filters-inner > .filter-key-marca{
  grid-column:3!important;
  grid-row:2!important;
  order:30!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:5!important;
}

body.premium-store #filtersForm > .filter-order-4-v82,
body.premium-store #filtersForm > .filter-sort-v77,
body.premium-store .filters-inner > .filter-order-4-v82,
body.premium-store .filters-inner > .filter-sort-v77{
  grid-column:4!important;
  grid-row:2!important;
  order:40!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  transform:none!important;
  z-index:4!important;
}

/* Normalizar cada bloco de filtro para não ficar por cima de outro */
body.premium-store #filtersForm > .filter-group,
body.premium-store .filters-inner > .filter-group,
body.premium-store #filtersForm > .filter-slot-v81,
body.premium-store .filters-inner > .filter-slot-v81{
  margin:0!important;
  padding:0!important;
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
  align-self:end!important;
  justify-self:stretch!important;
  float:none!important;
  clear:none!important;
  flex:none!important;
}

/* Labels completas e sem sobreposição */
body.premium-store #filtersForm .filter-label,
body.premium-store .filters-inner .filter-label{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:20px!important;
  height:auto!important;
  margin:0 0 9px!important;
  padding:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.25!important;
  letter-spacing:.13em!important;
  font-size:.72rem!important;
  color:#69758a!important;
  position:static!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  z-index:1!important;
}

/* Selects alinhados e visíveis */
body.premium-store #filtersForm .filter-select,
body.premium-store .filters-inner .filter-select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:60px!important;
  margin:0!important;
  position:relative!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:2!important;
}

/* Linha 3 */
body.premium-store #filtersForm > .view-switch,
body.premium-store .filters-inner > .view-switch{
  grid-column:1 / span 2!important;
  grid-row:3!important;
  justify-self:start!important;
  align-self:center!important;
  margin:0!important;
}
body.premium-store #filtersForm > .btn-clear-all,
body.premium-store .filters-inner > .btn-clear-all{
  grid-column:3!important;
  grid-row:3!important;
  justify-self:start!important;
  align-self:center!important;
  margin:0!important;
}
body.premium-store #filtersForm > .filter-active-info,
body.premium-store .filters-inner > .filter-active-info{
  grid-column:4!important;
  grid-row:3!important;
  justify-self:end!important;
  align-self:center!important;
  margin:0!important;
}

/* Mobile/tablet */
@media(max-width:1280px){
  body.premium-store #filtersForm.filters-inner,
  body.premium-store .filters-inner{
    grid-template-columns:1fr 1fr!important;
    column-gap:18px!important;
    row-gap:16px!important;
  }
  body.premium-store #filtersForm > .search-box,
  body.premium-store .filters-inner > .search-box{
    grid-column:1 / -1!important;
    grid-row:auto!important;
  }
  body.premium-store #filtersForm > button.btn.btn-primary,
  body.premium-store #filtersForm > .promo-filter-chip,
  body.premium-store #filtersForm > .filter-final-familia-v83,
  body.premium-store #filtersForm > .filter-final-subfamilia-v83,
  body.premium-store #filtersForm > .filter-final-marca-v83,
  body.premium-store #filtersForm > .filter-order-4-v82,
  body.premium-store #filtersForm > .filter-sort-v77,
  body.premium-store #filtersForm > .view-switch,
  body.premium-store #filtersForm > .btn-clear-all,
  body.premium-store #filtersForm > .filter-active-info,
  body.premium-store .filters-inner > button.btn.btn-primary,
  body.premium-store .filters-inner > .promo-filter-chip,
  body.premium-store .filters-inner > .filter-final-familia-v83,
  body.premium-store .filters-inner > .filter-final-subfamilia-v83,
  body.premium-store .filters-inner > .filter-final-marca-v83,
  body.premium-store .filters-inner > .filter-order-4-v82,
  body.premium-store .filters-inner > .filter-sort-v77,
  body.premium-store .filters-inner > .view-switch,
  body.premium-store .filters-inner > .btn-clear-all,
  body.premium-store .filters-inner > .filter-active-info{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:stretch!important;
  }
}
@media(max-width:760px){
  body.premium-store #filtersForm.filters-inner,
  body.premium-store .filters-inner{
    grid-template-columns:1fr!important;
  }
}

/* V84 — validação visual de stock */
body.premium-store .product-stock-note,
body.premium-store .list-stock-alert,
body.premium-store .cart-stock-alert{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:6px 10px;
  font-size:.78rem;
  font-weight:800;
  line-height:1.2;
}
body.premium-store .product-stock-note{
  margin-top:10px;
}
body.premium-store .product-stock-note.stock-info,
body.premium-store .list-stock-alert.stock-info{
  background:#ecfdf5;
  color:#047857;
  border:1px solid #a7f3d0;
}
body.premium-store .product-stock-note.stock-blocked,
body.premium-store .list-stock-alert.stock-blocked{
  background:#fff1f2;
  color:#be123c;
  border:1px solid #fecdd3;
}
body.premium-store .list-stock-alert{
  margin-top:6px;
  width:max-content;
  max-width:100%;
  white-space:normal;
}
body.premium-store .catalog-list-row.stock-zero-blocked{
  background:linear-gradient(90deg,rgba(255,241,242,.72),rgba(255,255,255,.92))!important;
}
body.premium-store .catalog-list-row.stock-zero-blocked .list-qty-btn[disabled],
body.premium-store .btn-add[disabled]{
  opacity:.45!important;
  cursor:not-allowed!important;
  filter:grayscale(.35);
}
body.premium-store .cart-stock-alert{
  width:max-content;
  max-width:100%;
  margin-top:7px;
}
body.premium-store .cart-stock-alert.warn{
  background:#fffbeb;
  color:#92400e;
  border:1px solid #fde68a;
}
body.premium-store .cart-stock-alert.danger{
  background:#fff1f2;
  color:#be123c;
  border:1px solid #fecdd3;
}

/* V85 — preço com desconto RDP.DESCONTO */
body.premium-store .price-discount-box{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  line-height:1.05;
}
body.premium-store .catalog-list-price .price-discount-box{
  align-items:flex-end;
}
body.premium-store .price-old{
  color:#dc2626!important;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  font-weight:850;
  font-size:.88rem;
}
body.premium-store .price-new{
  color:#047857!important;
  font-weight:950;
  font-size:1.08rem;
}
body.premium-store .product-price .price-new{
  font-size:1.32rem;
}
body.premium-store .discount-badge-v85,
body.premium-store .cart-discount-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  border-radius:999px;
  padding:3px 8px;
  background:#fff1f2;
  color:#be123c;
  border:1px solid #fecdd3;
  font-size:.72rem;
  font-weight:950;
}
body.premium-store .cart-price-discount{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
}
body.premium-store .cart-price-old{
  color:#dc2626;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  font-size:.75rem;
  font-weight:850;
}

/* V86 — Carrinho fixo sem desconfigurar catálogo + campos adicionais expansíveis */
@media (min-width: 1180px){
  body.premium-store.cart-mode-fixo{
    padding-right:0!important;
    overflow-x:hidden!important;
    --cart-dock-width:clamp(360px,26vw,430px);
    --cart-dock-gap:24px;
  }

  body.premium-store.cart-mode-fixo .cart-panel{
    right:0!important;
    transform:none!important;
    width:var(--cart-dock-width)!important;
    max-width:var(--cart-dock-width)!important;
    height:calc(100dvh - 74px)!important;
    top:74px!important;
    border-left:1px solid var(--store-line)!important;
    box-shadow:-18px 0 56px rgba(15,23,42,.14)!important;
    z-index:240!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }

  body.premium-store.cart-mode-fixo .cart-overlay{
    display:none!important;
  }

  body.premium-store.cart-mode-fixo .cart-close{
    display:none!important;
  }

  body.premium-store.cart-mode-fixo .toast-container{
    right:calc(var(--cart-dock-width) + 28px)!important;
  }

  body.premium-store.cart-mode-fixo .navbar-inner,
  body.premium-store.cart-mode-fixo .hero-premium-inner,
  body.premium-store.cart-mode-fixo .filters-inner,
  body.premium-store.cart-mode-fixo .container.section,
  body.premium-store.cart-mode-fixo .public-footer-inner{
    width:auto!important;
    max-width:calc(100vw - var(--cart-dock-width) - (var(--cart-dock-gap) * 2))!important;
    margin-left:var(--cart-dock-gap)!important;
    margin-right:calc(var(--cart-dock-width) + var(--cart-dock-gap))!important;
  }

  body.premium-store.cart-mode-fixo .filters-bar{
    padding-right:calc(var(--cart-dock-width) + var(--cart-dock-gap))!important;
  }

  body.premium-store.cart-mode-fixo .filters-bar .filters-inner{
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  body.premium-store.cart-mode-fixo .carousel{
    width:auto!important;
    max-width:calc(100vw - var(--cart-dock-width) - (var(--cart-dock-gap) * 2))!important;
    margin-left:var(--cart-dock-gap)!important;
    margin-right:calc(var(--cart-dock-width) + var(--cart-dock-gap))!important;
  }

  body.premium-store.cart-mode-fixo .product-grid{
    grid-template-columns:repeat(auto-fill,minmax(245px,1fr))!important;
    align-items:stretch!important;
  }

  body.premium-store.cart-mode-fixo .catalog-list{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  body.premium-store.cart-mode-fixo .catalog-list.prices-visible .catalog-list-head,
  body.premium-store.cart-mode-fixo .catalog-list.prices-visible .catalog-list-row{
    grid-template-columns:minmax(0,1fr) minmax(128px,150px) minmax(150px,170px)!important;
  }
}

@media (min-width:1180px) and (max-width:1439px){
  body.premium-store.cart-mode-fixo{
    --cart-dock-width:380px;
  }
  body.premium-store.cart-mode-fixo .navbar-inner,
  body.premium-store.cart-mode-fixo .hero-premium-inner,
  body.premium-store.cart-mode-fixo .filters-inner,
  body.premium-store.cart-mode-fixo .container.section,
  body.premium-store.cart-mode-fixo .public-footer-inner{
    max-width:calc(100vw - var(--cart-dock-width) - 36px)!important;
    margin-left:18px!important;
    margin-right:calc(var(--cart-dock-width) + 18px)!important;
  }
  body.premium-store.cart-mode-fixo .filters-bar{
    padding-left:18px!important;
    padding-right:calc(var(--cart-dock-width) + 18px)!important;
  }
}

body.premium-store .cart-panel{
  display:flex!important;
  flex-direction:column!important;
}
body.premium-store .cart-header{
  flex:0 0 auto!important;
}
body.premium-store .cart-items{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  padding-bottom:10px!important;
}
body.premium-store .cart-footer{
  flex:0 0 auto!important;
  max-height:47dvh!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}

/* Campos adicionais ficam ocultos por defeito e abrem dentro do footer */
body.premium-store .cart-extra-dock{
  margin:0 0 10px!important;
}
body.premium-store .cart-extra-toggle{
  width:100%;
  border:1px solid #bfdbfe;
  border-radius:16px;
  background:linear-gradient(135deg,#eff6ff,#eef8fb);
  color:#172033;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  text-align:left;
  font-family:inherit;
  box-shadow:0 12px 28px rgba(37,99,235,.08);
}
body.premium-store .cart-extra-toggle strong{
  display:block;
  font-weight:950;
  font-size:.9rem;
}
body.premium-store .cart-extra-toggle small{
  display:block;
  margin-top:2px;
  color:#64748b;
  font-size:.76rem;
  line-height:1.25;
}
body.premium-store .cart-extra-toggle em{
  font-style:normal;
  font-weight:950;
  font-size:.76rem;
  color:#1d4ed8;
  background:#fff;
  border:1px solid #bfdbfe;
  border-radius:999px;
  padding:5px 9px;
  white-space:nowrap;
}
body.premium-store .cart-extra-fields{
  display:none!important;
  margin-top:10px!important;
  margin-bottom:10px!important;
  max-height:31dvh!important;
  overflow-y:auto!important;
}
body.premium-store .cart-extra-fields.open,
body.premium-store .cart-extra-dock.open .cart-extra-fields{
  display:block!important;
}
body.premium-store .cart-extra-input.field-invalid{
  border-color:#ef4444!important;
  box-shadow:0 0 0 3px rgba(239,68,68,.14)!important;
}
body.premium-store #cartNotas{
  min-height:44px!important;
  height:44px!important;
  resize:none!important;
}
body.premium-store .cart-footer .btn-success{
  min-height:48px!important;
}

/* Em modo drawer/telemóvel, o carrinho usa quase toda a largura sem partir layout */
@media(max-width:1179px){
  body.premium-store.cart-mode-fixo{
    padding-right:0!important;
  }
  body.premium-store.cart-mode-fixo .cart-panel{
    right:-430px;
  }
  body.premium-store.cart-mode-fixo .cart-panel.open{
    right:0!important;
  }
  body.premium-store.cart-mode-fixo .cart-close{
    display:inline-flex!important;
  }
}

/* V87 — Campos dinâmicos aparecem minimizados no carrinho */
body.premium-store .cart-extra-dock{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.premium-store .cart-extra-toggle{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
body.premium-store .cart-extra-dock.has-required-fields .cart-extra-toggle{
  border-color:#f59e0b!important;
  background:linear-gradient(135deg,#fffbeb,#eff6ff)!important;
}
body.premium-store .cart-extra-dock.has-required-fields .cart-extra-toggle em{
  color:#92400e!important;
  border-color:#fde68a!important;
  background:#fff7ed!important;
}
body.premium-store .cart-extra-fields{
  display:none!important;
}
body.premium-store .cart-extra-fields.open{
  display:block!important;
}
body.premium-store .cart-extra-fields.open .cart-extra-input{
  display:block!important;
}
body.premium-store .cart-extra-title::after{
  content:'';
  display:block;
  height:1px;
  background:var(--store-line-2);
  margin:8px 0 10px;
}
