/*
Theme Name: YOGA BAG
Theme URI: https://yoga-bag.com
Author: ECM / Kris
Description: Minimalistyczny, premium motyw WooCommerce dla sklepu afiliacyjnego YOGA BAG. Inspiracja estetyką Lululemon — dużo światła, czysta typografia, mocne kontrasty, duże zdjęcia lifestyle. Zbudowany od zera, bez zależności od Kadence.
Version: 1.2.3
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: yoga-bag
WC requires at least: 8.0
WC tested up to: 9.9
*/

/* ============================================================
   YOGA BAG — Design System
   ============================================================ */
:root{
  /* Kolory */
  --yb-ink:#111110;          /* prawie-czerń, tekst */
  --yb-ink-soft:#5b5b57;     /* tekst drugorzędny */
  --yb-ink-mute:#8d8d87;     /* podpisy, meta */
  --yb-white:#ffffff;
  --yb-cream:#f6f4ef;        /* ciepła jasna sekcja */
  --yb-cream-2:#efece4;      /* mocniejsze tło */
  --yb-line:#e5e2da;         /* linie/obramowania */
  --yb-red:#d81f34;          /* akcent (promo, badge) — sygnaturowa czerwień */
  --yb-red-ink:#b4152a;
  --yb-sage:#6f7a5a;         /* subtelny wellness zielony */
  --yb-gold:#b08d4f;         /* premium akcent */

  /* Typografia */
  --yb-font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --yb-tracking: .02em;

  /* Layout */
  --yb-max:1360px;
  --yb-gut:clamp(18px,4vw,44px);
  --yb-radius:4px;
  --yb-radius-lg:10px;
  --yb-shadow:0 2px 24px rgba(17,17,16,.07);
  --yb-shadow-hover:0 12px 40px rgba(17,17,16,.13);
  --yb-header-h:70px;
  --yb-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Reset / bazowe ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.yb{
  margin:0;
  font-family:var(--yb-font);
  font-size:16px;
  line-height:1.65;
  color:var(--yb-ink);
  background:var(--yb-white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .2s var(--yb-ease),opacity .2s var(--yb-ease)}
a:hover{color:var(--yb-ink-soft)}
button{font-family:inherit}
h1,h2,h3,h4,h5{margin:0 0 .5em;font-weight:800;line-height:1.08;letter-spacing:-.01em}
p{margin:0 0 1em}
ul{margin:0;padding:0}

.yb-wrap{max-width:var(--yb-max);margin:0 auto;padding-inline:var(--yb-gut)}
.yb-narrow{max-width:820px;margin-inline:auto}
.yb-eyebrow{
  font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--yb-red);margin:0 0 14px;display:inline-block;
}
.yb-sub{color:var(--yb-ink-soft);font-size:1.05rem;max-width:60ch}

/* ---------- Przyciski ---------- */
.yb-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-weight:700;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;
  padding:16px 30px;border-radius:999px;border:1.5px solid var(--yb-ink);
  background:var(--yb-ink);color:var(--yb-white);cursor:pointer;
  transition:transform .25s var(--yb-ease),background .25s,color .25s,border-color .25s,box-shadow .25s;
  line-height:1;white-space:nowrap;
}
.yb-btn:hover{background:#000;color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(17,17,16,.25)}
.yb-btn--ghost{background:transparent;color:var(--yb-ink)}
.yb-btn--ghost:hover{background:var(--yb-ink);color:#fff}
.yb-btn--light{background:#fff;color:var(--yb-ink);border-color:#fff}
.yb-btn--light:hover{background:transparent;color:#fff;border-color:#fff}
.yb-btn--red{background:var(--yb-red);border-color:var(--yb-red);color:#fff}
.yb-btn--red:hover{background:var(--yb-red-ink);border-color:var(--yb-red-ink)}
.yb-btn--sm{padding:12px 22px;font-size:.78rem}
.yb-link-underline{
  font-weight:700;letter-spacing:.04em;border-bottom:2px solid var(--yb-ink);padding-bottom:3px;
}
.yb-link-underline:hover{color:var(--yb-red);border-color:var(--yb-red)}

/* ============================================================
   TOP BAR + HEADER
   ============================================================ */
.yb-topbar{
  background:var(--yb-ink);color:#fff;text-align:center;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  padding:9px 16px;
}
.yb-topbar a{color:#fff;border-bottom:1px solid rgba(255,255,255,.5)}

.yb-header{
  position:sticky;top:0;z-index:200;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--yb-line);
  transition:box-shadow .3s var(--yb-ease);
}
.yb-header.is-stuck{box-shadow:0 6px 24px rgba(17,17,16,.07)}
.yb-header__inner{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  height:var(--yb-header-h);gap:20px;
}
.yb-nav{display:flex;gap:26px;align-items:center;flex-wrap:nowrap;white-space:nowrap}
.yb-nav a{
  font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  position:relative;padding:6px 0;
}
.yb-nav a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--yb-ink);
  transition:width .3s var(--yb-ease);
}
.yb-nav a:hover::after,.yb-nav .current-menu-item>a::after{width:100%}
.yb-brand{
  justify-self:center;text-align:center;font-weight:800;letter-spacing:.28em;
  font-size:1.35rem;text-transform:uppercase;color:var(--yb-ink);white-space:nowrap;
}
.yb-brand span{color:var(--yb-red)}
.yb-brand img{max-height:40px;width:auto}
.yb-header__actions{display:flex;justify-content:flex-end;align-items:center;gap:20px}
.yb-iconbtn{
  background:none;border:0;padding:4px;cursor:pointer;color:var(--yb-ink);
  display:inline-flex;position:relative;line-height:0;
}
.yb-iconbtn:hover{color:var(--yb-red)}
.yb-iconbtn svg{width:22px;height:22px}
.yb-cart-count{
  position:absolute;top:-6px;right:-8px;background:var(--yb-red);color:#fff;
  font-size:10px;font-weight:800;min-width:16px;height:16px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;padding:0 4px;
}
.yb-burger{display:none}

/* Pasek kategorii — osobny wiersz pod logo */
.yb-catbar{border-top:1px solid var(--yb-line);background:rgba(255,255,255,.85)}
.yb-catnav{padding:11px 0}
.yb-catmenu{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  column-gap:clamp(16px,2vw,30px);row-gap:6px;
}
.yb-catmenu li{position:relative}
.yb-catmenu a{
  display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--yb-ink-soft);white-space:nowrap;position:relative;padding:5px 0;
}
.yb-catmenu > li > a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--yb-ink);transition:width .3s var(--yb-ease)}
.yb-catmenu a:hover{color:var(--yb-ink)}
.yb-catmenu > li:hover > a::after,
.yb-catmenu .current-menu-item > a::after,
.yb-catmenu .current-menu-parent > a::after{width:100%}
.yb-catmenu .current-menu-item > a,
.yb-catmenu .current-menu-parent > a{color:var(--yb-ink)}
/* podmenu rozwijane na hover */
.yb-catmenu .sub-menu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  min-width:210px;background:#fff;border:1px solid var(--yb-line);border-radius:var(--yb-radius);
  box-shadow:var(--yb-shadow);padding:8px 0;margin:0;list-style:none;z-index:220;
  opacity:0;visibility:hidden;transition:opacity .2s var(--yb-ease),transform .2s var(--yb-ease);
}
.yb-catmenu li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.yb-catmenu .sub-menu li{width:100%}
.yb-catmenu .sub-menu a{display:block;padding:9px 20px;letter-spacing:.04em}
.yb-catmenu .sub-menu a::after{display:none}
.yb-catmenu .menu-item-has-children > a::before{content:"";}

