/*
Theme Name: Foliahurt
Theme URI: https://foliahurt.pl
Description: Sklep Foliahurt - hurtownia folii stretch. Motyw potomny Storefront w stylistyce marki Profifol.
Author: Silvery Bird
Author URI: https://silverybird.com
Template: storefront
Version: 1.0.0
Text Domain: foliahurt
*/

:root{
  --navy:#242f61; --navy-d:#1a2350; --blue:#3a80eb; --blue-d:#2f6fd6;
  --light:#ebf2fe; --red:#df142f; --ink:#1f2640; --muted:#5b6378;
  --line:#e6ebf5; --r:14px; --r-lg:18px;
}

/* ---- Typografia ---- */
body, button, input, select, optgroup, textarea, .button{
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
}
h1,h2,h3,h4,h5,h6,.site-title,.woocommerce-loop-product__title,.product_title{
  font-family:'Poppins',sans-serif!important; color:var(--navy); font-weight:700; letter-spacing:-.01em;
}

/* ---- Header ---- */
.site-header{ background:var(--navy)!important; border-top:none!important; padding-top:1.1em; padding-bottom:1.1em; }
.site-header *, .site-header a, .site-branding .site-title a{ color:#fff!important; }
.site-branding .site-title a{ font-weight:800; letter-spacing:-.02em; }
.main-navigation ul li a{ color:#dfe6fb!important; font-weight:500; }
.main-navigation ul li a:hover, .main-navigation ul li.current-menu-item > a{ color:#fff!important; }
/* Menu mobilne (hamburger) - czytelne rozwijane linki */
@media(max-width:768px){
  .main-navigation .menu-toggle{ display:block; }
  #site-navigation.main-navigation .primary-navigation{ display:none; }
  #site-navigation.main-navigation.toggled .primary-navigation{ display:block!important; }
  #site-navigation.main-navigation ul.menu, #site-navigation.main-navigation ul.nav-menu{ margin:.6em 0 0; padding:0; list-style:none; }
  #site-navigation.main-navigation ul li{ display:block; width:100%; float:none; border-top:1px solid rgba(255,255,255,.1); }
  #site-navigation.main-navigation ul li a{ display:block!important; padding:.95em 2px!important; line-height:1.4!important; height:auto!important; font-size:1.05rem; color:#fff!important; }
  #site-navigation.main-navigation ul li a:hover{ color:#bcd0f7!important; }
}
.site-header-cart .cart-contents, .site-search .widget_product_search input{ color:#fff; }
.site-header-cart .amount{ color:#bcd0f7!important; }

/* ---- Linki / akcenty ---- */
a{ color:var(--blue); }
a:hover{ color:var(--blue-d); }

/* ---- Przyciski ---- */
button, .button, .added_to_cart, .woocommerce a.button, .woocommerce button.button,
.woocommerce #respond input#submit, input[type="submit"], .wp-block-button__link{
  background:var(--blue)!important; color:#fff!important; border:none!important;
  border-radius:999px!important; font-weight:600!important; padding:.72em 1.5em!important;
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease;
  box-shadow:0 8px 20px -10px rgba(58,128,235,.6);
}
button:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce #respond input#submit:hover{ background:var(--blue-d)!important; transform:translateY(-1px); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .single_add_to_cart_button{ background:var(--navy)!important; }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .single_add_to_cart_button:hover{ background:var(--navy-d)!important; }

/* ---- Produkty: petla / karty ---- */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:14px 14px 18px;
  box-shadow:0 10px 30px -18px rgba(36,47,97,.4); transition:transform .18s ease, box-shadow .18s ease;
}
.woocommerce ul.products li.product:hover{ transform:translateY(-3px); box-shadow:0 18px 40px -18px rgba(36,47,97,.5); }
.woocommerce ul.products li.product a img{ border-radius:var(--r); margin-bottom:.8em; background:var(--light); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:1rem; padding:.3em 0 .15em; }
.woocommerce ul.products li.product .fh-card-spec{ font-size:.8rem; color:var(--muted); margin:0 0 .35em; letter-spacing:.01em; }
.woocommerce ul.products li.product .price{ color:var(--navy)!important; font-weight:700; }
.woocommerce ul.products li.product .price del{ color:var(--muted)!important; font-weight:400; }
.woocommerce-Price-amount{ color:var(--navy); }
.woocommerce ul.products li.product .button{ margin-top:.4em; }

/* ---- Strona produktu ---- */
.single-product div.product .product_title{ font-size:2rem; }
.single-product div.product p.price, .single-product div.product span.price{ color:var(--navy); font-weight:700; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom-color:#fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:var(--navy); }

/* ---- Tabela specyfikacji ---- */
.woocommerce table.shop_attributes{ border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.woocommerce table.shop_attributes th{ background:var(--light); color:var(--navy); font-weight:600; width:38%; }
.woocommerce table.shop_attributes td{ font-style:normal; color:var(--ink); }

/* ---- Strona produktu: bez sidebara, czysty uklad 2-kolumnowy ---- */
.single-product #primary{ width:100%!important; float:none!important; margin:0!important; }
.single-product #secondary{ display:none!important; }
.single-product div.product .woocommerce-product-gallery{ float:left!important; clear:left!important; width:47%!important; margin:0!important; position:sticky; top:24px; align-self:start; }
.single-product div.product .summary.entry-summary{ float:right!important; clear:none!important; width:50%!important; margin:0!important; }
.single-product .woocommerce-product-gallery__image img{ border-radius:14px; }
@media(max-width:768px){
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .summary.entry-summary{ width:100%!important; float:none!important; }
}
/* Zakladki produktu: poziomy nav na gorze + panel pelnej szerokosci (zamiast rozjechanego) */
.single-product .woocommerce-tabs{ clear:both!important; width:100%!important; float:none!important; padding-top:38px; }
.single-product .woocommerce-tabs ul.tabs{ display:flex!important; flex-wrap:wrap; gap:4px; list-style:none; margin:0 0 24px!important; padding:0 0 0!important; border:0; border-bottom:1px solid var(--line)!important; }
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after{ content:none!important; display:none!important; border:0!important; }
.single-product .woocommerce-tabs ul.tabs li{ float:none!important; display:block; margin:0!important; padding:0!important; background:none!important; border:0!important; border-radius:0!important; }
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{ content:none!important; display:none!important; border:0!important; }
.single-product .woocommerce-tabs ul.tabs li a{ display:block; padding:.7em 1.15em!important; color:var(--muted); font-weight:600; border-bottom:2px solid transparent; }
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover{ color:var(--navy); border-bottom-color:var(--blue); }
.single-product .woocommerce-tabs .panel{ float:none!important; width:100%!important; max-width:880px; margin:0!important; }
.single-product .woocommerce-tabs .panel > h2:first-child{ margin-top:0; }
/* ---- Specyfikacja: pelna szerokosc pod podsumowaniem, uklad 2-kolumnowy ---- */
.single-product .fh-specs{ clear:both!important; margin:44px 0 0; }
.single-product .fh-specs__title{ font-size:1.2rem; font-weight:700; color:var(--navy); margin:0 0 .85em;
  padding-left:.7em; border-left:4px solid var(--blue); line-height:1.2; }
.single-product .fh-specs__grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 48px; margin:0; }
.single-product .fh-spec-row{ display:flex; justify-content:space-between; align-items:baseline; gap:24px; padding:.8em .1em; border-bottom:1px solid var(--line); }
.single-product .fh-spec-row dt{ font-weight:600; color:var(--navy); margin:0; }
.single-product .fh-spec-row dd{ margin:0; color:var(--ink); text-align:right; }
@media(max-width:640px){ .single-product .fh-specs__grid{ grid-template-columns:1fr; } }

/* ---- Cennik hurtowy ---- */
.single-product .fh-hurt{ margin:0 0 1.5em; padding:1em 1.1em 1.1em; background:var(--light); border:1px solid #d8e4fb; border-radius:var(--r); }
.single-product .fh-hurt__title{ font-size:1.02rem; font-weight:700; color:var(--navy); margin:0 0 .7em; }
.single-product .fh-hurt__title span{ display:block; font-size:.75rem; font-weight:500; color:var(--muted); }
.single-product .fh-hurt__t{ width:100%; border-collapse:collapse; margin:0; background:#fff; border-radius:10px; overflow:hidden; }
.single-product .fh-hurt__t td{ padding:.5em .8em; border-bottom:1px solid var(--line); font-size:.92rem; }
.single-product .fh-hurt__t td:first-child{ color:var(--ink); font-weight:500; }
.single-product .fh-hurt__t td:last-child{ text-align:right; color:var(--navy); font-weight:700; white-space:nowrap; }
.single-product .fh-hurt__t tr:last-child td{ border-bottom:none; }
.single-product .fh-hurt__t tr.best td{ background:#eafaf0; }
.single-product .fh-hurt__t tr.best td:last-child{ color:#1c7a44; }
.single-product .fh-hurt__t .woocommerce-Price-amount{ color:inherit; }
.single-product .fh-hurt__note{ margin:.7em 0 0; font-size:.8rem; color:var(--muted); line-height:1.4; }
.single-product .fh-hurt__save{ display:inline-block; margin-left:.5em; padding:.1em .5em; background:#eafaf0; color:#1c7a44; border-radius:20px; font-size:.74rem; font-weight:700; vertical-align:middle; }

/* ====== Waga netto folii + przelicznik zl/kg (uczciwa gramatura) ====== */
.single-product .fh-wnet{ margin:.4em 0 1em; padding:.55em .85em; background:var(--light); border:1px solid var(--line); border-radius:10px; font-size:.92rem; color:var(--ink); display:inline-block; }
.single-product .fh-wnet b{ color:var(--navy); }
.single-product .fh-wnet__kg{ color:var(--muted); font-size:.86rem; }
.woocommerce ul.products li.product .fh-card-wnet{ font-size:.8rem; color:var(--navy); font-weight:600; margin:0 0 .35em; }

/* ====== Pasek promo nad naglowkiem ====== */
.fh-promobar{ background:linear-gradient(90deg,var(--blue),#2a63c8); color:#fff; font-size:.86rem; text-align:center; padding:.55em 0; }
.fh-promobar b{ letter-spacing:.05em; background:rgba(255,255,255,.16); padding:.1em .5em; border-radius:6px; }
.fh-promobar__sep{ opacity:.6; margin:0 .3em; }
@media(max-width:560px){ .fh-promobar{ font-size:.78rem; } .fh-promobar__hint{ display:none; } }

/* ====== Ceny netto/brutto z etykietami (zeby nie wygladalo jak przecena) ====== */
.fh-net{ display:block; font-size:.82rem; font-weight:500; color:var(--muted); margin:.15em 0 0; }
.fh-plab{ font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#8a93ab; }
.woocommerce ul.products li.product .price .fh-net{ display:block; }
.single-product div.product p.price .fh-net{ display:block; margin-top:.15em; }

/* ====== Dostepnosc na karcie produktu ====== */
.fh-availability{ display:flex; align-items:center; gap:.5em; margin:0 0 1.1em; font-size:.95rem; }
.fh-avail-dot{ width:10px; height:10px; border-radius:50%; flex:none; }
.fh-avail-dot.in{ background:#22a559; box-shadow:0 0 0 4px rgba(34,165,89,.18); }
.fh-avail-dot.out{ background:var(--muted); }
.fh-availability b{ color:var(--navy); }
.fh-avail-sub{ color:var(--muted); }

/* ====== Pasek zaufania (karta produktu) ====== */
.fh-trust-strip{ list-style:none; margin:1.3em 0 0; padding:1.1em 0 0; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:.7em 1.2em; }
.fh-trust-strip li{ display:flex; align-items:center; gap:.5em; font-size:.88rem; color:var(--ink); }
.fh-trust-strip svg{ width:18px; height:18px; color:#22a559; flex:none; }

/* ====== Minimum karton na kartach w sklepie ====== */
.woocommerce ul.products li.product .fh-card-min{ font-size:.76rem; color:var(--blue); font-weight:600; margin:0 0 .35em; }

/* ====== SZERSZY UKLAD (Storefront ma za waskie 1040px) ====== */
.col-full{ max-width:1340px!important; padding-left:24px; padding-right:24px; box-sizing:border-box; }
@media(max-width:768px){ .col-full{ padding-left:16px; padding-right:16px; } }

/* Filtry w panelu bocznym - czytelniej */
.widget-area .widget{ margin-bottom:1.6em; padding-bottom:1.3em; border-bottom:1px solid var(--line); }
.widget-area .widget:last-child{ border-bottom:none; }
.widget-area .widget .widget-title, .widget-area .widget h2{ font-size:1.02rem; margin-bottom:.7em; }
.widget_layered_nav ul, .widget_product_categories ul{ margin:0; list-style:none; }
.widget_layered_nav ul li, .widget_product_categories ul li{ padding:.4em 0; border-bottom:1px solid #eef2fa; }
.widget_layered_nav ul li:last-child, .widget_product_categories ul li:last-child{ border-bottom:none; }
.widget_layered_nav ul li a, .widget_product_categories ul li a{ color:var(--ink); }
.widget_layered_nav ul li a:hover, .widget_product_categories ul li a:hover{ color:var(--blue); }
.widget_layered_nav ul li .count, .widget_product_categories ul li .count{ float:right; color:var(--muted); font-size:.85em; background:var(--light); border-radius:999px; padding:.05em .6em; }

/* ====== STRONA GLOWNA SKLEPU (uklad premium, na wzor Profifol) ====== */
/* Strona glowna: sekcje pelnej szerokosci - zdejmij limit kontenera Storefront (.col-full),
   tresc srodkuje .fh-wrap. Bez tego kolorowe sekcje maja biale boki na szerokich ekranach. */
body.fh-fullbleed #content > .col-full{ max-width:none!important; width:100%; padding-left:0!important; padding-right:0!important; }
body.fh-fullbleed .storefront-breadcrumb, body.fh-fullbleed .woocommerce-breadcrumb{ display:none!important; }
.fh-wrap{ max-width:1320px; margin:0 auto; padding:0 28px; }
.fh-eyebrow{ display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--blue); margin-bottom:.7em; }
.fh-eyebrow.light{ color:#a9c2ff; }
.fh-sec-head{ text-align:center; max-width:42em; margin:0 auto 2.4em; }
.fh-sec-head h2{ font-size:clamp(1.7rem,3.2vw,2.4rem); line-height:1.12; margin:0; }
.fh-sec-head p{ color:var(--muted); font-size:1.05rem; margin:.7em 0 0; }
.button.ghost{ background:#fff!important; color:var(--navy)!important; border:1.5px solid var(--line)!important; box-shadow:none!important; }
.button.ghost:hover{ border-color:var(--blue)!important; color:var(--blue)!important; transform:translateY(-1px); }
.button.light{ background:#fff!important; color:var(--navy)!important; }

/* HERO split (jasny, ze zdjeciem + badge) */
.fh-hero{ background:linear-gradient(180deg,#fff 0%,var(--light) 100%); padding:clamp(44px,6vw,82px) 0 clamp(50px,7vw,90px); overflow:hidden; }
.fh-hero__in{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,64px); align-items:center; }
.fh-hero h1{ font-size:clamp(2.1rem,4.6vw,3.4rem); line-height:1.07; margin:0 0 .4em; color:var(--navy); }
.fh-hero .fh-lead{ font-size:1.14rem; color:var(--muted); line-height:1.6; margin:0 0 1.8em; max-width:34em; }
.fh-hero__cta{ display:flex; gap:.8em; flex-wrap:wrap; margin-bottom:2em; }
.fh-hero__cta .button{ padding:.85em 1.8em!important; font-size:1.02rem; }
.fh-hero__trust{ list-style:none; margin:0; padding:0; display:flex; gap:1em 1.8em; flex-wrap:wrap; }
.fh-hero__trust li{ display:flex; align-items:center; gap:.5em; color:var(--ink); font-weight:500; font-size:.95rem; }
.fh-hero__trust svg{ width:20px; height:20px; color:var(--blue); flex:none; }
.fh-hero__media{ position:relative; }
.fh-hero__frame{ border-radius:22px; overflow:hidden; box-shadow:0 40px 80px -30px rgba(36,47,97,.55); aspect-ratio:4/3.4; }
.fh-hero__frame img{ width:100%; height:100%; object-fit:cover; display:block; }
.fh-hero__badge{ position:absolute; left:-18px; bottom:26px; display:flex; align-items:center; gap:.7em; background:#fff; padding:13px 20px 13px 13px; border-radius:16px; box-shadow:0 24px 50px -18px rgba(36,47,97,.5); }
.fh-hero__badge-ic{ width:46px; height:46px; border-radius:12px; background:var(--blue); color:#fff; display:grid; place-items:center; flex:none; }
.fh-hero__badge-ic svg{ width:24px; height:24px; }
.fh-hero__badge b{ display:block; font-size:1.3rem; color:var(--navy); line-height:1; }
.fh-hero__badge small{ color:var(--muted); font-size:.8rem; }

/* STATBAR */
.fh-stats{ background:var(--navy); }
.fh-stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:34px 28px; }
.fh-stat{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 14px; position:relative; }
.fh-stat:not(:last-child)::after{ content:""; position:absolute; right:0; top:14%; height:72%; width:1px; background:rgba(255,255,255,.12); }
.fh-stat__ic{ color:#7fa6f0; margin-bottom:.45em; }
.fh-stat__ic svg{ width:26px; height:26px; }
.fh-stat__num{ font-size:1.85rem; font-weight:800; color:#fff; line-height:1; letter-spacing:-.02em; }
.fh-stat__lab{ font-size:.86rem; color:#aebbe0; line-height:1.35; margin-top:.4em; }

/* KATEGORIE - lekkie biale karty */
.fh-cats{ padding:clamp(54px,7vw,88px) 0; background:#fff; }
.fh-cats__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.fh-cat{ display:flex; flex-direction:column; padding:30px 28px 26px; border-radius:var(--r-lg); background:#fff; border:1px solid var(--line); color:var(--ink)!important; text-decoration:none; transition:transform .18s, box-shadow .18s, border-color .18s; box-shadow:0 12px 30px -20px rgba(36,47,97,.4); }
.fh-cat:hover{ transform:translateY(-5px); box-shadow:0 28px 50px -24px rgba(36,47,97,.5); border-color:#cfdcf6; color:var(--ink)!important; }
.fh-cat__ic{ width:58px; height:58px; border-radius:16px; background:var(--light); color:var(--blue); display:grid; place-items:center; margin-bottom:1em; }
.fh-cat__ic svg{ width:30px; height:30px; }
.fh-cat__name{ font-size:1.3rem; font-weight:700; color:var(--navy); margin-bottom:.3em; }
.fh-cat__desc{ color:var(--muted); font-size:.95rem; line-height:1.5; flex:1; }
.fh-cat__go{ display:flex; align-items:center; gap:.4em; margin-top:1.2em; color:var(--blue); font-weight:600; font-size:.92rem; }
.fh-cat__go svg{ width:18px; height:18px; transition:transform .2s; }
.fh-cat:hover .fh-cat__go svg{ transform:translateX(4px); }

/* USP - karty */
.fh-usp{ padding:clamp(50px,6vw,80px) 0; background:var(--light); }
.fh-usp__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.fh-usp__item{ background:#fff; border-radius:var(--r-lg); padding:28px 24px; box-shadow:0 12px 30px -20px rgba(36,47,97,.4); }
.fh-usp__ic{ width:50px; height:50px; border-radius:14px; background:var(--light); color:var(--blue); display:grid; place-items:center; margin-bottom:1em; }
.fh-usp__ic svg{ width:26px; height:26px; }
.fh-usp__item b{ display:block; color:var(--navy); font-size:1.08rem; margin-bottom:.35em; }
.fh-usp__item span{ font-size:.92rem; color:var(--muted); line-height:1.55; }

/* POLECANE */
.fh-feat{ padding:clamp(54px,7vw,88px) 0; background:#fff; }
.fh-feat ul.products{ display:grid!important; grid-template-columns:repeat(4,1fr); gap:24px; margin:0; padding:0; list-style:none; }
.fh-feat ul.products::before, .fh-feat ul.products::after{ content:none!important; display:none!important; }
.fh-feat ul.products li.product{ width:auto!important; margin:0!important; float:none!important; clear:none!important; }
.fh-feat__more{ text-align:center; margin-top:2.4em; }

/* Pomoc w wyborze rodzaju folii */
.fh-guide{ padding:clamp(48px,6vw,76px) 0; }
.fh-guide__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
.fh-guide__card{ display:flex; flex-direction:column; align-items:flex-start; padding:30px; background:#fff; border:1px solid var(--line); border-radius:var(--r); text-decoration:none; transition:transform .18s, box-shadow .18s, border-color .18s; }
.fh-guide__card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px -26px rgba(36,47,97,.5); border-color:#c9d7f5; }
.fh-guide__ic{ width:54px; height:54px; border-radius:14px; background:var(--light); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.fh-guide__ic svg{ width:26px; height:26px; color:var(--blue); }
.fh-guide__card h3{ font-size:1.2rem; color:var(--navy); margin:0 0 .4em; }
.fh-guide__card p{ color:var(--muted); font-size:.94rem; line-height:1.55; margin:0 0 1.2em; flex:1; }
.fh-guide__go{ display:inline-flex; align-items:center; gap:.4em; color:var(--blue); font-weight:600; font-size:.92rem; }
.fh-guide__go svg{ width:18px; height:18px; }
@media(max-width:820px){ .fh-guide__grid{ grid-template-columns:1fr; } }

/* Jak zamowic - kroki */
.fh-steps{ padding:clamp(48px,6vw,76px) 0; background:var(--light); }
.fh-steps__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:36px; }
.fh-step{ position:relative; padding:6px 2px; }
.fh-step__n{ position:absolute; top:-4px; right:6px; font-size:2.6rem; font-weight:800; color:#e0e9fa; line-height:1; }
.fh-step__ic{ position:relative; width:52px; height:52px; border-radius:14px; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.fh-step__ic svg{ width:25px; height:25px; color:var(--blue); }
.fh-step h3{ font-size:1.08rem; color:var(--navy); margin:0 0 .4em; }
.fh-step p{ color:var(--muted); font-size:.9rem; line-height:1.55; margin:0; }
@media(max-width:820px){ .fh-steps__grid{ grid-template-columns:1fr 1fr; gap:30px 22px; } }
@media(max-width:480px){ .fh-steps__grid{ grid-template-columns:1fr; } }

/* CTA */
.fh-cta{ padding:clamp(58px,7vw,92px) 0; background:linear-gradient(135deg,var(--navy),#2c3a78); color:#fff; }
.fh-cta__in{ max-width:660px; margin:0 auto; text-align:center; display:flex; flex-direction:column; align-items:center; }
.fh-cta h2{ color:#fff; font-size:clamp(1.5rem,3vw,2.15rem); margin:.45em 0 .5em; line-height:1.2; max-width:none; }
.fh-cta p{ color:#cdd9f5; margin:0 0 1.8em; font-size:1.05rem; line-height:1.6; max-width:none; }
.fh-cta .button{ flex:none; padding:.95em 2.3em!important; }

@media(max-width:900px){
  .fh-hero__in{ grid-template-columns:1fr; }
  .fh-hero__media{ order:-1; max-width:520px; }
  .fh-stats__grid{ grid-template-columns:repeat(2,1fr); gap:26px 8px; }
  .fh-stat:nth-child(2)::after{ display:none; }
  .fh-cats__grid{ grid-template-columns:1fr; }
  .fh-usp__grid{ grid-template-columns:repeat(2,1fr); }
  .fh-feat ul.products{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:560px){
  .fh-usp__grid{ grid-template-columns:1fr; }
  .fh-feat ul.products{ grid-template-columns:1fr; }
  .fh-stats__grid{ grid-template-columns:1fr; }
  .fh-stat:not(:last-child)::after{ display:none; }
  .fh-stat{ flex-direction:row; gap:.7em; text-align:left; align-items:center; }
  .fh-hero__badge{ left:0; }
}

/* ====== FOOTER ====== */
.site-footer{ padding:0!important; background:var(--navy)!important; margin-top:0; }
.fh-foot{ background:var(--navy); color:#cdd6ef; }
.fh-foot__grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.4fr; gap:32px; padding:54px 24px 40px; }
.fh-foot__logo{ font-size:1.5rem; font-weight:800; color:#fff; letter-spacing:-.02em; margin-bottom:.4em; }
.fh-foot__tag{ color:#aab8e0; font-size:.92rem; margin:0 0 1.2em; line-height:1.5; }
.fh-foot__tag a{ color:#fff; text-decoration:underline; }
.fh-foot__contact{ list-style:none; margin:0; padding:0; }
.fh-foot__contact li{ display:flex; gap:.6em; align-items:flex-start; margin-bottom:.6em; font-size:.92rem; }
.fh-foot__contact svg{ width:18px; height:18px; flex:none; color:var(--blue); margin-top:2px; }
.fh-foot__contact a{ color:#dde5f8; }
.fh-foot__contact a:hover{ color:#fff; }
.fh-foot__col h4{ color:#fff; font-size:1rem; margin:0 0 1em; }
.fh-foot__col ul{ list-style:none; margin:0; padding:0; }
.fh-foot__col ul li{ margin-bottom:.55em; }
.fh-foot__col ul a{ color:#bcc8ea; font-size:.92rem; }
.fh-foot__col ul a:hover{ color:#fff; }
.fh-foot__cta-txt{ color:#aab8e0; font-size:.9rem; line-height:1.5; margin:0 0 1em; }
.fh-foot__col .button{ font-size:.9rem; }
.fh-foot__social{ display:flex; gap:.6em; margin-top:1.2em; }
.fh-foot__social a{ width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.1); display:grid; place-items:center; color:#fff; transition:background .15s; }
.fh-foot__social a:hover{ background:var(--blue); }
.fh-foot__social svg{ width:18px; height:18px; }
.fh-foot__bottom{ border-top:1px solid rgba(255,255,255,.1); }
.fh-foot__bottom .fh-wrap{ padding-top:18px; padding-bottom:18px; font-size:.84rem; color:#92a1cc; }
.fh-foot__legal{ display:flex; flex-wrap:wrap; gap:.4em 1.4em; margin-bottom:12px; }
.fh-foot__legal a{ color:#bcc8ea; font-size:.86rem; }
.fh-foot__legal a:hover{ color:#fff; }
.fh-foot__copyrow{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5em; }
.fh-foot__copyrow a{ color:#cdd6ef; }

/* ====== Pasek zaufania na stronie glownej ====== */
.fh-trustband{ background:var(--light); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:30px 0; }
.fh-trustband__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.fh-tb{ display:flex; align-items:center; gap:.8em; }
.fh-tb__ic{ flex:none; width:46px; height:46px; border-radius:12px; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; }
.fh-tb__ic svg{ width:22px; height:22px; color:var(--blue); }
.fh-tb__t{ display:flex; flex-direction:column; line-height:1.25; }
.fh-tb__t b{ color:var(--navy); font-size:.96rem; }
.fh-tb__t span{ color:var(--muted); font-size:.83rem; }
@media(max-width:880px){ .fh-trustband__grid{ grid-template-columns:1fr 1fr; gap:18px 20px; } }
@media(max-width:480px){ .fh-trustband__grid{ grid-template-columns:1fr; } }

/* ====== Social proof (reputacja + segmenty klientow) ====== */
.fh-social{ padding:64px 0; background:#fff; }
.fh-social__head{ text-align:center; max-width:720px; margin:0 auto 30px; }
.fh-social__rating{ display:flex; flex-direction:column; align-items:center; gap:4px; margin:0 auto 40px; }
.fh-social__stars{ color:#f5a623; font-size:1.55rem; letter-spacing:3px; line-height:1; }
.fh-social__score{ font-weight:700; color:var(--navy); font-size:1.05rem; margin-top:6px; }
.fh-social__src{ color:var(--muted); font-size:.88rem; }
.fh-social__segments{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.fh-seg{ background:var(--light); border:1px solid var(--line); border-radius:var(--r); padding:22px; }
.fh-seg__ic{ width:42px; height:42px; border-radius:11px; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; margin-bottom:13px; }
.fh-seg__ic svg{ width:21px; height:21px; color:var(--blue); }
.fh-seg h3{ font-size:1rem; color:var(--navy); margin:0 0 5px; }
.fh-seg p{ font-size:.88rem; color:var(--muted); margin:0; line-height:1.5; }
@media(max-width:900px){ .fh-social__segments{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .fh-social__segments{ grid-template-columns:1fr; } .fh-social{ padding:48px 0; } }

/* ====== Koszyk + Checkout (klasyczne, w stylistyce marki) ====== */
.woocommerce table.cart, .woocommerce #content table.cart{ border:1px solid var(--line); border-radius:var(--r); border-collapse:separate; overflow:hidden; }
.woocommerce table.cart thead th{ background:var(--light); color:var(--navy); border:none; padding:1em; font-weight:600; }
.woocommerce table.cart td{ border-top:1px solid var(--line); padding:1em; vertical-align:middle; }
.woocommerce table.cart img{ width:64px; height:auto; border-radius:8px; }
.woocommerce a.remove{ color:var(--navy)!important; border-color:var(--line); }
.woocommerce a.remove:hover{ background:var(--blue)!important; color:#fff!important; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-checkout #order_review_heading{ color:var(--navy); }
.woocommerce .cart_totals, .woocommerce-checkout #order_review{ border:1px solid var(--line); border-radius:var(--r); padding:1.3em 1.5em; background:#fff; box-shadow:0 14px 34px -24px rgba(36,47,97,.5); }
.woocommerce .cart_totals table, .woocommerce-checkout #order_review table.shop_table{ border:none; }
.woocommerce .cart_totals table th, .woocommerce .cart_totals table td, .woocommerce-checkout #order_review td, .woocommerce-checkout #order_review th{ border:none; border-top:1px solid var(--line); padding:.7em 0; }
.woocommerce-checkout #order_review .order-total .amount, .woocommerce .cart_totals .order-total .amount{ color:var(--navy); font-size:1.15em; }
.woocommerce form .form-row label{ font-weight:600; color:var(--navy); font-size:.9rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout select, .select2-container .select2-selection--single{ border:1px solid var(--line)!important; border-radius:10px!important; padding:.7em .9em!important; height:auto!important; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus{ border-color:var(--blue)!important; box-shadow:0 0 0 3px rgba(58,128,235,.15)!important; outline:none; }
.woocommerce #payment, .woocommerce-checkout #payment{ background:var(--light)!important; border-radius:var(--r); }
.woocommerce #payment ul.payment_methods{ border-bottom:1px solid var(--line); }
.woocommerce #payment div.payment_box{ background:#fff; border-radius:8px; }
.woocommerce #payment div.payment_box::before{ border-bottom-color:#fff; }
.woocommerce #place_order, .woocommerce #payment #place_order{ width:100%; font-size:1.05rem!important; padding:.95em!important; margin-top:.4em; }
.woocommerce-info, .woocommerce-message{ border-top-color:var(--blue)!important; }
.woocommerce-info::before{ color:var(--blue)!important; }

/* ====== FORMULARZ ====== */
.fh-form label{ display:block; font-weight:600; color:var(--navy); font-size:.92rem; margin-bottom:1em; }
.fh-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1em; }
.fh-form input[type=text], .fh-form input[type=email], .fh-form input[type=tel], .fh-form textarea{
  width:100%; margin-top:.4em; padding:.7em .9em; border:1px solid var(--line); border-radius:10px; font-family:inherit; font-size:1rem; color:var(--ink); background:#fff; font-weight:400; }
.fh-form input:focus, .fh-form textarea:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(58,128,235,.15); }
.fh-form textarea{ resize:vertical; }
.fh-form__rodo{ display:flex; gap:.6em; align-items:flex-start; font-weight:400; color:var(--muted); font-size:.85rem; }
.fh-form__rodo input{ margin-top:.2em; flex:none; }
.fh-form button.button{ display:inline-flex; align-items:center; gap:.5em; }
.fh-form button.button svg{ width:18px; height:18px; }
.fh-form__note{ font-size:.82rem; color:var(--muted); margin:0 0 1em; }
.fh-hp{ position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden; }
.fh-form-msg{ padding:.9em 1.1em; border-radius:10px; margin-bottom:1.3em; font-size:.93rem; }
.fh-form-msg.ok{ background:#eafaf0; color:#1c7a44; border:1px solid #b6e7c9; }
.fh-form-msg.err{ background:#fdecee; color:#c0182d; border:1px solid #f5c2c8; }

/* ====== STRONA KONTAKT ====== */
.fh-kontakt-hero{ background:linear-gradient(135deg,#1c2550,#2c3a78); color:#fff; padding:clamp(44px,6vw,72px) 0; }
.fh-kontakt-hero .fh-eyebrow{ color:#a9c2ff; }
.fh-kontakt-hero h1{ color:#fff; font-size:clamp(1.8rem,4vw,2.6rem); margin:0 0 .3em; }
.fh-kontakt-hero .fh-lead{ color:#d7e0f7; max-width:44em; margin:0; }
.fh-kontakt{ padding:clamp(40px,5vw,64px) 0; }
.fh-kontakt__grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:40px; align-items:start; }
.fh-kontakt__form h2{ margin-top:0; }
.fh-ch{ display:flex; align-items:center; gap:.9em; padding:1em 1.1em; border:1px solid var(--line); border-radius:var(--r); margin-bottom:.8em; text-decoration:none; transition:border-color .15s, box-shadow .15s; }
.fh-ch:hover{ border-color:var(--blue); box-shadow:0 10px 24px -16px rgba(36,47,97,.5); }
.fh-ch__ic{ width:44px; height:44px; border-radius:12px; background:var(--light); color:var(--blue); display:grid; place-items:center; flex:none; }
.fh-ch__ic svg{ width:22px; height:22px; }
.fh-ch small{ display:block; color:var(--muted); font-size:.8rem; }
.fh-ch b{ color:var(--navy); font-size:1.05rem; }
.fh-kontakt__data{ margin-top:1.6em; padding:1.3em; background:var(--light); border-radius:var(--r); }
.fh-kontakt__data h3{ margin:0 0 .8em; font-size:1.05rem; }
.fh-kontakt__data ul{ list-style:none; margin:0; padding:0; }
.fh-kontakt__data li{ display:flex; gap:.6em; align-items:flex-start; margin-bottom:.7em; font-size:.92rem; color:var(--ink); }
.fh-kontakt__data svg{ width:18px; height:18px; flex:none; color:var(--blue); margin-top:2px; }

/* ====== WhatsApp float ====== */
.fh-wa{ position:fixed; right:clamp(16px,3vw,28px); bottom:clamp(16px,3vw,26px); z-index:90;
  display:inline-flex; flex-direction:row-reverse; align-items:center; gap:0; padding:9px; border-radius:999px;
  background:#25d366; color:#fff!important; box-shadow:0 14px 32px -8px rgba(37,211,102,.55),0 4px 14px rgba(0,0,0,.18);
  transition:gap .26s ease, padding .26s ease, transform .2s ease; text-decoration:none; }
.fh-wa:hover{ transform:translateY(-2px); color:#fff!important; gap:.6rem; padding:9px 18px 9px 9px; }
.fh-wa__ic{ width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,.16); display:grid; place-items:center; flex:none; }
.fh-wa__ic svg{ width:28px; height:28px; }
.fh-wa__txt{ display:flex; flex-direction:column; line-height:1.18; text-align:right; max-width:0; opacity:0; overflow:hidden; white-space:nowrap; transition:max-width .28s ease, opacity .22s ease; }
.fh-wa:hover .fh-wa__txt, .fh-wa:focus-visible .fh-wa__txt{ max-width:200px; opacity:1; padding-left:.35rem; }
.fh-wa__txt b{ font-size:.95rem; }
.fh-wa__txt small{ font-size:.76rem; opacity:.92; }

@media(max-width:880px){ .fh-foot__grid{ grid-template-columns:1fr 1fr; } .fh-kontakt__grid{ grid-template-columns:1fr; } }
@media(max-width:560px){ .fh-foot__grid{ grid-template-columns:1fr; } .fh-form__row{ grid-template-columns:1fr; } .fh-foot__bottom .fh-wrap{ flex-direction:column; } }

@media(max-width:880px){ .fh-cats__grid{ grid-template-columns:1fr; } .fh-usp__grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .fh-usp__grid{ grid-template-columns:1fr; } .fh-hero__trust{ gap:.5em 1.2em; } }

/* ---- Komunikaty / notyfikacje (jasne tlo -> ciemny tekst, czytelnie) ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-noreviews{
  border-top-color:var(--blue)!important; background:var(--light)!important;
  color:var(--navy)!important; font-weight:500;
}
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button){ color:var(--blue)!important; text-decoration:underline; }
.woocommerce-message::before, .woocommerce-info::before{ color:var(--blue)!important; }
.woocommerce-message .button, .woocommerce-info .button{ background:var(--blue)!important; color:#fff!important; }
.woocommerce-error{ border-color:#e5b6bb!important; border-top-color:var(--red)!important; background:#fdf1f1!important; color:#8c2f39!important; font-weight:500; }
.woocommerce-error::before{ color:var(--red)!important; }
.woocommerce-error a:not(.button){ color:#8c2f39!important; text-decoration:underline; }

/* ---- onsale ---- */
.woocommerce span.onsale{ background:var(--red); border-radius:999px; min-height:auto; min-width:auto; padding:.3em .8em; line-height:1.4; }

/* ---- Footer ---- */
.site-footer{ background:var(--navy)!important; color:#cdd6ef; }
.site-footer a{ color:#fff; }
.site-footer .site-info{ color:#aebbe0; }

/* ---- Drobne ---- */
.storefront-breadcrumb a, .woocommerce-breadcrumb a{ color:var(--blue); }
mark{ background:var(--light); color:var(--navy); }
.widget-area .widget h2.widget-title, .widget .widget-title{ color:var(--navy); }
