/* ShopEngine — front. Neutralna baza; łatwa do przestylowania pod markę. */
:root{
  --ink:#141414;
  --ink-soft:#5a5a5a;
  --line:#e6e4df;
  --bg:#ffffff;
  --bg-soft:#f6f5f2;
  --accent:#1f6f5c;      /* stonowana zieleń — łatwo podmienić */
  --accent-ink:#ffffff;
  --danger:#b23b3b;
  --wrap:1160px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;color:var(--ink);background:var(--bg);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.55;font-size:16px;
}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
h1,h2,h3{line-height:1.2;font-weight:650;letter-spacing:-.01em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.muted{color:var(--ink-soft)}

/* Header */
.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);z-index:20}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;min-height:64px;padding:8px 0}
.brand{font-weight:750;font-size:1.15rem;letter-spacing:-.02em;margin-right:auto}
.brand:hover{text-decoration:none}
.main-nav{display:flex;gap:6px;flex:0 0 100%;order:3;flex-wrap:wrap;align-items:center;margin:0;padding-top:8px;border-top:1px solid var(--line)}
.nav-cat{position:relative}
.nav-cat-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;color:var(--ink-soft);font-size:.95rem;border-radius:6px;transition:color .15s ease,background .15s ease}
.nav-cat-link:hover{color:var(--ink);text-decoration:none;background:var(--bg-soft)}
.nav-cat .caret{font-size:.58rem;opacity:.5;transition:transform .22s ease}
.nav-cat:hover .caret{transform:rotate(180deg);opacity:.85}
/* rozwijane menu */
.nav-drop{position:absolute;top:100%;left:0;min-width:230px;padding-top:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:100}
.nav-cat:hover .nav-drop{opacity:1;visibility:visible;transform:translateY(0)}
.nav-drop-inner{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(20,20,20,.10);padding:10px;display:flex;flex-direction:column;gap:1px}
.nav-drop-inner a{padding:9px 14px;border-radius:7px;color:var(--ink-soft);font-size:.9rem;white-space:nowrap;transition:background .14s ease,color .14s ease}
.nav-drop-inner a:hover{background:var(--bg-soft);color:var(--ink);text-decoration:none}
.nav-drop-all{color:var(--accent)!important;font-weight:600;border-bottom:1px solid var(--line);border-radius:0!important;margin:0 6px 5px;padding-left:8px!important;padding-right:8px!important}
.cart-link{display:inline-flex;align-items:center;color:var(--ink);white-space:nowrap}
.cart-link:hover{color:var(--accent)}
.cart-ico{position:relative;display:inline-flex}
.cart-count{position:absolute;top:-6px;right:-7px;min-width:18px;height:18px;padding:0 5px;background:var(--accent);color:var(--accent-ink);border-radius:999px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}

/* Layout blocks */
.site-main{padding:34px 20px 60px}
.block{margin:44px 0}
.block h2{font-size:1.35rem;margin:0 0 18px}
.hero{padding:52px 0 30px;text-align:center}
.hero h1{font-size:2rem;margin:0 0 8px}
.hero-img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:12px;margin:0 auto}
.lead{color:var(--ink-soft);font-size:1.08rem;max-width:60ch;margin:0 auto}

