/*
Theme Name: GeneratePress Child - UTILIQ
Theme URI: https://utiliq.pl
Description: Ultra-light single-product WooCommerce storefront. Square-catalog design language, dashed "scratch" motif, global color tokens driven by the Customizer.
Author: UTILIQ
Template: generatepress
Version: 0.1.1
Text Domain: generatepress-child
*/

/* ============================================================
   1. DESIGN TOKENS
   Defaults below; the Customizer (Appearance > Customize >
   UTILIQ - kolory marki) overrides them via an inline :root
   block, so every section repaints from one place.
   ============================================================ */
:root{
  --uq-cream:#f6f1e8;
  --uq-cream-deep:#ede4d3;
  --uq-paper:#fdfaf4;
  --uq-ink:#241b13;
  --uq-ink-soft:#6e6154;
  --uq-brown:#77503a;
  --uq-brown-deep:#43301f;
  --uq-line:#d8c9b2;
  --uq-line-strong:#241b13;
  --uq-cta:#e0702f;
  --uq-amber:#dd9d33;
  --uq-ok:#587753;
  --uq-bad:#a8613c;

  /* derived / static */
  --uq-cta-hover:color-mix(in srgb, var(--uq-cta), #000 12%);
  /* Hierarchy: the big PRIMARY buttons keep the clean vivid CTA; the small
     accents (offer badges, selected-pack outline, -% chip) step one tone
     DEEPER so the button stays the brightest, largest element. Deepened
     with black (not ink) to avoid a muddy brown - stays a clean orange and
     still follows a re-tinted palette. */
  --uq-cta-deep:color-mix(in srgb, var(--uq-cta), #000 15%);
  --uq-dash:1px dashed color-mix(in srgb, var(--uq-line), var(--uq-brown) 35%);
  --uq-r:4px;
  --uq-maxw:1400px;

  --uq-font-logo:"Syne",sans-serif;
  --uq-font-display:"Bricolage Grotesque",sans-serif;
  --uq-font-body:"Hanken Grotesk",-apple-system,"Segoe UI",sans-serif;
  --uq-font-mono:"IBM Plex Mono",ui-monospace,monospace;
}

/* ============================================================
   2. BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
body{
  font-family:var(--uq-font-body);
  color:var(--uq-ink);
  background:var(--uq-cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--uq-font-display);font-weight:600;line-height:1.08;letter-spacing:-.02em;color:var(--uq-ink)}
h1 em,h2 em,h3 em{font-style:normal;color:var(--uq-brown)}
a{color:inherit}
/* Line-break hygiene: even out heading lines and stop paragraph orphans, so
   short words never dangle at a line end (paired with uq_nbsp on the server). */
h1,h2,h3,h4{text-wrap:balance}
p,li,figcaption,.uq-lead,blockquote{text-wrap:pretty}
/* Inline editing marks from the WYSIWYG toolbar (italic / strike / highlight):
   the highlighter uses a soft brand amber so "zakreslanie" reads on-brand. */
mark{background:color-mix(in srgb, var(--uq-amber) 48%, transparent);color:inherit;padding:.02em .12em;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
s,del{text-decoration-thickness:.09em}
:is(h1,h2,h3,h4) mark{background:color-mix(in srgb, var(--uq-amber) 42%, transparent)}

/* Brand-consistent replacements for the browser's default UI colours, so
   nothing ever pops in the stock blue/grey: text selection, keyboard focus
   ring, the mobile tap flash, autofilled inputs and placeholders. */
::selection{background:color-mix(in srgb, var(--uq-cta) 26%, transparent)}
html{-webkit-tap-highlight-color:color-mix(in srgb, var(--uq-cta) 16%, transparent);accent-color:var(--uq-cta)}
a:focus-visible,button:focus-visible,summary:focus-visible,[role="button"]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--uq-cta);outline-offset:2px;border-radius:3px}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--uq-ink);-webkit-box-shadow:0 0 0 40px var(--uq-paper) inset;caret-color:var(--uq-ink)}
::placeholder{color:color-mix(in srgb, var(--uq-ink-soft) 72%, transparent);opacity:1}

/* GeneratePress container neutralization: blocks manage their own width */
.site-content .content-area{width:100%}
.entry-content{margin-top:0}
.entry-content > *{max-width:none}

/* ============================================================
   3. SHARED UTILITIES (used by header, footer and all blocks)
   ============================================================ */
.uq-container{max-width:var(--uq-maxw);margin:0 auto;padding:0 clamp(20px,3vw,44px)}
.uq-section{padding:96px 0}
.uq-section--paper{background:var(--uq-paper);border-top:var(--uq-dash);border-bottom:var(--uq-dash)}
.uq-sec-head{text-align:center;margin-bottom:52px}
.uq-sec-head h2{font-size:clamp(1.8rem,3.6vw,2.7rem);margin:0 0 .4em}
.uq-overline{display:block;font-family:var(--uq-font-mono);font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--uq-brown);margin-bottom:16px}
.uq-lead{font-size:1.06rem;color:var(--uq-ink-soft);max-width:58ch}
.uq-sec-head .uq-lead{margin:14px auto 0}
.uq-muted{color:var(--uq-ink-soft)}
.uq-mono{font-family:var(--uq-font-mono)}
.uq-narrow{max-width:1000px;margin:0 auto}

/* icons (inline SVG sprite, see template-parts/icons-sprite.php) */
.uq-ic{width:1.15em;height:1.15em;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter;vertical-align:-.2em;flex:none}
.uq-stars{display:inline-flex;gap:1px;color:var(--uq-amber)}
.uq-stars svg{width:14px;height:14px;fill:currentColor;stroke:none}

/* media frame */
.uq-figure{position:relative;overflow:hidden;border:1px solid var(--uq-line);border-radius:var(--uq-r);margin:0}
.uq-figure img{width:100%;height:100%;object-fit:cover}

