/* Sportsland Equipment — clean performance retail layer. */
.store-site {
  --store-header-height:72px;
  --store-announce-height:32px;
  --store-sticky-top:calc(var(--store-header-height) + var(--store-announce-height));
  background:#fff;
  color:var(--navy);
}

.store-announcement {
  position:relative;
  z-index:61;
  min-height:var(--store-announce-height);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 20px;
  color:#fff;
  background:var(--navy);
  font-size:.7rem;
  font-weight:600;
  line-height:1.3;
  letter-spacing:.035em;
  text-align:center;
}
.store-site .x-header {
  top:0;
  height:var(--store-header-height);
  padding-inline:clamp(24px,3.4vw,56px);
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #07134418;
  backdrop-filter:blur(20px);
}
.store-site .x-logo { width:158px; }
.store-site .x-nav a { font-size:.78rem; font-weight:550; }
.store-site .bag-button {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:0 13px;
  color:var(--navy);
  background:transparent;
  border:1px solid #07134428;
  border-radius:999px;
}
.store-site .bag-button svg { width:18px; height:18px; }
.store-site .bag-button b {
  min-width:21px;
  height:21px;
  display:grid;
  place-items:center;
  padding:0 5px;
  color:var(--navy);
  background:var(--green);
  border-radius:50%;
  font-size:.67rem;
}
.store-site .runner-link { min-height:42px; border-radius:999px; }

