/* ==========================================================================
   Krakowska Palarnia Kawy — motyw
   Paleta poprawiona pod WCAG AA: jasny brąz tylko dekoracyjnie,
   tekst i przyciski na #7a5a36 (5,4:1 na bieli).
   ========================================================================== */

:root{
  --kpk-ink:#231c1a;
  --kpk-ink-2:#3b2f2b;
  --kpk-body:#463733;
  --kpk-muted:#5c4a47;
  --kpk-brand:#7a5a36;        /* AA na bieli */
  --kpk-brand-dark:#5e4429;   /* hover */
  --kpk-brand-deep:#40312f;
  --kpk-tan:#c7a17a;          /* wyłącznie dekoracja */
  --kpk-line:#ece6e0;
  --kpk-line-2:#e5ded7;
  --kpk-field:#b9aea5;
  --kpk-bg:#ffffff;
  --kpk-bg-alt:#f8f6f4;
  --kpk-bg-soft:#faf8f6;
  --kpk-bg-pill:#f1ece7;
  --kpk-ok:#124a25;
  --kpk-ok-bg:#e7f2ea;
  --kpk-err:#a3200a;
  --kpk-focus:#1159af;
  --kpk-radius:18px;
  --kpk-radius-sm:12px;
  --kpk-maxw:1560px;
  --kpk-gap:clamp(16px,2vw,24px);
  --kpk-section:clamp(36px,5vw,68px);
  --kpk-sans:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --kpk-serif:'Lora',Georgia,'Times New Roman',serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body{margin:0;background:var(--kpk-bg);color:var(--kpk-ink);font:400 16px/1.65 var(--kpk-sans)}
img,svg,video{max-width:100%;height:auto}
a{color:var(--kpk-brand)}
a:hover{color:#543c22}
:focus-visible{outline:3px solid var(--kpk-focus);outline-offset:2px;border-radius:4px}
::selection{background:var(--kpk-tan);color:var(--kpk-ink)}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:static!important;width:auto;height:auto;clip:auto;margin:0}

.kpk-skip-link{position:absolute;left:16px;top:-100px;z-index:9999;background:var(--kpk-ink);color:#fff;padding:14px 22px;border-radius:0 0 10px 10px;font:600 15px/1 var(--kpk-sans);text-decoration:none;transition:top .15s}
.kpk-skip-link:focus{top:0;color:#fff}
#tresc:focus{outline:none}

/* --------------------------------------------------------- Layout */
.kpk-container{max-width:var(--kpk-maxw);margin:0 auto;padding-inline:clamp(16px,4vw,20px)}
.kpk-container-full{width:100%}
.kpk-narrow{max-width:74ch;margin-inline:auto}
.kpk-measure{max-width:74ch;margin-inline:auto}
.kpk-section{padding-block:var(--kpk-section)}
.kpk-section--tight{padding-block:clamp(24px,3.5vw,44px)}
.kpk-section--alt{background:var(--kpk-bg-alt)}
.kpk-section__head{display:flex;flex-wrap:wrap;gap:16px;align-items:baseline;justify-content:space-between;margin-bottom:clamp(20px,3vw,32px)}
.kpk-main{display:block}

/* --------------------------------------------------------- Typografia */
.kpk-h1{font:700 clamp(28px,4.4vw,44px)/1.14 var(--kpk-serif);margin:0 0 16px;color:var(--kpk-ink);text-wrap:balance}
.kpk-h2{font:600 clamp(24px,3.2vw,34px)/1.2 var(--kpk-serif);margin:0 0 clamp(16px,2.4vw,28px);color:var(--kpk-ink);text-wrap:balance}
.kpk-h2--center{text-align:center}
.kpk-h3{font:600 clamp(19px,2.2vw,22px)/1.3 var(--kpk-serif);margin:0 0 10px;color:var(--kpk-ink)}
.kpk-lead{font-size:clamp(15px,1.6vw,17px);color:var(--kpk-body);max-width:70ch;margin:0 0 20px;text-wrap:pretty}
.kpk-eyebrow{margin:0 0 10px;font:600 11px/1 var(--kpk-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--kpk-brand-dark)}
.kpk-pill{display:inline-block;margin:0 0 20px;background:var(--kpk-bg-pill);border-radius:999px;padding:9px 22px;font:600 14px/1 var(--kpk-sans);color:var(--kpk-ink-2)}
.kpk-prose{color:var(--kpk-body);max-width:76ch}
.kpk-prose>*+*{margin-top:1em}
.kpk-prose h2{font:600 clamp(22px,2.8vw,28px)/1.25 var(--kpk-serif);color:var(--kpk-ink);margin-top:1.6em}
.kpk-prose h3{font:600 clamp(19px,2.2vw,22px)/1.3 var(--kpk-serif);color:var(--kpk-ink);margin-top:1.4em}
.kpk-prose strong{color:var(--kpk-ink)}
.kpk-prose blockquote{margin:0;padding:20px 24px;border-left:4px solid var(--kpk-brand);background:var(--kpk-bg-soft);border-radius:0 14px 14px 0;font:600 19px/1.5 var(--kpk-serif);color:var(--kpk-ink)}
.kpk-prose img{border-radius:var(--kpk-radius-sm)}
.kpk-empty{padding:28px;border:1px dashed #c9bdb2;border-radius:var(--kpk-radius);text-align:center;color:var(--kpk-body)}

/* --------------------------------------------------------- Przyciski */
.kpk-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 28px;border-radius:999px;font:600 15px/1 var(--kpk-sans);text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background-color .15s,color .15s,border-color .15s}
.kpk-btn--sm{min-height:46px;padding:0 22px;font-size:14px}
.kpk-btn--block{width:100%}
.kpk-btn--primary{background:var(--kpk-brand);color:#fff;border-color:var(--kpk-brand)}
.kpk-btn--primary:hover,.kpk-btn--primary:focus-visible{background:var(--kpk-brand-dark);border-color:var(--kpk-brand-dark);color:#fff}
.kpk-btn--secondary{background:#fff;color:var(--kpk-brand-deep);border-color:var(--kpk-brand-deep)}
.kpk-btn--secondary:hover,.kpk-btn--secondary:focus-visible{background:var(--kpk-brand-deep);color:#fff}
.kpk-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.kpk-link-more{font:600 15px/1 var(--kpk-sans);text-decoration:none}
.kpk-link-more:hover{text-decoration:underline}

/* --------------------------------------------------------- Nagłówek */
.kpk-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid #e8e2dc}
.kpk-header__inner{max-width:1600px;margin:0 auto;padding:14px clamp(16px,4vw,20px);display:flex;align-items:center;gap:20px}
.kpk-header__brand{flex:0 0 auto;line-height:0}
.kpk-header__brand img,.custom-logo{width:clamp(150px,18vw,196px);height:auto;display:block}
.kpk-header__logo-text{font:700 18px/1.2 var(--kpk-serif);color:var(--kpk-ink);text-decoration:none}
.kpk-header__tools{margin-left:auto;display:flex;align-items:center;gap:8px;position:relative}

.kpk-nav{flex:1 1 auto;min-width:0}
.kpk-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:clamp(10px,1.6vw,28px);justify-content:center}
.kpk-nav__list a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;font:600 clamp(14px,1.05vw,16px)/1.2 var(--kpk-sans);color:var(--kpk-ink);text-decoration:none;white-space:nowrap}
.kpk-nav__list a:hover{color:var(--kpk-brand)}
.kpk-nav__list .current-menu-item>a,.kpk-nav__list .current_page_item>a{color:var(--kpk-brand);box-shadow:inset 0 -2px 0 var(--kpk-brand)}
.kpk-nav__list .sub-menu{list-style:none;margin:0;padding:8px;position:absolute;background:#fff;border:1px solid var(--kpk-line);border-radius:var(--kpk-radius-sm);box-shadow:0 16px 40px rgba(35,28,26,.14);min-width:220px;display:none;z-index:120}
.kpk-nav__list li:hover>.sub-menu,.kpk-nav__list li:focus-within>.sub-menu{display:block}
.kpk-nav__list .menu-item-has-children{position:relative}

.kpk-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:48px;border-radius:999px;border:1px solid #d9d1c9;background:#fff;color:var(--kpk-brand-deep);cursor:pointer;text-decoration:none}
.kpk-icon-btn:hover{background:var(--kpk-bg-pill)}
.kpk-icon{width:18px;height:18px;display:block;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.kpk-icon--user{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6 8-6s8 2 8 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6 8-6s8 2 8 6'/%3E%3C/svg%3E")}
.kpk-icon--search{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E")}

.kpk-burger{display:none;flex-direction:column;gap:5px;align-items:center;justify-content:center;min-height:48px;min-width:48px;border:1px solid #d9d1c9;border-radius:var(--kpk-radius-sm);background:#fff;cursor:pointer}
.kpk-burger__bar{display:block;width:22px;height:2px;background:var(--kpk-ink)}

.kpk-search{border-top:1px solid var(--kpk-line);background:#fff}
.kpk-search__inner{max-width:var(--kpk-maxw);margin:0 auto;padding:16px clamp(16px,4vw,20px)}
.kpk-searchform label{display:block;font:600 14px/1.4 var(--kpk-sans);margin-bottom:6px}
.kpk-searchform__row{display:flex;gap:10px;flex-wrap:wrap}
.kpk-searchform input[type=search]{flex:1 1 240px;min-height:48px;padding:12px 14px;border:1px solid var(--kpk-field);border-radius:10px;font:400 16px/1.4 var(--kpk-sans)}

/* --------------------------------------------------------- Mini koszyk */
.kpk-cart{position:relative}
.kpk-cart__toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:48px;padding:0;border-radius:999px;border:1px solid #d9d1c9;background:#fff;color:var(--kpk-brand-deep);cursor:pointer}
.kpk-cart__toggle:hover{background:var(--kpk-bg-pill)}
.kpk-cart__icon{width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 4h2l2.5 11h10L20 7H6'/%3E%3Ccircle cx='9' cy='19' r='1.5'/%3E%3Ccircle cx='17' cy='19' r='1.5'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 4h2l2.5 11h10L20 7H6'/%3E%3Ccircle cx='9' cy='19' r='1.5'/%3E%3Ccircle cx='17' cy='19' r='1.5'/%3E%3C/svg%3E") no-repeat center}
.kpk-cart__count{position:absolute;top:-4px;right:-4px;background:var(--kpk-brand);color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font:700 11px/1 var(--kpk-sans);border:2px solid #fff}
.kpk-cart__count:empty,.kpk-cart__count[data-empty="1"]{display:none}
.kpk-cart__panel{position:absolute;top:calc(100% + 10px);right:0;width:min(380px,92vw);background:#fff;border:1px solid var(--kpk-line-2);border-radius:var(--kpk-radius);box-shadow:0 20px 50px rgba(35,28,26,.18);padding:20px;z-index:150}
.kpk-cart__panel[hidden]{display:none}
.kpk-cart__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.kpk-cart__title{font:600 19px/1.2 var(--kpk-serif);margin:0}
.kpk-cart__close{min-width:40px;min-height:40px;border:0;background:none;cursor:pointer;font-size:22px;color:var(--kpk-muted);border-radius:8px}
.kpk-cart__close:hover{background:var(--kpk-bg-pill);color:var(--kpk-ink)}
.kpk-cart__items{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:14px;max-height:min(46vh,320px);overflow:auto}
.kpk-cart__item{display:flex;gap:12px;align-items:flex-start}
.kpk-cart__item img{width:56px;height:56px;flex:0 0 auto;object-fit:contain;background:var(--kpk-bg-soft);border-radius:10px}
.kpk-cart__item-main{flex:1;min-width:0}
.kpk-cart__item-name{margin:0 0 2px;font:600 14px/1.35 var(--kpk-sans);color:var(--kpk-ink)}
.kpk-cart__item-variant{margin:0 0 4px;font-size:12px;color:var(--kpk-muted)}
.kpk-cart__item-price{margin:0;font:700 14px/1 var(--kpk-sans);color:var(--kpk-ink)}
.kpk-cart__remove{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--kpk-line-2);border-radius:10px;color:var(--kpk-muted);text-decoration:none}
.kpk-cart__remove:hover{background:var(--kpk-bg-pill);color:var(--kpk-ink)}
.kpk-cart__total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-top:1px solid var(--kpk-line-2);margin:0 0 14px;font:600 15px/1 var(--kpk-sans)}
.kpk-cart__total strong{font-size:19px}
.kpk-cart__actions{display:grid;gap:10px}
.kpk-cart__empty{margin:0 0 16px;padding:18px;border:1px dashed #c9bdb2;border-radius:var(--kpk-radius-sm);text-align:center;font-size:14px;color:var(--kpk-body)}

/* --------------------------------------------------------- Okruszki, paginacja */
.kpk-breadcrumbs{padding:18px 0 8px}
.kpk-breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--kpk-muted)}
.kpk-breadcrumbs [aria-current=page]{color:var(--kpk-ink);font-weight:600}
.kpk-pagination{padding:clamp(28px,4vw,48px) 0}
.kpk-pagination ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.kpk-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:0 14px;border-radius:var(--kpk-radius-sm);border:1px solid #d9d1c9;color:var(--kpk-brand-deep);text-decoration:none;font-weight:600}
.kpk-pagination .page-numbers.current{background:var(--kpk-brand-deep);color:#fff;border-color:var(--kpk-brand-deep)}

/* --------------------------------------------------------- Siatki */
.kpk-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--kpk-gap)}
.kpk-grid--tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.kpk-grid--cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.kpk-grid--steps{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.kpk-grid--brands{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.kpk-grid--methods{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.kpk-grid--subcats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:clamp(24px,3vw,36px)}
.kpk-grid--posts{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.kpk-grid--plantations{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(20px,3vw,32px)}
.kpk-grid--products{grid-template-columns:repeat(4,minmax(0,1fr))}

.kpk-card{background:#fff;border:1px solid var(--kpk-line);border-radius:var(--kpk-radius);padding:24px;display:flex;flex-direction:column;gap:10px}
.kpk-card--package .kpk-price{margin-top:auto}

.kpk-split{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center}
.kpk-split--right .kpk-split__media{order:2}
.kpk-split__img{width:100%;border-radius:var(--kpk-radius);background:var(--kpk-bg-soft)}

/* --------------------------------------------------------- Hero */
.kpk-hero{background:#f3f1ef}
.kpk-hero--plain{background:#f3f1ef;padding-block:clamp(32px,5vw,72px)}
.kpk-hero--page .kpk-hero__inner{padding-block:clamp(32px,4.5vw,64px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
@media (max-width:860px){.kpk-hero--page .kpk-hero__inner{grid-template-columns:minmax(0,1fr)}}
.kpk-hero--page .kpk-breadcrumbs{padding-top:0}
.kpk-hero__media--framed img{width:100%;border-radius:var(--kpk-radius);background:#fff;padding:clamp(16px,2vw,28px)}
.kpk-hero__inner{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:center;padding-block:clamp(36px,6vw,84px)}
.kpk-hero--page .kpk-hero__inner{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}
.kpk-hero--page .kpk-hero__text{max-width:62ch}
@media (max-width:900px){.kpk-hero--page .kpk-hero__inner{grid-template-columns:1fr}}
.kpk-hero__media{position:relative}
.kpk-hero__media img{position:relative;width:100%;display:block}
.kpk-hero__blob{position:absolute;inset:auto 6% 12% auto;width:56%;aspect-ratio:1;border-radius:50%;background:var(--kpk-tan);opacity:.45}

/* --------------------------------------------------------- Hero slider */
.kpk-hero__viewport{position:relative}
.kpk-hero__slide{animation:kpk-fade .45s ease}
.kpk-hero__slide[hidden]{display:none}
@keyframes kpk-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.kpk-hero__slide{animation:none}}
.kpk-hero__badge{display:inline-block;margin:0 0 14px;background:var(--kpk-brand);color:#fff;border-radius:999px;padding:7px 18px;font:700 12px/1 var(--kpk-sans);letter-spacing:.08em;text-transform:uppercase}
.kpk-hero__controls{display:flex;align-items:center;justify-content:center;gap:12px;padding-bottom:clamp(16px,2vw,24px)}
.kpk-hero__pause{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #d9d1c9;background:#fff;color:var(--kpk-brand-deep);font:600 13px/1 var(--kpk-sans);cursor:pointer}
.kpk-hero__pause:hover{background:var(--kpk-brand-deep);color:#fff}
.kpk-hero__pause-text{font-size:13px}
.kpk-hero__arrow{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border-radius:50%;border:2px solid var(--kpk-brand-deep);background:#fff;color:var(--kpk-brand-deep);font-size:18px;cursor:pointer}
.kpk-hero__arrow:hover{background:var(--kpk-brand-deep);color:#fff}
.kpk-hero__pause{font-size:12px}
.kpk-hero__dots{display:flex;gap:8px;align-items:center}
.kpk-hero__dot{width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.kpk-hero__dot::before{content:"";width:11px;height:11px;border-radius:50%;background:#cfc4ba;transition:background-color .15s,transform .15s}
.kpk-hero__dot:hover::before{background:var(--kpk-brand)}
.kpk-hero__dot.is-active::before{background:var(--kpk-brand-deep);transform:scale(1.35)}

/* --------------------------------------------------------- Kafelki, banery */
.kpk-tile{display:block;height:100%;padding:20px;background:#fff;border:1px solid var(--kpk-line);border-radius:var(--kpk-radius);text-decoration:none;color:var(--kpk-ink)}
.kpk-tile:hover{border-color:var(--kpk-tan);box-shadow:0 10px 30px rgba(35,28,26,.09)}
.kpk-tile__img{width:100%;aspect-ratio:1;object-fit:contain;display:block;margin-bottom:14px}
.kpk-tile__label{display:block;text-align:center;font:600 17px/1.35 var(--kpk-serif)}
.kpk-banner{display:block;line-height:0;border-radius:var(--kpk-radius);overflow:hidden}
.kpk-banner img{width:100%;display:block}
a.kpk-banner:hover{box-shadow:0 12px 34px rgba(35,28,26,.16)}

.kpk-placeholder{display:flex;align-items:center;justify-content:center;width:100%;border-radius:var(--kpk-radius-sm);background:repeating-linear-gradient(135deg,#f4f0ec 0 12px,#efe9e3 12px 24px)}
.kpk-placeholder__label{font:500 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:#7d6f64;letter-spacing:.06em;text-align:center;padding:0 14px}

/* --------------------------------------------------------- Archiwum produktów */
.kpk-archive__head{max-width:70ch;padding-bottom:clamp(20px,3vw,32px)}
.kpk-archive{display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,36px);align-items:flex-start}
.kpk-archive__results{flex:4 1 420px;min-width:0}
.kpk-archive--nofilters .kpk-archive__results{flex:1 1 100%}
.kpk-archive__toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:20px}
.kpk-archive__count{margin:0;font-size:14px;color:var(--kpk-body)}
.kpk-archive__controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.kpk-archive__controls select,.woocommerce-ordering select{min-height:48px;padding:0 12px;border:1px solid var(--kpk-field);border-radius:10px;background:#fff;font:400 15px/1 var(--kpk-sans);color:var(--kpk-ink)}
.kpk-viewswitch{display:flex;gap:4px;border:1px solid #d9d1c9;border-radius:999px;padding:3px;background:#fff}
.kpk-viewswitch button{min-height:40px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--kpk-ink-2);font:600 13px/1 var(--kpk-sans);cursor:pointer}
.kpk-viewswitch button[aria-pressed=true]{background:var(--kpk-brand-deep);color:#fff}

.kpk-groups{margin:0 0 clamp(24px,3vw,36px)}
.kpk-groups__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.kpk-group{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 22px;border-radius:999px;border:2px solid #cfc4ba;background:#fff;color:var(--kpk-ink-2);font:600 15px/1 var(--kpk-sans);text-decoration:none}
.kpk-group:hover{border-color:var(--kpk-brand);color:var(--kpk-brand)}
.kpk-group.is-active{background:var(--kpk-brand-deep);border-color:var(--kpk-brand-deep);color:#fff}
.kpk-group__count{opacity:.75;font-weight:500}
.kpk-group.is-active .kpk-group__count{opacity:.85}

/* Filtry */
.kpk-filters{flex:1 1 250px;max-width:320px;border:1px solid var(--kpk-line);border-radius:var(--kpk-radius);padding:20px;background:var(--kpk-bg-soft)}
.kpk-filters__active{margin:0 0 18px;font-size:13px;color:var(--kpk-muted)}
.kpk-filters__group{border:0;padding:0;margin:0 0 22px}
.kpk-filters__group legend{font:600 14px/1.4 var(--kpk-sans);padding:0 0 10px;color:var(--kpk-ink)}
.kpk-filters__group ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.kpk-check{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 6px;border-radius:10px;cursor:pointer;font-size:15px;color:var(--kpk-ink)}
.kpk-check:hover{background:var(--kpk-bg-pill)}
.kpk-check input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--kpk-brand)}
.kpk-check__count{margin-left:auto;font-size:13px;color:var(--kpk-muted)}
.kpk-filters__range-label{display:block;font:600 14px/1.4 var(--kpk-sans);margin-bottom:6px}
.kpk-filters input[type=range]{width:100%;accent-color:var(--kpk-brand);min-height:32px}
.kpk-filters__actions{display:flex;flex-wrap:wrap;gap:10px}
.kpk-filters__actions .kpk-btn{flex:1 1 auto;min-height:48px;padding-inline:20px}

/* Karta produktu */
.kpk-product-card{background:#fff;border:1px solid var(--kpk-line);border-radius:var(--kpk-radius);overflow:hidden;display:flex;flex-direction:column;list-style:none}
.kpk-product-card__media{display:block;position:relative;line-height:0;background:var(--kpk-bg-soft)}
.kpk-product-card__media img{width:100%;aspect-ratio:1;object-fit:contain;display:block}
.kpk-product-card__body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1;min-width:0}
.kpk-product-card__title{margin:0;font:600 17px/1.35 var(--kpk-sans)}
.kpk-product-card__title a{color:var(--kpk-ink);text-decoration:none}
.kpk-product-card__title a:hover{color:var(--kpk-brand)}
.kpk-product-card__excerpt{margin:0;font-size:14px;color:var(--kpk-muted)}
.kpk-product-card__cta{margin:0}
.kpk-badge{position:absolute;top:12px;left:12px;background:var(--kpk-brand);color:#fff;border-radius:999px;padding:6px 14px;font:600 12px/1 var(--kpk-sans)}
.kpk-price{margin:auto 0 0;font:700 17px/1.3 var(--kpk-sans);color:var(--kpk-ink)}
.kpk-price del{color:var(--kpk-muted);font-weight:400;margin-right:6px}
.kpk-price--big{font-size:22px}
.kpk-price--inquiry{font-size:15px;font-weight:600;color:var(--kpk-brand-dark)}

/* Widok listy */
.kpk-grid--products.is-list{grid-template-columns:1fr}
.kpk-grid--products.is-list .kpk-product-card{flex-direction:row;flex-wrap:wrap}
.kpk-grid--products.is-list .kpk-product-card__media{flex:0 0 200px;max-width:100%}

/* Profil sensoryczny */
.kpk-sensory{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.kpk-sensory__item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--kpk-body)}
.kpk-sensory__bars{display:inline-flex;gap:3px}
.kpk-sensory__bar{display:inline-block;width:13px;height:6px;border-radius:4px;background:#ddd4cb}
.kpk-sensory__bar.is-filled{background:var(--kpk-brand)}
.kpk-sensory--lg{gap:18px;margin-bottom:26px}
.kpk-sensory--lg .kpk-sensory__item{font-size:14px;color:var(--kpk-ink)}
.kpk-sensory--lg .kpk-sensory__label{font-weight:600}
.kpk-sensory--lg .kpk-sensory__bar{width:18px;height:7px}

/* --------------------------------------------------------- Karta produktu (single) */
.kpk-product{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;padding-bottom:clamp(32px,5vw,64px)}
@media (max-width:900px){.kpk-product{grid-template-columns:1fr}}
.kpk-product__gallery{min-width:0}
.kpk-product__gallery img{border-radius:var(--kpk-radius);background:var(--kpk-bg-soft)}
.kpk-product__title{margin-bottom:10px}
.kpk-product__short{margin-bottom:22px}
.kpk-usp{list-style:none;margin:24px 0 0;padding:18px 0 0;border-top:1px solid var(--kpk-line-2);display:grid;gap:10px;font-size:14px;color:var(--kpk-body)}
.kpk-notice{margin:0 0 22px;padding:12px 16px;border-radius:var(--kpk-radius-sm);background:var(--kpk-bg-pill);font:600 15px/1.5 var(--kpk-sans);color:var(--kpk-ink-2)}
.kpk-specs{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0 0 24px;font-size:15px;color:var(--kpk-body)}
.kpk-specs dt{font-weight:700;color:var(--kpk-ink)}
.kpk-specs dd{margin:0}

/* Warianty jako radiogroup */
.kpk-variation{border:0;padding:0;margin:0 0 22px}
.kpk-variation__legend{font:600 15px/1.4 var(--kpk-sans);padding:0 0 10px;color:var(--kpk-ink)}
.kpk-variation__options{display:flex;flex-wrap:wrap;gap:10px}
.kpk-swatch{min-height:48px;padding:0 20px;border-radius:999px;cursor:pointer;font:600 14px/1 var(--kpk-sans);background:#fff;color:var(--kpk-ink-2);border:2px solid #cfc4ba}
.kpk-swatch:hover{border-color:var(--kpk-brand)}
.kpk-swatch.is-selected,.kpk-swatch[aria-checked=true]{background:var(--kpk-brand-deep);color:#fff;border-color:var(--kpk-brand-deep)}
.kpk-variation__select{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kpk-variations__reset{margin:0 0 16px;font-size:14px}
.kpk-addtocart{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.kpk-qty{display:flex;align-items:center;gap:8px}
.kpk-qty label{font:600 15px/1 var(--kpk-sans)}
.kpk-qty input{width:88px;min-height:52px;padding:0 12px;border:1px solid var(--kpk-field);border-radius:10px;font:400 16px/1 var(--kpk-sans);text-align:center}
.kpk-addtocart .kpk-btn{flex:1 1 220px;min-height:52px;font-size:16px;font-weight:700}
.woocommerce-variation-price{font:700 20px/1 var(--kpk-sans);color:var(--kpk-ink);margin-bottom:12px;display:block}

/* Zakładki */
.kpk-tabs{border-top:1px solid var(--kpk-line-2)}
.kpk-tab{border-bottom:1px solid var(--kpk-line-2)}
.kpk-tab__summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:18px 4px;font:600 17px/1.4 var(--kpk-sans);color:var(--kpk-ink)}
.kpk-tab__summary::-webkit-details-marker{display:none}
.kpk-tab__summary::after{content:"+";font-size:24px;line-height:1;color:var(--kpk-brand)}
.kpk-tab[open] .kpk-tab__summary::after{content:"–"}
.kpk-tab__summary:hover{color:var(--kpk-brand)}
.kpk-tab__body{padding:0 4px 24px}

/* Metody parzenia */
.kpk-method{display:flex;gap:14px;align-items:center;padding:20px;border:1px solid var(--kpk-line);border-radius:16px;background:var(--kpk-bg-soft)}
.kpk-method__icon{width:56px;height:56px;flex:0 0 auto;border-radius:var(--kpk-radius-sm);background:#fff;border:1px solid var(--kpk-line-2);display:inline-flex;align-items:center;justify-content:center;color:var(--kpk-brand-deep)}
.kpk-method__svg{width:32px;height:32px;display:block}
.kpk-method__img{width:36px;height:36px;object-fit:contain;display:block}
.kpk-method__name{font:600 15px/1.3 var(--kpk-sans);color:var(--kpk-ink)}

/* --------------------------------------------------------- Serwis, zespół, plantacje */
.kpk-step{border:1px solid var(--kpk-line);border-radius:var(--kpk-radius);padding:24px;background:var(--kpk-bg-soft)}
.kpk-step__num{margin:0 0 10px;font:700 13px/1 var(--kpk-sans);letter-spacing:.12em;color:var(--kpk-brand)}
.kpk-brand{display:flex;align-items:center;justify-content:center;min-height:120px;padding:22px;background:#fff;border:1px solid var(--kpk-line);border-radius:14px;text-align:center}
.kpk-brand__name{font:700 17px/1.2 var(--kpk-sans);color:var(--kpk-ink-2)}
.kpk-brand__logo{max-height:72px;max-width:100%;width:auto;height:auto;object-fit:contain}

.kpk-team{list-style:none;margin:0;padding:0;display:grid;gap:clamp(20px,3vw,32px)}
.kpk-team__item{display:grid;gap:clamp(18px,2.2vw,28px);grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:start;background:#fff;border:1px solid var(--kpk-line);border-radius:20px;padding:clamp(18px,2vw,24px)}
.kpk-team__item.is-reversed{grid-template-columns:minmax(0,1fr) minmax(200px,260px)}
.kpk-team__item.is-reversed .kpk-team__media{order:2}
.kpk-team__media{min-width:0}
.kpk-team__photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;background:var(--kpk-bg-soft);display:block}
.kpk-team__text{min-width:0}
.kpk-team__text>*:first-child{margin-top:0}
.kpk-team__text .kpk-prose>*+*{margin-top:.8em}
.kpk-team__role{margin:0 0 14px;font:600 12px/1 var(--kpk-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--kpk-brand-dark)}
.kpk-team__lead{margin:0 0 14px;font:600 17px/1.5 var(--kpk-sans);color:var(--kpk-ink)}

.kpk-plantation{display:flex;flex-direction:column;gap:14px;text-align:center}
.kpk-plantation__stamp img{width:100%;max-width:240px;margin-inline:auto;border-radius:50%;display:block}
.kpk-plantation__name{font-size:24px}
.kpk-plantation__block h4{margin:0 0 6px;font:700 15px/1.4 var(--kpk-sans);color:var(--kpk-ink)}
.kpk-plantation__block p{margin:0;font-size:15px;color:var(--kpk-body)}
.kpk-plantation__cta{margin-top:auto;padding-top:6px}
.kpk-figure{margin:24px 0 0}
.kpk-figure img{width:100%;border-radius:var(--kpk-radius)}

/* --------------------------------------------------------- Blog */
.kpk-postcard{background:#fff;border:1px solid var(--kpk-line);border-radius:var(--kpk-radius);overflow:hidden;display:flex;flex-direction:column;list-style:none}
.kpk-postcard__media{display:block;line-height:0}
.kpk-postcard__media img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.kpk-postcard__body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.kpk-postcard__title{margin:0;font:600 21px/1.3 var(--kpk-serif)}
.kpk-postcard__title a{color:var(--kpk-ink);text-decoration:none}
.kpk-postcard__title a:hover{color:var(--kpk-brand)}
.kpk-postcard__lead{margin:0;font-size:15px;color:var(--kpk-body)}
.kpk-postcard__meta{margin:auto 0 0;font-size:13px;color:var(--kpk-muted)}
.kpk-post{max-width:760px;margin-inline:auto}
.kpk-post__meta{margin:0;font-size:14px;color:var(--kpk-muted)}
.kpk-post__figure{margin:clamp(24px,3vw,36px) 0}
.kpk-post__figure img{width:100%;border-radius:var(--kpk-radius)}
.kpk-post__body{font-size:17px}
.kpk-postnav{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:clamp(32px,4vw,52px)}
.kpk-postnav__link{display:block;padding:20px;border:1px solid var(--kpk-line);border-radius:var(--kpk-radius);text-decoration:none;color:var(--kpk-ink)}
.kpk-postnav__link:hover{border-color:var(--kpk-tan)}
.kpk-postnav__link--next{text-align:right}
.kpk-postnav__dir{display:block;font:600 11px/1 var(--kpk-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--kpk-brand-dark);margin-bottom:6px}
.kpk-postnav__title{font:600 16px/1.4 var(--kpk-sans)}

/* --------------------------------------------------------- Formularze */
.kpk-form{display:grid;gap:18px;max-width:560px}
.kpk-form__note{margin:0;font-size:13px;color:var(--kpk-muted)}
.kpk-req{color:var(--kpk-err);font-weight:700}
.kpk-field{display:grid;gap:6px}
.kpk-field label{font:600 14px/1.4 var(--kpk-sans)}
.kpk-field input,.kpk-field textarea,.kpk-field select{min-height:48px;padding:12px 14px;border:1px solid var(--kpk-field);border-radius:10px;font:400 16px/1.45 var(--kpk-sans);background:#fff;color:var(--kpk-ink)}
.kpk-field textarea{resize:vertical;min-height:120px}
.kpk-field--check{display:flex;gap:10px;align-items:flex-start}
.kpk-field--check input{width:22px;height:22px;min-height:0;flex:0 0 auto;margin-top:2px;accent-color:var(--kpk-brand)}
.kpk-field--check label{font-weight:400;font-size:14px;color:var(--kpk-body)}
.kpk-hint{margin:0;font-size:13px;color:var(--kpk-muted)}
.kpk-field input[aria-invalid=true],.kpk-field textarea[aria-invalid=true]{border-color:var(--kpk-err);box-shadow:0 0 0 1px var(--kpk-err)}
.kpk-error{margin:0;font-size:13px;color:var(--kpk-err);font-weight:600}
.kpk-form__status:empty{display:none}
.kpk-form__status{padding:12px 14px;border-radius:10px;background:var(--kpk-ok-bg);border:1px solid #13612e;color:var(--kpk-ok);font-size:14px}
.kpk-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;padding:14px 22px;border-radius:999px;font:600 15px/1 var(--kpk-sans);box-shadow:0 12px 30px rgba(35,28,26,.2)}
.kpk-toast--ok{background:var(--kpk-ok-bg);color:var(--kpk-ok);border:1px solid #13612e}
.kpk-toast--error{background:#fdeceb;color:#7d1806;border:1px solid var(--kpk-err)}

/* --------------------------------------------------------- Stopka */
.kpk-footer{background:var(--kpk-bg-alt);border-top:1px solid var(--kpk-line);padding-top:clamp(36px,5vw,64px)}
.kpk-footer__inner{max-width:var(--kpk-maxw);margin:0 auto;padding-inline:clamp(16px,4vw,20px);display:grid;gap:clamp(24px,3vw,40px);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.kpk-footer__heading{font:600 19px/1.3 var(--kpk-serif);margin:0 0 14px;color:var(--kpk-brand-dark)}
.kpk-footer__mark{width:clamp(130px,12vw,180px);height:auto;display:block}
.kpk-footer__address{font-style:normal;font-size:14px;color:var(--kpk-body);line-height:1.8;margin:0 0 16px}
.kpk-footer__address strong{color:var(--kpk-ink)}
.kpk-footer__hours{margin:0;font-size:14px;color:var(--kpk-body);line-height:1.8}
.kpk-footer__hours dt{font-weight:700;color:var(--kpk-ink)}
.kpk-footer__hours dd{margin:0 0 8px}
.kpk-footer__note{margin:0 0 10px;font-size:14px;color:var(--kpk-body)}
.kpk-footer__links{list-style:none;margin:18px 0;padding:0;display:grid;gap:8px}
.kpk-footer__links a{font-size:14px}
.kpk-social{list-style:none;margin:0;padding:0;display:flex;gap:10px}
.kpk-social li::marker{content:""}
.kpk-social a{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid #d9d1c9;background:#fff;color:var(--kpk-brand-deep);text-decoration:none;font:700 15px/1 var(--kpk-sans)}
.kpk-social__svg{width:20px;height:20px;display:block}
.kpk-social a:hover{background:var(--kpk-brand-deep);color:#fff}
.kpk-footer__bar{margin:clamp(28px,4vw,48px) 0 0;background:#3b2f2b;color:#efe8e2;text-align:center;padding:18px 20px;font-size:14px}

/* --------------------------------------------------------- Breakpointy */
@media (max-width:1100px){
  .kpk-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--kpk-line);padding:8px clamp(16px,4vw,20px) 20px;display:none;box-shadow:0 18px 40px rgba(35,28,26,.12)}
  .kpk-nav.is-open{display:block}
  .kpk-nav__list{flex-direction:column;gap:0}
  .kpk-nav__list>li{border-bottom:1px solid #f0eae4}
  .kpk-nav__list a{display:block;width:100%;padding:15px 4px;min-height:48px;font-size:16px}
  .kpk-nav__list .sub-menu{position:static;display:block;box-shadow:none;border:0;padding:0 0 8px 16px;min-width:0}
  .kpk-burger{display:inline-flex}
  .kpk-header__tools{margin-left:auto}
}
@media (max-width:1400px){
  .kpk-grid--products{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:1023px){
  .kpk-grid--products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpk-filters{max-width:none;flex-basis:100%}
  .kpk-team__item,.kpk-team__item.is-reversed{flex-direction:column}
  .kpk-team__media{flex-basis:auto;width:min(320px,100%)}
}
@media (max-width:600px){
  .kpk-grid--products{grid-template-columns:1fr}
  .kpk-grid--products.is-list .kpk-product-card{flex-direction:column}
  .kpk-grid--products.is-list .kpk-product-card__media{flex-basis:auto}
  .kpk-cart__panel{position:fixed;top:auto;bottom:0;left:0;right:0;width:auto;border-radius:var(--kpk-radius) var(--kpk-radius) 0 0;max-height:85vh;overflow:auto}
  .kpk-addtocart .kpk-btn{flex-basis:100%}
  .kpk-postnav__link--next{text-align:left}
  .kpk-hero__blob{display:none}
}

/* --------------------------------------------------------- Druk */
@media print{
  .kpk-header,.kpk-footer,.kpk-cart,.kpk-skip-link,.kpk-filters,.kpk-pagination{display:none}
  body{font-size:12pt;color:#000}
}

/* ==========================================================================
   Contact Form 7 — dopasowanie do stylów motywu
   Działa niezależnie od klas dodawanych przez JS (initCF7).
   ========================================================================== */
.wpcf7{max-width:560px}
.wpcf7-form p{margin:0 0 18px}
.wpcf7-form label{display:block;font:600 14px/1.4 var(--kpk-sans);color:var(--kpk-ink);margin-bottom:6px}
.wpcf7-form-control-wrap{display:block}
.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=url],
.wpcf7-form input[type=number],
.wpcf7-form input[type=date],
.wpcf7-form select,
.wpcf7-form textarea{
  display:block;width:100%;min-height:48px;padding:12px 14px;
  border:1px solid var(--kpk-field);border-radius:10px;background:#fff;
  font:400 16px/1.45 var(--kpk-sans);color:var(--kpk-ink);
  transition:border-color .15s,box-shadow .15s
}
.wpcf7-form textarea{min-height:140px;resize:vertical}
.wpcf7-form input:hover,.wpcf7-form textarea:hover,.wpcf7-form select:hover{border-color:var(--kpk-brand)}
.wpcf7-form input:focus-visible,.wpcf7-form textarea:focus-visible,.wpcf7-form select:focus-visible{
  border-color:var(--kpk-brand);box-shadow:0 0 0 3px rgba(122,90,54,.18)
}
.wpcf7-form input::placeholder,.wpcf7-form textarea::placeholder{color:#8b7f76}

/* Pola wymagane */
.wpcf7-form .wpcf7-validates-as-required + .kpk-req,
.wpcf7-form abbr.required{color:var(--kpk-err);font-weight:700;text-decoration:none}

/* Zgody i checkboxy */
.wpcf7-acceptance .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item{display:block;margin:0 0 10px}
.wpcf7-acceptance label,
.wpcf7-checkbox label,
.wpcf7-radio label{display:flex;gap:10px;align-items:flex-start;font:400 14px/1.55 var(--kpk-sans);color:var(--kpk-body);margin:0;cursor:pointer}
.wpcf7-acceptance input[type=checkbox],
.wpcf7-checkbox input[type=checkbox],
.wpcf7-radio input[type=radio]{width:22px;height:22px;min-height:0;flex:0 0 auto;margin:1px 0 0;accent-color:var(--kpk-brand)}
.wpcf7-list-item-label{flex:1}

/* Przycisk */
.wpcf7-submit{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 30px;border-radius:999px;
  background:var(--kpk-brand);color:#fff;border:2px solid var(--kpk-brand);
  font:600 15px/1 var(--kpk-sans);cursor:pointer;
  transition:background-color .15s,border-color .15s
}
.wpcf7-submit:hover{background:var(--kpk-brand-dark);border-color:var(--kpk-brand-dark)}
.wpcf7-submit[disabled],.wpcf7-submit[aria-busy=true]{opacity:.65;cursor:progress}

/* Spinner */
.wpcf7-spinner{margin:0 0 0 12px;background-color:var(--kpk-brand)}

/* Komunikaty — kontrast AA, nie tylko kolor */
.wpcf7 form .wpcf7-response-output{
  margin:18px 0 0;padding:14px 16px;border-radius:10px;
  font:600 14px/1.5 var(--kpk-sans);border-width:1px;border-style:solid
}
.wpcf7 form.sent .wpcf7-response-output{background:var(--kpk-ok-bg);border-color:#13612e;color:var(--kpk-ok)}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{background:#fdeceb;border-color:var(--kpk-err);color:#7d1806}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output{background:#fdeceb;border-color:var(--kpk-err);color:#7d1806}

.wpcf7-not-valid{border-color:var(--kpk-err)!important;box-shadow:0 0 0 1px var(--kpk-err)}
.wpcf7-not-valid-tip{
  display:block;margin-top:6px;font:600 13px/1.4 var(--kpk-sans);color:var(--kpk-err)
}
.wpcf7-not-valid-tip::before{content:"⚠ ";speak:never}

/* Układ dwukolumnowy przez shortcode: <div class="kpk-cols">…</div> */
.kpk-cols{display:grid;gap:0 18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* Informacja o reCAPTCHA zamiast ukrytego badge */
.grecaptcha-badge{visibility:hidden}
.kpk-recaptcha-info{margin:10px 0 0;font-size:12px;color:var(--kpk-muted)}

/* --------------------------------------------------------- Podobne produkty */
.related.products,.upsells.products,.cross-sells{margin-top:clamp(32px,4vw,56px)}
.related.products>h2,.upsells.products>h2,.cross-sells>h2{font:600 clamp(24px,3.2vw,34px)/1.2 var(--kpk-serif);margin:0 0 clamp(16px,2.4vw,28px);color:var(--kpk-ink)}
.related.products ul.products,.upsells.products ul.products,.cross-sells ul.products,
.woocommerce ul.products{list-style:none;margin:0;padding:0;display:grid;gap:var(--kpk-gap);grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1280px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1023px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.woocommerce ul.products{grid-template-columns:1fr}}
.woocommerce ul.products li.product::before{content:none}

/* ==========================================================================
   Koszyk i zamówienie (klasyczne szablony WooCommerce)
   ========================================================================== */
.woocommerce-cart .kpk-main,
.woocommerce-checkout .kpk-main,
.woocommerce-account .kpk-main,
.woocommerce-order-received .kpk-main{padding-block:var(--kpk-section)}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce{max-width:var(--kpk-maxw);margin-inline:auto;padding-inline:clamp(16px,4vw,20px)}

/* Komunikaty */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{
  list-style:none;margin:0 0 24px;padding:16px 20px;border-radius:var(--kpk-radius-sm);
  border:1px solid var(--kpk-line-2);background:var(--kpk-bg-soft);color:var(--kpk-ink-2);
  font:500 15px/1.55 var(--kpk-sans);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between
}
.woocommerce-message{background:var(--kpk-ok-bg);border-color:#13612e;color:var(--kpk-ok)}
.woocommerce-error{background:#fdeceb;border-color:var(--kpk-err);color:#7d1806}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{content:none}
.woocommerce-message .button,.woocommerce-info .button{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;
  border-radius:999px;background:var(--kpk-brand);color:#fff;border:2px solid var(--kpk-brand);
  font:600 14px/1 var(--kpk-sans);text-decoration:none
}

/* Tabela koszyka */
.woocommerce-cart-form{margin:0 0 32px}
.woocommerce table.shop_table{
  width:100%;border-collapse:separate;border-spacing:0;
  border:1px solid var(--kpk-line);border-radius:var(--kpk-radius);overflow:hidden;background:#fff
}
.woocommerce table.shop_table th{
  background:var(--kpk-bg-soft);text-align:left;padding:16px 18px;
  font:600 13px/1.3 var(--kpk-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--kpk-ink-2);
  border-bottom:1px solid var(--kpk-line)
}
.woocommerce table.shop_table td{padding:18px;border-bottom:1px solid var(--kpk-line);vertical-align:middle;color:var(--kpk-body)}
.woocommerce table.shop_table tr:last-child td{border-bottom:0}
.woocommerce table.cart img{width:72px;height:72px;object-fit:contain;background:var(--kpk-bg-soft);border-radius:10px;display:block}
.woocommerce table.cart .product-name a{font:600 15px/1.4 var(--kpk-sans);color:var(--kpk-ink);text-decoration:none}
.woocommerce table.cart .product-name a:hover{color:var(--kpk-brand)}
.woocommerce table.cart .variation{margin:6px 0 0;font-size:13px;color:var(--kpk-muted)}
.woocommerce table.cart .variation dt,.woocommerce table.cart .variation dd{display:inline;margin:0}
.woocommerce table.cart .product-price,.woocommerce table.cart .product-subtotal{font:700 15px/1 var(--kpk-sans);color:var(--kpk-ink);white-space:nowrap}
.woocommerce a.remove{
  display:inline-flex!important;align-items:center;justify-content:center;width:40px;height:40px;
  border:1px solid var(--kpk-line-2);border-radius:10px;color:var(--kpk-muted)!important;
  font-size:20px;line-height:1;text-decoration:none;background:#fff
}
.woocommerce a.remove:hover{background:#fdeceb;border-color:var(--kpk-err);color:#7d1806!important}

/* Ilość */
.woocommerce .quantity{display:inline-flex;align-items:center}
.woocommerce .quantity .qty{
  width:88px;min-height:48px;padding:0 10px;text-align:center;
  border:1px solid var(--kpk-field);border-radius:10px;background:#fff;
  font:600 16px/1 var(--kpk-sans);color:var(--kpk-ink)
}

/* Kupon + akcje koszyka */
.woocommerce .cart .actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:18px!important}
.woocommerce .cart .coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.woocommerce .cart .coupon label{font:600 14px/1 var(--kpk-sans)}
.woocommerce .cart .coupon .input-text{
  min-height:48px;padding:12px 14px;border:1px solid var(--kpk-field);border-radius:10px;
  font:400 15px/1.4 var(--kpk-sans);min-width:200px
}

/* Wszystkie przyciski Woo */
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button,.woocommerce #respond input#submit,
.woocommerce .wc-block-components-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 28px;border-radius:999px;
  background:var(--kpk-brand);color:#fff;border:2px solid var(--kpk-brand);
  font:600 15px/1 var(--kpk-sans);text-decoration:none;cursor:pointer;text-transform:none
}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button:hover,.woocommerce #respond input#submit:hover{
  background:var(--kpk-brand-dark);border-color:var(--kpk-brand-dark);color:#fff
}
.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce .checkout-button{background:var(--kpk-brand);border-color:var(--kpk-brand);color:#fff}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.55;cursor:not-allowed}
.woocommerce .cart .actions .button[name="update_cart"]{background:#fff;color:var(--kpk-brand-deep);border-color:var(--kpk-brand-deep)}
.woocommerce .cart .actions .button[name="update_cart"]:hover{background:var(--kpk-brand-deep);color:#fff}

/* Podsumowanie koszyka */
.cart-collaterals{display:grid;gap:24px;grid-template-columns:minmax(0,1fr);justify-items:end}
.cart_totals{width:min(480px,100%);background:var(--kpk-bg-soft);border:1px solid var(--kpk-line);border-radius:var(--kpk-radius);padding:clamp(20px,2.5vw,28px)}
.cart_totals h2{font:600 22px/1.2 var(--kpk-serif);margin:0 0 18px;color:var(--kpk-ink)}
.cart_totals table.shop_table{border:0;background:none}
.cart_totals table.shop_table th,.cart_totals table.shop_table td{background:none;padding:12px 0;border-bottom:1px solid var(--kpk-line-2);text-transform:none;letter-spacing:0;font-size:15px}
.cart_totals .order-total th,.cart_totals .order-total td{border-bottom:0;padding-top:16px;font:700 19px/1.2 var(--kpk-sans);color:var(--kpk-ink)}
.wc-proceed-to-checkout{margin-top:20px}
.wc-proceed-to-checkout .checkout-button{width:100%;min-height:54px;font-size:16px;font-weight:700}
.woocommerce-shipping-destination{font-size:14px;color:var(--kpk-muted)}
.shipping__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}

/* Pusty koszyk */
.cart-empty{font:600 clamp(20px,2.4vw,26px)/1.3 var(--kpk-serif);color:var(--kpk-ink);text-align:center;padding:40px 20px 12px}
.return-to-shop{text-align:center;padding-bottom:40px}

/* Checkout */
.woocommerce-checkout .woocommerce form.checkout{display:grid;gap:clamp(24px,3vw,44px);grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);align-items:start}
.woocommerce-checkout #customer_details{min-width:0}
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{
  font:600 clamp(20px,2.4vw,26px)/1.25 var(--kpk-serif);margin:0 0 18px;color:var(--kpk-ink)
}
.woocommerce form .form-row{display:grid;gap:6px;margin:0 0 18px;padding:0}
.woocommerce form .form-row label{font:600 14px/1.4 var(--kpk-sans);color:var(--kpk-ink)}
.woocommerce form .form-row .required{color:var(--kpk-err);text-decoration:none;border:0}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
  width:100%;min-height:48px;height:auto;padding:12px 14px;
  border:1px solid var(--kpk-field);border-radius:10px;background:#fff;
  font:400 16px/1.45 var(--kpk-sans);color:var(--kpk-ink)
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:1.45;padding:0;color:var(--kpk-ink)}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{height:46px}
.woocommerce form .form-row textarea{min-height:110px;resize:vertical}
.woocommerce form .form-row input:focus-visible,.woocommerce form .form-row textarea:focus-visible,.woocommerce form .form-row select:focus-visible{
  border-color:var(--kpk-brand);box-shadow:0 0 0 3px rgba(122,90,54,.18);outline:none
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select{border-color:var(--kpk-err);box-shadow:0 0 0 1px var(--kpk-err)}
.woocommerce form .form-row.woocommerce-validated input.input-text{border-color:#13612e}
.woocommerce-form__label-for-checkbox{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:14px;color:var(--kpk-body)}
.woocommerce-form__input-checkbox{width:22px;height:22px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--kpk-brand)}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{
  border:1px solid var(--kpk-line);border-radius:var(--kpk-radius);padding:clamp(20px,2.5vw,28px);margin:0 0 24px;background:var(--kpk-bg-soft)
}

/* Panel zamówienia — przyklejony na desktopie */
.woocommerce-checkout-review-order{
  position:sticky;top:24px;background:var(--kpk-bg-soft);border:1px solid var(--kpk-line);
  border-radius:var(--kpk-radius);padding:clamp(20px,2.5vw,28px)
}
.woocommerce-checkout-review-order table.shop_table{border:0;background:none}
.woocommerce-checkout-review-order table.shop_table th,
.woocommerce-checkout-review-order table.shop_table td{background:none;padding:12px 0;border-bottom:1px solid var(--kpk-line-2);text-transform:none;letter-spacing:0;font-size:15px}
.woocommerce-checkout-review-order .order-total th,
.woocommerce-checkout-review-order .order-total td{border-bottom:0;font:700 19px/1.2 var(--kpk-sans);color:var(--kpk-ink);padding-top:16px}
.woocommerce-checkout-review-order .product-name{color:var(--kpk-ink)}
.woocommerce-checkout-review-order .product-quantity{color:var(--kpk-muted);font-weight:600}

/* Metody płatności */
#payment{background:none;border-radius:0}
#payment ul.payment_methods{list-style:none;margin:0 0 18px;padding:18px 0 0;border-top:1px solid var(--kpk-line-2);display:grid;gap:10px}
#payment ul.payment_methods li{background:#fff;border:1px solid var(--kpk-line-2);border-radius:var(--kpk-radius-sm);padding:14px 16px}
#payment ul.payment_methods li label{display:inline-flex;gap:10px;align-items:center;font:600 15px/1.4 var(--kpk-sans);color:var(--kpk-ink);cursor:pointer;margin:0}
#payment ul.payment_methods input[type=radio]{width:22px;height:22px;accent-color:var(--kpk-brand)}
#payment div.payment_box{background:var(--kpk-bg-soft);border-radius:10px;margin:12px 0 0;padding:14px 16px;font-size:14px;color:var(--kpk-body)}
#payment div.payment_box::before{content:none}
#payment .place-order{padding:18px 0 0;margin:0}
#payment #place_order{width:100%;min-height:56px;font-size:16px;font-weight:700}
.woocommerce-terms-and-conditions-wrapper{margin-bottom:16px;font-size:14px}

/* Podziękowanie za zamówienie */
.woocommerce-order{max-width:860px;margin-inline:auto}
.woocommerce-thankyou-order-received{
  font:600 clamp(22px,2.8vw,30px)/1.3 var(--kpk-serif);color:var(--kpk-ink);
  background:var(--kpk-ok-bg);border:1px solid #13612e;border-radius:var(--kpk-radius);padding:24px
}
ul.woocommerce-order-overview{
  list-style:none;margin:24px 0;padding:0;display:grid;gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr))
}
ul.woocommerce-order-overview li{
  background:var(--kpk-bg-soft);border:1px solid var(--kpk-line);border-radius:var(--kpk-radius-sm);
  padding:16px;font:600 12px/1.3 var(--kpk-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--kpk-muted);border-left:0
}
ul.woocommerce-order-overview li strong{display:block;margin-top:6px;font:700 17px/1.3 var(--kpk-sans);letter-spacing:0;text-transform:none;color:var(--kpk-ink)}

/* Moje konto */
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.woocommerce-MyAccount-navigation a{display:block;padding:12px 16px;min-height:48px;border-radius:10px;text-decoration:none;color:var(--kpk-ink);font-weight:600}
.woocommerce-MyAccount-navigation a:hover{background:var(--kpk-bg-pill)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--kpk-brand-deep);color:#fff}
.woocommerce-account .woocommerce-MyAccount-content{min-width:0}

@media (max-width:900px){
  .woocommerce-checkout .woocommerce form.checkout{grid-template-columns:minmax(0,1fr)}
  .woocommerce-checkout-review-order{position:static}
  .cart-collaterals{justify-items:stretch}
  .cart_totals{width:100%}
}
@media (max-width:600px){
  .woocommerce table.shop_table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .woocommerce table.shop_table tr{display:grid;grid-template-columns:auto 1fr;gap:0 14px;padding:16px;border-bottom:1px solid var(--kpk-line)}
  .woocommerce table.shop_table td{display:block;padding:4px 0;border:0}
  .woocommerce table.cart .product-remove{grid-row:1/3;align-self:start}
  .woocommerce table.cart .product-thumbnail{grid-row:1/3}
  .woocommerce .cart .actions{flex-direction:column;align-items:stretch}
  .woocommerce .cart .coupon{flex-direction:column;align-items:stretch}
  .woocommerce .cart .coupon .input-text{min-width:0;width:100%}
}

.kpk-formwrap{max-width:640px}
.kpk-formwrap .wpcf7{max-width:none}

/* ==========================================================================
   Koszyk, kasa, konto — delikatne dopasowanie do motywu.
   Układ zostaje oryginalny (arkusze WooCommerce), zmieniamy tylko
   typografię, kolory i wielkość celów dotykowych.
   ========================================================================== */
.woocommerce .kpk-shop-page{max-width:var(--kpk-maxw);margin:0 auto;padding:clamp(20px,3vw,32px) clamp(16px,4vw,20px) var(--kpk-section)}

/* Przyciski Woo w kolorystyce motywu */
.woocommerce #respond input#submit,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,
.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:var(--kpk-brand);color:#fff;border-radius:999px;
  min-height:48px;padding:12px 26px;font:600 15px/1 var(--kpk-sans);text-transform:none
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{
  background:var(--kpk-brand-dark);color:#fff
}
.woocommerce a.button.wc-backward{background:#fff;color:var(--kpk-brand-deep);box-shadow:inset 0 0 0 2px var(--kpk-brand-deep)}
.woocommerce a.button.wc-backward:hover{background:var(--kpk-brand-deep);color:#fff}
.woocommerce #place_order{min-height:54px;font-size:16px;font-weight:700}

/* Cele dotykowe i czytelność pól */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
  min-height:48px;padding:11px 13px;border-radius:10px;border:1px solid var(--kpk-field);
  font:400 16px/1.45 var(--kpk-sans);color:var(--kpk-ink)
}
.woocommerce form .form-row textarea{min-height:110px}
.woocommerce form .form-row label{font:600 14px/1.4 var(--kpk-sans);color:var(--kpk-ink)}
.woocommerce form .form-row .required{color:var(--kpk-err);text-decoration:none;border:0}
.woocommerce form .form-row input.input-text:focus-visible,
.woocommerce form .form-row textarea:focus-visible,
.woocommerce form .form-row select:focus-visible{outline:3px solid var(--kpk-focus);outline-offset:1px}
.woocommerce .quantity .qty{min-height:48px;border-radius:10px;border:1px solid var(--kpk-field);font:600 16px/1 var(--kpk-sans)}

/* Komunikaty w kolorach o kontraście AA */
.woocommerce-message{border-top-color:#13612e}
.woocommerce-message::before{color:#13612e}
.woocommerce-info{border-top-color:#1f4f86}
.woocommerce-info::before{color:#1f4f86}
.woocommerce-error{border-top-color:var(--kpk-err)}
.woocommerce-error::before{color:var(--kpk-err)}

/* Nagłówki tabel i sum */
.woocommerce table.shop_table th{font:700 14px/1.3 var(--kpk-sans);color:var(--kpk-ink)}
.woocommerce table.shop_table td{font-size:15px;color:var(--kpk-body)}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce #order_review_heading{
  font-family:var(--kpk-serif);color:var(--kpk-ink)
}
.woocommerce a.remove{color:var(--kpk-err)!important;font-size:22px;width:36px;height:36px;line-height:34px}
.woocommerce a.remove:hover{background:var(--kpk-err);color:#fff!important}

/* Moje konto */
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.woocommerce-MyAccount-navigation a{display:block;min-height:48px;padding:13px 16px;border-radius:10px;color:var(--kpk-ink);text-decoration:none;font:600 15px/1.4 var(--kpk-sans)}
.woocommerce-MyAccount-navigation a:hover{background:var(--kpk-bg-pill)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--kpk-brand-deep);color:#fff}

/* ==========================================================================
   Galeria produktu
   ========================================================================== */
.woocommerce-product-gallery{position:relative;margin:0}
.woocommerce-product-gallery__wrapper{margin:0;display:block}
.woocommerce-product-gallery .woocommerce-product-gallery__image{margin:0}
.woocommerce-product-gallery .woocommerce-product-gallery__image a{display:block;line-height:0}
.woocommerce-product-gallery img{width:100%;height:auto;display:block;border-radius:var(--kpk-radius);background:var(--kpk-bg-soft)}

/* Zdjęcie główne — pełna szerokość kolumny (Woo domyślnie zwęża je inline) */
.woocommerce div.product div.images,
.woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important;opacity:1!important}
.woocommerce div.product div.images img{width:100%;height:auto}
.woocommerce-product-gallery .flex-viewport{
  border-radius:var(--kpk-radius);overflow:hidden;margin-bottom:14px;background:var(--kpk-bg-soft)
}
.woocommerce-product-gallery__image{width:100%}
.woocommerce-product-gallery__image img{width:100%;aspect-ratio:1;object-fit:contain;padding:clamp(12px,2vw,28px)}

/* Miniatury — Woo nadaje im 25% i float; nadpisujemy siatką */
.woocommerce-product-gallery ol.flex-control-nav,
.woocommerce-product-gallery ol.flex-control-thumbs{
  list-style:none;margin:0!important;padding:0;display:grid!important;gap:10px;
  grid-template-columns:repeat(4,minmax(0,1fr));float:none!important;overflow:visible
}
.woocommerce-product-gallery ol.flex-control-thumbs li{
  width:auto!important;margin:0!important;float:none!important;list-style:none
}
.woocommerce-product-gallery ol.flex-control-thumbs img{
  width:100%!important;height:auto;aspect-ratio:1;object-fit:contain;padding:6px;
  cursor:pointer;border:2px solid var(--kpk-line-2);border-radius:12px;opacity:.8;
  background:var(--kpk-bg-soft);transition:opacity .15s,border-color .15s
}
.woocommerce-product-gallery ol.flex-control-thumbs img:hover,
.woocommerce-product-gallery ol.flex-control-thumbs img.flex-active{opacity:1;border-color:var(--kpk-brand)}
@media (max-width:600px){
  .woocommerce-product-gallery ol.flex-control-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Lupka */
.woocommerce-product-gallery__trigger{
  position:absolute;top:14px;right:14px;z-index:9;
  display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:50%;border:1px solid var(--kpk-line-2);
  background:#fff;color:var(--kpk-brand-deep);font-size:20px;text-decoration:none;line-height:1
}
.woocommerce-product-gallery__trigger:hover{background:var(--kpk-brand-deep);color:#fff}

/* PhotoSwipe */
.pswp{z-index:99999}
.pswp__bg{background:rgba(35,28,26,.94)}

/* Plakietka wyprzedaży Woo */
.woocommerce span.onsale{
  position:absolute;top:12px;left:12px;z-index:5;
  background:var(--kpk-brand);color:#fff;border-radius:999px;padding:6px 14px;
  font:600 12px/1 var(--kpk-sans);min-height:0
}

/* Przycisk zakupu: Woo maluje .button.alt na fioletowo — nadpisujemy z pełną specyficznością */
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button.button,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce ul.products li.product a.button{
  background-color:var(--kpk-brand);color:#fff;border-color:var(--kpk-brand);
  border-radius:999px;font:600 15px/1 var(--kpk-sans);text-transform:none
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce ul.products li.product a.button:hover{
  background-color:var(--kpk-brand-dark);border-color:var(--kpk-brand-dark);color:#fff
}

/* Stan „wybierz wariant" — wyraźnie nieaktywny, nie fioletowy */
.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled,
.woocommerce div.product form.cart .single_add_to_cart_button.wc-variation-selection-needed,
.woocommerce div.product form.cart .single_add_to_cart_button.wc-variation-is-unavailable,
.woocommerce a.button.alt.disabled,.woocommerce button.button.alt.disabled{
  background-color:#ded6ce;border-color:#ded6ce;color:#4a403b;opacity:1;cursor:not-allowed
}
.woocommerce div.product form.cart .single_add_to_cart_button.disabled:hover,
.woocommerce div.product form.cart .single_add_to_cart_button.wc-variation-selection-needed:hover{
  background-color:#d4cbc2;border-color:#d4cbc2;color:#4a403b
}

/* Komunikat „Wybierz opcje, aby dodać do koszyka" */
.kpk-variations__hint{margin:10px 0 0;font-size:14px;color:var(--kpk-muted)}