/* Mobile drawer */
.yb-drawer{
  position:fixed;inset:0 30% 0 0;background:#fff;z-index:400;padding:28px var(--yb-gut);
  transform:translateX(-105%);transition:transform .4s var(--yb-ease);
  display:flex;flex-direction:column;box-shadow:8px 0 40px rgba(0,0,0,.15);
}
.yb-drawer.open{transform:translateX(0)}
.yb-drawer a{font-size:1.1rem;font-weight:700;padding:14px 0;border-bottom:1px solid var(--yb-line);text-transform:uppercase;letter-spacing:.04em}
.yb-overlay{position:fixed;inset:0;background:rgba(17,17,16,.4);z-index:390;opacity:0;visibility:hidden;transition:.3s}
.yb-overlay.open{opacity:1;visibility:visible}
.yb-drawer__close{align-self:flex-end;background:none;border:0;font-size:1.6rem;cursor:pointer;margin-bottom:10px}

/* Search overlay */
.yb-search{
  position:fixed;top:0;left:0;right:0;background:#fff;z-index:410;padding:28px var(--yb-gut);
  transform:translateY(-105%);transition:transform .4s var(--yb-ease);border-bottom:1px solid var(--yb-line);
}
.yb-search.open{transform:translateY(0)}
.yb-search form{display:flex;gap:14px;max-width:var(--yb-max);margin:0 auto;align-items:center}
.yb-search input[type=search]{
  flex:1;border:0;border-bottom:2px solid var(--yb-ink);font-size:1.5rem;padding:12px 4px;
  font-family:inherit;background:transparent;outline:none;
}
.yb-search input::placeholder{color:var(--yb-ink-mute)}

