/*
Theme Name: kreatywne-okno.pl Child
Theme URI: kreatywne-okno.pl
Template: hello-elementor
Author: ITPER PL
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.6.1769505557
Updated: 2026-01-27 10:19:17

*/

/* Elementor Search (WooCommerce) — lupa zawsze, pole tylko na hover */
.elementor-widget-search .e-search-form{
  display:flex;
  align-items:center;
  gap:10px;
}

/* kolejność: input po lewej, lupa po prawej */
.elementor-widget-search .e-search-input-wrapper{
  order:1;
  overflow:hidden;
  transition: max-width .25s ease, opacity .2s ease;
  max-width:0;
  opacity:0;
  pointer-events:none;
}

/* input wygląda normalnie */
.elementor-widget-search .e-search-input{
  width:220px;
  max-width:70vw;
}

/* lupa zawsze widoczna */
.elementor-widget-search .e-search-submit{
  order:2;
  cursor:pointer;
}

/* Pokaż pole po najechaniu na cały widget (lub na form) */
.elementor-widget-search:hover .e-search-input-wrapper,
.elementor-widget-search .e-search-form:focus-within .e-search-input-wrapper{
  max-width:260px;
  opacity:1;
  pointer-events:auto;
}

/* opcjonalnie: na mobile zawsze pokazuj pole (bo nie ma hover) */
@media (max-width: 768px){
  .elementor-widget-search .e-search-input-wrapper{
    max-width:260px;
    opacity:1;
    pointer-events:auto;
  }
}

.unic-word {
    color: #B19566;
}