/* CTA button */
.uq-cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--uq-cta);color:#fff;border:1px solid var(--uq-cta);border-radius:var(--uq-r);padding:19px 30px;font-family:var(--uq-font-body);font-size:.95rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:background .15s ease}
.uq-cta:hover{background:var(--uq-cta-hover);border-color:var(--uq-cta-hover);color:#fff}
.uq-cta--inline{display:inline-flex;width:auto;padding:16px 34px;font-size:.9rem}
.uq-cta--ghost{background:transparent;color:var(--uq-ink);border:1px solid var(--uq-line-strong)}
.uq-cta--ghost:hover{background:var(--uq-paper);color:var(--uq-ink)}

/* ============================================================
   4. TOPBAR + HEADER
   ============================================================ */
.uq-topbar{background:var(--uq-brown-deep);color:var(--uq-cream);text-align:center;font-family:var(--uq-font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:11px 14px}
.uq-topbar b{color:color-mix(in srgb, var(--uq-cta), #fff 45%);font-weight:500}

.uq-header{background:var(--uq-paper);border-bottom:1px solid var(--uq-line);position:sticky;top:0;z-index:50}
.uq-header-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.uq-logo{font-family:var(--uq-font-logo);font-weight:700;font-size:1.95rem;letter-spacing:.02em;text-transform:uppercase;color:var(--uq-ink);text-decoration:none;display:inline-flex;align-items:baseline;line-height:1}
.uq-logo::after{content:"";display:inline-block;background:var(--uq-cta);width:.15em;height:.15em;margin-left:.12em}
.uq-logo--inv{color:#fff}
.uq-nav{display:flex;align-items:center}
.uq-nav a{color:var(--uq-ink);text-decoration:none;margin-left:30px;font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px dashed transparent;padding-bottom:2px}
.uq-nav a:hover{border-bottom-color:var(--uq-ink)}
/* Cart = the one control a shopper (incl. older ones) must never hunt for.
   A solid, high-contrast labelled button: cart icon + the word "KOSZYK".
   Deliberately dark, NOT the orange of the buy CTAs, so "go to cart" is never
   confused with "buy". Selector bumped past ".uq-nav a" so its styles win. */
.uq-nav a.uq-cart-link{position:relative;display:inline-flex;align-items:center;gap:10px;padding:11px 20px;border:2px solid var(--uq-ink);border-radius:var(--uq-r);background:var(--uq-ink);color:var(--uq-cream);transition:background .15s ease,border-color .15s ease}
.uq-nav a.uq-cart-link:hover{background:var(--uq-brown);border-color:var(--uq-brown);color:var(--uq-cream)}
.uq-cart-link .uq-ic--cart{width:1.4em;height:1.4em;stroke-width:2}
.uq-cart-label{font-size:.86rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.uq-cart-link i{position:absolute;top:-10px;right:-10px;background:var(--uq-cta);color:#fff;font-style:normal;font-family:var(--uq-font-mono);font-size:.66rem;font-weight:700;min-width:20px;height:20px;padding:0 5px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:2px solid var(--uq-paper)}
.uq-cart-link i.is-empty{display:none}

/* ============================================================
   5. FOOTER
   ============================================================ */
.uq-footer{background:var(--uq-brown-deep);color:color-mix(in srgb, var(--uq-cream), var(--uq-brown-deep) 30%);margin-top:96px;font-size:.88rem}
.uq-foot-grid{display:grid;gap:36px;padding:60px 0 40px}
@media(min-width:800px){.uq-foot-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.uq-footer h4{font-family:var(--uq-font-mono);color:var(--uq-cream);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;margin:0 0 18px}
.uq-footer a{color:color-mix(in srgb, var(--uq-cream), var(--uq-brown-deep) 30%);text-decoration:none;display:block;margin-bottom:9px}
.uq-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.uq-foot-logo{margin-bottom:16px;font-size:2.3rem}
.uq-foot-contact{font-style:normal;display:flex;flex-direction:column;gap:6px}
.uq-foot-contact span{display:block}
.uq-foot-contact a{display:inline-flex;margin:0}
.uq-foot-mail{align-items:center;gap:8px}
.uq-foot-mail .uq-ic{width:1.05em;height:1.05em;color:color-mix(in srgb,var(--uq-cta),#fff 30%);flex:none}
.uq-foot-pay{display:flex;gap:8px;flex-wrap:wrap}
.uq-foot-pay span{border:1px dashed color-mix(in srgb, var(--uq-cream) 35%, transparent);border-radius:var(--uq-r);padding:5px 12px;font-family:var(--uq-font-mono);font-size:.66rem;letter-spacing:.08em}
.uq-foot-bottom{border-top:1px dashed color-mix(in srgb, var(--uq-cream) 25%, transparent);padding:18px 0;text-align:center;font-family:var(--uq-font-mono);font-size:.66rem;letter-spacing:.08em;color:color-mix(in srgb, var(--uq-cream), var(--uq-brown-deep) 48%)}
.uq-footer .uq-small{font-size:.83rem}

/* ============================================================
   6. WOO RESETS (we style commerce elements ourselves)
   ============================================================ */
.woocommerce-notices-wrapper:empty{display:none}

/* ============================================================
   7. FULL-BLEED CONTENT (front page + Woo contexts)
   Our sections carry their own .uq-container, so the GP wrapper
   must not constrain or pad them.
   ============================================================ */
body.home .grid-container,
body.woocommerce .grid-container,
body.woocommerce-page .grid-container{max-width:none;padding:0}
body.home .site-main,
body.woocommerce .site-main,
body.woocommerce-page .site-main{margin:0}
body.home .separate-containers .inside-article,
body.woocommerce .separate-containers .inside-article,
body.woocommerce-page .separate-containers .inside-article,
body.home .inside-article,
body.woocommerce .inside-article,
body.woocommerce-page .inside-article{padding:0;background:transparent}
body.home .entry-header,
body.home .page-header,
body.woocommerce .entry-header,
body.woocommerce-page .entry-header{display:none}
body.home .entry-content,body.woocommerce .entry-content{margin-top:0}
body.home .site-content,body.woocommerce .site-content,body.woocommerce-page .site-content{padding:0;display:block}
body.home .content-area,body.woocommerce .content-area,body.woocommerce-page .content-area{float:none;width:100%}
body.home .is-right-sidebar,body.woocommerce .is-right-sidebar,body.woocommerce-page .is-right-sidebar,
body.home .widget-area,body.woocommerce .widget-area,body.woocommerce-page .widget-area{display:none}
.woocommerce-notices-wrapper{max-width:var(--uq-maxw);margin:0 auto;padding:0 clamp(20px,3vw,44px)}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error{background:var(--uq-paper);border:var(--uq-dash);border-radius:var(--uq-r);padding:14px 18px;margin:16px 0;list-style:none;font-size:.9rem}

/* ============================================================
   8. V6 PARITY FIXES (WP/GP default margins vs mockup reset)
   ============================================================ */
.uq-lead{margin:0}
.uq-sec-head .uq-lead{margin:14px auto 0}
.uq-shop .woocommerce-pagination{text-align:center;margin-top:40px}
.uq-shop .woocommerce-pagination ul{list-style:none;display:inline-flex;gap:8px;margin:0;padding:0}
.uq-shop .woocommerce-pagination li a,
.uq-shop .woocommerce-pagination li span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;border:1px solid var(--uq-line);border-radius:var(--uq-r);font-family:var(--uq-font-mono);font-size:.85rem;text-decoration:none;background:var(--uq-paper)}
.uq-shop .woocommerce-pagination li span.current{border-color:var(--uq-line-strong);font-weight:500;background:var(--uq-cream)}

/* ============================================================
   9. SIDE-CART DRAWER
   ============================================================ */
.uq-sc-overlay{position:fixed;inset:0;background:color-mix(in srgb, var(--uq-ink) 50%, transparent);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:90}
body.uq-sc-open .uq-sc-overlay{opacity:1;pointer-events:auto}
.uq-sc{position:fixed;top:0;right:0;bottom:0;width:min(430px,100vw);background:var(--uq-paper);border-left:1px solid var(--uq-line);z-index:100;display:flex;flex-direction:column;transform:translateX(105%);transition:transform .28s ease}
body.uq-sc-open .uq-sc{transform:translateX(0)}
.uq-sc-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:var(--uq-dash);flex:none}
.uq-sc-head h2{font-size:1.3rem;margin:0}
.uq-sc-close{appearance:none;-webkit-appearance:none;background:transparent;border:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--uq-ink-soft);padding:0;border-radius:var(--uq-r);transition:background .15s ease,color .15s ease}
.uq-sc-close:hover{background:var(--uq-cream-deep);color:var(--uq-ink)}
.uq-sc-close .uq-ic{width:1.35em;height:1.35em}
.uq-sc-ship{padding:16px 26px 18px;border-bottom:var(--uq-dash);flex:none}
.uq-sc-ship-msg{font-size:.84rem;margin:0 0 10px}
.uq-sc-ship-msg b{color:var(--uq-ok);font-weight:700}
.uq-sc-ship-msg .uq-ic{color:var(--uq-ok);margin-right:5px}
.uq-sc-ship-bar{height:5px;background:var(--uq-cream-deep);border-radius:var(--uq-r);position:relative;overflow:hidden}
.uq-sc-ship-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--uq-ok);transition:width .3s ease}
.uq-sc-body{flex:1;overflow-y:auto}
.uq-sc-item{display:grid;grid-template-columns:76px 1fr;gap:16px;padding:22px 26px;border-bottom:var(--uq-dash)}
.uq-sc-item .uq-figure{aspect-ratio:1/1}
.uq-sc-item-name{font-weight:700;font-size:.92rem;line-height:1.3;margin:0}
.uq-sc-item-meta{font-family:var(--uq-font-mono);font-size:.8rem;color:var(--uq-ink-soft);margin:6px 0 10px}
.uq-sc-item-meta .woocommerce-Price-amount{font:inherit}
.uq-sc-item-remove{font-size:.72rem;color:var(--uq-ink-soft);text-decoration:underline;text-underline-offset:3px}
.uq-sc-empty{padding:26px;color:var(--uq-ink-soft);margin:0}
.uq-sc-foot{flex:none;border-top:1px solid var(--uq-line);padding:20px 26px 22px;background:var(--uq-paper)}
.uq-sc-sum{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;font-weight:600}
.uq-sc-subtotal{font-family:var(--uq-font-mono);font-size:1.4rem;font-weight:500}
.uq-sc-subtotal .woocommerce-Price-amount{font:inherit}
.uq-sc-trust{display:flex;align-items:center;justify-content:center;gap:7px;font-size:.74rem;color:var(--uq-ink-soft);margin:13px 0 0}
.uq-sc-trust .uq-ic{color:var(--uq-ok)}
.uq-sc-view-cart{display:block;text-align:center;font-size:.78rem;color:var(--uq-ink-soft);text-decoration:underline;text-underline-offset:3px;margin-top:12px}
.single_add_to_cart_button.is-loading{opacity:.6;pointer-events:none}

/* ============================================================
   12. CHECKOUT field tweaks (secondary; main layout in section 17)
   ============================================================ */
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields{margin-top:26px}
.woocommerce-checkout .woocommerce-form__label-for-checkbox{display:flex;gap:10px;align-items:flex-start;font-size:.9rem}
.woocommerce-checkout h3{font-size:1.05rem;margin:0 0 14px}
.woocommerce-checkout h3#ship-to-different-address{font-family:var(--uq-font-body);font-weight:600}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:14px 0}
.woocommerce-checkout .woocommerce-form-login{background:var(--uq-paper);border:var(--uq-dash);border-radius:var(--uq-r);padding:20px;margin-bottom:24px}
.woocommerce-checkout .woocommerce-info{background:var(--uq-paper);border:var(--uq-dash);border-radius:var(--uq-r);padding:13px 16px;font-size:.86rem;margin:0 0 14px}

/* mini-cart items inside the drawer (Woo-refreshed fragment) */
.uq-mc-item{display:grid;grid-template-columns:76px 1fr;gap:16px;padding:22px 26px;border-bottom:var(--uq-dash)}
.uq-mc-item .uq-figure{aspect-ratio:1/1}
.uq-mc-item-name{font-weight:700;font-size:.92rem;line-height:1.3;margin:0}
.uq-mc-item-meta{font-family:var(--uq-font-mono);font-size:.8rem;color:var(--uq-ink-soft);margin:6px 0 10px}
.uq-mc-item-meta .woocommerce-Price-amount{font:inherit}
.uq-mc-item-remove{font-size:.72rem;color:var(--uq-ink-soft);text-decoration:underline;text-underline-offset:3px}
.uq-mc-empty{padding:26px;color:var(--uq-ink-soft);margin:0}
.uq-mc-foot{border-top:1px solid var(--uq-line);padding:20px 26px 22px;background:var(--uq-paper)}
.uq-mc-sum{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;font-weight:600}
.uq-mc-subtotal{font-family:var(--uq-font-mono);font-size:1.4rem;font-weight:500}
.uq-mc-subtotal .woocommerce-Price-amount{font:inherit}
.uq-mc-trust{display:flex;align-items:center;justify-content:center;gap:7px;font-size:.74rem;color:var(--uq-ink-soft);margin:13px 0 0}
.uq-mc-trust .uq-ic{color:var(--uq-ok)}
.uq-mc-view-cart{display:block;text-align:center;font-size:.78rem;color:var(--uq-ink-soft);text-decoration:underline;text-underline-offset:3px;margin-top:12px}
.uq-sc-body .widget_shopping_cart_content{display:flex;flex-direction:column;min-height:100%}
.uq-sc-body .uq-mc-items{flex:1}

/* ============================================================
   13. COMMERCE WRAPPERS (cart / checkout / my-account)
   Section 7 full-bleeds .site-main on Woo pages with higher
   specificity than the old .site-main rules - so the centered
   container lives on the .woocommerce wrapper that the classic
   shortcodes always output (pattern from the nextstep project:
   own wrapper inside, never fight the theme shell).
   ============================================================ */
body.woocommerce-account .site-main .woocommerce{
  max-width:1180px;
  margin:0 auto;
  padding:56px clamp(20px,3vw,44px) 80px;
}

/* ============================================================
   14. MY ACCOUNT (panel klienta)
   ============================================================ */
body.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto}
body.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
@media(min-width:860px){
  body.woocommerce-account .site-main .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:44px;align-items:start}
  body.woocommerce-account .site-main .woocommerce > .woocommerce-notices-wrapper,
  body.woocommerce-account .site-main .woocommerce > h2,
  body.woocommerce-account .site-main .woocommerce > .woocommerce-form-login,
  body.woocommerce-account .site-main .woocommerce > .woocommerce-ResetPassword{grid-column:1/-1}
}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--uq-line);border-radius:var(--uq-r);background:var(--uq-paper);overflow:hidden}
.woocommerce-MyAccount-navigation li{border-bottom:var(--uq-dash)}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-MyAccount-navigation li a{display:block;padding:13px 18px;font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--uq-ink-soft)}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover{color:var(--uq-ink);background:var(--uq-cream)}
.woocommerce-MyAccount-content{background:var(--uq-paper);border:1px solid var(--uq-line);border-radius:var(--uq-r);padding:28px}
.woocommerce-MyAccount-content table.shop_table{width:100%;border-collapse:collapse;border:1px solid var(--uq-line);border-radius:var(--uq-r);overflow:hidden}
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td{padding:12px 14px;border-bottom:var(--uq-dash);font-size:.9rem;text-align:left}
.woocommerce-MyAccount-content .button{background:var(--uq-cta);color:#fff;border:1px solid var(--uq-cta);border-radius:var(--uq-r);padding:11px 18px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;text-decoration:none;display:inline-block}
.woocommerce-account .woocommerce-address-fields .form-row label,
.woocommerce-account .woocommerce-EditAccountForm .form-row label{display:block;font-size:.78rem;font-weight:600;margin-bottom:6px;color:var(--uq-ink-soft)}
.woocommerce-account .input-text,
.woocommerce-account select{width:100%;border:1px solid var(--uq-line);border-radius:var(--uq-r);background:var(--uq-paper);padding:12px 14px;font-size:.95rem}

/* login/register (account page + checkout login) */
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register,
.woocommerce form.woocommerce-ResetPassword{background:var(--uq-paper);border:1px solid var(--uq-line);border-radius:var(--uq-r);padding:28px;max-width:520px}
.woocommerce form.woocommerce-form-login .form-row,
.woocommerce form.woocommerce-form-register .form-row{margin:0 0 14px;padding:0}
.woocommerce form.woocommerce-form-login label,
.woocommerce form.woocommerce-form-register label{display:block;font-size:.78rem;font-weight:600;margin-bottom:6px;color:var(--uq-ink-soft)}
.woocommerce form.woocommerce-form-login .input-text,
.woocommerce form.woocommerce-form-register .input-text{width:100%;border:1px solid var(--uq-line);border-radius:var(--uq-r);background:#fff;padding:12px 14px}
.woocommerce form.woocommerce-form-login .button,
.woocommerce form.woocommerce-form-register .button{width:100%;background:var(--uq-cta);color:#fff;border:1px solid var(--uq-cta);border-radius:var(--uq-r);padding:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;cursor:pointer}

/* checkout container lives in our own form-checkout.php markup */

/* ============================================================
   15. CHECKOUT CHROME (distraction-free header) + hidden toggles
   ============================================================ */
.uq-header--checkout .uq-header-in{height:64px}
.uq-header-secure{display:inline-flex;align-items:center;gap:8px;font-family:var(--uq-font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--uq-ink-soft)}
.uq-header-secure .uq-ic{color:var(--uq-ok)}
body.woocommerce-checkout .uq-footer{margin-top:48px}
body.woocommerce-checkout .uq-footer .uq-foot-grid{padding:36px 0 24px}
.woocommerce-form-coupon-toggle,.woocommerce-form-login-toggle{display:none!important}

/* ============================================================
   16. CART v6 (own template: .uq-cart-wrap owns the layout)
   ============================================================ */
.uq-cart-wrap{max-width:var(--uq-maxw);margin:0 auto;padding:56px clamp(20px,3vw,44px) 80px;min-width:0}
@media(min-width:960px){.uq-cart-wrap{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:start}}
.uq-cart-wrap table.shop_table{width:100%;border-collapse:collapse;background:var(--uq-paper);border:1px solid var(--uq-line);border-radius:var(--uq-r);overflow:hidden}
.uq-cart-wrap table.shop_table th,.uq-cart-wrap table.shop_table td{padding:16px 18px;border-bottom:var(--uq-dash);text-align:left;font-size:.93rem;vertical-align:middle}
.uq-cart-wrap table.shop_table thead th{font-family:var(--uq-font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--uq-ink-soft)}
.uq-cart-wrap .product-thumbnail img{width:72px;height:72px;object-fit:cover;border:1px solid var(--uq-line);border-radius:var(--uq-r)}
.uq-cart-wrap .product-name a{font-weight:600;text-decoration:none}
.uq-cart-wrap .product-name a:hover{text-decoration:underline;text-underline-offset:3px}
.uq-cart-wrap .product-remove .remove{font-size:1.1rem;color:var(--uq-ink-soft);text-decoration:none;display:flex;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid var(--uq-line);border-radius:var(--uq-r)}
.uq-cart-wrap .product-remove .remove:hover{color:var(--uq-bad);border-color:var(--uq-bad)}
.uq-cart-wrap .quantity .qty{width:70px;border:1px solid var(--uq-line);border-radius:var(--uq-r);background:var(--uq-paper);text-align:center;font-family:var(--uq-font-mono);padding:9px 4px}
.uq-cart-wrap td.actions{padding:18px}
.uq-cart-wrap td.actions .coupon{display:inline-flex;gap:10px;margin-right:12px}
.uq-cart-wrap td.actions .coupon .input-text{border:1px solid var(--uq-line);border-radius:var(--uq-r);background:var(--uq-paper);padding:12px 14px;font-size:.9rem;width:180px}
.uq-cart-wrap .button{background:var(--uq-cta);color:#fff;border:1px solid var(--uq-cta);border-radius:var(--uq-r);padding:13px 22px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;cursor:pointer}
.uq-cart-wrap .button:hover{background:var(--uq-cta-hover)}
.uq-cart-wrap .button:disabled{opacity:.4;cursor:default}
.uq-cart-wrap .cart-collaterals{min-width:0}
@media(min-width:960px){.uq-cart-wrap .cart-collaterals{position:sticky;top:96px}}
.uq-cart-wrap .cart_totals{width:100%;background:var(--uq-paper);border:1px solid var(--uq-line);border-radius:var(--uq-r);padding:26px}
.uq-cart-wrap .cart_totals h2{font-size:1.3rem;margin:0 0 14px}
.uq-cart-wrap .cart_totals table{width:100%;border-collapse:collapse}
.uq-cart-wrap .cart_totals th,.uq-cart-wrap .cart_totals td{padding:11px 0;border-bottom:var(--uq-dash);font-size:.93rem;text-align:left}
.uq-cart-wrap .cart_totals .order-total td,.uq-cart-wrap .cart_totals .order-total th{font-size:1.05rem;font-weight:700;border-bottom:0}
.uq-cart-wrap .cart_totals .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.uq-cart-wrap .cart_totals .woocommerce-shipping-methods li{margin-bottom:6px;font-size:.88rem}
.uq-cart-wrap .cart_totals .woocommerce-shipping-destination{font-size:.78rem;color:var(--uq-ink-soft)}
.uq-cart-wrap .wc-proceed-to-checkout{margin-top:18px;padding:0}
.uq-cart-wrap .wc-proceed-to-checkout .checkout-button{display:flex;justify-content:center;width:100%;padding:17px;font-size:.92rem;letter-spacing:.14em;text-decoration:none}
.woocommerce-cart .cart-empty.woocommerce-info{max-width:640px;margin:80px auto;background:var(--uq-paper);border:var(--uq-dash);border-radius:var(--uq-r);padding:24px;text-align:center}
.woocommerce-cart .return-to-shop{text-align:center;margin-bottom:80px}

/* ============================================================
   17. CHECKOUT v6 (own template: .uq-co-wrap owns the layout)
   ============================================================ */
.uq-co-wrap{max-width:1180px;margin:0 auto;padding:48px clamp(20px,3vw,44px) 80px;min-width:0}
.uq-co-grid{display:grid;gap:44px}
@media(min-width:960px){.uq-co-grid{grid-template-columns:1.5fr 1fr;gap:clamp(40px,5vw,72px);align-items:start}}
.uq-co-heading{font-size:clamp(1.4rem,2.6vw,1.8rem);margin:0 0 22px}
.uq-co-side{min-width:0}
@media(min-width:960px){.uq-co-side{position:sticky;top:32px}}
.uq-co-summary{background:var(--uq-paper);border:1px solid var(--uq-line);border-radius:var(--uq-r);padding:28px}
.uq-co-trust{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;color:var(--uq-ink-soft);margin:16px 0 0;border-top:var(--uq-dash);padding-top:14px}
.uq-co-trust .uq-ic{color:var(--uq-ok);margin-top:.15em}

.woocommerce-checkout h3{font-size:1.05rem;margin:0 0 14px}
.woocommerce-checkout .form-row{margin:0 0 16px;padding:0;display:block;float:none;width:100%}
.woocommerce-checkout .form-row label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.04em;margin-bottom:6px;color:var(--uq-ink-soft)}
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea{width:100%;border:1px solid var(--uq-line);border-radius:var(--uq-r);background:var(--uq-paper);padding:14px 16px;font-size:.95rem;font-family:var(--uq-font-body);color:var(--uq-ink)}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus{outline:2px solid var(--uq-cta);outline-offset:-1px;border-color:var(--uq-cta)}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%;float:none}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{display:grid;gap:0 16px}
@media(min-width:640px){
  .uq-co-details .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr 1fr}
  .uq-co-details #billing_email_field,
  .uq-co-details #billing_phone_field,
  .uq-co-details #billing_address_1_field,
  .uq-co-details #billing_country_field{grid-column:1/-1}
}
.woocommerce-checkout .woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding:12px 0;border-bottom:var(--uq-dash);font-size:.9rem;text-align:left}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th{font-size:1.05rem;font-weight:700}
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods li{margin-bottom:6px;font-size:.86rem}
.woocommerce-checkout #payment{background:transparent;padding:16px 0 0}
.woocommerce-checkout #payment ul.wc_payment_methods{list-style:none;margin:0 0 16px;padding:0}
.woocommerce-checkout #payment li.wc_payment_method{border:1px solid var(--uq-line);border-radius:var(--uq-r);padding:13px 16px;margin-bottom:10px;background:var(--uq-cream)}
.woocommerce-checkout #payment li.wc_payment_method label{font-weight:600;font-size:.92rem;margin-left:6px;display:inline}
.woocommerce-checkout #payment div.payment_box{background:transparent;font-size:.84rem;color:var(--uq-ink-soft);padding:10px 0 0;margin:0}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #place_order{width:100%;background:var(--uq-cta);color:#fff;border:1px solid var(--uq-cta);border-radius:var(--uq-r);padding:18px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.95rem;cursor:pointer}
.woocommerce-checkout #place_order:hover{background:var(--uq-cta-hover)}
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:.76rem;color:var(--uq-ink-soft);margin:12px 0}
.woocommerce-checkout .woocommerce-NoticeGroup{margin-bottom:20px}
.woocommerce .woocommerce-error{background:var(--uq-paper);border:1px solid var(--uq-bad);border-radius:var(--uq-r);padding:14px 18px;list-style:none;font-size:.9rem;color:var(--uq-bad)}
.woocommerce-checkout .blockUI.blockOverlay{background:var(--uq-cream)!important;opacity:.6!important}