/* ============================================================
   HERO
   ============================================================ */
.yb-hero{position:relative;min-height:clamp(520px,82vh,780px);display:flex;align-items:flex-end;overflow:hidden;background:var(--yb-cream-2)}
.yb-hero__media{position:absolute;inset:0}
.yb-hero__media img{width:100%;height:100%;object-fit:cover}
.yb-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.05) 45%,rgba(0,0,0,.55) 100%)}
.yb-hero__inner{position:relative;z-index:2;color:#fff;padding:0 var(--yb-gut) clamp(44px,7vw,80px);max-width:var(--yb-max);margin:0 auto;width:100%}
.yb-hero__eyebrow{color:#fff;opacity:.9}
.yb-hero h1{
  font-size:clamp(2.6rem,7vw,5.4rem);font-weight:800;letter-spacing:-.02em;line-height:.98;
  max-width:16ch;text-shadow:0 2px 30px rgba(0,0,0,.25);
}
.yb-hero p{font-size:clamp(1rem,1.6vw,1.2rem);max-width:46ch;margin:18px 0 30px;opacity:.95}
.yb-hero__cta{display:flex;gap:14px;flex-wrap:wrap}

/* ============================================================
   SECTION SCAFFOLD
   ============================================================ */
.yb-section{padding:clamp(56px,9vw,110px) 0}
.yb-section--cream{background:var(--yb-cream)}
.yb-section--ink{background:var(--yb-ink);color:#fff}
.yb-section--tight{padding:clamp(40px,6vw,70px) 0}
.yb-shead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(28px,4vw,48px);flex-wrap:wrap}
.yb-shead h2{font-size:clamp(1.8rem,3.6vw,3rem);margin:0}
.yb-shead--center{flex-direction:column;align-items:center;text-align:center}
.yb-shead--center .yb-sub{margin-inline:auto}

/* ============================================================
   KATEGORIE — kafle
   ============================================================ */
.yb-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,22px)}
.yb-cat{position:relative;overflow:hidden;border-radius:var(--yb-radius-lg);aspect-ratio:3/4;background:var(--yb-cream-2);display:block}
.yb-cat img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--yb-ease)}
.yb-cat:hover img{transform:scale(1.06)}
.yb-cat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.6) 100%)}
.yb-cat__label{position:absolute;left:22px;bottom:20px;z-index:2;color:#fff}
.yb-cat__label strong{display:block;font-size:1.4rem;font-weight:800;letter-spacing:.01em}
.yb-cat__label span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;display:inline-flex;align-items:center;gap:6px}
.yb-cat--tall{grid-row:span 1}