.golden-custom-buttons{ position:relative; display:inline-flex; align-items:center; justify-content:center; width:fit-content; padding:10px 26px; border-radius:28px; font-family:"Montserrat",sans-serif !important; font-size:18px; font-weight:600 !important; color:#303030 !important; text-decoration:none; border:1px solid rgba(120,80,20,.45); background:linear-gradient(145deg,#f7e7b5,#e7c874,#d4a94f,#f3dc9a,#c89b3c); box-shadow:inset 0 2px 3px rgba(255,255,255,.55), inset 0 -2px 4px rgba(120,80,20,.35), 0 4px 10px rgba(0,0,0,.22); overflow:hidden; transition:transform .2s ease, box-shadow .3s ease; } .golden-custom-buttons::before{ content:""; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.65) 50%,transparent 100%); transform:skewX(-20deg); transition:left .6s ease; } .golden-custom-buttons:hover::before{ left:120%; } .golden-custom-buttons:hover{ transform:translateY(-1px); box-shadow:inset 0 2px 4px rgba(255,255,255,.65), inset 0 -2px 6px rgba(120,80,20,.45), 0 6px 16px rgba(0,0,0,.28); } .golden-custom-buttons:active{ transform:translateY(1px); }

.golden-custom-buttons.is-light{
  background:linear-gradient(145deg,#f7f1e6 0%, #efe3cd 50%, #f8f2e8 100%);
  border:1px solid rgba(145,120,80,.4);
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 6px 16px rgba(40,30,15,.12);
}

.golden-custom-buttons.is-light{
  background:linear-gradient(145deg,#f7f1e6 0%, #efe3cd 50%, #f8f2e8 100%);
  border:1px solid rgba(145,120,80,.4);
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 6px 16px rgba(40,30,15,.12);
}

.is-light a {
  color: #303030 !important;
  text-decoration: none !important;
}

.golden-custom-buttons a {
  color: #303030 !important;
  text-decoration: none !important;
}

.arch-image{ position:relative; width:300px; height:300px; overflow:hidden; padding:4px; border-radius:500px 500px 0 0; border: 1px solid #B2976A; } .arch-image img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:496px 496px 0 0 !important; } .arch-image::before{ content:""; position:absolute; top:4px; left:-60%; width:40%; height:calc(100% - 4px); background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.2) 45%, rgba(255,255,255,.55) 50%, rgba(255,255,255,.2) 55%, transparent 100% ); transform:skewX(-18deg); transition:left .8s ease; pointer-events:none; } .arch-image:hover::before{ left:120%; }

.gold-category-title {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 18px;
  position: relative;
  width: 300px;
  max-width: 50px;
  text-align: center;
  line-height: 1.2;
}

.gold-category-title::before,
.gold-category-title::after {
  content: "";
  display: block;
  height: 2px;
  flex: 1;
  align-self: center;
  
  background: linear-gradient(
    90deg,
    transparent 0%,
    #d9c29a 15%,
    #B2976A 40%,
    #B2976A 70%,
    #8a6d45 85%,
    transparent 100%
  );
}

/* ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * *************************************************************************************************************************************** */
/* =========================================
   Woo Tabs – fade + slide (bez wydłużania sekcji)
   Panele normalnie są display:none; animację robi JS
   ========================================= */

.woocommerce-tabs{
  --ko-tab-dur: 380ms;
  --ko-tab-ease: cubic-bezier(.25,.1,.25,1);
}

/* Domyślnie ukryte – nie zajmują miejsca */
.woocommerce-tabs .wc-tab{
  display: none;
  opacity: 0;
  transform: translateY(4px);
}

/* Panel chwilowo widoczny (na czas animacji / jako aktywny) */
.woocommerce-tabs .wc-tab.ko-visible{
  display: block;
}

/* Stan “pokazany” (fade in + slide in) */
.woocommerce-tabs .wc-tab.ko-active{
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity var(--ko-tab-dur) var(--ko-tab-ease),
    transform var(--ko-tab-dur) var(--ko-tab-ease);
}

/* Stan “chowany” (fade out + delikatny slide) */
.woocommerce-tabs .wc-tab.ko-leave{
  opacity: 0;
  transform: translateY(-6px);
  transition:
    opacity var(--ko-tab-dur) var(--ko-tab-ease),
    transform var(--ko-tab-dur) var(--ko-tab-ease);
}

/* (opcjonalnie) lekki hover na zakładkach */
.woocommerce-tabs ul.wc-tabs li a{ transition: opacity 160ms ease; }
.woocommerce-tabs ul.wc-tabs li:not(.active) a:hover{ opacity:.85; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .woocommerce-tabs .wc-tab.ko-active,
  .woocommerce-tabs .wc-tab.ko-leave{
    transition: none !important;
    transform: none !important;
  }
}
/* ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * *************************************************************************************************************************************** */

/* =================================================
   Kreatywne-Okno — Zakładki WooCommerce jak w projekcie
   (tekst + złota linia + podkreślenie aktywnej)
   ================================================= */

/* kontener */
.woocommerce-tabs .wc-tabs-wrapper{
  position: relative;
}

/* lista zakładek */
.woocommerce-tabs ul.wc-tabs{
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  list-style: none !important;

  display: flex;
  flex-wrap: wrap;
  gap: 26px;

  border: 0 !important;
  background: transparent !important;

  /* złota linia na całą szerokość pod zakładkami */
  border-bottom: 2px solid rgba(184, 153, 92, .55) !important;
}

/* usuń domyślne pseudo-elementy Woo (czasem robią kreski/ramki) */
.woocommerce-tabs ul.wc-tabs:before,
.woocommerce-tabs ul.wc-tabs:after,
.woocommerce-tabs ul.wc-tabs li:before,
.woocommerce-tabs ul.wc-tabs li:after{
  display: none !important;
  content: none !important;
}

.woocommerce-tabs ul.wc-tabs li{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* linki zakładek – wygląd jak tekst w menu */
.woocommerce-tabs ul.wc-tabs li a{
  display: inline-block;
  padding: 10px 0 12px 0 !important;

  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;

  /* typografia (zostawiam neutralnie – dziedziczy font strony) */
  color: #2c2c2c;
  font-size: 28px;          /* dopasuj jeśli na stronie jest inaczej */
  line-height: 1.15;
  font-weight: 200 !important;
  font-family: Playfair Display;

  /* podkreślenie aktywnego jako border (stabilnie) */
  border-bottom: 2px solid transparent;

  transition: opacity .18s ease, border-color .25s ease;
}

/* hover dla nieaktywnych */
.woocommerce-tabs ul.wc-tabs li:not(.active) a:hover{
  opacity: .78;
}

/* aktywna zakładka – złote podkreślenie */
.woocommerce-tabs ul.wc-tabs li.active a{
  opacity: 1;
  border-bottom-color: rgba(184, 153, 92, .95);
}

/* responsywność – na mniejszych ekranach mniejsze fonty i odstępy */
@media (max-width: 768px){
  .woocommerce-tabs ul.wc-tabs{
    gap: 18px;
    margin-bottom: 14px !important;
  }
  .woocommerce-tabs ul.wc-tabs li a{
    font-size: 20px;
    padding: 8px 0 10px 0 !important;
  }
}
/* ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * *************************************************************************************************************************************** */
/* =========================
   Woo: wyłącz zoom i lupę
========================= */
.woocommerce-product-gallery .zoomImg { display:none !important; }
.woocommerce-product-gallery__trigger { display:none !important; } /* zostaje w DOM dla JS */

/* =========================
   PhotoSwipe: warstwy + tło
========================= */
.pswp{ z-index:9999999 !important; }

.pswp__bg{
  background: radial-gradient(
    circle at center,
    rgba(170,140,70,1),
    rgba(25,20,10,1)
  ) !important;
}

/* (opcjonalnie) odcięcie strony pod spodem */
body.pswp-open .woocommerce-product-gallery,
body.pswp-open .summary,
body.pswp-open .woocommerce-tabs,
body.pswp-open .related,
body.pswp-open .upsells{
  opacity:0 !important;
  pointer-events:none !important;
}

/* =========================
   Ukryj oryginalny top-bar PhotoSwipe (stabilność)
========================= */
.pswp__top-bar{
  display:none !important;
}

/* =========================
   Strzałki – po bokach
========================= */
.pswp__button--arrow--left,
.pswp__button--arrow--right{
  width:56px !important;
  height:56px !important;
  border-radius:50% !important;
  background:rgba(170,140,70,0.92) !important;

  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.pswp__button--arrow--left{ left:24px !important; }
.pswp__button--arrow--right{ right:24px !important; }

/* =========================
   Nasz własny pasek (custom bar) – zawsze widoczny i czytelny
========================= */
.pswp .pswp-custombar{
  position:absolute;
  top:16px;
  left:16px;
  right:16px;
  z-index:10000000;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  padding:10px 12px;
  border-radius:14px;

  background:rgba(25,20,10,0.65);
  backdrop-filter: blur(10px);
}

/* Lewa część (licznik) */
.pswp .pswp-custombar__counter{
  font-size:14px;
  line-height:1;
  color:#fff;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(170,140,70,0.35);
  white-space:nowrap;
}

/* Prawa część (krzyżyk) */
.pswp .pswp-custombar__close{
  width:44px;
  height:44px;
  border-radius:50%;
  border:0;
  cursor:pointer;

  background:rgba(170,140,70,0.92);
  color:#14100a;

  display:flex;
  align-items:center;
  justify-content:center;
}

.pswp .pswp-custombar__close:hover{
  filter:brightness(1.05);
}

.pswp .pswp-custombar__close:active{
  transform:scale(0.98);
}

/* Ikona X (bez fontów, stabilne) */
.pswp .pswp-custombar__close span{
  display:block;
  width:18px;
  height:18px;
  position:relative;
}

.pswp .pswp-custombar__close span:before,
.pswp .pswp-custombar__close span:after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:18px;
  height:2px;
  background:#14100a;
  transform-origin:center;
}

.pswp .pswp-custombar__close span:before{ transform:translate(-50%,-50%) rotate(45deg); }
.pswp .pswp-custombar__close span:after { transform:translate(-50%,-50%) rotate(-45deg); }
/* ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * *************************************************************************************************************************************** */
/* =========================================================
   Alberi – warianty (WVS) + Add to cart
   Dopasowanie do .golden-custom-buttons.is-light
   - usuwa szare tło pod kafelkami
   - kafelki 35x35
   - cienie/border jak w golden-custom-buttons
   ========================================================= */

/* 1) TŁO pod kafelkami – zamiast szarego: transparent / bez “paska” */
.single-product .variations_form .variable-items-wrapper{
  background: transparent !important;        /* usuwa szare */
  border: 0 !important;                      /* bez dodatkowej ramki */
  box-shadow: none !important;               /* bez cienia paska */
  padding: 0 !important;
  gap: 10px !important;
}

/* jeśli szarość robi inny wrapper – wyłączamy też tło td.value */
.single-product .variations_form .variations td.value{
  background: transparent !important;
}

/* 2) KAFELKI – 35x35, luksusowe obramowanie + cień jak golden-custom-buttons */
.single-product .variations_form .variable-item.image-variable-item{
  width: 75px !important;
  height: 75px !important;
  border-radius: 10px !important;
  overflow: hidden;

  background: linear-gradient(145deg,#f7f1e6 0%, #efe3cd 50%, #f8f2e8 100%) !important;

  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 6px 16px rgba(40,30,15,.12) !important;

  transform: translateY(0);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  margin-bottom: 32px;
}

/* obrazek w kafelku */
.single-product .variations_form .variable-item.image-variable-item .variable-item-contents,
.single-product .variations_form .variable-item-image{
  width: 75px !important;
  height: 75px !important;
}

.single-product .variations_form .variable-item-image{
  object-fit: cover;
  display: block;
  border-radius: 9px; /* optycznie “w środku” kafelka */
}

/* hover – minimalny lift, bez odjechanego stylu */
.single-product .variations_form .variable-item.image-variable-item:hover{
  transform: translateY(-1px);
  border-color: rgba(145,120,80,.65) !important;
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 10px 22px rgba(40,30,15,.16) !important;
}

/* selected – złota ramka + delikatna poświata */
.single-product .variations_form .variable-item.selected,
.single-product .variations_form .variable-item[aria-checked="true"]{
  border-color: rgba(145,120,80,.95) !important;
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 10px 24px rgba(145,120,80,.18),
    0 12px 28px rgba(40,30,15,.14) !important;
}

/* ===== PRZYCISK ADD TO CART – uniwersalnie (proste + wariantowe + Elementor) ===== */
.single-product .variations_form .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button,
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .single_add_to_cart_button,
.single-product .elementor-add-to-cart form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart .button{
  background: linear-gradient(145deg,#f7f1e6 0%, #efe3cd 50%, #f8f2e8 100%) !important;
  border: 1px solid rgba(145,120,80,.40) !important;
  font-family: "Playfair Display", serif !important;

  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 6px 16px rgba(40,30,15,.12) !important;

  color: #303030 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;

  border-radius: 16px !important;
  height: 46px !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease !important;
}

.single-product .variations_form .single_add_to_cart_button:hover,
.single-product form.cart .single_add_to_cart_button:hover,
.single-product .woocommerce div.product form.cart .button:hover{
  transform: translateY(-1px) !important;
  border-color: rgba(145,120,80,.65) !important;
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 10px 24px rgba(40,30,15,.16) !important;
}

.single-product .variations_form .single_add_to_cart_button.disabled,
.single-product .variations_form .single_add_to_cart_button:disabled,
.single-product form.cart .single_add_to_cart_button.disabled,
.single-product form.cart .single_add_to_cart_button:disabled{
  opacity: .60 !important;
  cursor: not-allowed !important;
  transform: none !important;
  filter: saturate(.85) !important;
}

/* 4) Input ilości – też w tym samym stylu */
.single-product .variations_form .quantity input.qty,
.single-product form.cart .quantity input.qty,
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity input.qty,
.single-product .elementor-add-to-cart form.cart .quantity input.qty,
.single-product .woocommerce div.product form.cart .quantity input.qty{
  height: 46px !important;
  border-radius: 16px !important;

  background: linear-gradient(145deg,#f7f1e6 0%, #efe3cd 50%, #f8f2e8 100%) !important;
  border: 1px solid rgba(145,120,80,.40) !important;

  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 6px 16px rgba(40,30,15,.12) !important;

  color: #303030 !important;
  font-family: "Roboto", serif !important;
  font-weight: 700 !important;

  padding: 10px 14px !important;
}

/* 5) Link “Wyczyść” – spójny, jak przyciski */
.single-product .variations_form .reset_variations{
  background: linear-gradient(145deg,#f7f1e6 0%, #efe3cd 50%, #f8f2e8 100%) !important;
  border: 1px solid rgba(145,120,80,.40) !important;
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 6px 16px rgba(40,30,15,.12) !important;

  color: #303030 !important;
  border-radius: 999px;
  padding: 10px 14px;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 12px;
  font-family: playfair display;
}

/* =========================================================
   6) USUNIĘCIE SZAREGO TŁA Z ETYKIETY (TH.label)
   ========================================================= */

.single-product .variations_form .variations th.label,
.single-product .variations_form .variations th.label label,
.single-product .variations_form .variations th.label .woo-selected-variation-item-name{
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  font-size: 18px;
  font-family: playfair display;
}

/* jeśli motyw dodaje padding + tło przez ogólne table th */
.single-product .variations_form table.variations th{
  background: transparent !important;
}

/* opcjonalnie – wyrównanie wizualne */
.single-product .variations_form .variations th.label{
  padding-left: 0 !important;
  border: 0 !important;
}

/* =========================================================
   7) STAN MAGAZYNOWY – premium golden badge
   ========================================================= */

.single-product .variations_form .stock{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 8px 14px;
  margin-top: 12px;

  font-size: 12px !important;
  font-weight: 100;
  font-family: playfair display !important;
  letter-spacing: .06em;
  text-transform: uppercase;

  border-radius: 999px;

  background: linear-gradient(
    145deg,
    #f7f1e6 0%,
    #efe3cd 50%,
    #f8f2e8 100%
  ) !important;

  border: 1px solid rgba(145,120,80,.40) !important;

  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 6px 16px rgba(40,30,15,.10) !important;

  color: #2f2f2f !important;
}

/* Zielona subtelna kropka (sygnał dostępności) */
.single-product .variations_form .stock.in-stock::before{
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #6f8f4e;
  box-shadow: 0 0 8px rgba(111,143,78,.5);
}

/* =========================================================
   8) KO — ZWIJANIE / ROZWIJANIE PALETY (BEZ DUPLIKATÓW)
   =========================================================
   Ten blok dotyczy TYLKO:
   - .variable-items-wrapper.ko-is-collapsible (dodaje JS)
   - przycisku .ko-swatch-toggle (dodaje JS)
   Nie ma tu globalnego overflow dla wszystkich wariantów.
   ========================================================= */

/* --- ZWIJANIE/ROZWIJANIE: animacja max-height tylko dla KO --- */
.single-product .variations_form .variable-items-wrapper.ko-is-collapsible{
  overflow: hidden;
  transition: max-height .38s cubic-bezier(.2,.9,.2,1), opacity .22s ease;
  will-change: max-height;
}

/* Stan zwinięty (JS dodaje .ko-collapsed) */
.single-product .variations_form .variable-items-wrapper.ko-is-collapsible.ko-collapsed{
  opacity: .98;
}

/* Fade na dole palety w stanie zwiniętym (JS dodaje .ko-fade) */
.single-product .variations_form .variable-items-wrapper.ko-is-collapsible.ko-collapsed.ko-fade{
  position: relative;
}
.single-product .variations_form .variable-items-wrapper.ko-is-collapsible.ko-collapsed.ko-fade::after{
  content:"";
  position:absolute;
  left:0; right:0;
  bottom:0;
  height:70px;
  pointer-events:none;
  background: linear-gradient(
    to bottom,
    rgba(248,246,240,0),
    rgba(248,246,240,1)
  );
}

/* --- PRZYCISK KO: spójny z golden, bez duplikatów --- */
.single-product .variations_form .ko-swatch-toggle{
  width: 100%;
  margin-top: 32px;
	margin-bottom: 32px;
  padding: 12px 14px;

  border-radius: 16px;
  border: 1px solid rgba(145,120,80,.40);

  background: linear-gradient(145deg,#f7f1e6 0%, #efe3cd 50%, #f8f2e8 100%);
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 6px 16px rgba(40,30,15,.10);

  color: #303030;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;

  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}

.single-product .variations_form .ko-swatch-toggle:hover{
  transform: translateY(-1px);
  border-color: rgba(145,120,80,.65);
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 10px 24px rgba(40,30,15,.14);
}

.single-product .variations_form .ko-swatch-toggle:active{
  transform: translateY(0);
  filter: saturate(.98);
}

/* Focus */
.single-product .variations_form .ko-swatch-toggle:focus{ outline: none; }
.single-product .variations_form .ko-swatch-toggle:focus-visible{
  box-shadow:
    0 0 0 3px rgba(145,120,80,.22),
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 6px 16px rgba(40,30,15,.10);
}

/* Strzałka */
.single-product .variations_form .ko-swatch-toggle::after{
  content:"";
  display:inline-block;
  width:8px; height:8px;
  margin-left:10px;
  border-right:2px solid rgba(48,48,48,.65);
  border-bottom:2px solid rgba(48,48,48,.65);
  transform: rotate(45deg) translateY(-1px);
  transition: transform .25s ease;
}

/* Gdy rozwinięte (JS dodaje klasę .ko-open na przycisku) */
.single-product .variations_form .ko-swatch-toggle.ko-open::after{
  transform: rotate(-135deg) translateY(2px);
}

/* ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * *************************************************************************************************************************************** */
/* =========================================================
   WAPF – Kalkulator szycia (GLOBAL)
   Działa na wszystkich podstronach produktu
   ========================================================= */
/* =========================================================
   WAPF – Kalkulator szycia / styl globalny
   Działa na wszystkich grupach WAPF na single product
   ========================================================= */

:root{
  --ko-gold-1:#f7f1e6;
  --ko-gold-2:#efe3cd;
  --ko-gold-3:#f8f2e8;

  --ko-border: rgba(145,120,80,.40);
  --ko-border-strong: rgba(145,120,80,.65);
  --ko-text:#303030;

  --ko-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 6px 16px rgba(40,30,15,.12);
}

/* 0) Wszystkie grupy WAPF na produkcie */
.single-product .wapf .wapf-field-group{
  position: relative;
  z-index: 2;
}

/* 1) Wrapper */
.single-product .wapf .wapf-wrapper{
  position: relative;
  padding: clamp(14px, 2.2vw, 24px) !important;
  padding-top: clamp(56px, 5.5vw, 72px) !important;
  margin: 16px 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #fbf7ef 0%, #f3ecdf 100%) !important;
  border: 1px solid rgba(168, 132, 68, 0.35) !important;
  box-shadow:
    0 10px 22px rgba(0,0,0,0.08),
    0 1px 0 rgba(255,255,255,0.65) inset !important;
  overflow: hidden;
  background-image:
    radial-gradient(closest-side, rgba(212,175,55,0.16), transparent 65%),
    linear-gradient(180deg, #fbf7ef 0%, #f3ecdf 100%) !important;
  background-position: -30% -40%, center !important;
  background-size: 160% 120%, auto !important;
  background-repeat: no-repeat !important;
}

/* 2) Nagłówek */
.single-product .wapf .wapf-wrapper::before{
  content: "Kalkulator szycia";
  position: absolute;
  top: clamp(14px, 2.2vw, 24px) !important;
  left: clamp(14px, 2.2vw, 24px) !important;
  right: clamp(14px, 2.2vw, 24px) !important;
  z-index: 3;
  font-family: "Playfair Display", serif !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  color: #1f1a14 !important;
}

/* 3) Kontenery pól */
.single-product .wapf .wapf-field-group .wapf-field-container{
  padding: 12px 0 !important;
  border-top: 1px solid rgba(168, 132, 68, 0.18) !important;
}
.single-product .wapf .wapf-field-group .wapf-field-container:first-child{
  border-top: 0 !important;
  padding-top: 0 !important;
}

/* 4) Etykiety */
.single-product .wapf .wapf-field-label label,
.single-product .wapf .wapf-field-label label span{
  font-family: "Playfair Display", serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  color: #1f1a14 !important;
}

.single-product .wapf abbr.required{
  color: rgba(145,120,80,.95) !important;
  text-decoration: none !important;
  margin-left: 6px;
}

.single-product .wapf .wapf-pricing-hint{
  font-family: "Playfair Display", serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: rgba(48,48,48,.85) !important;
}

/* 5) Opisy */
.single-product .wapf .wapf-field-description{
  margin-top: 8px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg,var(--ko-gold-1) 0%, var(--ko-gold-2) 50%, var(--ko-gold-3) 100%) !important;
  border: 1px solid var(--ko-border) !important;
  box-shadow: var(--ko-shadow) !important;
  font-size: 13px !important;
  font-family: "Playfair Display", serif !important;
  color: rgba(48,48,48,.90) !important;
}

/* 6) Inputy */
.single-product .wapf .wapf-field-input input[type="number"],
.single-product .wapf .wapf-field-input input[type="text"],
.single-product .wapf .wapf-field-input select,
.single-product .wapf .wapf-field-input textarea{
  width: 100%;
  height: 46px !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg,var(--ko-gold-1) 0%, var(--ko-gold-2) 50%, var(--ko-gold-3) 100%) !important;
  border: 1px solid var(--ko-border) !important;
  box-shadow: var(--ko-shadow) !important;
  color: var(--ko-text) !important;
  font-family: "Playfair Display", serif !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
  outline: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}

.single-product .wapf .wapf-field-input input[type="number"]:focus,
.single-product .wapf .wapf-field-input input[type="text"]:focus,
.single-product .wapf .wapf-field-input select:focus,
.single-product .wapf .wapf-field-input textarea:focus{
  border-color: var(--ko-border-strong) !important;
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 10px 24px rgba(40,30,15,.14) !important;
}

/* disabled */
.single-product .wapf .wapf-field-input input:disabled,
.single-product .wapf .wapf-field-input select:disabled,
.single-product .wapf .wapf-field-input textarea:disabled{
  opacity: .65 !important;
  cursor: not-allowed !important;
  filter: saturate(.85);
}

/* 7) Radio */
.single-product .wapf .wapf-radios{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 6px !important;
}

.single-product .wapf .wapf-radio{
  margin: 0 !important;
}

.single-product .wapf .wapf-radio .wapf-input-label{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: linear-gradient(145deg,var(--ko-gold-1) 0%, var(--ko-gold-2) 50%, var(--ko-gold-3) 100%) !important;
  border: 1px solid var(--ko-border) !important;
  box-shadow: var(--ko-shadow) !important;
  cursor: pointer !important;
  user-select: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}

.single-product .wapf .wapf-radio input[type="radio"]{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.single-product .wapf .wapf-radio .wapf-custom{
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(145,120,80,.55) !important;
  background: rgba(255,255,255,.55) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.06) !important;
}

.single-product .wapf .wapf-radio .wapf-label-text{
  font-family: "Playfair Display", serif !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  color: #2f2f2f !important;
}

.single-product .wapf .wapf-radio .wapf-input-label:hover{
  transform: translateY(-1px);
  border-color: var(--ko-border-strong) !important;
}

.single-product .wapf .wapf-radio.wapf-checked .wapf-input-label{
  border-color: rgba(145,120,80,.95) !important;
}

.single-product .wapf .wapf-radio.wapf-checked .wapf-custom{
  background: rgba(145,120,80,.22) !important;
  border-color: rgba(145,120,80,.95) !important;
  box-shadow: 0 0 10px rgba(145,120,80,.25) !important;
}

/* 8) Totals */
.single-product .wapf .wapf-product-totals{
  position: relative;
  z-index: 2;
  margin-top: 18px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(168, 132, 68, 0.22) !important;
}

.single-product .wapf .wapf-product-totals .wapf--inner > div{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 14px 18px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg,#fdfaf3 0%, #f3e9d6 40%, #ead8b5 100%) !important;
  border: 1px solid rgba(168,132,68,.45) !important;
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.85),
    inset 0 -2px 4px rgba(90,70,40,.15),
    0 10px 24px rgba(40,30,15,.18) !important;
}

.single-product .wapf .wapf-product-totals .wapf--inner > div > span:first-child{
  font-family: "Playfair Display", serif !important;
  font-size: 13px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  color: rgba(48,48,48,.75) !important;
}

.single-product .wapf .wapf-product-totals .wapf-grand-total{
  font-family: Roboto, sans-serif !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  color: #1f1a14 !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  background: linear-gradient(145deg,#fffaf0 0%, #f2e3c6 50%, #e8d2a3 100%) !important;
  border: 1px solid rgba(168,132,68,.55) !important;
  box-shadow:
    inset 0 1px 3px rgba(255,255,255,.9),
    inset 0 -2px 4px rgba(90,70,40,.18),
    0 6px 18px rgba(168,132,68,.25),
    0 12px 28px rgba(40,30,15,.15) !important;
  white-space: nowrap;
}

/* 9) Tooltip off */
.single-product .wapf .tooltip-container{
  display: none !important;
}

/* 10) Mobile */
@media (max-width: 480px){
  .single-product .wapf .wapf-wrapper::before{
    font-size: 22px !important;
  }
  .single-product .wapf .wapf-product-totals .wapf-grand-total{
    font-size: 22px !important;
    padding: 8px 14px !important;
  }
}

/* ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * *************************************************************************************************************************************** */
/* =====================================================
   Kreatywne-Okno — Filtry WooCommerce (Elementor)
   Kompletny CSS: kafelki + accordion + spójne odstępy
   Wymaga klas/JS:
   - .ko-filters na każdym widżecie filtra (tak jak masz)
   - JS dodaje .ko-body (wrapper UL) oraz .ko-open na .woocommerce
   ===================================================== */

.ko-filters{
  --ko-gold: var(--e-global-color-primary, #b89b6d);
  --ko-bg: rgba(255,255,255,.92);
  --ko-border: rgba(40,40,40,.12);
  --ko-shadow: 0 18px 45px rgba(0,0,0,.10);
  --ko-shadow2: 0 22px 55px rgba(0,0,0,.13);
  --ko-radius: 20px;
}

.ko-filters .elementor-widget-container{
  background: var(--ko-bg) !important;
  border: 1px solid var(--ko-border) !important;
  border-radius: var(--ko-radius) !important;
  padding: 18px !important;
  box-shadow: var(--ko-shadow) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ko-filters .elementor-widget-container:hover{
  transform: translateY(-1px);
  box-shadow: var(--ko-shadow2) !important;
  border-color: rgba(40,40,40,.18) !important;
}

.ko-filters .woocommerce{
  margin: 0 !important;
  padding: 0 !important;
}

.ko-filters .woocommerce.widget_layered_nav > h5,
.ko-filters .woocommerce.widget_product_categories > h5{
  margin: 0 0 14px 0 !important;
  padding: 10px 10px 14px 10px !important;
  font-weight: 650 !important;
  letter-spacing: .2px !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
}

.ko-filters ul,
.ko-filters li{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ko-filters a::before,
.ko-filters a::after,
.ko-filters li::before,
.ko-filters li::after{
  content: none !important;
  display: none !important;
}

.ko-filters .woocommerce-widget-layered-nav-list,
.ko-filters .product-categories{
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 6px 2px 6px !important;
}

.ko-filters .woocommerce-widget-layered-nav-list__item,
.ko-filters .product-categories > li{
  display: grid !important;
  grid-template-columns: 1fr auto;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  background: rgba(255,255,255,.78) !important;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
  position: relative;
}

.ko-filters .woocommerce-widget-layered-nav-list__item:hover,
.ko-filters .product-categories > li:hover{
  transform: translateY(-1px);
  border-color: rgba(0,0,0,.14) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.08) !important;
  background: rgba(255,255,255,.88) !important;
}

.ko-filters .woocommerce-widget-layered-nav-list__item a,
.ko-filters .product-categories a{
  text-decoration: none !important;
  color: inherit !important;
  font-weight: 520 !important;
  line-height: 1.2;
}

.ko-filters .count{
  font-size: 12px !important;
  opacity: .72 !important;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.65);
  padding: 4px 8px;
  border-radius: 999px;
}

.ko-filters .woocommerce-widget-layered-nav-list__item.chosen,
.ko-filters .woocommerce-widget-layered-nav-list__item--chosen,
.ko-filters .product-categories .current-cat{
  border: 2px solid var(--ko-gold) !important;
  background: rgba(184,155,109,.10) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.12) !important;
}

.ko-filters .woocommerce-widget-layered-nav-list__item.chosen a,
.ko-filters .woocommerce-widget-layered-nav-list__item--chosen a,
.ko-filters .product-categories .current-cat > a{
  font-weight: 750 !important;
  padding-left: 26px !important;
  position: relative;
}

.ko-filters .woocommerce-widget-layered-nav-list__item.chosen a::before,
.ko-filters .woocommerce-widget-layered-nav-list__item--chosen a::before,
.ko-filters .product-categories .current-cat > a::before{
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 10px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--ko-gold) !important;
  transform: translateY(-50%);
}

.ko-filters .woocommerce-widget-layered-nav-list__item.chosen .count,
.ko-filters .woocommerce-widget-layered-nav-list__item--chosen .count,
.ko-filters .product-categories .current-cat .count{
  border-color: rgba(184,155,109,.45) !important;
  background: rgba(184,155,109,.10) !important;
  opacity: .9 !important;
}

@media (max-width: 767px){
  .ko-filters .elementor-widget-container{
    padding: 16px !important;
    border-radius: 18px !important;
  }

  .ko-filters .woocommerce.widget_layered_nav > h5,
  .ko-filters .woocommerce.widget_product_categories > h5{
    padding: 10px 8px 14px 8px !important;
  }

  .ko-filters .woocommerce-widget-layered-nav-list,
  .ko-filters .product-categories{
    padding: 0 2px 2px 2px !important;
  }
}

/* ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * *************************************************************************************************************************************** */
/* =====================================================
   Kreatywne-Okno — Filtry Ceny
   ===================================================== */

.ko-price-filter{
  --ko-gold: var(--e-global-color-primary, #b89b6d);
  --ko-bg: rgba(255,255,255,.92);
  --ko-border: rgba(40,40,40,.12);
  --ko-shadow: 0 18px 45px rgba(0,0,0,.10);
  --ko-shadow2: 0 22px 55px rgba(0,0,0,.13);
  --ko-radius: 20px;
}

/* kafelek */
.ko-price-filter .elementor-widget-container{
  background: var(--ko-bg) !important;
  border: 1px solid var(--ko-border) !important;
  border-radius: var(--ko-radius) !important;
  padding: 18px !important;
  box-shadow: var(--ko-shadow) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ko-price-filter .elementor-widget-container:hover{
  transform: translateY(-1px);
  box-shadow: var(--ko-shadow2) !important;
  border-color: rgba(40,40,40,.18) !important;
}

/* nagłówek */
.ko-price-filter .woocommerce.widget_price_filter > h5{
  margin: 0 0 14px 0 !important;
  padding: 10px 10px 14px 10px !important;
  font-weight: 650 !important;
  letter-spacing: .2px !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
}

/* wrapper */
.ko-price-filter .price_slider_wrapper{
  padding: 6px 6px 2px 6px !important;
}

/* tor suwaka */
.ko-price-filter .price_slider.ui-slider{
  height: 8px !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.08) !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
  margin: 10px 6px 14px 6px !important;
}

/* zaznaczony zakres */
.ko-price-filter .ui-slider-range{
  background: linear-gradient(90deg, rgba(184,155,109,.35), rgba(184,155,109,.85)) !important;
  border-radius: 999px !important;
}

/* uchwyty */
.ko-price-filter .ui-slider-handle{
  width: 18px !important;
  height: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.98) !important;
  border: 2px solid rgba(184,155,109,.95) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.14) !important;
  outline: none !important;
}

.ko-price-filter .ui-slider-handle:hover{
  box-shadow: 0 14px 28px rgba(0,0,0,.18) !important;
}

.ko-price-filter .ui-slider-handle:focus{
  box-shadow: 0 0 0 4px rgba(184,155,109,.20), 0 14px 28px rgba(0,0,0,.18) !important;
}

/* sekcja z przyciskiem i labelką */
.ko-price-filter .price_slider_amount{
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 6px !important;
}

/* Cena: xx — yy */
.ko-price-filter .price_label{
  grid-column: 1 / -1 !important;
  margin-top: 6px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  background: rgba(255,255,255,.78) !important;
  font-weight: 600 !important;
}

.ko-price-filter .price_label .from,
.ko-price-filter .price_label .to{
  color: rgba(0,0,0,.86) !important;
}

.ko-price-filter .price_label .from{
  position: relative;
  padding-left: 18px;
}

.ko-price-filter .price_label .from::before{
  content: "" !important;
  position: absolute;
  left: 6px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--ko-gold) !important;
  transform: translateY(-50%);
}

/* przycisk Filtruj */
.ko-price-filter button.button{
  border-radius: 14px !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(184,155,109,.55) !important;
  background: rgba(184,155,109,.10) !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.10) !important;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}

.ko-price-filter button.button:hover{
  transform: translateY(-1px);
  background: rgba(184,155,109,.16) !important;
  border-color: rgba(184,155,109,.75) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.14) !important;
}

.ko-price-filter button.button:active{
  transform: translateY(0);
  box-shadow: 0 10px 22px rgba(0,0,0,.10) !important;
}

/* usuń clear */
.ko-price-filter .clear{ display:none !important; }

@media (max-width: 767px){
  .ko-price-filter .elementor-widget-container{ padding: 16px !important; border-radius: 18px !important; }
  .ko-price-filter .price_slider_amount{ grid-template-columns: 1fr !important; }
  .ko-price-filter button.button{ width: 100% !important; }
}
/* ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * *************************************************************************************************************************************** */
/* =====================================================
   Kreatywne-Okno — Nazwa kategorii w zakładce katalogowej
   ===================================================== */
.ko-lux-card{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(40,40,40,.12);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 18px 45px rgba(0,0,0,.10);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ko-lux-card:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 55px rgba(0,0,0,.13);
  border-color: rgba(40,40,40,.18);
}

/* ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * *************************************************************************************************************************************** */
/* OFF CANVAS – ukrycie paska przewijania */
/* Bardzo precyzyjnie dla otwartego panelu */
[id^="off-canvas-"] .e-off-canvas__content {
	overflow-y: auto !important;
	overflow-x: hidden !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}

[id^="off-canvas-"] .e-off-canvas__content::-webkit-scrollbar {
	width: 0 !important;
	height: 0 !important;
	display: none !important;
}
/* ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * *************************************************************************************************************************************** */
.single-product .field-0d60be9,
.single-product .field-fbb7dbf,
.single-product .field-4f6d9ee {
  display: none !important;
}

.elementor-element-285611f .woocommerce-loop-category__title .count {
  display: none !important;
}

.woocommerce ul.products li.product-category img {
  border-radius: 32px;
}

/* ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * ***************************************************************************************************************************************
 * *************************************************************************************************************************************** */
/* ===== BOX SUMA CAŁKOWITA – styl premium (spójny z Add to Cart) ===== */
#itper-fixed-total-box.itper-premium-totals{
  display: flex;
  justify-content: space-between;
  align-items: center;

  padding: 14px 18px;
  margin-top: 12px;

  background: linear-gradient(145deg,#f7f1e6 0%, #efe3cd 50%, #f8f2e8 100%) !important;
  border: 1px solid rgba(145,120,80,.40) !important;

  border-radius: 16px;

  font-family: "Playfair Display", serif;

  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 6px 16px rgba(40,30,15,.12);

  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* hover jak przycisk – subtelny premium efekt */
#itper-fixed-total-box.itper-premium-totals:hover{
  transform: translateY(-1px);
  border-color: rgba(145,120,80,.65);
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.75),
    inset 0 -2px 4px rgba(90,70,40,.12),
    0 10px 24px rgba(40,30,15,.16);
}

/* label */
#itper-fixed-total-box .itper-label{
  font-size: 13px;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-weight: 600;
  color: #6b5a3a;
  opacity: .9;
}

/* cena */
#itper-fixed-total-box .itper-price{
  font-size: 20px;
  font-weight: 700;
  color: #303030;
  letter-spacing: .05em;
}