/* ============================================================
   18. TRANSACTIONAL POLISH: compact checkout, cell breathing
   room (GP injects column borders - removed), styled radios,
   font enforcement, PL-only country row hidden.
   ============================================================ */

/* fonts: nothing inside commerce wrappers falls back to a generic */
.uq-cart-wrap, .uq-cart-wrap input, .uq-cart-wrap button, .uq-cart-wrap select, .uq-cart-wrap a, .uq-cart-wrap label,
.uq-co-wrap, .uq-co-wrap input, .uq-co-wrap button, .uq-co-wrap select, .uq-co-wrap textarea, .uq-co-wrap a, .uq-co-wrap label{font-family:var(--uq-font-body)}

/* GP paints borders on every th/td - only our dashed bottom stays */
.uq-cart-wrap table.shop_table th,.uq-cart-wrap table.shop_table td,
.uq-co-wrap .woocommerce-checkout-review-order-table th,
.uq-co-wrap .woocommerce-checkout-review-order-table td{border-left:0;border-right:0;border-top:0;background:transparent}
.uq-co-wrap .woocommerce-checkout-review-order-table{border:0}
.uq-co-wrap .woocommerce-checkout-review-order-table th,
.uq-co-wrap .woocommerce-checkout-review-order-table td{padding:11px 10px 11px 0}
.uq-co-wrap .woocommerce-checkout-review-order-table thead th{font-family:var(--uq-font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--uq-ink-soft)}
.uq-cart-wrap table.shop_table th{padding-top:13px;padding-bottom:13px}