/* ============================================================
   PRODUKTY — siatka i karta
   ============================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products,.yb-products{
  list-style:none;margin:0 !important;padding:0;display:grid !important;
  grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,28px);
}
ul.products::before,ul.products::after{display:none !important;content:none}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product,.yb-card{
  list-style:none;position:relative;
  width:auto !important;float:none !important;clear:none !important;margin:0 !important;
  /* delikatny boks */
  display:flex;flex-direction:column;
  background:var(--yb-white);border:1px solid var(--yb-line);
  border-radius:var(--yb-radius-lg);padding:12px 12px 16px;
  transition:box-shadow .3s var(--yb-ease),transform .3s var(--yb-ease),border-color .3s;
}
.woocommerce ul.products li.product:hover,
ul.products li.product:hover,.yb-card:hover{
  box-shadow:var(--yb-shadow-hover);transform:translateY(-4px);border-color:#dcd8ce;
}
/* wewnątrz boksu */
ul.products li.product .yb-card__mediawrap,
.yb-card .yb-card__mediawrap{margin-bottom:14px}
ul.products li.product .price,.yb-card__price{margin-bottom:14px}
/* przycisk zawsze na dole boksu → równe wysokości */
ul.products li.product .button,.yb-card .button{margin-top:auto}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title{padding:0}
.yb-card__media,li.product a img,ul.products li.product img{
  width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;
  border-radius:var(--yb-radius);margin:0;transition:transform .5s var(--yb-ease);
}
.yb-card__mediawrap{
  position:relative;overflow:hidden;border-radius:var(--yb-radius-lg);display:block;
  background:#fff;padding:8px;aspect-ratio:1/1;
}
.yb-card__mediawrap img{width:100%;height:100%;object-fit:contain}
.yb-card__mediawrap:hover img{transform:scale(1.05)}
.yb-badge{
  position:absolute;top:12px;left:12px;z-index:3;background:var(--yb-ink);color:#fff;
  font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 11px;border-radius:999px;
}
.yb-badge--sale{background:var(--yb-red)}
.yb-badge--amazon{background:#fff;color:var(--yb-ink);border:1px solid var(--yb-line)}
li.product .woocommerce-loop-product__title,.yb-card__title{
  font-size:.98rem;font-weight:700;line-height:1.35;margin:0 0 6px;
  color:var(--yb-ink);letter-spacing:-.005em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
li.product .price,.yb-card__price{
  font-size:1rem;font-weight:800;color:var(--yb-ink);display:block;margin:0 0 12px;
}
li.product .price del{color:var(--yb-ink-mute);font-weight:500;margin-right:8px}
li.product .price ins{text-decoration:none;color:var(--yb-red)}
.yb-card__meta{font-size:.74rem;color:var(--yb-ink-mute);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}

/* przycisk „Zobacz produkt" w kartach (funnel → karta produktu) */
ul.products li.product .button,
.yb-card .button,
.yb-view-btn,
.yb-amazon-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;width:100%;
  background:var(--yb-ink);color:#fff !important;font-weight:700;font-size:.8rem;
  letter-spacing:.05em;text-transform:uppercase;padding:13px 16px;border-radius:999px;
  border:1.5px solid var(--yb-ink);transition:transform .25s var(--yb-ease),background .25s,box-shadow .25s;text-align:center;
}
ul.products li.product .button:hover,.yb-card .button:hover,.yb-view-btn:hover,.yb-amazon-btn:hover{
  background:#000;border-color:#000;color:#fff !important;transform:translateY(-2px);box-shadow:0 8px 20px rgba(17,17,16,.24);
}
ul.products li.product .added_to_cart{display:none}

/* ============================================================
   WPISY / PORADNIK
   ============================================================ */
.yb-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,34px)}
.yb-post{display:flex;flex-direction:column}
.yb-post__media{display:block;border-radius:var(--yb-radius-lg);overflow:hidden;aspect-ratio:4/3;background:var(--yb-cream)}
.yb-post__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--yb-ease)}
.yb-post:hover .yb-post__media img{transform:scale(1.05)}
.yb-post__body{padding-top:15px;display:flex;flex-direction:column;flex:1}
.yb-post__meta{font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;color:var(--yb-ink-mute)}
.yb-post__title{font-size:1.12rem;line-height:1.3;margin:8px 0 9px;font-weight:800;letter-spacing:-.01em}
.yb-post__title a:hover{color:var(--yb-red)}
.yb-post__excerpt{font-size:.92rem;color:var(--yb-ink-soft);line-height:1.6;margin:0 0 14px}
.yb-post__link{margin-top:auto;font-weight:700;font-size:.84rem;color:var(--yb-ink);border-bottom:2px solid var(--yb-ink);padding-bottom:2px;align-self:flex-start}
.yb-post__link:hover{color:var(--yb-red);border-color:var(--yb-red)}

/* Przycisk „Joga – wasze pytania" przy koszyku */
.yb-qa-btn{
  display:inline-flex;align-items:center;gap:.4em;white-space:nowrap;
  font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:9px 16px;border:1.5px solid var(--yb-ink);border-radius:999px;color:var(--yb-ink);
  transition:background .25s var(--yb-ease),color .25s,transform .25s;
}
.yb-qa-btn:hover{background:var(--yb-ink);color:#fff;transform:translateY(-1px)}

/* ============================================================
   SPLIT / EDITORIAL
   ============================================================ */
.yb-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,5vw,70px)}
.yb-split--rev .yb-split__media{order:2}
.yb-split__media{border-radius:var(--yb-radius-lg);overflow:hidden;aspect-ratio:4/5;background:var(--yb-cream-2)}
.yb-split__media img{width:100%;height:100%;object-fit:cover}
.yb-split__body h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.yb-split__body .yb-sub{margin-bottom:26px}
.yb-feature-list{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:14px}
.yb-feature-list li{display:flex;gap:12px;align-items:flex-start;font-size:.98rem;color:var(--yb-ink-soft)}
.yb-feature-list li::before{content:"";flex:0 0 22px;height:22px;border-radius:50%;background:var(--yb-cream-2);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f7a5a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  background-size:14px;background-position:center;background-repeat:no-repeat;margin-top:2px}

