:root{
    --bg:#17140f;
    --bg2:#1a160f;
    --card:#1e1a13;
    --line:#2c261c;
    --gold:#c9a24b;
    --gold-light:#e3c375;
    --red:#7a1f1f;
    --cream:#f3ecd9;
    --muted:#8a8168;
    --muted2:#b8ae98;
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg);font-family:'Source Sans 3',sans-serif;color:var(--cream)}
  h1,h2,h3,.disp{font-family:'Oswald',sans-serif;letter-spacing:.02em;text-transform:uppercase;margin:0}
  a{color:inherit;text-decoration:none}
  button{font-family:'Source Sans 3',sans-serif;cursor:pointer}
  input{font-family:'Source Sans 3',sans-serif}
  img{max-width:100%}
  .navlink:hover{color:var(--gold-light)}
  .pillbtn.active,.pillbtn:hover{border-color:var(--gold-light) !important;color:var(--gold-light) !important}
  .catcard:hover{transform:translateY(-4px);border-color:var(--gold-light)}
  .card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.45)}
  .addbtn:hover{background:var(--gold-light) !important}
  .bundlecard:hover{border-color:var(--gold-light)}
  .related:hover{border-color:var(--gold-light)}
  ::selection{background:var(--gold);color:var(--bg)}

  .px56{padding-left:56px;padding-right:56px}
  .nav-toggle{display:none}

  /* ---------- Tablet (≤1024px) ---------- */
  @media (max-width: 1024px) {
    .px56{padding-left:32px !important;padding-right:32px !important}
    .cat-grid{grid-template-columns:repeat(4, minmax(0,1fr)) !important}
    .product-grid{grid-template-columns:repeat(3, minmax(0,1fr)) !important}
    .bundles-grid{grid-template-columns:repeat(3, minmax(0,1fr)) !important}
    .seasons-grid{grid-template-columns:repeat(2, minmax(0,1fr)) !important}
    .nav-links{display:none !important}
    .nav-toggle{display:flex !important}
    .icon-btn{padding:10px !important}
    h1{font-size:46px !important}
  }

  /* ---------- Phone (≤640px) ---------- */
  @media (max-width: 640px) {
    .px56{padding-left:20px !important;padding-right:20px !important}
    .hero-row{flex-direction:column !important;gap:32px !important}
    .hero-text{max-width:100% !important}
    .hero-cta{flex-direction:column !important;width:100% !important}
    .hero-cta a{width:100% !important;text-align:center !important}
    h1{font-size:38px !important}
    .cat-grid{grid-template-columns:repeat(2, minmax(0,1fr)) !important}
    .toolbar-row{flex-direction:column !important;align-items:flex-start !important}
    .filter-pills{flex-wrap:nowrap !important;overflow-x:auto !important;max-width:100% !important;padding-bottom:6px !important;width:100% !important}
    .filter-pills button{flex-shrink:0}
    .product-grid{grid-template-columns:repeat(2, minmax(0,1fr)) !important;gap:14px !important}
    .bundles-grid{grid-template-columns:repeat(1, minmax(0,1fr)) !important}
    .seasons-grid{grid-template-columns:repeat(1, minmax(0,1fr)) !important}
    .figurki-row{flex-direction:column !important;gap:28px !important}
    .figurki-text{max-width:100% !important}
    .figurki-cta{width:100% !important;text-align:center !important}
    .newsletter-form{flex-direction:column !important;width:100% !important;max-width:340px !important}
    .nl-input{width:100% !important}
    .footer-row{flex-direction:column !important;gap:28px !important}
    .footer-links{gap:28px !important}
  }


/* ZS — mikro-branding produktów */
.zs-product-mark {
  position:absolute;
  top:12px;
  right:12px;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  line-height:1;
  color:var(--cream);
  opacity:.88;
  pointer-events:none;
}
.zs-product-mark strong {
  font-family:Oswald,sans-serif;
  font-size:18px;
  letter-spacing:.08em;
  color:var(--gold-light);
}
.zs-product-mark small {
  margin-top:3px;
  font-size:6px;
  letter-spacing:.14em;
  color:var(--muted2);
}


/* ---------- ZS brand / shop environment ---------- */
body.gryfy-eshop-page {
  background: #0b0907 !important;
  overflow-x: hidden !important;
}

/* Escape the Astra content container and center the shop against the viewport. */
body.gryfy-eshop-page .gryfy-eshop-main {
  position: relative !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  overflow: visible !important;
  background:
    linear-gradient(rgba(8,7,5,.78), rgba(8,7,5,.78)),
    url('../zs-background-tile.jpg') center top / 640px 640px repeat !important;
}

body.gryfy-eshop-page .zs-shop-shell {
  position: relative;
  z-index: 1;
  width: min(1680px, calc(100vw - 80px)) !important;
  max-width: 1680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-shadow: 0 0 90px rgba(0,0,0,.58);
}

body.gryfy-eshop-page .zs-brand-title {
  font-family: 'Oswald', sans-serif;
  font-size: 21px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  white-space: nowrap;
  color: #f3ecd9;
}

body.gryfy-eshop-page .zs-shop-shell > div:first-child {
  letter-spacing: .06em !important;
}

@media (min-width: 1800px) {
  body.gryfy-eshop-page .zs-shop-shell {
    width: min(1680px, calc(100vw - 120px)) !important;
  }
}

@media (max-width: 700px) {
  body.gryfy-eshop-page .gryfy-eshop-main {
    background:
      linear-gradient(rgba(8,7,5,.9), rgba(8,7,5,.9)),
      url('../zs-background-tile.jpg') center top / 520px 520px repeat !important;
  }
  body.gryfy-eshop-page .zs-shop-shell {
    width: 100% !important;
    max-width: none !important;
  }
}
