@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//kreatywnylas.pl/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=8.3.5") format("woff2");
}

:root {
	--wd-text-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #777777;
	--wd-text-font-size: 14px;
	--wd-title-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 300;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 700;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(124,124,124);
	--wd-alternative-color: rgb(97,186,66);
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: rgb(73,135,52);
	--btn-accented-bgcolor-hover: rgb(97,186,66);
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: none;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: left center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 241px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: #ffffff;
	background-image: none;
}
.product-labels .product-label.onsale {
	background-color: rgb(129,215,66);
	color: rgb(255,255,255);
}
.product-labels .product-label.new {
	color: rgb(129,215,66);
}
.product-labels .product-label.featured {
	color: rgb(221,51,51);
}
.product-labels .product-label.attribute-label:not(.label-with-img) {
	background-color: rgb(255,255,255);
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}
.wd-builder-off .wd-fbt.wd-design-side {
	--wd-form-width: 250px;
}
:root{
--wd-container-w: 1600px;
--wd-form-brd-radius: 0px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 0px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-default-box-shadow-active: none;
--btn-default-bottom: 0px;
--btn-accented-bottom-active: -1px;
--btn-accented-brd-radius: 0px;
--btn-accented-box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .15);
--btn-accented-box-shadow-hover: inset 0 -2px 0 rgba(0, 0, 0, .15);
--wd-brd-radius: 0px;
}

@media (min-width: 1600px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}


.wd-page-title {
background-color: #f6f6f8;
}

/* =========================================
   KAFELek PROMO (desktop + mobile)
   ========================================= */

/* wrapper + domyślne zmienne (nadpisywane inline z PHP) */
.kl-promo-hero{
  display:block;width:100%;clear:both;margin:16px 0 24px;
  --promo-img-col-d: 420px;   /* szer. kolumny img desktop */
  --promo-img-max-m: 520px;   /* max szer. img mobile      */
  --promo-img-max-d: 520px;   /* max wys. img desktop      */
  --promo-img-aspect-m: 4/3;  /* proporcja img mobile      */
  --promo-img-aspect-d: auto; /* proporcja img desktop     */
}
.kl-promo-link{display:block;text-decoration:none;color:inherit}

/* ============= DESKTOP (grid: treść | obraz) ============= */
.kl-promo-box{
  display:grid;
  grid-template-columns: 1fr var(--promo-img-col-d);
  grid-template-rows: auto auto auto;
  grid-template-areas:
    "head img"
    "sub  img"
    "cta  img";
  align-content:center;                /* centruje pakiet treści w pionie */
  column-gap:18px; row-gap:12px;
  border:1px solid #e5e7eb;border-radius:16px;background:#fff;overflow:hidden;
  padding:18px 18px 18px 22px;
  box-shadow:0 1px 6px rgba(0,0,0,.05);
  transition:box-shadow .2s ease,transform .2s ease;
  margin-bottom:22px; min-height:220px;
}
.kl-promo-box:hover{box-shadow:0 6px 14px rgba(0,0,0,.10);transform:translateY(-1px)}

.kl-promo-box>.kl-promo-head{grid-area:head;display:flex;align-items:center;gap:10px}
.kl-promo-box>.kl-promo-sub {grid-area:sub;color:#374151;font-size:16.5px}
.kl-promo-box>.kl-promo-cta {grid-area:cta}
.kl-promo-box>.kl-promo-img {grid-area:img}

/* Nagłówek (desktop) */
.kl-promo-head h3{
  margin:0;font-size:24px;line-height:1.28;font-weight:800;color:#111;
  white-space:normal;overflow:visible;text-overflow:clip; /* brak „…” */
}

/* Badge – idealnie wyśrodkowany */
.kl-badge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:6px 14px;border-radius:999px;background:#2e7d32;color:#fff;
  font-weight:800;font-size:12.5px;letter-spacing:.2px;line-height:1;
}

/* CTA */
.kl-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:44px;padding:0 18px;border-radius:12px;background:#2e7d32;color:#fff;
  font-weight:700;box-shadow:0 1px 0 rgba(0,0,0,.02);transition:.12s ease;
}
.kl-btn:hover{transform:scale(1.02);box-shadow:0 4px 10px rgba(0,0,0,.12)}
.kl-btn:active{transform:scale(.99)}