/* Campaign-first opening. */
.store-site .collection-hero {
  min-height:calc(100svh - var(--store-sticky-top));
  height:min(790px,calc(100svh - var(--store-sticky-top)));
  display:grid;
  grid-template-columns:minmax(370px,39%) minmax(0,61%);
  overflow:hidden;
  color:#fff;
  background:var(--navy);
  border:0;
}
.store-site .collection-hero-copy {
  position:relative;
  z-index:3;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:clamp(48px,5.6vw,88px);
  overflow:hidden;
  background:var(--navy);
}
.store-site .collection-hero-copy::after {
  content:'';
  position:absolute;
  width:320px;
  height:320px;
  right:-180px;
  top:-160px;
  border:1px solid #ffffff22;
  border-radius:50%;
}
.store-site .collection-kicker {
  position:relative;
  z-index:1;
  width:100%;
  margin:0 0 25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:var(--green);
  font-size:.7rem;
  font-weight:650;
  line-height:1.35;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.store-site .collection-kicker span { display:inline-flex; align-items:center; gap:11px; }
.store-site .collection-kicker span::before { content:''; width:25px; height:2px; background:currentColor; }
.store-site .collection-kicker b { font:inherit; }
.store-site .collection-kicker.dark { color:var(--royal); }
.store-site .collection-hero h1 {
  position:relative;
  z-index:1;
  max-width:10ch;
  margin:0;
  font-family:var(--display);
  font-size:clamp(3.5rem,5.2vw,6.3rem);
  font-weight:600;
  line-height:.97;
  letter-spacing:-.06em;
}
.store-site .collection-hero h1 em { display:block; color:#fff; }
.store-site .collection-intro {
  position:relative;
  z-index:1;
  max-width:43ch;
  margin:26px 0 30px;
  color:#ffffffb8;
  font-size:1rem;
  line-height:1.7;
}
.store-site .store-primary {
  position:relative;
  z-index:1;
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:0 21px;
  color:var(--navy);
  background:var(--green);
  border:1px solid var(--green);
  border-radius:3px;
  font-size:.79rem;
  font-weight:650;
  letter-spacing:.025em;
  text-transform:none;
  transition:background .25s,color .25s,transform .25s;
}
.store-site .store-primary:hover { color:var(--navy); background:#fff; transform:translateY(-2px); }

.store-site .shop-hero { position:relative; min-width:0; min-height:0; height:100%; display:block; background:#0c1743; }
.store-site .campaign-loading { min-height:100%; display:grid; place-items:center; color:#ffffffa8; font-size:.85rem; }
.store-site .campaign-visual { position:absolute; inset:0; min-height:0; margin:0; overflow:hidden; background:#0c1743; }
.store-site .campaign-visual::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,#040a22d9 100%);
  pointer-events:none;
}
.store-site .campaign-visual>img {
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center;
  transition:opacity .3s ease,transform 6s ease;
}
.store-site .campaign-caption {
  position:absolute;
  z-index:2;
  left:clamp(24px,4vw,56px);
  right:clamp(24px,4vw,56px);
  bottom:92px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px 24px;
  align-items:end;
}
.store-site .campaign-caption small {
  grid-column:1/-1;
  color:var(--green);
  font-size:.68rem;
  font-weight:650;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.store-site .campaign-caption strong {
  display:block;
  max-width:22ch;
  color:#fff;
  font-family:var(--display);
  font-size:clamp(1.7rem,2.5vw,2.7rem);
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.035em;
}
.store-site .campaign-caption p { grid-column:1; max-width:48ch; margin:0; color:#ffffffba; font-size:.84rem; line-height:1.5; }
.store-site .campaign-caption a {
  grid-column:2;
  grid-row:2/span 2;
  align-self:end;
  padding:10px 0 5px;
  color:#fff;
  border-bottom:1px solid var(--green);
  font-size:.76rem;
  font-weight:650;
}
.store-site .campaign-signal {
  position:absolute;
  z-index:2;
  top:24px;
  right:24px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  color:var(--navy);
  background:#ffffffed;
  border-radius:999px;
  font-size:.64rem;
  font-weight:650;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.store-site .campaign-signal i { width:6px; height:6px; border-radius:50%; background:var(--royal); }
.store-site .campaign-tabs {
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:#071344d9;
  border:0;
  backdrop-filter:blur(16px);
}
.store-site .campaign-tab {
  position:relative;
  min-width:0;
  min-height:68px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:13px 16px;
  color:#ffffff9d;
  background:transparent;
  border:0;
  border-right:1px solid #ffffff20;
  text-align:left;
}
.store-site .campaign-tab:last-child { border-right:0; }
.store-site .campaign-tab span { color:var(--green); font-size:.64rem; font-weight:650; }
.store-site .campaign-tab b {
  min-width:0;
  overflow:hidden;
  color:inherit;
  font-size:.7rem;
  font-weight:550;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.store-site .campaign-tab::after { content:''; position:absolute; left:0; right:100%; bottom:0; height:3px; background:var(--green); }
.store-site .campaign-tab:hover,.store-site .campaign-tab.is-active { color:#fff; background:#ffffff0c; }
.store-site .campaign-tab.is-active::after { right:0; animation:storeCampaignProgress 5.5s linear; }

/* Reassurance and visual category discovery. */
.store-site .store-assurance {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  color:var(--navy);
  background:#fff;
  border:0;
  border-bottom:1px solid #07134418;
}
.store-site .store-assurance>div {
  min-height:78px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:14px;
  padding:14px clamp(24px,4vw,62px);
  border-right:1px solid #07134418;
}
.store-site .store-assurance>div:last-child { border-right:0; }
.store-site .store-assurance b { color:var(--royal); font:600 1.25rem/1 var(--display); }
.store-site .store-assurance span { color:#667087; font-size:.75rem; line-height:1.35; }
.store-site .store-assurance strong { display:block; margin-bottom:2px; color:var(--navy); font-size:.76rem; font-weight:650; letter-spacing:0; text-transform:none; }

/* Product listing page. */
.store-site .catalog-section { padding:24px 0 clamp(90px,10vw,150px); background:#f7f8fa; }
.store-site .catalog-count {
  margin:0;
  padding:0 0 4px;
  color:#667087;
  background:transparent;
  border:0;
  font-size:.75rem;
  font-weight:550;
  letter-spacing:0;
  text-transform:none;
}
.store-site .loja-barra {
  position:sticky;
  z-index:34;
  top:var(--store-header-height);
  margin-bottom:36px;
  background:#f7f8faf2;
  border:0;
  border-block:1px solid #07134416;
  box-shadow:none;
  backdrop-filter:blur(18px);
}
.store-site .loja-barra-inner { min-height:67px; padding-block:10px; }
.store-site .cat-chips { flex-wrap:nowrap; gap:4px; }
.store-site .cat-chip,.store-site .tam-chip {
  min-height:38px;
  padding:0 13px;
  color:#5d667b;
  background:transparent;
  border:1px solid transparent;
  border-radius:999px;
  font-size:.77rem;
  font-weight:550;
}
.store-site .cat-chip:hover,.store-site .tam-chip:hover { color:var(--navy); border-color:#07134422; }
.store-site .cat-chip.on,.store-site .tam-chip.on { color:#fff; background:var(--navy); border-color:var(--navy); }
.store-site .loja-acoes { gap:7px; }
.store-site .filtro-abrir,.store-site .ordenar select {
  min-height:42px;
  color:var(--navy);
  background:#fff;
  border:1px solid #07134422;
  border-radius:3px;
  font-size:.75rem;
  font-weight:550;
}
.store-site .ordenar span { color:#697187; font-size:.68rem; font-weight:550; text-transform:none; letter-spacing:0; }
.store-site .loja-layout { grid-template-columns:210px minmax(0,1fr); gap:clamp(28px,3vw,46px); }
.store-site .loja-filtros {
  position:sticky;
  top:calc(var(--store-header-height) + 88px);
  padding:0 26px 0 0;
  background:transparent;
  border:0;
  border-right:1px solid #07134418;
  box-shadow:none;
}
.store-site .filtros-cabecalho { margin-bottom:22px; padding-bottom:17px; border-bottom:1px solid #07134420; }
.store-site .filtros-cabecalho small { color:#7a8294; font-size:.66rem; font-weight:550; letter-spacing:.04em; text-transform:none; }
.store-site .filtros-cabecalho h2 { margin-top:5px; font-size:1.25rem; font-weight:600; }
.store-site .filtro-bloco { margin-bottom:21px; padding-bottom:20px; border-bottom:1px solid #07134418; }
.store-site .filtro-bloco h3 { margin-bottom:13px; font-size:.82rem; font-weight:600; }
.store-site .filtro-check { color:#5f687d; font-size:.8rem; }
.store-site .btn-limpar { color:var(--navy); border-bottom:1px solid currentColor; font-size:.7rem; font-weight:600; text-transform:none; }
.store-site .tag-ativa,.store-site .tag-limpar { border-radius:999px; font-weight:550; text-transform:none; }
.store-site .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(36px,4vw,58px) 16px; }
.store-site .product-card {
  min-width:0;
  color:var(--navy);
  background:transparent;
  border:0;
  overflow:visible;
  transition:none;
}
.store-site .product-card:hover { transform:none; box-shadow:none; }
.store-site .p-img {
  aspect-ratio:4/5;
  overflow:hidden;
  background:#e9ebef;
  border:0;
  border-radius:3px;
}
.store-site .p-img::after { display:none; }
.store-site .p-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.8,.2,1); }
.store-site .product-card:hover .p-img img { transform:scale(1.025); }
.store-site .p-tag,.store-site .p-off {
  top:12px;
  left:12px;
  padding:7px 9px;
  color:#fff;
  background:var(--navy);
  border:0;
  border-radius:2px;
  font-size:.66rem;
  font-weight:650;
  letter-spacing:.02em;
  text-transform:none;
}
.store-site .p-tag-novo { color:var(--navy); background:var(--green); }
.store-site .p-tamanhos { padding:11px; background:#071344e8; }
.store-site .p-tamanhos span { border-color:#ffffff4d; border-radius:2px; }
.store-site .p-body { gap:6px; padding:14px 1px 0; }
.store-site .p-body h3 { min-height:2.45em; font-size:.95rem; font-weight:600; line-height:1.28; letter-spacing:-.015em; }
.store-site .p-price { gap:8px; }
.store-site .p-price .now { color:var(--navy); font-size:.98rem; font-weight:650; }
.store-site .p-price .was { color:#7b8393; font-size:.78rem; }
.store-site .p-parcelas { color:#697187; font-size:.72rem; }
.store-site .p-body::after { content:'Ver produto  ↗'; margin-top:8px; padding-top:0; border:0; color:#697187; font-size:.68rem; font-weight:550; letter-spacing:0; text-transform:none; }

/* Cart and product detail align to the same restrained system. */
.store-site .drawer { width:min(500px,100vw); }
.store-site .drawer-head { min-height:88px; background:#fff; color:var(--navy); border-bottom:1px solid #07134418; }
.store-site .drawer-head small { color:#6a7287; font-weight:550; }
.store-site .drawer-head h3 { font-size:1.25rem; font-weight:600; }
.store-site .drawer-head button { color:var(--navy); border-color:#07134425; border-radius:50%; }
.store-site .drawer-head button:hover { color:var(--navy); background:var(--green); }
.store-site .btn { border-width:1px; border-radius:3px; font-weight:600; text-transform:none; letter-spacing:0; }
.store-site .btn-green { color:var(--navy); background:var(--green); border-color:var(--green); }
.store-site .btn-green:hover { color:#fff; background:var(--navy); border-color:var(--navy); }
.store-site .product-signal { color:#fff; background:var(--navy); border:0; }
.store-site .product-signal .site-container { min-height:42px; font-size:.66rem; font-weight:550; letter-spacing:.04em; text-transform:none; }
.store-site .product-section { background:#fff; }
.store-site .pd-gallery .main { background:#f0f1f3; border:0; border-radius:3px; }
.store-site .pd-gallery .main::before { display:none; }
.store-site .pd-info h1 { font-weight:600; }
.store-site .pd-price .now { color:var(--navy); }
.store-site .off-chip { border:0; border-radius:2px; }
.store-site .size-pill { border-radius:3px; }
.store-site .size-pill.sel { color:#fff; background:var(--navy); border-color:var(--navy); }
.store-site .pd-frete { border:1px solid #0713441f; border-radius:3px; box-shadow:none; }

@keyframes storeCampaignProgress { from { right:100%; } to { right:0; } }

@media (min-width:1550px) {
  .store-site .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width:1080px) {
  .store-site .collection-hero { grid-template-columns:minmax(320px,43%) minmax(0,57%); }
  .store-site .collection-hero-copy { padding:45px 34px; }
  .store-site .loja-layout { grid-template-columns:1fr; }
  .store-site .loja-filtros {
    position:fixed;
    z-index:180;
    top:0;
    bottom:0;
    left:0;
    width:min(390px,92vw);
    padding:24px;
    overflow-y:auto;
    background:#fff;
    border:0;
    transform:translateX(-105%);
  }
  .store-site .loja-filtros.aberto { transform:none; }
  .store-site .filtro-abrir { display:inline-flex; align-items:center; gap:8px; }
  .store-site .filtros-cabecalho button { display:grid; }
}

@media (max-width:850px) {
  .store-site { --store-header-height:70px; }
  .store-site .x-header { top:0; }
  .store-site .collection-hero {
    position:relative;
    min-height:calc(100svh - var(--store-sticky-top));
    height:calc(100svh - var(--store-sticky-top));
    max-height:780px;
    display:block;
  }
  .store-site .shop-hero { position:absolute; inset:0; }
  .store-site .collection-hero-copy {
    position:absolute;
    z-index:5;
    inset:auto 0 0;
    min-height:0;
    padding:44px 24px 98px;
    background:linear-gradient(0deg,#061035f7 0%,#061035cf 58%,transparent 100%);
  }
  .store-site .collection-hero-copy::after { display:none; }
  .store-site .collection-kicker { margin-bottom:14px; }
  .store-site .collection-kicker b { display:none; }
  .store-site .collection-hero h1 { max-width:11ch; font-size:clamp(3rem,10.5vw,4.9rem); }
  .store-site .collection-intro { max-width:38ch; margin:18px 0 22px; font-size:.93rem; }
  .store-site .store-primary { min-height:50px; }
  .store-site .campaign-visual::after { background:linear-gradient(180deg,#02071822 25%,#020718d4 100%); }
  .store-site .campaign-caption { display:none; }
  .store-site .campaign-signal { top:16px; right:16px; }
  .store-site .campaign-tabs { left:24px; right:24px; bottom:24px; gap:7px; background:transparent; backdrop-filter:none; }
  .store-site .campaign-tab {
    min-height:8px;
    height:8px;
    display:block;
    padding:0;
    overflow:hidden;
    background:#ffffff4d;
    border:0;
    border-radius:999px;
    color:transparent;
  }
  .store-site .campaign-tab span,.store-site .campaign-tab b { display:none; }
  .store-site .campaign-tab::after { height:100%; border-radius:inherit; }
  .store-site .campaign-tab.is-active { background:#ffffff4d; }
  .store-site .store-assurance { grid-template-columns:1fr; }
  .store-site .store-assurance>div { min-height:67px; border-right:0; border-bottom:1px solid #07134414; }
  .store-site .store-assurance>div:last-child { border-bottom:0; }
  .store-section-heading h2 { font-size:2.8rem; }
  .store-site .loja-barra { top:var(--store-header-height); }
  .store-site .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 10px; }
  .store-site .p-body h3 { min-height:2.55em; font-size:.88rem; }
  .store-site .p-tamanhos { display:none; }
}

@media (max-width:600px) {
  .store-site { --store-header-height:70px; --store-announce-height:30px; }
  .store-announcement {
    min-height:var(--store-announce-height);
    justify-content:flex-start;
    overflow:hidden;
    padding-inline:16px;
    font-size:.64rem;
    white-space:nowrap;
  }
  .store-site .x-header { padding-inline:16px; }
  .store-site .x-logo { width:124px; }
  .store-site .bag-button { width:42px; min-height:42px; justify-content:center; padding:0; }
  .store-site .bag-button .bag-label { display:none; }
  .store-site .bag-button b { position:absolute; top:-5px; right:-5px; }
  .store-site .runner-link { display:none; }
  .store-site .collection-hero-copy { padding:42px 20px 86px; }
  .store-site .collection-hero h1 { font-size:clamp(2.85rem,13vw,4.2rem); }
  .store-site .collection-intro { font-size:.9rem; line-height:1.6; }
  .store-site .store-primary { width:100%; }
  .store-site .campaign-visual>img { object-position:center; }
  .store-site .store-assurance b { font-size:1.05rem; }
  .store-site .catalog-section { padding-top:18px; }
  .store-site .loja-barra { margin-bottom:26px; }
  .store-site .loja-barra-inner { align-items:stretch; flex-direction:column; gap:8px; }
  .store-site .cat-chips { width:100%; overflow-x:auto; padding-bottom:2px; scrollbar-width:none; }
  .store-site .cat-chips::-webkit-scrollbar { display:none; }
  .store-site .cat-chip { flex:none; }
  .store-site .loja-acoes { width:100%; justify-content:space-between; }
  .store-site .filtro-abrir,.store-site .ordenar { flex:1; }
  .store-site .filtro-abrir { justify-content:center; }
  .store-site .ordenar span { display:none; }
  .store-site .ordenar select { width:100%; max-width:none; }
  .store-site .product-grid { gap:28px 8px; }
  .store-site .p-img { aspect-ratio:4/5; }
  .store-site .p-body { padding-top:11px; }
  .store-site .p-body h3 { min-height:3.75em; font-size:.82rem; }
  .store-site .p-price { align-items:flex-start; flex-direction:column; gap:3px; }
  .store-site .p-price .now { font-size:.91rem; }
  .store-site .p-parcelas { font-size:.64rem; line-height:1.35; }
  .store-site .p-body::after { display:none; }
  .store-site .drawer-head { min-height:78px; }
  .store-site .product-signal .site-container { min-height:38px; }
  .store-site .product-signal span:last-child { display:none; }
}

@media (max-width:370px) {
  .store-site .product-grid { grid-template-columns:1fr; gap:34px; }
  .store-site .p-body h3 { min-height:0; font-size:.95rem; }
  .store-site .p-price { flex-direction:row; }
}

@media (prefers-reduced-motion:reduce) {
  .store-site .campaign-tab.is-active::after { animation:none; right:0; }
  .store-site .p-img img { transition:none; }
}