/* radios: native but branded, with room to breathe */
.uq-cart-wrap input[type="radio"],.uq-co-wrap input[type="radio"],
.uq-cart-wrap input[type="checkbox"],.uq-co-wrap input[type="checkbox"]{accent-color:var(--uq-cta);width:15px;height:15px;margin:0 8px 0 0;vertical-align:-2px}
.woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.woocommerce-shipping-methods li{margin:0 0 8px;font-size:.88rem}
.woocommerce-shipping-methods li label{display:inline}
.woocommerce-shipping-destination,.woocommerce-shipping-calculator{font-size:.78rem;color:var(--uq-ink-soft)}
.uq-cart-wrap small,.uq-cart-wrap .woocommerce-shipping-contents{font-size:.78rem;color:var(--uq-ink-soft)}

/* PL-only: static country row adds nothing - hide it */
#billing_country_field{display:none}

/* --- checkout compression: fits a laptop viewport without scrolling --- */
.uq-co-wrap{padding:24px clamp(20px,3vw,44px) 44px}
.uq-co-grid{gap:28px}
@media(min-width:960px){.uq-co-grid{gap:clamp(32px,4vw,56px)}}
.uq-co-wrap .uq-overline{margin-bottom:8px}
.uq-co-heading{font-size:clamp(1.25rem,2.2vw,1.5rem);margin:0 0 14px}
.uq-co-details .woocommerce-billing-fields > h3{display:none} /* redundant under our own heading */
.woocommerce-checkout .form-row{margin:0 0 11px}
.woocommerce-checkout .form-row label{margin-bottom:4px;font-size:.75rem}
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea{padding:11px 14px;font-size:.92rem}
.uq-co-summary{padding:20px 22px}
.woocommerce-checkout #payment{padding:10px 0 0}
.woocommerce-checkout #payment li.wc_payment_method{padding:11px 14px;margin-bottom:8px}
.woocommerce-checkout #payment div.payment_box{font-size:.8rem;padding:8px 0 0}
.woocommerce-checkout #place_order{padding:15px;font-size:.9rem}
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:.72rem;margin:10px 0 0}
.uq-co-trust{margin:12px 0 0;padding-top:11px;font-size:.74rem}
.woocommerce-checkout #ship-to-different-address{font-size:.9rem;margin:2px 0 10px}
.uq-header--checkout .uq-header-in{height:56px}
body.woocommerce-checkout .uq-footer{margin-top:24px}