/* Category chips */
.cat-strip{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.cat-chip{border:1px solid var(--line);padding:7px 14px;border-radius:2px;font-size:.9rem;background:var(--bg-soft)}
.cat-chip:hover{border-color:var(--ink);text-decoration:none}

/* Przeglądarka kategorii na stronie głównej */
.cat-browse{margin:28px 0}
.cat-tabs{display:flex;flex-wrap:wrap;gap:9px}
.cat-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 17px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.92rem;font-family:inherit;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}
.cat-tab:hover{border-color:var(--ink);text-decoration:none}
.cat-tab .caret{font-size:.6rem;opacity:.45;transition:transform .22s ease,opacity .18s ease}
.cat-tab.is-open{background:var(--ink);color:#fff;border-color:var(--ink)}
.cat-tab.is-open .caret{transform:rotate(180deg);opacity:.85}
.cat-panel{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .22s ease,margin-top .3s ease}
.cat-panel.is-open{max-height:500px;opacity:1;margin-top:14px}
.cat-panel-inner{display:flex;flex-wrap:wrap;gap:10px 26px;padding:20px 22px;background:var(--bg-soft);border-radius:12px}
.cat-panel-inner a{color:var(--ink-soft);font-size:.93rem;padding:3px 0;transition:color .15s ease}
.cat-panel-inner a:hover{color:var(--ink);text-decoration:none}
.cat-panel-inner a.all{color:var(--accent);font-weight:600;width:100%;margin-bottom:2px}

/* Product grid */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:26px}
.product-card{display:block}
.product-card:hover{text-decoration:none}
.product-thumb{aspect-ratio:1/1;background:var(--bg-soft);overflow:hidden;margin-bottom:12px}
.product-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.product-card:hover .product-thumb img{transform:scale(1.04)}
.product-card h3{font-size:1rem;font-weight:550;margin:0 0 6px}
.no-photo{display:flex;align-items:center;justify-content:center;height:100%;color:#b7b4ad;font-size:.85rem}
.no-photo.big{aspect-ratio:1/1}
.price{display:flex;gap:10px;align-items:baseline}
.price-now{font-weight:650}
.price-old{color:var(--ink-soft);text-decoration:line-through;font-size:.9em}

/* Product page */
.product-page{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:start}
.gallery-main{background:var(--bg-soft);aspect-ratio:1/1;overflow:hidden}
.gallery-main img{width:100%;height:100%;object-fit:cover}
.gallery-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.gallery-thumbs img{width:72px;height:72px;object-fit:cover;cursor:pointer;background:var(--bg-soft);border:1px solid transparent}
.gallery-thumbs img:hover{border-color:var(--ink)}
.product-info h1{font-size:1.7rem;margin:0 0 6px}
.sku{color:var(--ink-soft);font-size:.85rem;margin:0 0 16px}
.price-box{display:flex;gap:12px;align-items:baseline;margin:10px 0}
.price-now.big{font-size:1.7rem}
.vat-note{color:var(--ink-soft);font-size:.85rem}
.stock{font-size:.9rem;font-weight:600}
.stock.in{color:var(--accent)}
.stock.out{color:var(--danger)}
.short-desc{margin:16px 0;color:#333}
.add-form{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.qty-input{width:74px;padding:11px;border:1px solid var(--line);border-radius:2px;font-size:1rem}
.product-features,.product-desc{grid-column:1/-1;margin-top:20px}
.spec-table{width:100%;border-collapse:collapse}
.spec-table th,.spec-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table th{width:40%;font-weight:600;color:#333}
.desc-body{max-width:75ch;color:#2a2a2a}
.desc-body img{margin:14px 0}

/* Buttons */
.btn{display:inline-block;border:1px solid var(--ink);background:transparent;color:var(--ink);
  padding:11px 20px;border-radius:2px;cursor:pointer;font-size:.95rem;font-weight:600;transition:.15s}
.btn:hover{background:var(--ink);color:#fff;text-decoration:none}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{filter:brightness(.92);background:var(--accent);color:var(--accent-ink)}
.btn-block{display:block;width:100%;text-align:center}

/* Flash */
.flash{padding:12px 16px;border-radius:2px;margin:16px 0;font-size:.95rem}
.flash-ok{background:#e8f3ef;color:#1f6f5c;border:1px solid #bfe0d6}
.flash-err{background:#fbeaea;color:#a12f2f;border:1px solid #f0cccc}

/* Cart */
.cart-table{width:100%;border-collapse:collapse;margin:20px 0}
.cart-table th,.cart-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.cart-prod{display:flex;align-items:center;gap:12px}
.cart-prod img{width:56px;height:56px;object-fit:cover;background:var(--bg-soft)}
.link-danger{background:none;border:none;color:var(--danger);cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline}
.cart-foot{display:flex;align-items:center;gap:20px;justify-content:flex-end;flex-wrap:wrap}
.cart-total{font-size:1.15rem}

/* Checkout */
.checkout-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start;margin:20px auto 0;max-width:760px}
.checkout-form label{display:block;margin:0 0 14px;font-size:.9rem;color:#333}
.checkout-form input,.checkout-form textarea,.checkout-form select{
  width:100%;padding:11px;border:1px solid var(--line);border-radius:2px;font-size:1rem;margin-top:5px;font-family:inherit}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.checkout-form h2{font-size:1.15rem;margin:24px 0 12px}
.pay-methods{display:flex;flex-direction:column;gap:8px}
.pay-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:12px;border-radius:2px;cursor:pointer}
.checkout-summary{background:var(--bg-soft);padding:22px;border:1px solid var(--line)}
.checkout-summary h2{margin:0 0 14px;font-size:1.15rem}
.sum-lines{list-style:none;margin:0 0 14px;padding:0}
.sum-lines li{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;padding:5px 0;color:#444}
.sum-row{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--line)}
.sum-total{font-weight:700;font-size:1.1rem}
.checkout-summary .btn{margin-top:16px}

/* Thank you */
.thankyou{max-width:720px}
.pay-info{background:var(--bg-soft);padding:18px;border:1px solid var(--line);margin:18px 0}
.pay-info .bank{font-size:1.1rem;font-weight:700;letter-spacing:.02em}
.order-items{width:100%;border-collapse:collapse;margin:18px 0}
.order-items th,.order-items td{padding:10px;border-bottom:1px solid var(--line);text-align:left}

/* CMS */
.cms-page,.category-desc{max-width:75ch}
.cms-body{color:#2a2a2a}

/* Footer */
.site-footer{border-top:1px solid var(--line);color:var(--ink-soft)}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:40px 20px}
.footer-col h4{font-size:.95rem;margin:0 0 14px;font-weight:650;color:var(--ink);letter-spacing:-.01em}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin:0 0 9px}
.footer-col a{color:var(--ink-soft);font-size:.92rem}
.footer-col a:hover{color:var(--ink);text-decoration:none}
.footer-bottom{border-top:1px solid var(--line);padding:20px;font-size:.88rem;text-align:center}

@media(max-width:820px){
  .product-page{grid-template-columns:1fr}
  .related-grid{grid-template-columns:repeat(2,1fr)}
  .checkout-grid{grid-template-columns:1fr}
  .header-inner{flex-wrap:wrap;height:auto;padding:10px 0;gap:14px}
  .cart-link{margin-right:12px}
  .cart-count{top:-5px;right:-4px}
  .main-nav{order:3;width:100%;margin:0;gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .main-nav::-webkit-scrollbar{display:none}
  .nav-cat-link{white-space:nowrap}
  .nav-cat .caret{display:none}       /* brak rozwijania na dotyku — tap wchodzi w kategorię */
  .nav-drop{display:none}
  .footer-cols{grid-template-columns:1fr;gap:24px;padding:28px 20px}
}

/* Selektory wariantów na stronie produktu */
.variant-groups{margin:20px 0;border-top:1px solid var(--line)}
.variant-group{padding:16px 0;margin:0;border-bottom:1px solid var(--line)}
.variant-name{display:flex;align-items:center;gap:9px;font-weight:600;font-size:.95rem;margin:0 0 10px}
.variant-req{font-weight:400;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:999px}
.variant-req.is-req{background:#eef4f1;color:var(--accent)}
.variant-req.is-opt{background:var(--bg-soft);color:var(--ink-soft)}
.variant-options{display:flex;flex-wrap:wrap;gap:8px}
.variant-opt{position:relative}
.variant-opt input{position:absolute;opacity:0;pointer-events:none}
.variant-opt span{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:999px;font-size:.9rem;cursor:pointer;transition:border-color .15s,background .15s}
.variant-opt span em{color:var(--ink-soft);font-style:normal;font-size:.85rem}
.variant-opt input:checked + span{border-color:var(--ink);background:var(--ink);color:#fff}
.variant-opt input:checked + span em{color:#ccc}
.add-row{display:flex;gap:10px;align-items:stretch;margin-top:4px}
.add-row .btn-primary{flex:1;padding:15px 20px;font-size:1.05rem;font-weight:600}
.add-row .qty-input{width:70px;text-align:center}
.cart-variant{display:block;color:var(--ink-soft);font-size:.82rem;margin-top:2px}

/* Koszyk na telefonie: wiersze jako kafelki z etykietami */
@media(max-width:640px){
  .cart-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cart-table,.cart-table tbody,.cart-table tr,.cart-table td{display:block;width:100%}
  .cart-table tr{border:1px solid var(--line);border-radius:10px;margin:0 0 14px;padding:6px 12px}
  .cart-table td{border:none;padding:9px 0;text-align:right;display:flex;justify-content:space-between;align-items:center;gap:14px}
  .cart-table td::before{content:attr(data-label);font-weight:600;color:var(--ink-soft);text-align:left}
  .cart-prod{display:flex;text-align:left;gap:12px;border-bottom:1px solid var(--line)!important;padding-bottom:12px!important}
  .cart-prod::before{content:none}
  .cart-prod span{display:flex;flex-direction:column}
  .cart-remove{justify-content:flex-end}
  .cart-remove::before{content:none}
  .cart-table .qty-input{width:90px}
}

/* Próbki wariantów (kolor/obraz) */
.swatch-opt .variant-face{display:inline-flex;align-items:center;gap:9px;padding-left:9px}
.variant-face{display:inline-flex;align-items:center}
.swatch{display:inline-block;width:22px;height:22px;min-width:22px;border-radius:50%;background-size:cover;background-position:center;border:1px solid rgba(0,0,0,.2);flex:none;vertical-align:middle}
.variant-opt input:checked + .variant-face .swatch{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--ink)}

/* Powiększenie próbki po najechaniu (tylko mysz) */
.swatch{transition:transform .18s ease,box-shadow .18s ease}
@media (hover:hover){.variant-opt:hover .swatch{transform:scale(2);box-shadow:0 6px 18px rgba(0,0,0,.28);position:relative;z-index:6}}

/* Link „realizacja" w stopce */
.footer-credit{color:var(--ink-soft)}
.footer-credit:hover{color:var(--ink)}

/* Polecane produkty pod kartą */
.product-related{grid-column:1/-1;margin:36px 0 8px}
.product-related h2{margin:0 0 16px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

/* Zgoda na regulamin w checkout */
.consent{display:flex;gap:9px;align-items:flex-start;margin:14px 0;font-size:.9rem;line-height:1.45;color:var(--ink)}
.consent input{margin-top:3px;flex:0 0 auto}
.consent a{text-decoration:underline;color:#1a6fd4}

/* Zgoda operatora płatności (np. Przelewy24) pod metodami */
.checkout-form input[type=checkbox],.checkout-form input[type=radio]{width:auto;flex:0 0 auto;margin:0}
.consent-gateway{display:flex;gap:9px;align-items:flex-start;text-align:left;line-height:1.45;margin:12px 0 0;padding:11px 13px;background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;font-size:.88rem;color:var(--ink)}
.consent-gateway span{flex:1 1 auto}
.consent-gateway a{text-decoration:underline;color:#1a6fd4}
