:root{
  --store-ink:#202733;
  --store-muted:#667085;
  --store-line:#e7edf5;
  --store-paper:#ffffff;
  --store-bg:#f5f7fb;
  --store-blue:#0987e8;
  --store-cyan:#00c7d9;
  --store-deep:#075fa8;
  --store-soft:#e8f9ff;
  --store-logo-dark:#2f3338;
  --store-radius:26px;
  --store-shadow:0 22px 60px rgba(7,95,168,.12);
}

.store-v2-body{ background:var(--store-bg); color:var(--store-ink); }
.store-v2-nav{ border-bottom:1px solid rgba(15,23,42,.06); }

.store-v2-hero{
  position:relative;
  overflow:hidden;
  padding:128px 0 58px;
  min-height:560px;
  color:#fff;
  background:
    linear-gradient(135deg, rgba(3,47,84,.96), rgba(7,95,168,.9) 48%, rgba(0,199,217,.7)),
    image-set(
      url('/assets/img/v2/store-hero-catalog-v2.webp') type('image/webp'),
      url('/assets/img/v2/store-hero-catalog-v2.png') type('image/png')
    ) center right/cover no-repeat;
}
.store-v2-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom, #000 0%, transparent 90%);
}
.store-v2-hero__glow{ position:absolute; width:360px; height:360px; border-radius:999px; filter:blur(18px); opacity:.42; }
.store-v2-hero__glow--left{ left:-120px; top:120px; background:rgba(0,184,217,.5); }
.store-v2-hero__glow--right{ right:-80px; bottom:-120px; background:rgba(0,199,217,.45); }
.store-v2-breadcrumb a{ color:rgba(255,255,255,.75); text-decoration:none; }
.store-v2-breadcrumb .active{ color:#fff; }
.store-v2-breadcrumb .breadcrumb-item + .breadcrumb-item::before{ color:rgba(255,255,255,.45); }
.store-v2-eyebrow{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.55rem .85rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(18px);
  font-weight:800;
  letter-spacing:.02em;
  margin-bottom:1.15rem;
}
.store-v2-hero h1{
  max-width:860px;
  font-size:clamp(2.45rem, 5vw, 5rem);
  line-height:.96;
  letter-spacing:-.06em;
  margin:0 0 1.2rem;
}
.store-v2-lead{ max-width:740px; color:rgba(255,255,255,.78); font-size:1.1rem; margin-bottom:1.4rem; }
.store-v2-searchbar{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:.85rem;
  max-width:760px;
  padding:.62rem .72rem .62rem 1.05rem;
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 70px rgba(0,0,0,.24);
}
.store-v2-searchbar i{ color:var(--store-blue); font-size:1.35rem; }
.store-v2-searchbar input{ border:0; outline:0; min-height:48px; font-size:1rem; color:var(--store-ink); width:100%; }
.store-v2-searchbar button{ border:0; background:#eef4ff; color:var(--store-ink); border-radius:16px; width:42px; height:42px; display:grid; place-items:center; }
.store-v2-quick-tags{ display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }
.store-v2-quick-tags button{
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(16px);
  border-radius:999px;
  padding:.58rem .9rem;
  font-weight:800;
}
.store-v2-quick-tags button:hover{ background:rgba(255,255,255,.18); }
.store-v2-hero-card{
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
  backdrop-filter:blur(20px);
  border-radius:32px;
  padding:1.25rem;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
}
.store-v2-hero-card__top{ display:flex; align-items:center; justify-content:space-between; color:rgba(255,255,255,.82); font-weight:800; margin-bottom:1.2rem; }
.store-v2-hero-card__top i{ font-size:1.6rem; color:var(--store-cyan); }
.store-v2-metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
.store-v2-metrics div{ padding:1rem; border-radius:22px; background:rgba(255,255,255,.13); }
.store-v2-metrics strong{ display:block; font-size:2rem; line-height:1; letter-spacing:-.04em; }
.store-v2-metrics span{ display:block; color:rgba(255,255,255,.66); font-size:.82rem; margin-top:.35rem; }
.store-v2-benefits{ display:grid; gap:.8rem; }
.store-v2-benefits div{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  padding:.95rem;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:rgba(255,255,255,.12);
}
.store-v2-benefits i{
  flex:0 0 auto;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:rgba(0,199,217,.18);
  color:var(--store-cyan);
  font-size:1.05rem;
}
.store-v2-benefits span{
  color:rgba(255,255,255,.86);
  font-weight:800;
  line-height:1.35;
}
.store-v2-hero-card p{ color:rgba(255,255,255,.76); margin:1rem 0 0; }

.store-v2-main{ padding:42px 0 62px; }
.store-v2-mobile-actions{ display:none; gap:.65rem; margin-bottom:1rem; }
.sticky-aside{ position:sticky; top:104px; }
.store-v2-filters,
.store-v2-filter-panel{
  border:1px solid var(--store-line);
  border-radius:var(--store-radius);
  background:rgba(255,255,255,.86);
  box-shadow:var(--store-shadow);
  overflow:hidden;
}
.store-v2-filter-panel{ box-shadow:none; }
.store-v2-filter-head{ padding:1.2rem; border-bottom:1px solid var(--store-line); background:linear-gradient(180deg,#fff,#f7faff); }
.store-v2-filter-head strong{ display:block; font-size:1.1rem; }
.store-v2-filter-head span{ color:var(--store-muted); font-size:.88rem; }
.store-v2-filter-section{ padding:1.15rem; border-bottom:1px solid var(--store-line); }
.store-v2-filter-section:last-child{ border-bottom:0; }
.store-v2-filter-title{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:.85rem; font-weight:900; }
.store-v2-filter-title i{ color:var(--store-blue); }
.store-v2-checks{ display:grid; gap:.5rem; max-height:240px; overflow:auto; padding-right:.25rem; }
.store-v2-check{
  display:flex; align-items:center; gap:.55rem;
  width:100%;
  padding:.55rem .65rem;
  border:1px solid transparent;
  border-radius:14px;
  color:#263445;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.store-v2-check:hover{ background:#f5f8ff; border-color:#e1eaff; }
.store-v2-check.is-active{
  background:linear-gradient(135deg, rgba(0,199,217,.2), rgba(9,135,232,.15));
  border-color:rgba(9,135,232,.24);
  color:var(--store-deep);
  box-shadow:0 10px 22px rgba(0,155,210,.13);
}
.store-v2-check.is-active .store-v2-count{ color:var(--store-deep); }
.store-v2-check input{ accent-color:var(--store-blue); }
.store-v2-count{ margin-left:auto; color:#98a2b3; font-size:.78rem; font-weight:800; }
.store-v2-price-grid{ display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.store-v2-price-grid input,
.store-v2-filter-section .form-select{ border-radius:14px; border-color:var(--store-line); min-height:44px; }
.store-v2-preset-row{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.75rem; }
.store-v2-preset-row button{ border:0; border-radius:999px; padding:.42rem .66rem; background:#eef4ff; color:#174ea6; font-weight:800; font-size:.78rem; }
.store-v2-clear{ width:100%; border-radius:16px; }

.store-v2-toolbar{
  position:sticky;
  top:92px;
  z-index:6;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1rem;
  margin-bottom:1rem;
  border:1px solid var(--store-line);
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(20px);
  border-radius:24px;
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.store-v2-result-count{ font-weight:900; color:var(--store-ink); }
.store-v2-toolbar__actions{ display:flex; align-items:center; gap:.65rem; }
.store-v2-toolbar__actions label{ color:var(--store-muted); font-size:.82rem; font-weight:800; }
.store-v2-toolbar__actions .form-select{ min-width:190px; border-radius:14px; }
.store-v2-view-toggle .btn{ border-radius:12px; }
.store-v2-active-filters{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.55rem; }
.store-v2-chip{
  display:inline-flex; align-items:center; gap:.35rem;
  border:1px solid #d7e4ff;
  background:#f3f7ff;
  color:#174ea6;
  border-radius:999px;
  padding:.35rem .6rem;
  font-size:.78rem;
  font-weight:800;
}
.store-v2-chip button{ border:0; background:transparent; color:inherit; padding:0; line-height:1; }

.store-v2-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.store-v2-grid.is-list{ grid-template-columns:1fr; }
.store-v2-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:100%;
  border:1px solid var(--store-line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 14px 36px rgba(15,23,42,.08);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.store-v2-card:hover{ transform:translateY(-5px); box-shadow:0 24px 60px rgba(15,23,42,.14); border-color:#cfddf2; }
.store-v2-card__media{ position:relative; aspect-ratio:1/1; background:linear-gradient(135deg,#f7faff,#edf3fb); display:grid; place-items:center; overflow:hidden; }
.store-v2-card__media img{ width:100%; height:100%; object-fit:contain; padding:1rem; transition:transform .28s ease; }
.store-v2-card:hover .store-v2-card__media img{ transform:scale(1.035); }
.store-v2-card--cleaning .store-v2-card__media{
  background:radial-gradient(circle at 50% 42%, #fff 0 34%, #eef5ff 72%);
}
.store-v2-card--cleaning .store-v2-card__media img{
  width:88%;
  height:88%;
  object-fit:contain;
  padding:1.15rem;
  transform:none;
}
.store-v2-card--cleaning:hover .store-v2-card__media img{ transform:scale(1.025); }
.store-v2-card__badges{ position:absolute; top:.8rem; left:.8rem; right:.8rem; display:flex; flex-wrap:wrap; gap:.4rem; z-index:2; }
.store-v2-badge{ display:inline-flex; align-items:center; gap:.28rem; border-radius:999px; padding:.32rem .52rem; font-size:.72rem; font-weight:900; backdrop-filter:blur(12px); }
.store-v2-badge--offer{ background:#fff1e8; color:#b54708; }
.store-v2-badge--new{ background:#ecfdf3; color:#027a48; }
.store-v2-badge--special{ background:#e6f7ff; color:#075985; }
.store-v2-card__quick{ position:absolute; right:.8rem; bottom:.8rem; border:0; width:42px; height:42px; border-radius:15px; background:linear-gradient(135deg,var(--store-cyan),var(--store-blue)); color:#fff; box-shadow:0 10px 25px rgba(0,155,210,.28); }
.store-v2-card__body{ display:flex; flex-direction:column; flex:1; padding:1rem; }
.store-v2-card__category{ color:var(--store-blue); font-weight:900; font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.45rem; }
.store-v2-card__title{ min-height:2.65em; margin:0 0 .55rem; font-size:1rem; line-height:1.32; font-weight:900; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.store-v2-card__title a{ color:inherit; text-decoration:none; }
.store-v2-card__meta{ display:flex; justify-content:space-between; gap:.65rem; color:var(--store-muted); font-size:.82rem; margin-bottom:.75rem; }
.store-v2-card__price{ display:flex; align-items:baseline; flex-wrap:wrap; gap:.45rem; margin-top:auto; }
.store-v2-card__price strong{ font-size:1.28rem; letter-spacing:-.04em; }
.store-v2-card__price del{ color:#98a2b3; font-size:.88rem; }
.store-v2-card__actions{ display:grid; grid-template-columns:1fr auto; gap:.55rem; margin-top:1rem; }
.store-v2-card__actions .btn{ border-radius:16px; font-weight:900; }
.store-v2-card__actions .btn-copy-product-link{ width:44px; }
.store-v2-stock-ok{ color:#027a48; font-weight:900; }
.store-v2-stock-low{ color:#b54708; font-weight:900; }
.store-v2-stock-out{ color:#b42318; font-weight:900; }
.store-v2-grid.is-list .store-v2-card{ display:grid; grid-template-columns:220px 1fr; min-height:0; }
.store-v2-grid.is-list .store-v2-card__media{ aspect-ratio:auto; min-height:220px; }
.store-v2-grid.is-list .store-v2-card__title{ min-height:0; -webkit-line-clamp:3; }
.store-v2-grid.is-list .store-v2-card--cleaning .store-v2-card__media{
  min-height:180px;
  align-self:stretch;
}
.store-v2-grid.is-list .store-v2-card--cleaning .store-v2-card__media img{
  width:82%;
  height:82%;
  max-width:180px;
  max-height:180px;
  padding:.75rem;
}
.store-v2-grid.is-list .store-v2-card--cleaning:hover .store-v2-card__media img{
  transform:scale(1.015);
}

.store-v2-skeleton{ min-height:430px; border-radius:28px; background:linear-gradient(90deg,#eef2f7 25%,#f8fafc 50%,#eef2f7 75%); background-size:200% 100%; animation:storeShimmer 1.2s infinite; }
@keyframes storeShimmer{ to{ background-position:-200% 0; } }
.store-v2-card.is-revealed{ animation:storeReveal .35s ease both; }
@keyframes storeReveal{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }

.store-v2-empty{ text-align:center; padding:4rem 1rem; border:1px dashed #ccd6e5; border-radius:30px; background:#fff; }
.store-v2-empty i{ font-size:3rem; color:var(--store-blue); }
.store-v2-empty h2{ margin:.75rem 0 .35rem; letter-spacing:-.03em; }
.store-v2-empty p{ color:var(--store-muted); }
.store-v2-pagination-wrap{ margin-top:1.6rem; }
.pagination .page-link{ border-radius:13px; margin:0 .12rem; color:var(--store-deep); border-color:var(--store-line); }
.pagination .page-item.active .page-link{ background:linear-gradient(135deg,var(--store-cyan),var(--store-blue)); border-color:var(--store-blue); color:#fff; }

.store-v2-confidence{ padding:0 0 58px; }
.store-v2-confidence-card{ height:100%; display:grid; gap:.25rem; padding:1.2rem; border:1px solid var(--store-line); border-radius:24px; background:#fff; box-shadow:0 16px 40px rgba(15,23,42,.08); }
.store-v2-confidence-card i{ width:46px; height:46px; display:grid; place-items:center; border-radius:16px; color:#fff; background:linear-gradient(135deg,var(--store-blue),var(--store-cyan)); font-size:1.25rem; margin-bottom:.45rem; }
.store-v2-confidence-card strong{ font-size:1.05rem; }
.store-v2-confidence-card span{ color:var(--store-muted); }

.store-v2-offcanvas{ border-radius:0 28px 28px 0; }
.store-v2-modal{ border:0; border-radius:28px; overflow:hidden; }
.store-v2-qv-image{ border-radius:24px; background:#f7faff; overflow:hidden; aspect-ratio:1/1; display:grid; place-items:center; }
.store-v2-qv-image img{ width:100%; height:100%; object-fit:contain; padding:1rem; }
.store-v2-modal--cleaning .store-v2-qv-image img{
  width:76%;
  height:76%;
  max-width:360px;
  max-height:360px;
  object-fit:contain;
  padding:1.4rem;
  transform:none;
}
.store-v2-thumbs{ display:flex; gap:.55rem; overflow:auto; padding:.8rem 0 .2rem; }
.store-v2-thumbs img{ width:72px; height:72px; object-fit:cover; border-radius:16px; border:2px solid transparent; cursor:pointer; background:#f6f8fb; }
.store-v2-thumbs img.active{ border-color:var(--store-blue); }
.store-v2-short{
  width:min(100%, 250px);
  margin:1rem auto 0;
  padding:.5rem;
  border:1px solid var(--store-line);
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#f4f8ff);
}
.store-v2-short__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.75rem;
  margin-bottom:.55rem;
  font-size:.78rem;
  font-weight:900;
}
.store-v2-short__head span{ display:inline-flex; align-items:center; gap:.35rem; color:var(--store-logo-dark); }
.store-v2-short__head i{ color:#ff0033; }
.store-v2-short__head a{ color:var(--store-blue); text-decoration:none; font-weight:900; }
.store-v2-short__frame{
  position:relative;
  width:100%;
  margin:0 auto;
  aspect-ratio:9/16;
  overflow:hidden;
  border:7px solid var(--store-logo-dark);
  border-radius:24px;
  background:#000;
  box-shadow:0 16px 38px rgba(15,23,42,.22);
}
.store-v2-short__frame::before{
  content:"";
  position:absolute;
  top:7px;
  left:50%;
  width:54px;
  height:4px;
  border-radius:99px;
  background:rgba(255,255,255,.18);
  transform:translateX(-50%);
  z-index:2;
}
.store-v2-short__frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.store-v2-badge-row{ display:flex; flex-wrap:wrap; gap:.45rem; }
.store-v2-qv-price{ display:flex; align-items:baseline; gap:.65rem; margin-bottom:.6rem; }
.store-v2-qv-price strong{ font-size:2.2rem; letter-spacing:-.05em; }
.store-v2-qv-price span{ color:#98a2b3; text-decoration:line-through; }
.store-v2-qv-stock{ font-weight:900; margin-bottom:1rem; }
.store-v2-qv-desc{ color:var(--store-muted); white-space:pre-line; max-height:260px; overflow:auto; }
.store-v2-qv-actions{ display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }
.store-v2-qv-actions .btn{ border-radius:18px; font-weight:900; }

.cart-float{ z-index:1020; }
.whatsapp-float{ z-index:1020; }

@media (max-width:1199.98px){
  .store-v2-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:991.98px){
  .store-v2-hero{ padding-top:112px; min-height:auto; }
  .store-v2-mobile-actions{ display:flex; }
  .store-v2-toolbar{ position:relative; top:auto; flex-direction:column; }
  .store-v2-toolbar__actions{ width:100%; flex-wrap:wrap; }
  .store-v2-toolbar__actions .form-select{ flex:1; min-width:180px; }
}
@media (max-width:767.98px){
  .store-v2-hero h1{ font-size:2.55rem; }
  .store-v2-searchbar{ border-radius:18px; }
  .store-v2-metrics{ grid-template-columns:1fr; }
  .store-v2-grid{ grid-template-columns:1fr; }
  .store-v2-grid.is-list .store-v2-card{ grid-template-columns:1fr; }
  .store-v2-grid.is-list .store-v2-card__media{ aspect-ratio:1/1; min-height:0; }
  .store-v2-grid.is-list .store-v2-card--cleaning .store-v2-card__media img{
    width:84%;
    height:84%;
    max-width:235px;
    max-height:235px;
  }
  .store-v2-qv-actions .btn{ width:100%; }
}