/* ============================================================
   19. CHECKOUT FULL SITE WIDTH (same canvas as the cart)
   Wider right column = summary info gets room to breathe.
   ============================================================ */
.uq-co-wrap{max-width:var(--uq-maxw)}
@media(min-width:960px){.uq-co-grid{grid-template-columns:1.45fr 1fr;gap:clamp(36px,4.5vw,72px)}}
.uq-co-summary{padding:24px 28px}
.uq-co-wrap .woocommerce-checkout-review-order-table td .woocommerce-shipping-methods li{white-space:nowrap}
.uq-co-wrap .woocommerce-checkout-review-order-table th{width:34%;vertical-align:top}
.uq-co-wrap .woocommerce-checkout-review-order-table .woocommerce-Price-amount{white-space:nowrap}

/* ============================================================
   20. CHECKOUT 2x2 + SUMMARY COMPRESSION
   Left: email / imie|nazwisko / ulica|kod / miasto|kraj / telefon.
   Country renders as a static, non-clickable "Polska".
   Right column shrinks to match the form height (upsell widget
   slot incoming later).
   ============================================================ */

/* 2x2 address grid: address_1 joins the half-width fields */
@media(min-width:640px){
  .uq-co-details #billing_address_1_field{grid-column:auto}
  .uq-co-details #billing_country_field{grid-column:auto}
}
/* country: visible again, but frozen (no selector affordance) */
#billing_country_field{display:block}
.uq-co-details #billing_country_field select{appearance:none;-webkit-appearance:none;background-image:none;pointer-events:none;color:var(--uq-ink)}
.uq-co-details #billing_country_field .select2{pointer-events:none}
.uq-co-details #billing_country_field .select2 .select2-selection__arrow{display:none}