/* ============================================================
   PASEK KORZYŚCI
   ============================================================ */
.yb-usps{border-top:1px solid var(--yb-line);border-bottom:1px solid var(--yb-line)}
.yb-usps__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.yb-usp{display:flex;gap:14px;align-items:center;padding:26px 24px;border-right:1px solid var(--yb-line)}
.yb-usp:last-child{border-right:0}
.yb-usp svg{width:28px;height:28px;flex:0 0 28px;stroke:var(--yb-ink)}
.yb-usp strong{display:block;font-size:.92rem;font-weight:800;letter-spacing:.01em}
.yb-usp span{font-size:.8rem;color:var(--yb-ink-mute)}

/* ============================================================
   NEWSLETTER / EBOOK
   ============================================================ */
.yb-cta-band{background:var(--yb-ink);color:#fff;border-radius:var(--yb-radius-lg);padding:clamp(40px,6vw,72px);text-align:center;position:relative;overflow:hidden}
.yb-cta-band h2{font-size:clamp(1.8rem,3.4vw,2.8rem);color:#fff}
.yb-cta-band p{color:rgba(255,255,255,.8);max-width:52ch;margin-inline:auto}
.yb-cta-band .yb-eyebrow{color:#fff;opacity:.7}

/* ============================================================
   FOOTER
   ============================================================ */
.yb-footer{background:var(--yb-ink);color:#cfcfca;padding:clamp(56px,7vw,84px) 0 30px;font-size:.92rem}
.yb-footer a{color:#cfcfca}
.yb-footer a:hover{color:#fff}
/* Przycisk „Gotowy sklep internetowy" — czarne litery na białym tle */
.yb-footer a.yb-btn--light{color:var(--yb-ink)}
.yb-footer a.yb-btn--light:hover{color:#fff}
.yb-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.12)}
.yb-footer__brand{font-weight:800;letter-spacing:.28em;font-size:1.3rem;text-transform:uppercase;color:#fff;margin-bottom:16px}
.yb-footer__brand span{color:var(--yb-red)}
.yb-footer h4{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.yb-footer ul li{margin-bottom:10px;list-style:none}
.yb-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:26px;flex-wrap:wrap;font-size:.82rem;color:#8f8f8a}
.yb-footer__social{display:flex;gap:14px}
.yb-footer__social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:flex;align-items:center;justify-content:center}
.yb-footer__social a:hover{background:#fff;color:var(--yb-ink)}
.yb-footer__social svg{width:17px;height:17px}
.yb-affiliate-note{font-size:.78rem;color:#77776f;max-width:70ch;margin-top:14px;line-height:1.6}

/* ============================================================
   WOOCOMMERCE — archiwum / single
   ============================================================ */
.woocommerce-breadcrumb{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--yb-ink-mute);margin-bottom:20px}
.woocommerce-breadcrumb a{color:var(--yb-ink-soft)}
.yb-archive-hero{background:var(--yb-cream);padding:clamp(40px,6vw,72px) 0;text-align:center;margin-bottom:clamp(30px,4vw,50px)}
.yb-archive-hero h1{font-size:clamp(2rem,4.5vw,3.4rem);margin:0 0 12px}
/* Kontener treści sklepu — nigdy full-width */
.yb-woo{padding-block:clamp(28px,4vw,54px)}
.woocommerce-page .content-area,
.woocommerce-page .site-main{max-width:var(--yb-max);margin-inline:auto;width:100%}
.woocommerce-result-count{margin:0 0 18px}
.woocommerce-ordering{margin:0 0 18px}
.woocommerce-result-count{color:var(--yb-ink-mute);font-size:.85rem}
.woocommerce-ordering select{border:1.5px solid var(--yb-line);border-radius:999px;padding:10px 18px;font-family:inherit;font-weight:600;font-size:.82rem;background:#fff}

/* ---------- Stronicowanie (Woo + WP blog) ---------- */
.woocommerce-pagination,
.yb-woo nav.woocommerce-pagination,
.pagination,nav.pagination{
  margin-top:clamp(30px,4vw,52px);text-align:center;border:0;width:100%;
}
.woocommerce-pagination ul,
.woocommerce-pagination ul.page-numbers,
.pagination .nav-links{
  display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;
  list-style:none;margin:0;padding:0;border:0;
}
.woocommerce-pagination ul li{margin:0;border:0}
.woocommerce-pagination .page-numbers,
.pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:46px;height:46px;padding:0 12px;border-radius:999px;
  border:1.5px solid var(--yb-line);background:#fff;color:var(--yb-ink);
  font-weight:700;font-size:.92rem;line-height:1;text-decoration:none;
  transition:background .2s var(--yb-ease),color .2s,border-color .2s,transform .2s;
}
.woocommerce-pagination a.page-numbers:hover,
.pagination a.page-numbers:hover{background:var(--yb-ink);border-color:var(--yb-ink);color:#fff;transform:translateY(-2px)}
.woocommerce-pagination .page-numbers.current,
.pagination .page-numbers.current{background:var(--yb-ink);border-color:var(--yb-ink);color:#fff}
.woocommerce-pagination .page-numbers.dots,
.pagination .page-numbers.dots{border-color:transparent;background:none;min-width:24px;padding:0}
.woocommerce-pagination .page-numbers.dots:hover,
.pagination .page-numbers.dots:hover{background:none;color:var(--yb-ink);transform:none}

/* single product */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,60px);align-items:start}

/* --- GALERIA: duże zdjęcie główne + miniatury --- */
.single-product .woocommerce-product-gallery{width:100% !important;max-width:520px;float:none !important;margin:0;position:relative}
.single-product .woocommerce-product-gallery__wrapper{margin:0}
.single-product .woocommerce-product-gallery .flex-viewport{
  border-radius:var(--yb-radius-lg);overflow:hidden;background:#fff;border:1px solid var(--yb-line);
}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a{display:block}
.single-product .woocommerce-product-gallery__image img{
  width:100% !important;height:auto;display:block;border-radius:var(--yb-radius-lg);
}
.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img{border-radius:0}
/* bez lupki — powiększenie po kliknięciu zdjęcia */
.single-product .woocommerce-product-gallery__trigger{display:none !important}
.single-product .woocommerce-product-gallery__image > a{cursor:zoom-in}
/* miniatury */
.single-product .flex-control-thumbs{
  display:grid !important;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0 0 !important;padding:0 !important;list-style:none;
}
.single-product .flex-control-thumbs li{margin:0 !important;width:auto !important;float:none !important}
.single-product .flex-control-thumbs img{
  width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;border:1px solid var(--yb-line);
  cursor:pointer;opacity:.6;transition:opacity .2s,border-color .2s;
}
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover{opacity:1;border-color:var(--yb-ink)}

/* --- PODSUMOWANIE (prawa kolumna) --- */
/* Woo narzuca .summary{width:48%;float:right} — wymuszamy pełną szerokość kolumny */
.single-product .entry-summary,
.single-product div.product .summary{
  width:100% !important;float:none !important;margin:0 !important;
  padding-left:clamp(0px,1.6vw,28px);
}
.single-product .product_title{font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.2;margin:0 0 14px;font-weight:800;letter-spacing:-.01em}
.single-product .price{font-size:1.6rem !important;font-weight:800;color:var(--yb-ink);margin-bottom:20px}
.single-product .price del{color:var(--yb-ink-mute);font-weight:500}
.single-product .price ins{text-decoration:none;color:var(--yb-red)}
.single-product .single_add_to_cart_button,
.single-product .product .button,
.single-product a.button.product_type_external{
  background:var(--yb-red) !important;border-color:var(--yb-red) !important;color:#fff !important;
  font-size:.95rem;padding:18px 34px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;
  display:inline-flex;align-items:center;gap:.5em;
}
.single-product a.button.product_type_external:hover{background:var(--yb-red-ink) !important;border-color:var(--yb-red-ink) !important;transform:translateY(-2px)}
/* Opis produktu — bez zakładek i bez nagłówka „Opis", sam tekst */
.single-product .woocommerce-tabs{display:none !important}
.single-product .yb-product-desc{
  grid-column:1/-1;margin-top:30px;border-top:1px solid var(--yb-line);padding-top:30px;
  font-size:1.02rem;line-height:1.8;color:var(--yb-ink-soft);max-width:900px;
}
.single-product .yb-product-desc h2,
.single-product .yb-product-desc h3{color:var(--yb-ink)}
.single-product .yb-product-desc img{border-radius:var(--yb-radius);margin:1em 0}
.related.products{grid-column:1/-1;margin-top:40px}
.related.products>h2{font-size:1.6rem;margin-bottom:24px}
.stock,.yb-stock{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--yb-sage);font-weight:700}
.yb-single-cta{margin:6px 0 18px}
.single-product .yb-amazon-single{
  background:var(--yb-red) !important;border-color:var(--yb-red) !important;color:#fff !important;
  font-size:.95rem;padding:18px 34px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;
  display:inline-flex;align-items:center;gap:.5em;
}
.single-product .yb-amazon-single:hover{background:var(--yb-red-ink) !important;border-color:var(--yb-red-ink) !important;transform:translateY(-2px)}
.yb-cta-note{font-size:.8rem;color:var(--yb-ink-mute);margin:10px 0 0}

/* WooCommerce notices/messages minimal */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top:3px solid var(--yb-sage);background:var(--yb-cream);padding:16px 20px;border-radius:var(--yb-radius);list-style:none;
}
.woocommerce-message .button{background:var(--yb-ink)!important;color:#fff!important}

/* ============================================================
   PAGE / POST typografia
   ============================================================ */
.yb-page{padding:clamp(40px,6vw,80px) 0}
.yb-page__header{text-align:center;margin-bottom:clamp(30px,4vw,50px)}
.yb-page__header h1{font-size:clamp(2rem,4.5vw,3.4rem)}
.yb-content{font-size:1.06rem;line-height:1.8;color:var(--yb-ink-soft)}
.yb-content h2{font-size:1.7rem;margin-top:1.6em;color:var(--yb-ink)}
.yb-content h3{font-size:1.3rem;margin-top:1.4em;color:var(--yb-ink)}
.yb-content a{color:var(--yb-red);border-bottom:1px solid currentColor}
.yb-content img{border-radius:var(--yb-radius-lg);margin:1.5em 0}
.yb-content blockquote{border-left:3px solid var(--yb-sage);margin:1.5em 0;padding:.4em 0 .4em 1.4em;font-style:italic;color:var(--yb-ink)}

/* ============================================================
   RESPONSYWNOŚĆ
   ============================================================ */
@media(max-width:1024px){
  .woocommerce ul.products,.woocommerce-page ul.products,ul.products,.yb-products{grid-template-columns:repeat(3,1fr)}
  .yb-posts{grid-template-columns:repeat(2,1fr)}
  .yb-footer__grid{grid-template-columns:1fr 1fr}
  .single-product div.product{grid-template-columns:1fr}
  .single-product div.product .woocommerce-product-gallery{position:static}
}
@media(max-width:860px){
  :root{--yb-header-h:62px}
  .yb-nav{display:none}
  .yb-catbar{display:none}
  .yb-qa-btn{display:none}
  .yb-burger{display:inline-flex}
  .yb-header__inner{grid-template-columns:auto 1fr auto}
  .yb-brand{justify-self:center}
  .yb-cats{grid-template-columns:1fr 1fr}
  .yb-usps__grid{grid-template-columns:1fr 1fr}
  .yb-usp:nth-child(2){border-right:0}
  .yb-usp{border-bottom:1px solid var(--yb-line)}
  .yb-split{grid-template-columns:1fr}
  .yb-split--rev .yb-split__media{order:0}
}
@media(max-width:560px){
  .woocommerce ul.products,.woocommerce-page ul.products,ul.products,.yb-products{grid-template-columns:1fr 1fr;gap:14px}
  .yb-posts{grid-template-columns:1fr}
  .yb-cats{grid-template-columns:1fr 1fr;gap:10px}
  .yb-footer__grid{grid-template-columns:1fr}
  .yb-usps__grid{grid-template-columns:1fr}
  .yb-usp{border-right:0}
  .yb-hero{min-height:78vh}
  .yb-drawer{inset:0 12% 0 0}
}

/* utility */
.yb-hide{display:none!important}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.yb-mt0{margin-top:0}
.yb-center{text-align:center}