/* opcjonalnie: mocniejszy akcent ceny */
#itper-fixed-total-box .itper-price::after{
  content: '';
  display: block;
  height: 2px;
  width: 100%;
  margin-top: 4px;
  background: linear-gradient(90deg, rgba(145,120,80,.0), rgba(145,120,80,.5), rgba(145,120,80,.0));
  border-radius: 2px;
}

/* Suma całkowita, licznik sztuk i przycisk jeden pod drugim */
.single-product .woocommerce-variation-add-to-cart,
.single-product .variations_button.woocommerce-variation-add-to-cart-enabled {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
}

/* box z sumą */
.single-product .woocommerce-variation-add-to-cart .wapf-product-totals,
.single-product .woocommerce-variation-add-to-cart #itper-fixed-total-box {
    width: 100% !important;
    display: block !important;
    order: 1;
}

/* wrapper ilość + przycisk */
.single-product .woocommerce-variation-add-to-cart .itper-action-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    order: 2;
}

/* licznik sztuk */
.single-product .woocommerce-variation-add-to-cart .itper-action-wrapper .quantity {
    width: 100% !important;
    margin: 0 !important;
}

.single-product .woocommerce-variation-add-to-cart .itper-action-wrapper .quantity .qty {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* przycisk */
.single-product .woocommerce-variation-add-to-cart .itper-action-wrapper .single_add_to_cart_button {
    width: 100% !important;
    margin: 0 !important;
}

.single-product .woocommerce-variation-add-to-cart .itper-action-wrapper > * {
    width: 100% !important;
    display: block !important;
}