/* --- right column: tighter everything --- */
.uq-co-summary{padding:16px 20px 18px}
.uq-co-summary .uq-overline{margin-bottom:5px;font-size:.62rem}
.uq-co-summary .uq-co-heading{font-size:1.15rem;margin:0 0 8px}
.uq-co-wrap .woocommerce-checkout-review-order-table th,
.uq-co-wrap .woocommerce-checkout-review-order-table td{padding:7px 8px 7px 0;font-size:.82rem;line-height:1.4}
.uq-co-wrap .woocommerce-checkout-review-order-table thead th{font-size:.6rem;padding-top:0}
.uq-co-wrap .woocommerce-checkout-review-order-table th{width:30%}
.uq-co-wrap .woocommerce-checkout-review-order-table tfoot .order-total td,
.uq-co-wrap .woocommerce-checkout-review-order-table tfoot .order-total th{font-size:.95rem}
.woocommerce-shipping-methods li{margin:0 0 4px;font-size:.8rem}
.uq-co-summary input[type="radio"],.uq-co-summary input[type="checkbox"]{width:13px;height:13px;margin-right:6px}
.woocommerce-checkout #payment{padding:6px 0 0}
.woocommerce-checkout #payment li.wc_payment_method{padding:8px 12px;margin-bottom:6px}
.woocommerce-checkout #payment li.wc_payment_method label{font-size:.84rem}
.woocommerce-checkout #payment div.payment_box{font-size:.74rem;padding:5px 0 0;line-height:1.4}
.woocommerce-checkout #place_order{padding:13px;font-size:.85rem;letter-spacing:.12em}
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:.66rem;margin:8px 0 0;line-height:1.45}
.uq-co-trust{margin:10px 0 0;padding-top:9px;font-size:.7rem}

