/* ═══════════════════════════════════════════════════════════
   V52 — Executive Soft Premium Store
   Loja clara premium: branco sujo/cinza, carrossel executivo,
   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(330px,34vw,520px)!important;
  min-height:330px!important;
  margin:22px auto 0!important;
  border-radius:34px!important;
  overflow:hidden!important;
  background:#d7dce3!important;
  box-shadow:0 30px 90px rgba(30,41,59,.18)!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 -120px 190px rgba(16,24,40,.16);
  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(22px,5vw,72px)!important;
  right:auto!important;
  bottom:clamp(22px,5vw,58px)!important;
  z-index:4!important;
  width:min(610px,calc(100% - 44px))!important;
  max-width:610px!important;
  padding:24px 26px!important;
  border-radius:26px!important;
  background:rgba(250,249,246,.88)!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 24px 74px rgba(15,23,42,.20)!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.65rem,3.1vw,3.15rem)!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:1rem!important;line-height:1.62!important;max-width:560px!important;text-shadow:none!important;}
body.premium-store .carousel-cta{margin-top:16px;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:48px!important;height:48px!important;border-radius:18px!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:18px!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:20px 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:370px!important;min-height:370px!important;margin-top:14px!important;border-radius:26px!important;}
  body.premium-store .carousel-content{left:16px!important;right:16px!important;bottom:16px!important;width:auto!important;max-width:none!important;padding:18px!important;border-radius:22px!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.35rem,8vw,2.15rem)!important;}
  body.premium-store .carousel-desc{font-size:.92rem!important;line-height:1.5!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
  body.premium-store .carousel-cta{padding:11px 15px!important;margin-top:12px;}
  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:340px!important;min-height:340px!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%;}
}