/* Obraz – bazowo */
.kl-promo-img{
  border-radius:12px;overflow:hidden;justify-self:end;width:100%;height:100%;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);
}
.kl-promo-img img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center;
}
.kl-promo-img--contain{background:#fff}
.kl-promo-img--contain img{object-fit:contain}

/* Kolory */
.theme-green   .kl-btn,.theme-green   .kl-badge{background:#2e7d32}
.theme-red     .kl-btn,.theme-red     .kl-badge{background:#b91c1c}
.theme-gold    .kl-btn,.theme-gold    .kl-badge{background:#b45309}
.theme-blue    .kl-btn,.theme-blue    .kl-badge{background:#1d4ed8}
.theme-neutral .kl-btn,.theme-neutral .kl-badge{background:#374151}

/* ============= MOBILE (<=1024px) – kolumna, center ============= */
@media (max-width:1024px){
  .woocommerce .kl-promo-box{
    display:flex !important;flex-direction:column !important;
    align-items:center !important;gap:12px !important;
    padding:16px !important;border-radius:14px !important;
    box-shadow:0 2px 10px rgba(0,0,0,.06) !important;
    min-height:unset !important;
  }
  .woocommerce .kl-promo-box>.kl-promo-head{
    order:1 !important;width:100% !important;text-align:center !important;
    display:flex !important;flex-direction:column !important;gap:6px !important;
  }
  .woocommerce .kl-promo-box>.kl-promo-img{
    order:2 !important;width:100% !important;max-width:var(--promo-img-max-m) !important;
    margin:0 auto !important;height:auto !important;
  }
  .woocommerce .kl-promo-box>.kl-promo-img img{
    height:auto !important;aspect-ratio:var(--promo-img-aspect-m) !important;
  }
  .woocommerce .kl-promo-box>.kl-promo-img.kl-promo-img--contain img{aspect-ratio:1/1 !important}
  .woocommerce .kl-promo-box>.kl-promo-sub{
    order:3 !important;text-align:center !important;max-width:560px !important;margin:2px auto 0 !important;
    font-size:15.5px !important;line-height:1.46 !important;
  }
  .woocommerce .kl-promo-box>.kl-promo-cta{
    order:4 !important;align-self:center !important;
  }
  .woocommerce .kl-promo-box .kl-btn{min-width:200px !important;height:46px !important}
}

/* ============= DESKTOP – obraz nie „ciągnie” kontenera ============= */
@media (min-width:1025px){
  .kl-promo-box>.kl-promo-img img{
    height:auto;
    max-height:var(--promo-img-max-d);
    width:100%;
    aspect-ratio: var(--promo-img-aspect-d);
  }
}

/* ============= WARIANTY ============= */
.kl-promo--large .kl-btn{height:46px}
.kl-promo--full{border-radius:18px}
.kl-promo--full .kl-promo-sub{font-size:17px}
.kl-promo--full .kl-btn{height:48px;padding:0 22px}
@media (min-width:1025px){
  .kl-promo--full{padding:22px 22px 22px 26px}
}

/* Opcjonalnie: układ jak mobile także na desktopie */
@media (min-width:1025px){
  .kl-promo--stack-desktop{
    display:flex;flex-direction:column;align-items:center;gap:14px;
    grid-template-columns:none;grid-template-areas:none;
  }
  .kl-promo--stack-desktop>.kl-promo-head{
    text-align:center;display:flex;flex-direction:column;gap:6px
  }
  .kl-promo--stack-desktop>.kl-promo-img{width:100%;max-width:var(--promo-img-max-d)}
  .kl-promo--stack-desktop>.kl-promo-img img{height:auto;width:100%;aspect-ratio:var(--promo-img-aspect-d)}
  .kl-promo--stack-desktop>.kl-promo-sub{text-align:center;max-width:720px}
  .kl-promo--stack-desktop .kl-btn{min-width:220px}
}


/* =========================================
   Proponowane kategorie (pasek nad produktami)
   ========================================= */
.kl-suggested-cats{margin:14px 0 8px}
.kl-suggested-head{display:flex;align-items:center;justify-content:space-between;margin:6px 0 10px}
.kl-suggested-head h2{font-size:20px;line-height:1.3;margin:0;font-weight:800;color:#111}

.kl-suggested-list{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;
  list-style:none;margin:0;padding:0
}
@media (min-width:1400px){
  .kl-suggested-list{grid-template-columns:repeat(8,minmax(0,1fr))}
}

.kl-suggested-link{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;
  background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:10px;
  text-decoration:none;color:#111;box-shadow:0 1px 3px rgba(0,0,0,.04);
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;
}
.kl-suggested-link:hover{transform:translateY(-1px);box-shadow:0 6px 12px rgba(0,0,0,.08);border-color:#e3e6ea}
.kl-suggested-thumb{display:block;width:80px;height:80px;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#f3f4f6,#e5e7eb)}
.kl-suggested-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.kl-thumb-empty{background:#f3f4f6}
.kl-suggested-name{font-size:13.5px;line-height:1.25;color:#111;font-weight:700;display:block;min-height:2.5em}

@media (max-width:1024px){
  .kl-suggested-list{
    display:flex;gap:10px;overflow-x:auto;padding:4px 2px;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch
  }
  .kl-suggested-item{flex:0 0 auto;width:140px;scroll-snap-align:start}
  .kl-suggested-thumb{width:84px;height:84px}
}


/* =========================================
   Full-bleed + Baner pełnoszeroki (FIX: idealne centrowanie)
   ========================================= */

/* Full-bleed sekcji – stabilne centrowanie względem viewportu */
.kl-bleed{
  position:relative;
  width:100vw;
  max-width:100vw;
  left:50%;
  transform:translateX(-50%);   /* klucz do zachowania środka */
  margin:16px 0 24px;
  overflow:hidden;
}

/* Baner pełnoszeroki */
.kl-banner{ /* opcjonalny wrapper */ }
.kl-banner__link{display:block;position:relative;color:inherit;text-decoration:none}
.kl-banner__media{margin:0;overflow:hidden}
.kl-banner__media img{
  display:block;width:100%;max-width:100vw;height:auto;
  object-fit:cover;object-position:center;
  aspect-ratio: var(--banner-ratio, 16/6); /* zmienisz inline: style="--banner-ratio:16/6" */
}

/* Nakładka treści (opcjonalnie) */
.kl-banner__overlay{
  position:absolute;left:32px;bottom:28px;right:auto;
  display:flex;flex-direction:column;gap:10px;max-width:min(720px,60vw);
}
.kl-banner__title{
  margin:0;color:#fff;font-weight:800;line-height:1.2;
  font-size:clamp(22px,2.2vw,34px);
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.kl-banner__sub{
  color:#fff;font-size:clamp(14px,1.1vw,16px);line-height:1.4;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.kl-banner .kl-badge{background:#2e7d32}
.kl-banner .kl-btn{background:#2e7d32}

@media (max-width:1024px){
  .kl-banner__overlay{
    position:absolute;left:16px;right:16px;bottom:16px;
    align-items:center;text-align:center;max-width:none;
  }
}

/* gwiazdki przy labelach */
.required-hint::after { content:" *"; color:#d33; }

/* topbar: info + górny CTA */
.form-topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; }
.form-topbar .req-hint { margin:0; color:#666; }

/* dolny margines, by sticky nie zasłaniał przycisku/komunikatów */
.wpcf7 { padding-bottom:80px; }

/* STICKY CTA – domyślnie ukryty na desktopie */
.sticky-cta { display:none; position:fixed; left:0; right:0; bottom:0; z-index:999; background:#fff; box-shadow:0 -6px 20px rgba(0,0,0,.08); padding:10px 14px; }
.sticky-cta__btn { width:100%; padding:14px 18px; font-weight:600; border:0; border-radius:8px; background:#1f8f2e; color:#fff; cursor:pointer; }

/* tylko mobile */
@media (max-width: 768px){
  .sticky-cta { display:block; }
  .form-topbar { flex-direction:column; align-items:flex-start; gap:6px; }
  .form-topbar .btn-top { width:100%; text-align:center; }
}

/* czytelne błędy CF7 */
.wpcf7-form .wpcf7-not-valid { border-color:#d33; }
.wpcf7-form .wpcf7-not-valid-tip { color:#d33; font-size:.9rem; margin-top:.25rem; }
.wpcf7 form.invalid .wpcf7-response-output { border-color:#d33; }