/* ============================================================
   21. CHECKOUT: footer always below the fold (the first
   viewport holds nothing but the order form).
   ============================================================ */
body.woocommerce-checkout .site-content{min-height:calc(100vh - 56px)}

/* ============================================================
   22. MOBILE PASS (~375px first). Most traffic is mobile (FB/IG/
   TikTok ads), so the phone layout is the priority: tighter
   section rhythm, a header that fits a narrow bar, and a cart
   table that stops overflowing.
   ============================================================ */
@media(max-width:768px){
  /* 96px section padding is desktop-sized - halve it so the phone
     is not an endless scroll between sections */
  .uq-section{padding:54px 0}
  .uq-sec-head{margin-bottom:32px}
  .uq-footer{margin-top:56px}
  .uq-gwarancja-sec{padding-bottom:56px}
  .uq-usp-sec{padding-bottom:44px}
}

@media(max-width:600px){
  /* header fits a narrow bar: smaller logo, tighter nav */
  .uq-header-in{height:58px}
  .uq-logo{font-size:1.5rem}
  /* On phones the header is just logo + the cart button. The secondary text
     links step aside (they live in the footer) so the fully-labelled "KOSZYK"
     button is never cramped or pushed off-screen. */
  .uq-nav a:not(.uq-cart-link){display:none}
  .uq-nav a.uq-cart-link{margin-left:0;padding:10px 18px}

  /* topbar: less tracking so the line wraps less */
  .uq-topbar{letter-spacing:.08em;padding:9px 12px}

  /* cart table: drop the redundant unit-price column and shrink the
     rest so a row fits without horizontal scroll (subtotal stays) */
  .uq-cart-wrap{padding:32px 16px 56px}
  .uq-cart-wrap table.shop_table th,
  .uq-cart-wrap table.shop_table td{padding:11px 8px;font-size:.82rem}
  .uq-cart-wrap table.shop_table thead .product-price,
  .uq-cart-wrap table.shop_table td.product-price{display:none}
  .uq-cart-wrap .product-thumbnail img{width:50px;height:50px}
  .uq-cart-wrap .quantity .qty{width:52px;padding:8px 2px}
  .uq-cart-wrap td.actions{padding:14px 8px}
  .uq-cart-wrap td.actions .coupon{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
  .uq-cart-wrap td.actions .coupon .input-text{width:100%}

  /* long mono values may wrap on the narrowest screens */
  .uq-anchor-box b{white-space:normal}
}

@media(max-width:400px){
  .uq-offers{gap:6px}
  .uq-offer{padding:12px 6px 10px}
}

/* ============================================================
   23. FUNCTIONAL PAGES (regulamin, polityka, kontakt, dostawa,
   zwroty). Standard layout: no sidebar, title hidden, and "full
   width" content still lives in the site container with padding
   and a readable column - never edge-to-edge. Home / product /
   shop are excluded (they full-bleed and manage their own layout).
   ============================================================ */
body.page:not(.home):not(.woocommerce-page):not(.woocommerce) .entry-header{display:none}
body.page:not(.home):not(.woocommerce-page):not(.woocommerce) .site-content{padding:0}
body.page:not(.home):not(.woocommerce-page):not(.woocommerce) .content-area{max-width:var(--uq-maxw);margin:0 auto;padding:clamp(32px,4vw,56px) clamp(20px,3vw,44px) 80px}
body.page:not(.home):not(.woocommerce-page):not(.woocommerce) .inside-article{padding:0;background:transparent}
body.page:not(.home):not(.woocommerce-page):not(.woocommerce) .entry-content{max-width:900px;margin:0 auto}
body.page:not(.home):not(.woocommerce-page):not(.woocommerce) .entry-content > *{max-width:none}
body.page:not(.home):not(.woocommerce-page):not(.woocommerce) .entry-content h2{margin:1.8em 0 .5em;font-size:clamp(1.3rem,2.4vw,1.7rem)}
body.page:not(.home):not(.woocommerce-page):not(.woocommerce) .entry-content h2:first-child{margin-top:0}
body.page:not(.home):not(.woocommerce-page):not(.woocommerce) .entry-content p{margin:0 0 1em;line-height:1.65}
body.page:not(.home):not(.woocommerce-page):not(.woocommerce) .entry-content ul{margin:0 0 1.2em;padding-left:1.3em}
body.page:not(.home):not(.woocommerce-page):not(.woocommerce) .entry-content li{margin:.35em 0}

/* ============================================================
   24. CF7 - withdrawal / return form (page /zwroty/). Styled to
   match the shop: hairline borders, no rounding drama, CTA button.
   ============================================================ */
.wpcf7 .wpcf7-form p{margin:0 0 1.05em}
.wpcf7 .wpcf7-form label{display:block;font-family:var(--uq-font-display);font-weight:600;font-size:.9rem;color:var(--uq-ink);margin:0 0 .1em}
.wpcf7 .wpcf7-form-control{font-family:var(--uq-font-body);font-size:.95rem;color:var(--uq-ink)}
.wpcf7 input.wpcf7-text,
.wpcf7 input.wpcf7-date,
.wpcf7 input.wpcf7-email,
.wpcf7 textarea{width:100%;margin-top:.4em;padding:11px 13px;border:1px solid var(--uq-line-strong);border-radius:var(--uq-r);background:var(--uq-paper);line-height:1.4}
.wpcf7 textarea{min-height:96px;resize:vertical}
.wpcf7 input:focus,
.wpcf7 textarea:focus{outline:none;border-color:var(--uq-cta);box-shadow:0 0 0 3px color-mix(in srgb,var(--uq-cta) 22%,transparent)}
.wpcf7 .wpcf7-radio{display:flex;flex-direction:column;gap:.4em;margin-top:.5em}
.wpcf7 .wpcf7-list-item{margin:0}
.wpcf7 .wpcf7-list-item label{display:flex;align-items:center;gap:.55em;font-weight:500;font-family:var(--uq-font-body);cursor:pointer}
.wpcf7 .wpcf7-acceptance{display:block;margin:.2em 0 .4em}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item{margin:0}
.wpcf7 .wpcf7-acceptance label{align-items:flex-start;font-size:.9rem;color:var(--uq-ink-soft)}
.wpcf7 input.wpcf7-submit{appearance:none;border:0;cursor:pointer;background:var(--uq-cta);color:#fff;font-family:var(--uq-font-display);font-weight:700;font-size:1rem;padding:14px 26px;border-radius:var(--uq-r);transition:background .15s}
.wpcf7 input.wpcf7-submit:hover{background:var(--uq-cta-deep)}
.wpcf7 .wpcf7-spinner{margin-left:12px}
.wpcf7 form .wpcf7-response-output{margin:1.2em 0 0;padding:12px 16px;border-radius:var(--uq-r);font-size:.9rem}
.wpcf7 form.sent .wpcf7-response-output{border:1px solid var(--uq-ok);background:color-mix(in srgb,var(--uq-ok) 12%,var(--uq-paper))}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{border:1px solid var(--uq-bad);background:color-mix(in srgb,var(--uq-bad) 10%,var(--uq-paper))}
.wpcf7 .wpcf7-not-valid-tip{color:var(--uq-bad);font-size:.82rem;font-weight:600;margin-top:.3em}

/* ============================================================
   25. CLOSING CTA band (landing #88, core/html). Dark full-bleed
   band with the CTA button jumping back to the hero buybox.
   ============================================================ */
.uq-cta-final{background:var(--uq-ink);color:var(--uq-paper);padding:clamp(48px,7vw,88px) 0;text-align:center}
.uq-cta-final .uq-overline{color:var(--uq-cta)}
.uq-cta-final h2{font-family:var(--uq-font-display);font-weight:700;font-size:clamp(1.6rem,3.2vw,2.3rem);line-height:1.12;margin:.35em 0 .5em;color:var(--uq-paper)}
.uq-cta-final p{max-width:54ch;margin:0 auto 1.6em;line-height:1.6;color:color-mix(in srgb,var(--uq-paper) 84%,transparent)}
.uq-cta-final .uq-cta{font-size:1.05rem;padding:15px 34px}
.uq-cta-final .uq-cta-final-note{font-size:.82rem;margin:1.4em auto 0;color:color-mix(in srgb,var(--uq-paper) 60%,transparent)}

/* ============================================================
   26. STICKY BOTTOM ADD-TO-CART BAR (mobile-first conversion).
   Hidden until the hero buy box scrolls away; button remotely
   triggers the hero add-to-cart (JS in uq-sticky.js).
   ============================================================ */
.uq-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--uq-paper);border-top:1px solid var(--uq-line);box-shadow:0 -4px 18px color-mix(in srgb,var(--uq-ink) 12%,transparent);transform:translateY(115%);transition:transform .28s ease;padding:9px 0;padding-bottom:calc(9px + env(safe-area-inset-bottom))}
.uq-sticky-atc.is-visible{transform:translateY(0)}
.uq-sticky-in{display:flex;align-items:center;gap:12px}
.uq-sticky-info{display:flex;align-items:center;gap:11px;min-width:0;flex:1}
.uq-sticky-thumb{width:48px;height:48px;object-fit:cover;border-radius:var(--uq-r);border:1px solid var(--uq-line);flex:none}
.uq-sticky-meta{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.uq-sticky-name{font-family:var(--uq-font-display);font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--uq-ink)}
.uq-sticky-price{font-family:var(--uq-font-display);font-weight:700;font-size:1rem;color:var(--uq-ink)}
.uq-sticky-price del{font-weight:400;font-size:.82em;color:var(--uq-ink-soft);margin-right:5px}
.uq-sticky-price ins{text-decoration:none}
.uq-sticky-btn{flex:none;display:inline-flex;align-items:center;gap:.5em;background:var(--uq-cta);color:#fff;border:0;border-radius:var(--uq-r);font-family:var(--uq-font-body);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;padding:14px 24px;cursor:pointer;transition:background .15s ease}
.uq-sticky-btn:hover{background:var(--uq-cta-deep);color:#fff}
.uq-sticky-btn .uq-ic{width:1.25em;height:1.25em}
@media(max-width:520px){.uq-sticky-thumb{display:none}.uq-sticky-btn{padding:13px 18px;letter-spacing:.1em}}
@media(max-width:400px){.uq-sticky-name{display:none}.uq-sticky-price{font-size:.95rem}}

/* Sticky bottom add-to-cart is a MOBILE-only element: on desktop the top
   section nav carries the KUP TERAZ button instead. Clean split at 768px. */
@media(min-width:769px){.uq-sticky-atc{display:none}}

/* ============================================================
   27. VERTICAL ALIGNMENT utility for two-column section grids.
   Driven by the "pion" select on media/text-style blocks; wins
   over each block's own align-items (utility, hence !important).
   ============================================================ */
.uq-valign--gora{align-items:flex-start !important}
.uq-valign--srodek{align-items:center !important}
.uq-valign--dol{align-items:flex-end !important}

/* ============================================================
   27b. COLUMN LAYOUT swap for any photo+text two-column block
   (uq_uklad_class). The photo and the text are the two direct
   grid children; `order` flips which side each sits on without
   touching the DOM. Gated at 920px so all these grids are already
   two-column there - below that everything stacks in DOM order,
   preserving the current mobile experience.
   ============================================================ */
@media(min-width:920px){
	.uq-cols--foto-lewo  > figure{order:0}
	.uq-cols--foto-lewo  > :not(figure){order:1}
	.uq-cols--foto-prawo > figure{order:1}
	.uq-cols--foto-prawo > :not(figure){order:0}
}
/* Centred stacked: photo on top (capped width), text below, all centred. */
.uq-cols--foto-gora{grid-template-columns:1fr !important;max-width:920px;margin-left:auto;margin-right:auto;text-align:center}
.uq-cols--foto-gora > figure{order:0;margin-bottom:8px;max-width:760px;margin-left:auto;margin-right:auto}
.uq-cols--foto-gora > :not(figure){order:1;max-width:760px;margin-left:auto;margin-right:auto}
.uq-cols--foto-gora .uq-hb-btns,
.uq-cols--foto-gora .uq-onas-list{justify-content:center}

/* ============================================================
   28. DASHICONS via uq_icon() (full icon library). Sized to match
   the SVG-sprite contexts; higher specificity wins over .dashicons.
   ============================================================ */
.uq-ic-dash.dashicons{width:auto;height:auto;font-size:1.35em;line-height:1;vertical-align:-.18em}
.uq-miejsca .uq-ic-dash.dashicons,.uq-usp .uq-ic-dash.dashicons{font-size:2em}
.uq-hp-badge .uq-ic-dash.dashicons{font-size:1.8em}
