/* =========================================================================
   Kura Sport 2026 – style motywu
   Kolory: czerń + żółty akcent marki, czerwony tylko dla rabatów.
   ========================================================================= */

:root {
	--kst-y: #ffc21a;
	--kst-y-dark: #e6a800;
	--kst-k: #0e0e0e;
	--kst-k2: #1b1b1b;
	--kst-g: #f4f4f2;
	--kst-line: #e8e8e6;
	--kst-t: #5c5c5c;
	--kst-red: #e0262b;
	--kst-green: #1e9e52;
	--kst-radius: 14px;
	--kst-wrap: 1240px;
	--kst-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, "Helvetica Neue", Arial, sans-serif;
}

body.kst {
	font-family: var(--kst-font);
	color: var(--kst-k);
	-webkit-font-smoothing: antialiased;
}
body.kst h1, body.kst h2, body.kst h3, body.kst h4 { font-family: var(--kst-font); }
html.kst-lock, html.kst-lock body { overflow: hidden; }

.kst-wrap { max-width: var(--kst-wrap); margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.kst img { max-width: 100%; height: auto; }
.kst-ico { flex: none; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { position: fixed !important; top: 8px; left: 8px; width: auto; height: auto; clip: auto; z-index: 1000; background: #fff; padding: 10px 14px; }

/* ---------- Przyciski ---------- */
.kst-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	background: var(--kst-y); color: var(--kst-k) !important; font-weight: 800; font-size: 15px;
	letter-spacing: .2px; text-transform: uppercase; text-decoration: none !important; box-sizing: border-box; max-width: 100%;
	border: 0; border-radius: 10px; padding: 15px 24px; line-height: 1.1; cursor: pointer;
	transition: background .15s, transform .15s;
}
.kst-btn:hover { background: var(--kst-y-dark); }
.kst-btn:active { transform: translateY(1px); }
.kst-btn--dark { background: var(--kst-k); color: #fff !important; }
.kst-btn--dark:hover { background: #333; }
.kst-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; background: none; border: 0; color: inherit; cursor: pointer; border-radius: 10px; padding: 0; position: relative; }
.kst-icon-btn:hover { background: rgba(255, 255, 255, .08); }

/* ---------- Pasek u góry ---------- */
.kst-topbar { background: #1b1b1b; color: #fff; text-align: center; font-size: 12.5px; font-weight: 700; letter-spacing: .3px; padding: 8px 12px; }
.kst-topbar a { color: var(--kst-y); text-decoration: none; }

/* ---------- Nagłówek ---------- */
.kst-header { background: var(--kst-k); color: #fff; position: sticky; top: 0; z-index: 90; }
.admin-bar .kst-header { top: 32px; }
.kst-header-row { display: flex; align-items: center; gap: 18px; height: 68px; }
.kst-logo { display: flex; align-items: center; text-decoration: none; color: #fff; }
.kst-logo-img { max-height: 44px; width: auto; }
.kst-logo-text { font-weight: 900; font-size: 23px; letter-spacing: -.3px; color: #fff; }
.kst-logo-text span { color: var(--kst-y); }
.kst-nav { flex: 1; }
.kst-nav-menu { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.kst-nav-menu > li { position: relative; }
.kst-nav-menu a { display: block; color: #fff; text-decoration: none; font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .3px; padding: 10px 12px; border-radius: 8px; }
.kst-nav-menu a:hover, .kst-nav-menu .current-menu-item > a { color: var(--kst-y); }
.kst-nav-menu .sub-menu { display: none; position: absolute; left: 0; top: 100%; min-width: 230px; background: #fff; border-radius: 12px; box-shadow: 0 16px 40px rgba(0, 0, 0, .18); list-style: none; margin: 0; padding: 8px; z-index: 5; }
.kst-nav-menu li:hover > .sub-menu, .kst-nav-menu li:focus-within > .sub-menu { display: block; }
.kst-nav-menu .sub-menu a { color: var(--kst-k); text-transform: none; font-weight: 600; }
.kst-nav-menu .sub-menu a:hover { background: var(--kst-g); color: var(--kst-k); }
.kst-search { box-sizing: border-box; display: flex; align-items: center; gap: 8px; background: #fff; color: #777; border-radius: 10px; padding: 0 12px; height: 42px; }
.kst-search input[type="search"] { border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; padding: 0 !important; font-size: 15px; color: var(--kst-k); width: 100%; height: 42px; }
.kst-search--desktop { width: 260px; }
.kst-header-icons { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.kst-cart-count { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; border-radius: 9px; background: var(--kst-y); color: var(--kst-k); font-size: 11px; font-weight: 800; line-height: 18px; text-align: center; padding: 0 4px; box-sizing: border-box; }
.kst-cart-count[data-count="0"] { display: none; }
.kst-burger { display: none; }
.kst-search-mobile-row { display: none; }

@media (max-width: 1024px) {
	.kst-nav, .kst-search--desktop { display: none; }
	.kst-burger { display: inline-flex; margin-left: -8px; }
	.kst-header-row { height: 58px; gap: 8px; }
	.kst-logo { position: absolute; left: 50%; transform: translateX(-50%); }
	.kst-header-row { position: relative; }
	.kst-search-mobile-row { display: block; padding-bottom: 12px; }
}
@media (max-width: 782px) { .admin-bar .kst-header { top: 0; position: relative; } }

/* ---------- Szuflady ---------- */
.kst-drawer { position: fixed; inset: 0; z-index: 1000; visibility: hidden; }
.kst-drawer.is-open { visibility: visible; }
.kst-drawer-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .5); opacity: 0; transition: opacity .25s; }
.kst-drawer.is-open .kst-drawer-overlay { opacity: 1; }
.kst-drawer-panel { position: absolute; top: 0; bottom: 0; width: min(420px, 92vw); background: #fff; z-index: 1; display: flex; flex-direction: column; transition: transform .25s ease; overflow-y: auto; }
.kst-drawer--left .kst-drawer-panel { left: 0; transform: translateX(-100%); }
.kst-drawer--right .kst-drawer-panel { right: 0; transform: translateX(100%); }
.kst-drawer.is-open .kst-drawer-panel { transform: none; }
.kst-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--kst-line); font-size: 17px; }
.kst-drawer--left .kst-drawer-head { background: var(--kst-k); color: #fff; border: 0; }
.kst-mobile-menu, .kst-mobile-menu .sub-menu { list-style: none; margin: 0; padding: 0; }
.kst-mobile-menu li { position: relative; border-bottom: 1px solid var(--kst-line); }
.kst-mobile-menu a { display: block; padding: 15px 56px 15px 18px; color: var(--kst-k); text-decoration: none; font-weight: 700; font-size: 16px; }
.kst-mobile-menu .sub-menu { display: none; background: var(--kst-g); }
.kst-mobile-menu .sub-menu a { font-weight: 600; padding-left: 30px; font-size: 15px; }
.kst-mobile-menu li.is-open > .sub-menu { display: block; }
.kst-sub-toggle { position: absolute; right: 6px; top: 6px; width: 42px; height: 42px; border: 0; background: none; cursor: pointer; }
.kst-mobile-menu li.is-open > .kst-sub-toggle svg { transform: rotate(180deg); }

/* ---------- Hero ---------- */
.kst-hero { position: relative; background: var(--kst-k); color: #fff; }
.kst-hero-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; position: relative; }
.kst-hero-track::-webkit-scrollbar { display: none; }
.kst-hero-slide { position: relative; flex: 0 0 100%; scroll-snap-align: start; min-height: 440px; display: flex; align-items: center; overflow: hidden; background: radial-gradient(circle at 75% 40%, #2a2a2a 0, #0e0e0e 70%); }
.kst-hero-bg, .kst-hero-bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.kst-hero-slide.has-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .78) 0, rgba(0, 0, 0, .35) 55%, rgba(0, 0, 0, 0) 100%); }
.kst-hero-content { position: relative; z-index: 2; width: 100%; padding-top: 48px; padding-bottom: 56px; }
.kst-pill { display: inline-block; background: rgba(0, 0, 0, .6); color: var(--kst-y); border: 1px solid rgba(255, 194, 26, .4); font-weight: 700; font-size: 13px; padding: 6px 12px; border-radius: 30px; margin-bottom: 16px; }
.kst-hero-title { font-size: 58px; line-height: .98; font-weight: 900; font-style: italic; letter-spacing: -1.5px; text-transform: uppercase; margin: 0 0 12px; max-width: 620px; color: #fff; }
.kst-hero-accent { display: inline-block; background: var(--kst-y); color: var(--kst-k); font-weight: 900; font-style: italic; text-transform: uppercase; font-size: 20px; padding: 6px 14px; transform: skew(-8deg); margin-bottom: 16px; }
.kst-hero-text { font-size: 17px; line-height: 1.5; color: #d6d6d6; max-width: 480px; margin: 0 0 26px; }
.kst-hero-dots { position: absolute; bottom: 16px; left: 0; right: 0; display: flex; justify-content: center; gap: 8px; z-index: 3; }
.kst-hero-dot { width: 10px; height: 10px; border-radius: 5px; border: 0; background: rgba(255, 255, 255, .45); padding: 0; cursor: pointer; transition: width .2s; }
.kst-hero-dot.is-active { width: 26px; background: var(--kst-y); }

@media (max-width: 767px) {
	.kst-hero-slide { min-height: 420px; align-items: flex-end; }
	.kst-hero-slide.has-img::after { background: linear-gradient(0deg, rgba(0, 0, 0, .85) 0, rgba(0, 0, 0, .35) 60%, rgba(0, 0, 0, .1) 100%); }
	.kst-hero-content { padding-top: 32px; padding-bottom: 44px; }
	.kst-hero-title { font-size: 40px; letter-spacing: -1px; }
	.kst-hero-accent { font-size: 16px; }
	.kst-hero-text { font-size: 15px; margin-bottom: 20px; }
	.kst-hero .kst-btn { width: 100%; }
}

/* ---------- USP ---------- */
.kst-usp { border-bottom: 1px solid var(--kst-line); }
.kst-usp-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding-top: 18px; padding-bottom: 18px; }
.kst-usp-item { display: flex; align-items: center; gap: 12px; }
.kst-usp-ico { width: 44px; height: 44px; border-radius: 50%; background: var(--kst-g); display: grid; place-items: center; flex: none; }
.kst-usp-item strong { display: block; font-size: 14px; }
.kst-usp-item small { display: block; font-size: 12.5px; color: var(--kst-t); }
@media (max-width: 767px) {
	.kst-usp-grid { grid-template-columns: repeat(4, 1fr); gap: 4px; padding: 14px 8px; }
	.kst-usp-item { flex-direction: column; text-align: center; gap: 6px; }
	.kst-usp-ico { width: 38px; height: 38px; background: none; }
	.kst-usp-item strong { font-size: 11px; text-transform: uppercase; line-height: 1.2; }
	.kst-usp-item small { font-size: 10.5px; }
}

/* ---------- Sekcje ---------- */
.kst-section { padding: 52px 0; }
.kst-section--tight { padding: 12px 0 40px; }
.kst-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.kst-h2 { font-size: 30px; font-weight: 900; font-style: italic; text-transform: uppercase; letter-spacing: -.5px; margin: 0; display: flex; align-items: center; gap: 10px; }
.kst-h2::before { content: ""; width: 8px; height: 28px; background: var(--kst-y); transform: skew(-12deg); flex: none; }
.kst-more { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14px; color: inherit; text-decoration: none; border-bottom: 2px solid var(--kst-y); padding-bottom: 2px; white-space: nowrap; }
.kst-dark { background: var(--kst-k); color: #fff; }
.kst-dark .kst-h2, .kst-dark .kst-more { color: #fff; }
@media (max-width: 767px) {
	.kst-section { padding: 32px 0; }
	.kst-h2 { font-size: 22px; }
	.kst-h2::before { height: 22px; width: 7px; }
}

/* ---------- Kategorie ---------- */
.kst-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.kst-cat { text-decoration: none; color: var(--kst-k); display: block; }
.kst-cat-img { position: relative; display: block; aspect-ratio: 1 / 1; background: var(--kst-g); border-radius: var(--kst-radius); overflow: hidden; transition: transform .2s; }
.kst-cat-img picture { display: contents; }
.kst-cat-img img { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: contain; padding: 10%; box-sizing: border-box; mix-blend-mode: multiply; margin: 0 !important; }
.kst-cat:hover .kst-cat-img { transform: translateY(-3px); }
.kst-cat-name { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 10px; font-weight: 800; text-transform: uppercase; font-size: 14px; text-align: center; }
@media (max-width: 767px) {
	.kst-cats { gap: 8px; }
	.kst-cat-name { font-size: 11px; line-height: 1.2; }
	.kst-cat-name .kst-ico { display: none; }
	.kst-cats-section .kst-section-head { display: none; }
	.kst-cats-section { padding-top: 20px; padding-bottom: 8px; }
}

/* ---------- Karty produktów ---------- */
.kst-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.kst-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--kst-line); border-radius: var(--kst-radius); overflow: hidden; transition: box-shadow .2s; }
.kst-card:hover { box-shadow: 0 10px 28px rgba(0, 0, 0, .08); }
.kst-card-img { position: relative; display: block; aspect-ratio: 1 / 1; background: #fff; overflow: hidden; }
.kst-card-img picture { display: contents; }
.kst-card-img img { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: contain; padding: 12px; box-sizing: border-box; margin: 0 !important; }
.kst-card-body { display: flex; flex-direction: column; flex: 1; padding: 4px 14px 14px; }
.kst-card-title { font-size: 15px; font-weight: 700; line-height: 1.3; margin: 0 0 6px; min-height: 2.6em; }
.kst-card-title a { color: var(--kst-k); text-decoration: none; }
.kst-card-rating { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--kst-t); margin-bottom: 8px; }
.kst-card-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-top: auto; }
.kst-card-price { font-size: 19px; font-weight: 900; line-height: 1.15; }
.kst-card-price del { display: block; font-size: 13px; font-weight: 500; color: #999; }
.kst-card-price ins { text-decoration: none; color: var(--kst-k); }
.kst-card-add { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: var(--kst-y); color: var(--kst-k) !important; text-decoration: none; transition: background .15s; }
.kst-card-add:hover { background: var(--kst-y-dark); }
.kst-card-add.loading { opacity: .5; }
.kst-card-add.added::after { display: none; }
.kst-card .added_to_cart { display: none !important; }
@media (max-width: 1024px) { .kst-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) {
	.kst-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.kst-card-body { padding: 2px 10px 10px; }
	.kst-card-title { font-size: 13px; }
	.kst-card-price { font-size: 16px; }
	.kst-card-price del { font-size: 11.5px; }
	.kst-card-add { width: 40px; height: 40px; }
}

/* Gwiazdki */
.kst-stars { position: relative; display: inline-block; font-size: 14px; line-height: 1; letter-spacing: 1px; color: #ddd; }
.kst-stars::before { content: "★★★★★"; }
.kst-stars-fill { position: absolute; top: 0; left: 0; overflow: hidden; white-space: nowrap; color: var(--kst-y); }
.kst-stars-fill::before { content: "★★★★★"; }

/* Etykiety */
.kst-badges { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; z-index: 3; pointer-events: none; }
.kst-badge { display: inline-block; font-size: 11px; font-weight: 900; font-style: italic; text-transform: uppercase; letter-spacing: .3px; padding: 4px 9px; background: var(--kst-k); color: #fff; transform: skew(-8deg); }
.kst-badge-sale { background: var(--kst-red); }
.kst-badge-new { background: var(--kst-y); color: var(--kst-k); }
.kst li.product { position: relative; }

/* ---------- Baner promocyjny / kalkulator ---------- */
.kst-promo { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; background: var(--kst-k); color: #fff; border-radius: 18px; padding: 34px 40px; overflow: hidden; }
.kst-promo h2 { color: #fff; font-size: 30px; font-weight: 900; font-style: italic; text-transform: uppercase; line-height: 1.05; margin: 0 0 8px; }
.kst-promo p { color: #bbb; margin: 0 0 18px; }
.kst-promo-img img { max-height: 200px; width: auto; display: block; }
.kst-calc { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; background: var(--kst-y); border-radius: 18px; padding: 32px 40px; }
.kst-calc h2 { font-size: 28px; font-weight: 900; margin: 0 0 6px; line-height: 1.1; }
.kst-calc p { margin: 0; }
@media (max-width: 767px) {
	.kst-promo, .kst-calc { grid-template-columns: 1fr; padding: 24px 20px; }
	.kst-promo h2 { font-size: 22px; }
	.kst-promo-img { order: -1; }
	.kst-promo-img img { max-height: 150px; }
	.kst-calc h2 { font-size: 22px; }
	.kst-calc .kst-btn { width: 100%; }
}

/* ---------- Przemiany ---------- */
.kst-przem { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.kst-przem-card { background: var(--kst-k2); border-radius: var(--kst-radius); overflow: hidden; }
.kst-przem-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: top; display: block; }
.kst-przem-info { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 14px; }
.kst-przem-info strong { display: block; color: var(--kst-y); font-size: 22px; font-weight: 900; }
.kst-przem-info small { color: #aaa; font-size: 12.5px; }
.kst-przem-info a { color: #fff; font-weight: 700; font-size: 13px; text-decoration: none; border-bottom: 2px solid var(--kst-y); display: inline-flex; gap: 4px; align-items: center; }
@media (max-width: 767px) {
	.kst-przem { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; margin: 0 -20px; padding: 0 20px; scrollbar-width: none; }
	.kst-przem-card { flex: 0 0 78%; scroll-snap-align: start; }
}

/* ---------- Opinie ---------- */
.kst-score { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.kst-score-big { font-size: 52px; font-weight: 900; line-height: 1; }
.kst-score .kst-stars { font-size: 22px; }
.kst-score small { display: block; color: var(--kst-t); margin-top: 4px; }
.kst-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.kst-review { margin: 0; background: var(--kst-g); border-radius: var(--kst-radius); padding: 20px; }
.kst-review blockquote { margin: 10px 0 14px; padding: 0; border: 0; font-size: 15px; line-height: 1.55; font-style: normal; }
.kst-review figcaption { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.kst-review figcaption a { color: var(--kst-t); }
@media (max-width: 767px) { .kst-reviews { grid-template-columns: 1fr; } .kst-review:nth-child(n+3) { display: none; } }

/* ---------- Stopka ---------- */
.kst-footer { background: var(--kst-k); color: #aaa; font-size: 14px; margin-top: 40px; }
.kst-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 30px; padding-top: 44px; padding-bottom: 30px; }
.kst-footer p { margin: 12px 0 0; line-height: 1.6; }
.kst-footer summary { color: #fff; font-weight: 800; text-transform: uppercase; font-size: 14px; list-style: none; cursor: default; margin-bottom: 10px; }
.kst-footer summary::-webkit-details-marker { display: none; }
.kst-footer-menu { list-style: none; margin: 0; padding: 0; }
.kst-footer-menu li { margin: 8px 0; }
.kst-footer a { color: #ccc; text-decoration: none; }
.kst-footer a:hover { color: var(--kst-y); }
.kst-footer-bottom { border-top: 1px solid #2a2a2a; padding-top: 16px; padding-bottom: 20px; font-size: 12.5px; }
.kst-social { display: flex; gap: 10px; margin-top: 14px; }
.kst-social a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #222; color: #fff; }
.kst-pay { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.kst-pay span { background: #fff; color: var(--kst-k); font-weight: 800; font-size: 11px; border-radius: 6px; padding: 6px 9px; }
.kst-pay .kst-pay-blik { background: #000; color: #fff; border: 1px solid #444; }
.kst-pay--light span { border: 1px solid var(--kst-line); }
@media (max-width: 767px) {
	.kst-footer-grid { grid-template-columns: 1fr; gap: 0; }
	.kst-footer-about { padding-bottom: 18px; }
	.kst-footer-col { border-top: 1px solid #2a2a2a; padding: 14px 0; }
	.kst-footer summary { cursor: pointer; margin: 0; display: flex; justify-content: space-between; }
	.kst-footer summary::after { content: "+"; color: var(--kst-y); }
	.kst-footer details[open] summary::after { content: "−"; }
	.kst-footer details[open] summary { margin-bottom: 8px; }
}

/* =========================================================================
   Karta produktu
   ========================================================================= */
.kst.single-product .product_title { font-size: 30px; font-weight: 800; line-height: 1.15; letter-spacing: -.4px; text-transform: none; margin: 6px 0 10px; }
.kst-single-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; }
.kst-single-rating .kst-stars { font-size: 17px; }
.kst-single-rating a { color: var(--kst-t); }
.kst-sold { color: var(--kst-green); font-weight: 700; }
.kst.single-product .summary .price { font-size: 32px !important; font-weight: 900; color: var(--kst-k) !important; margin: 10px 0 4px; }
.kst.single-product .summary .price ins { color: var(--kst-k); text-decoration: none; }
.kst.single-product .summary .price del { font-size: 18px; color: #999; font-weight: 500; }
.kst-benefits { list-style: none; margin: 16px 0; padding: 0; display: grid; gap: 8px; }
.kst-benefits li { display: flex; gap: 8px; align-items: flex-start; font-size: 15px; }
.kst-benefits .kst-ico { color: var(--kst-green); margin-top: 2px; }

/* Formularz koszyka */
.kst.single-product form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 8px !important; }
.kst.single-product form.variations_form { display: block; }
.kst.single-product form.cart .quantity { margin: 0 !important; }
.kst.single-product form.cart .quantity input.qty { height: 54px; border-radius: 10px; min-width: 64px; }
.kst.single-product .single_add_to_cart_button {
	flex: 1; min-height: 54px; border-radius: 10px !important; background: var(--kst-y) !important; color: var(--kst-k) !important;
	font-weight: 800 !important; font-size: 16px !important; text-transform: uppercase; border: 0 !important;
}
.kst.single-product .single_add_to_cart_button:hover { background: var(--kst-y-dark) !important; }
.kst-buy-now {
	display: flex; align-items: center; justify-content: center; gap: 8px; flex: 1 1 100%; min-height: 52px;
	background: var(--kst-k); color: #fff; border: 0; border-radius: 10px; font-weight: 800; font-size: 16px;
	text-transform: uppercase; cursor: pointer;
}
.kst-buy-now:hover { background: #333; }
.kst.single-product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; }

/* Warianty jako kafelki */
.kst-swatch-select { position: absolute !important; opacity: 0 !important; pointer-events: none; width: 1px !important; height: 1px !important; }
.kst-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.kst-swatch { min-width: 64px; padding: 10px 14px; border: 2px solid #e2e2e2; border-radius: 10px; background: #fff; font-weight: 700; font-size: 14px; cursor: pointer; color: var(--kst-k); }
.kst-swatch:hover { border-color: #999; }
.kst-swatch.is-selected { border-color: var(--kst-k); background: #fffbea; }
.kst-swatch.is-disabled { opacity: .4; text-decoration: line-through; }
.kst.single-product table.variations th, .kst.single-product table.variations td { display: block; padding: 0; text-align: left; }
.kst.single-product table.variations th label { font-weight: 800; text-transform: uppercase; font-size: 13px; }
.kst.single-product table.variations tr { display: block; margin-bottom: 12px; }
.kst.single-product .reset_variations { font-size: 13px; }

/* Zaufanie */
.kst-trust { display: grid; gap: 12px; margin: 16px 0 10px; padding: 14px 0; border-top: 1px solid var(--kst-line); border-bottom: 1px solid var(--kst-line); }
.kst-trust-row { display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--kst-t); }
.kst-trust-row strong { display: block; color: var(--kst-k); font-size: 14.5px; }
.kst-green { color: var(--kst-green); }

/* Zakładki i opis */
.kst.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 24px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--kst-line); padding: 0 !important; margin: 40px 0 0 !important; }
.kst.single-product .woocommerce-tabs ul.tabs::before, .kst.single-product .woocommerce-tabs ul.tabs::after { display: none !important; }
.kst.single-product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.kst.single-product .woocommerce-tabs ul.tabs li::before, .kst.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.kst.single-product .woocommerce-tabs ul.tabs li a { display: block; padding: 14px 0 !important; font-weight: 800; font-size: 15px; color: #999 !important; white-space: nowrap; }
.kst.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--kst-k) !important; box-shadow: inset 0 -3px 0 var(--kst-y); }
.kst-desc { font-size: 15.5px; line-height: 1.7; max-width: 780px; }
.kst-desc + .kst-desc { margin-top: 18px; }
.kst-features { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 6px 0 22px; }
.kst-feature { background: var(--kst-g); border-radius: 12px; padding: 14px; font-size: 13px; color: var(--kst-t); }
.kst-feature strong { display: block; color: var(--kst-k); font-size: 14.5px; }
.kst-video { position: relative; display: block; width: 100%; max-width: 780px; aspect-ratio: 16 / 9; padding: 0; border: 0; border-radius: 14px; overflow: hidden; background: #111; cursor: pointer; margin: 0 0 22px; }
.kst-video img { width: 100%; height: 100%; object-fit: cover; opacity: .8; }
.kst-video-play { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; }
.kst-video-play svg { width: 64px; height: 64px; padding: 16px; border-radius: 50%; border: 3px solid #fff; background: rgba(0, 0, 0, .35); fill: #fff; }
.kst-video-label { position: absolute; right: 12px; bottom: 12px; background: var(--kst-y); color: var(--kst-k); font-weight: 900; font-size: 12px; padding: 7px 10px; border-radius: 8px; text-transform: uppercase; }
.kst-video-frame { width: 100%; max-width: 780px; aspect-ratio: 16 / 9; border: 0; border-radius: 14px; margin: 0 0 22px; }
.kst-faq details { border-bottom: 1px solid var(--kst-line); padding: 14px 0; }
.kst-faq summary { font-weight: 700; cursor: pointer; }
.kst-faq p { margin: 10px 0 0; color: var(--kst-t); }
@media (max-width: 767px) {
	.kst.single-product .product_title { font-size: 24px; }
	.kst.single-product .summary .price { font-size: 28px !important; }
	.kst-features { grid-template-columns: 1fr 1fr; }
}

/* Przyklejony przycisk (telefon) */
.kst-sticky-atc { display: none; }
@media (max-width: 767px) {
	.kst-sticky-atc { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; align-items: center; gap: 12px; background: #fff; border-top: 1px solid var(--kst-line); padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); box-shadow: 0 -6px 20px rgba(0, 0, 0, .08); transform: translateY(110%); transition: transform .2s; }
	.kst-sticky-atc.is-visible { transform: none; }
	.kst-sticky-price { font-weight: 900; font-size: 18px; line-height: 1.1; }
	.kst-sticky-price del { display: block; font-size: 12px; color: #999; font-weight: 500; }
	.kst-sticky-price ins { text-decoration: none; color: var(--kst-k); }
	.kst-sticky-btn { flex: 1; padding: 14px; }
	.single-product .kst-footer { padding-bottom: 80px; }
}

/* =========================================================================
   Koszyk (wysuwany i strona koszyka)
   ========================================================================= */
.kst-cart-progress:empty { display: none; }
.kst-cart-progress { padding: 12px 16px 4px; }
.kst-progress { margin-bottom: 10px; }
.kst-progress p { margin: 0 0 6px; font-size: 13.5px; }
.kst-bar { display: block; height: 8px; border-radius: 4px; background: var(--kst-g); overflow: hidden; }
.kst-bar span { display: block; height: 100%; background: var(--kst-green); border-radius: 4px; transition: width .3s; }
.komunikat-rabatowy { display: none; } /* zastąpione paskiem postępu */

/* Koszyk: nagłówek i przyciski zawsze widoczne, przewija się tylko lista produktów */
#kst-cart-drawer .kst-drawer-panel { height: 100%; height: 100dvh; overflow: hidden; }
#kst-cart-drawer .kst-drawer-head, #kst-cart-drawer .kst-cart-progress { flex: none; }
#kst-cart-drawer .kst-cart-progress { padding: 10px 16px 2px; }
#kst-cart-drawer .kst-progress { margin-bottom: 8px; }
#kst-cart-drawer .kst-progress p { font-size: 13px; line-height: 1.35; }
#kst-cart-drawer .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1; min-height: 0; padding: 0 16px calc(12px + env(safe-area-inset-bottom)); }
#kst-cart-drawer .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }
#kst-cart-drawer .woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 52px 1fr; column-gap: 10px; padding: 10px 26px 10px 0; border-bottom: 1px solid var(--kst-line); font-size: 13px; line-height: 1.3; }
#kst-cart-drawer .woocommerce-mini-cart-item a:not(.remove) { display: contents; color: var(--kst-k); text-decoration: none; font-weight: 700; }
#kst-cart-drawer .woocommerce-mini-cart-item img { grid-row: 1 / span 2; width: 52px !important; height: 52px !important; object-fit: contain; border: 1px solid var(--kst-line); border-radius: 8px; float: none; margin: 0 !important; }
#kst-cart-drawer .woocommerce-mini-cart-item .quantity { grid-column: 2; display: block; color: var(--kst-t); font-size: 12.5px; margin-top: 2px; text-align: left; }
#kst-cart-drawer .woocommerce-mini-cart-item dl.variation { grid-column: 2; margin: 2px 0 0; font-size: 12px; color: var(--kst-t); }
#kst-cart-drawer .woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: 8px; color: #999 !important; font-size: 20px; text-decoration: none; }
#kst-cart-drawer .woocommerce-mini-cart__total { flex: none; display: flex; justify-content: space-between; font-size: 16px; padding: 12px 0 8px; margin: 0; border-top: 1px solid var(--kst-line); }
#kst-cart-drawer .woocommerce-mini-cart__buttons { flex: none; display: grid; gap: 8px; margin: 0; }
#kst-cart-drawer .woocommerce-mini-cart__buttons a { display: block; text-align: center; padding: 13px; border-radius: 10px; font-weight: 800; font-size: 14px; text-transform: uppercase; text-decoration: none; background: var(--kst-g); color: var(--kst-k); margin: 0; }
#kst-cart-drawer .woocommerce-mini-cart__buttons a.checkout { background: var(--kst-y); order: -1; }
#kst-cart-drawer .woocommerce-mini-cart__empty-message { padding: 30px 0; text-align: center; color: var(--kst-t); }

/* Drobne poprawki elementów Kadence/WooCommerce w nowym stylu */
.kst .woocommerce-message, .kst .woocommerce-info { border-radius: 10px; }
.kst .woocommerce .star-rating { width: 72px; }

/* Baner graficzny (napisy na grafice) – pokazany w całości, bez przycinania */
.kst-hero-slide--graphic { display: block; min-height: 0; background: var(--kst-k); }
.kst-hero-slide--graphic .kst-hero-link { display: block; }
.kst-hero-graphic, .kst-hero-graphic img { display: block; width: 100%; height: auto; }
.kst-hero-track { align-items: flex-start; }

/* =========================================================================
   v1.0.2 – poprawki: listy produktów (sklep/kategorie/podobne), karta produktu na telefonie
   ========================================================================= */

/* Listy produktów – siatka jak na stronie głównej */
.kst ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px !important; margin: 0 0 24px !important; padding: 0 !important; list-style: none; }
.kst ul.products::before, .kst ul.products::after { display: none !important; }
.kst ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; list-style: none; background: none; box-shadow: none; border: 0; }
.kst ul.products li.product .kst-card { height: 100%; }
@media (max-width: 1024px) { .kst ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 767px) { .kst ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; } }

/* Sklep i kategorie: białe tło, mniejszy nagłówek */
body.kst.woocommerce-shop, body.kst.tax-product_cat, body.kst.tax-product_tag, body.kst.post-type-archive-product, body.kst.search,
body.kst.woocommerce-shop .site, body.kst.tax-product_cat .site, body.kst.tax-product_tag .site, body.kst.search .site,
body.kst.woocommerce-shop .content-bg, body.kst.tax-product_cat .content-bg, body.kst.tax-product_tag .content-bg, body.kst.search .content-bg,
body.kst.woocommerce-shop #inner-wrap, body.kst.tax-product_cat #inner-wrap, body.kst.tax-product_tag #inner-wrap, body.kst.search #inner-wrap,
body.kst.single-product .site, body.kst.single-product .content-bg, body.kst.single-product #inner-wrap { background: #fff !important; }
.kst .entry-hero-container-inner { min-height: 0 !important; background: #fff !important; }
.kst .entry-hero .entry-header, .kst .woocommerce-products-header { min-height: 0 !important; padding: 18px 0 6px !important; margin: 0 !important; }
.kst .entry-hero h1, .kst .woocommerce-products-header__title, .kst.archive .page-title { font-size: 28px !important; font-weight: 900; margin: 0 !important; }
.kst .woocommerce-result-count { font-size: 13px; color: var(--kst-t); margin: 0 0 8px !important; }
.kst .woocommerce-ordering { margin: 0 0 16px !important; }
.kst .woocommerce-ordering select { font-size: 14px; padding: 9px 12px; border-radius: 10px; border: 1px solid #e2e2e2; background-color: #fff; }
.kst.archive .content-container, .kst.archive .site-main { padding-top: 0 !important; margin-top: 0 !important; }
@media (max-width: 767px) {
	.kst .entry-hero h1, .kst .woocommerce-products-header__title, .kst.archive .page-title { font-size: 22px !important; }
	.kst .entry-hero .entry-header, .kst .woocommerce-products-header { padding: 12px 0 4px !important; }
	.kst .woocommerce-ordering, .kst .woocommerce-ordering select { width: 100%; }
}

/* Okruszki – jedna linia */
.kst .woocommerce-breadcrumb, .kst .kadence-breadcrumbs, .kst .rank-math-breadcrumb { font-size: 12.5px; color: var(--kst-t); margin: 10px 0 8px !important; }
@media (max-width: 767px) {
	.kst .woocommerce-breadcrumb, .kst .kadence-breadcrumbs, .kst .rank-math-breadcrumb { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* Karta produktu – telefon: mniejsza galeria, miniatury pod zdjęciem, przyciski widoczne szybciej */
.kst.single-product div.product { position: relative; }
.kst.single-product .product_meta .sku_wrapper { display: none; }
.kst.single-product .product_meta { font-size: 12.5px; color: var(--kst-t); }
@media (max-width: 767px) {
	.kst.single-product .woocommerce-product-gallery { display: flex !important; flex-direction: column; padding: 0 !important; margin-bottom: 12px !important; width: 100% !important; float: none !important; }
	.kst.single-product .woocommerce-product-gallery .flex-viewport { order: 1; width: 100% !important; margin: 0 !important; float: none !important; max-height: 48vh; }
	.kst.single-product .woocommerce-product-gallery__image img,
	.kst.single-product .woocommerce-product-gallery__image a img { max-height: 48vh !important; width: auto !important; max-width: 100% !important; margin: 0 auto !important; object-fit: contain; display: block; }
	.kst.single-product .woocommerce-product-gallery .flex-control-thumbs { order: 2; position: static !important; display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 6px; width: 100% !important; height: auto !important; max-height: none !important; overflow-x: auto !important; overflow-y: hidden !important; margin: 8px 0 0 !important; padding: 0 !important; float: none !important; left: auto !important; top: auto !important; transform: none !important; scrollbar-width: none; }
	.kst.single-product .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 54px !important; width: 54px !important; height: 54px !important; margin: 0 !important; padding: 0 !important; float: none !important; }
	.kst.single-product .woocommerce-product-gallery .flex-control-thumbs li img { width: 54px !important; height: 54px !important; object-fit: cover; border-radius: 8px; border: 2px solid transparent; opacity: 1; }
	.kst.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { border-color: var(--kst-y); }
	.kst.single-product .woocommerce-product-gallery [class*="thumbnail-nav"], .kst.single-product .woocommerce-product-gallery .flex-direction-nav { display: none !important; }
	.kst.single-product .kst-badges { top: 6px; left: 0; }
	.kst.single-product .product_title { font-size: 21px !important; margin: 4px 0 6px !important; }
	.kst.single-product .summary .price { font-size: 26px !important; margin: 6px 0 2px !important; }
	.kst-single-rating { font-size: 13px; gap: 6px; }
	.kst-single-rating .kst-stars { font-size: 15px; }
	.kst-benefits { margin: 10px 0; gap: 6px; }
	.kst-benefits li { font-size: 14px; }
	.kst.single-product form.cart { margin: 12px 0 6px !important; }
	.kst.single-product table.variations { margin: 0 0 4px !important; }
	.kst.single-product table.variations tr { margin-bottom: 8px; }
	.kst.single-product .single_variation_wrap .woocommerce-variation { margin: 0 !important; }
	.kst.single-product .woocommerce-variation-description:empty, .kst.single-product .woocommerce-variation-availability:empty { display: none; }
	.kst.single-product .woocommerce-variation-price { margin: 0 0 6px; }
	.kst.single-product form.cart .quantity input.qty, .kst.single-product .single_add_to_cart_button { min-height: 50px; height: 50px; }
	.kst-buy-now { min-height: 48px; }
	.kst-trust { margin: 12px 0 8px; padding: 12px 0; gap: 10px; }
}

.kst.single-product .reset_variations { display: inline-block; margin-top: 6px; }

/* Zakładki opisu – bez ramek i pustych pól */
.kst.single-product .woocommerce-tabs, .kst.single-product .woocommerce-tabs.wc-tabs-wrapper { border: 0 !important; padding: 0 !important; margin-top: 28px !important; background: none !important; box-shadow: none !important; }
.kst.single-product .woocommerce-tabs ul.tabs { margin: 0 0 4px !important; }
.kst.single-product .woocommerce-tabs .panel, .kst.single-product .woocommerce-Tabs-panel { border: 0 !important; padding: 16px 0 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; }
.kst.single-product .woocommerce-Tabs-panel > h2:first-child { display: none; }

/* Podobne / polecane produkty */
.kst.single-product .related > h2, .kst.single-product .upsells > h2, .kst.single-product .cross-sells > h2 { font-size: 24px; font-weight: 900; font-style: italic; text-transform: uppercase; margin: 32px 0 14px; }
@media (max-width: 767px) { .kst.single-product .related > h2, .kst.single-product .upsells > h2 { font-size: 20px; } }

/* Logo w nagłówku na telefonie */
@media (max-width: 1024px) { .kst-logo-img { max-height: 34px; max-width: 46vw; } }
@media (max-width: 767px) { .kst-badges { top: 6px; left: 6px; gap: 3px; } .kst-badge { font-size: 9.5px; padding: 3px 7px; } }

/* v1.0.3 – szuflady (koszyk, menu) zawsze nad paskiem admina WordPressa */
.kst-drawer { z-index: 100001; }
.kst-sticky-atc { z-index: 99990; }

/* v1.0.4 – szerszy nagłówek na PC (menu w jednej linii) */
.kst-topbar, .kst-header .kst-wrap { max-width: 1600px; }
.kst-nav-menu a { white-space: nowrap; font-size: 13.5px; padding: 10px 10px; }
.kst-header-row { gap: 22px; }
.kst-search--desktop { flex: 0 1 260px; min-width: 170px; width: auto; }
@media (max-width: 1280px) { .kst-nav-menu a { font-size: 12.5px; padding: 10px 8px; } .kst-search--desktop { flex-basis: 200px; } }

/* v1.0.4 – baner z gotowych grafik: na PC w szerokości treści (białe marginesy), na telefonie na całą szerokość */
.kst-hero--boxed { background: #fff; }
@media (min-width: 768px) {
	.kst-hero--boxed { padding: 20px 20px 0; }
	.kst-hero--boxed .kst-hero-track { max-width: 1200px; margin: 0 auto; border-radius: 16px; }
	.kst-hero--boxed .kst-hero-slide--graphic { background: #fff; }
}
@media (max-width: 767px) { .kst-hero--boxed .kst-hero-slide--graphic { background: #fff; } }

/* v1.0.5 – pasek informacyjny na całą szerokość, nagłówek wyrównany do szerokości treści (1200 px) */
.kst-topbar { max-width: none; width: 100%; box-sizing: border-box; }
.kst-header .kst-wrap { max-width: var(--kst-wrap); }
.kst-header-row { gap: 16px; }
.kst-logo-img { max-height: 30px; max-width: 190px; width: auto; height: auto; display: block; }
.kst-nav-menu { gap: 0; }
.kst-nav-menu a { font-size: 13px; padding: 9px 8px; }
.kst-search--desktop { flex: 0 1 220px; min-width: 150px; }
.kst-header-icons { margin-right: -8px; }
@media (max-width: 1240px) { .kst-nav-menu a { font-size: 12px; padding: 8px 6px; } .kst-search--desktop { flex-basis: 170px; } }
@media (max-width: 1024px) { .kst-logo-img { max-height: 28px; max-width: 46vw; } .kst-header-icons { margin-right: -6px; } }
/* bez obramowania sekcji po kliknięciu w link #bestsellery */
.kst-section:target, .kst-section:focus { outline: none !important; box-shadow: none !important; border: 0 !important; }
.kst-section { scroll-margin-top: 80px; }

/* v1.0.6 – kafelki kategorii na białym tle */
.kst-cat-img { background: #fff; border: 1px solid var(--kst-line); }
.kst-cat-img img { mix-blend-mode: normal; }

/* =========================================================================
   v1.0.7 – zwykłe strony (Kontakt, Kalkulator, Przemiany, Regulamin…)
   ========================================================================= */
body.kst.page, body.kst.page .site, body.kst.page #inner-wrap, body.kst.page .content-bg { background: #fff !important; }
.kst-page { padding-top: 28px; padding-bottom: 48px; }
.kst-page-title { font-size: 34px; font-weight: 900; font-style: italic; text-transform: uppercase; letter-spacing: -.5px; margin: 0 0 24px; display: flex; align-items: center; gap: 10px; }
.kst-page-title::before { content: ""; width: 8px; height: 30px; background: var(--kst-y); transform: skew(-12deg); flex: none; }
.kst-page-content { font-size: 16px; line-height: 1.7; color: #222; }
.kst-page-content > * { max-width: 100%; }
.kst-page-content h2 { font-size: 26px; font-weight: 800; margin: 32px 0 12px; line-height: 1.2; }
.kst-page-content h3 { font-size: 20px; font-weight: 800; margin: 24px 0 10px; }
.kst-page-content a { color: var(--kst-k); text-decoration-color: var(--kst-y); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.kst-page-content img { max-width: 100%; height: auto; }
/* ikony z dawnego Elementora (np. kalkulator) nie mogą być ogromne */
.kst-page-content img[src*="icon"], .kst-page-content img[src*="ikon"], .kst-page-content img[src*="calc"], .kst-page-content img[src*="kalk"] { max-width: 96px; }
.kst-page-content details { border-bottom: 1px solid var(--kst-line); padding: 12px 0; }
.kst-page-content summary { font-weight: 700; cursor: pointer; }
.kst-page-content table { width: 100%; border-collapse: collapse; }
.kst-page-content th, .kst-page-content td { border: 1px solid var(--kst-line); padding: 8px 10px; }
@media (max-width: 767px) {
	.kst-page { padding-top: 18px; padding-bottom: 32px; }
	.kst-page-title { font-size: 24px; }
	.kst-page-title::before { height: 22px; width: 7px; }
	.kst-page-content { font-size: 15px; }
	.kst-page-content h2 { font-size: 21px; }
}

/* Formularze na stronach (kontakt itd.) */
.kst-page form input[type="text"], .kst-page form input[type="email"], .kst-page form input[type="tel"], .kst-page form input[type="number"], .kst-page form input[type="url"], .kst-page form select, .kst-page form textarea {
	width: 100%; box-sizing: border-box; border: 1px solid #dcdcdc !important; border-radius: 10px !important; background: #fff !important; padding: 13px 14px !important; font-size: 16px !important; line-height: 1.3; color: var(--kst-k); box-shadow: none !important; min-height: 48px;
}
.kst-page form textarea { min-height: 140px; }
.kst-page form input:focus, .kst-page form select:focus, .kst-page form textarea:focus { border-color: var(--kst-k) !important; outline: 2px solid var(--kst-y); outline-offset: 0; }
.kst-page form button[type="submit"], .kst-page form input[type="submit"], .kst-page form .kb-forms-submit, .kst-page .wp-block-button__link {
	background: var(--kst-y) !important; color: var(--kst-k) !important; border: 0 !important; border-radius: 10px !important; padding: 15px 28px !important; font-weight: 800 !important; font-size: 15px !important; text-transform: uppercase; cursor: pointer; box-shadow: none !important;
}
.kst-page form button[type="submit"]:hover, .kst-page form input[type="submit"]:hover, .kst-page form .kb-forms-submit:hover { background: var(--kst-y-dark) !important; }
.kst-page .kb-form .kb-field-container, .kst-page .kb-form [class*="kb-field"] { margin-bottom: 12px; }
.kst-page .kb-form, .kst-page .wp-block-kadence-form { max-width: 720px; }
@media (max-width: 767px) { .kst-page form [class*="kb-field"] { width: 100% !important; flex-basis: 100% !important; } .kst-page form button[type="submit"], .kst-page form input[type="submit"], .kst-page form .kb-forms-submit { width: 100%; } }

/* Kalkulator kalorii – kolory marki zamiast złotego */
.kst #calc-kura { background: var(--kst-g) !important; border-radius: 18px !important; padding: 28px 20px !important; }
.kst .kura-calc h2 { font-weight: 900 !important; }
.kst .calc-primary-color, .kst .special { color: var(--kst-k) !important; background: var(--kst-y); padding: 0 6px; }
.kst .kura-calc input, .kst .kura-calc select { border: 1px solid #dcdcdc !important; border-radius: 10px !important; min-height: 48px; font-size: 16px !important; background: #fff !important; }
.kst .sexcheck1, .kst .sexcheck2 { border-radius: 10px !important; min-height: 52px; cursor: pointer; font-weight: 700; }
.kst .chinput { background: var(--kst-y) !important; border-color: var(--kst-y) !important; }
.kst .step { display: grid !important; place-items: center; border-color: #cfcfcf !important; font-weight: 700; padding: 0 !important; }
.kst .stepnow { background: var(--kst-k) !important; border-color: var(--kst-k) !important; color: #fff !important; }
.kst .stepactive { background: var(--kst-green) !important; border-color: var(--kst-green) !important; }
.kst .kuraBtn, .kst .nextbtn, .kst .nextbtn2, .kst .nextbtn3 { background: var(--kst-y) !important; color: var(--kst-k) !important; border-radius: 10px !important; padding: 12px 26px !important; font-weight: 800 !important; font-size: 16px !important; text-transform: uppercase; align-items: center; gap: 6px; cursor: pointer; }
.kst .back2, .kst .back3, .kst .back4 { background: #fff !important; color: var(--kst-k) !important; border: 2px solid var(--kst-k) !important; border-radius: 10px !important; padding: 10px 22px !important; font-weight: 800 !important; font-size: 16px !important; align-items: center; cursor: pointer; }
.kst .kuraBtn:hover, .kst .nextbtn:hover, .kst .nextbtn2:hover, .kst .nextbtn3:hover { background: var(--kst-y-dark) !important; color: var(--kst-k) !important; }
.kst .calc-result p { font-size: 20px; }
.kst .calc-result strong { background: var(--kst-y); padding: 0 6px; }

/* Przemiany (szablon „Kura Sport – Przemiany i kalkulator”) */
.kst .waga, .kst .przemiana .waga { color: var(--kst-k) !important; }
.kst .przemiana .info { border-radius: 0 0 14px 14px !important; }
.kst .przemiana img { border-radius: 14px 14px 0 0; }
.kst #konkursinfo { background: var(--kst-y) !important; border-radius: 18px !important; }
.kst .ctainfo { border-radius: 10px !important; }
.kst #produktbox { border-radius: 18px !important; }

/* v1.0.8 – kalkulator: opis nad kalkulatorem, równe opcje, polecane e-booki */
.kst-calc-intro { text-align: center; max-width: 820px; margin: 0 auto 22px; }
.kst-calc-intro h1, .kst-calc-intro h2 { font-size: 26px; font-weight: 900; margin: 0 0 10px; }
.kst-calc-intro p { font-size: 15.5px; color: var(--kst-t); margin: 0; }
.kst #step4 .calc-label { display: flex; flex-direction: column; gap: 10px; }
.kst #step4 .calc-label-option-br { margin: 0 !important; padding: 0 !important; }
.kst #step4 label.label-check { display: flex !important; align-items: center; gap: 12px; margin: 0 !important; padding: 14px 16px; background: #fff; border: 1px solid #dcdcdc; border-radius: 10px; cursor: pointer; text-align: left; line-height: 1.35; }
.kst #step4 label.label-check input[type="radio"] { order: -1; float: none !important; margin: 0 !important; width: 20px; height: 20px; min-height: 0 !important; flex: none; accent-color: var(--kst-k); }
.kst #step4 label.label-check:has(input:checked) { border-color: var(--kst-k); background: #fffbea; }
.kst #step4 .checkmark-calc { display: none !important; }
.kst-page ul.products { display: flex !important; flex-wrap: wrap; justify-content: center; }
.kst-page ul.products li.product { flex: 0 1 260px; }
.EbookWyborH2, .EbookWyborH3 { text-align: center; }

/* Przemiany – siatka */
.kst-page-lead { color: var(--kst-t); margin: -12px 0 22px; }
.kst-przem-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.kst-przem-item { background: #fff; border: 1px solid var(--kst-line); border-radius: var(--kst-radius); overflow: hidden; }
.kst-przem-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: top; display: block; }
.kst-przem-body { padding: 14px 16px; }
.kst-przem-body h2 { font-size: 18px; font-weight: 900; margin: 0 0 6px; }
.kst-przem-body p { font-size: 14px; color: var(--kst-t); margin: 0; line-height: 1.5; }
@media (max-width: 1024px) { .kst-przem-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .kst-przem-grid { grid-template-columns: 1fr; } .kst-calc-intro h1, .kst-calc-intro h2 { font-size: 21px; } }

/* v1.0.9 – polecane e-booki pod kalkulatorem */
.kst-calc-ebooks { margin: 24px 0 8px; text-align: center; }
.kst-calc-ebooks .EbookWyborH2 { font-size: 24px; font-weight: 900; margin: 0 0 4px; }
.kst-calc-ebooks .EbookWyborH3 { font-size: 14px; font-weight: 500; color: var(--kst-t); margin: 0 0 16px; }
.kst-calc-products { text-align: left; }
.kst-calc-products li.product { flex: 0 1 260px !important; }

/* v1.0.10 – przemiany z typu treści */
.kst-przem-product { display: inline-block; margin-top: 8px; font-size: 13.5px; color: var(--kst-k); text-decoration: none; border-bottom: 2px solid var(--kst-y); }
.kst-przem-grid--home .kst-przem-item { background: var(--kst-k2); border-color: #2a2a2a; }
.kst-przem-grid--home .kst-przem-body h2 { color: #fff; }
.kst-przem-grid--home .kst-przem-body p { color: #aaa; }
.kst-przem-grid--home .kst-przem-product { color: #fff; }
@media (max-width: 767px) { .kst-przem-grid--home { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; margin: 0 -20px; padding: 0 20px; } .kst-przem-grid--home .kst-przem-item { flex: 0 0 78%; scroll-snap-align: start; } }

/* v1.0.11 – nowy kalkulator kalorii */
.kst-calc-box { background: var(--kst-g); border-radius: 18px; padding: 28px; max-width: 860px; margin: 0 auto 28px; }
.kst-calc-form { display: grid; gap: 16px; }
.kst-cf-label { display: block; font-weight: 800; font-size: 14px; margin-bottom: 6px; }
.kst-cf-field { display: block; }
.kst-cf-field input, .kst-cf-field select { width: 100%; box-sizing: border-box; min-height: 50px; border: 1px solid #d6d6d6; border-radius: 10px; background: #fff; padding: 10px 14px; font-size: 16px; color: var(--kst-k); }
.kst-cf-field select { white-space: normal; }
.kst-cf-field small { display: block; margin-top: 6px; font-size: 12.5px; color: var(--kst-t); line-height: 1.4; }
.kst-cf-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.kst-cf-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.kst-cf-grid2[hidden] { display: none; }
.kst-cf-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.kst-cf-choice--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kst-cf-choice label { position: relative; cursor: pointer; margin: 0; }
.kst-cf-choice input { position: absolute; opacity: 0; pointer-events: none; }
.kst-cf-choice span { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 52px; padding: 8px 12px; border: 2px solid #d6d6d6; border-radius: 10px; background: #fff; font-weight: 700; font-size: 14.5px; line-height: 1.25; transition: border-color .15s, background .15s; }
.kst-cf-choice input:checked + span { border-color: var(--kst-k); background: var(--kst-y); }
.kst-cf-choice input:focus-visible + span { outline: 2px solid var(--kst-k); outline-offset: 2px; }
.has-error input, .has-error select, .has-error .kst-cf-choice span { border-color: var(--kst-red) !important; }
.kst-cf-error { margin: 0; color: var(--kst-red); font-weight: 700; font-size: 14px; }
.kst-cf-submit { width: 100%; font-size: 16px; padding: 17px; }
.kst-cf-kcal { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kst-cf-kcal > div { background: #fff; border-radius: 14px; padding: 20px; text-align: center; }
.kst-cf-kcal small { display: block; font-size: 13px; color: var(--kst-t); font-weight: 700; text-transform: uppercase; }
.kst-cf-kcal strong { display: block; font-size: 44px; font-weight: 900; line-height: 1.1; margin: 4px 0; }
.kst-cf-kcal span { font-size: 13px; color: var(--kst-t); }
.kst-cf-kcal-main { background: var(--kst-y) !important; }
.kst-cf-kcal-main small, .kst-cf-kcal-main span { color: var(--kst-k); }
.kst-cf-again { display: block; margin: 14px auto 0; background: none; border: 0; font-weight: 700; text-decoration: underline; cursor: pointer; color: var(--kst-k); }
.kst-calc-ebooks { text-align: center; margin: 0 auto 32px; }
.kst-calc-ebooks[hidden] { display: none; }
.kst-calc-ebooks-title { font-size: 26px; font-weight: 900; margin: 0 0 4px; }
.kst-calc-ebooks-sub { color: var(--kst-t); margin: 0 0 16px; font-size: 14px; }
.kst-calc-products li[hidden] { display: none !important; }
@media (max-width: 767px) {
	.kst-calc-box { padding: 18px 14px; border-radius: 14px; }
	.kst-cf-grid3 { grid-template-columns: 1fr 1fr; }
	.kst-cf-grid3 .kst-cf-field:last-child { grid-column: 1 / -1; }
	.kst-cf-choice--3 { grid-template-columns: 1fr; }
	.kst-cf-kcal strong { font-size: 34px; }
	.kst-calc-ebooks-title { font-size: 21px; }
}
.kst-calc-form[hidden], .kst-cf-result[hidden], .kst-cf-error[hidden] { display: none !important; }
@media (max-width: 767px) { .kst-calc-products li.product { flex: 0 1 calc(50% - 5px) !important; } .kst-cf-kcal > div { padding: 14px 8px; } .kst-cf-kcal small { font-size: 11px; } }

/* v1.0.12 – strona kalkulatora */
.kst-page-content .kst-center { text-align: center; max-width: 860px; margin-left: auto; margin-right: auto; }

/* v1.0.12 – kasa (standardowa WooCommerce) */
.kst.woocommerce-checkout .kst-page { padding-top: 20px; }
.kst .woocommerce-form-coupon-toggle { display: none !important; }
@media (min-width: 900px) {
	.kst form.checkout { display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); column-gap: 40px; align-items: start; }
	.kst form.checkout > * { grid-column: 1 / -1; }
	.kst form.checkout > #customer_details { grid-column: 1; grid-row: 2 / span 30; width: auto !important; float: none !important; margin: 0 !important; }
	.kst form.checkout > #order_review_heading { grid-column: 2; grid-row: 2; margin-top: 0 !important; }
	.kst form.checkout > #order_review { grid-column: 2; grid-row: 3; width: auto !important; float: none !important; }
	.kst form.checkout > .woocommerce-NoticeGroup { grid-row: 1; }
	.kst form.checkout #customer_details .col-1, .kst form.checkout #customer_details .col-2 { width: 100% !important; float: none !important; }
	.kst form.checkout #customer_details h3:first-child, .kst form.checkout #customer_details .woocommerce-billing-fields > h3 { margin-top: 0 !important; }
}
.kst form.checkout h3 { font-size: 20px; font-weight: 900; }
.kst .woocommerce-checkout-review-order-table { border-radius: 12px; overflow: hidden; }
.kst-coupon-row td { padding: 14px 12px !important; background: #fff; }
.kst-coupon label { display: block; font-weight: 800; font-size: 14px; margin-bottom: 8px; }
.kst-coupon-inner { display: flex; gap: 8px; }
.kst-coupon-inner input { flex: 1; min-width: 0; min-height: 46px; border: 1px solid #d6d6d6 !important; border-radius: 10px !important; padding: 10px 12px !important; font-size: 16px !important; text-transform: uppercase; background: #fff !important; }
.kst-coupon-apply { flex: none; min-height: 46px; padding: 0 18px; border: 0; border-radius: 10px; background: var(--kst-k); color: #fff; font-weight: 800; text-transform: uppercase; cursor: pointer; }
.kst-coupon-apply:hover { background: #333; }
.kst-coupon-apply.is-loading { opacity: .6; cursor: wait; }
.kst-coupon-msg:empty { display: none; }
.kst-coupon-msg { margin-top: 8px; font-size: 13.5px; }
.kst-coupon-msg .woocommerce-error, .kst-coupon-msg .woocommerce-message, .kst-coupon-msg .woocommerce-info { margin: 0 !important; padding: 10px 12px !important; border-radius: 8px; list-style: none; }

/* v1.0.13 – kasa: przycisk „Wybierz na mapie” (InPost) – biały napis na czarnym */
.kst .woocommerce-shipping-totals button, .kst .woocommerce-shipping-totals .button, .kst .woocommerce-shipping-totals a.button,
.kst .woocommerce-shipping-totals input[type="button"], .kst #order_review tr.shipping button, .kst #order_review [class*="geowidget"] button,
.kst #order_review [id*="geowidget"], .kst #order_review [class*="easypack"] button, .kst #order_review [id*="easypack"] {
	background: var(--kst-k) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important;
	font-weight: 700 !important; font-size: 14px !important; padding: 10px 14px !important; line-height: 1.2 !important; cursor: pointer; text-shadow: none !important;
}
.kst .woocommerce-shipping-totals button *, .kst .woocommerce-shipping-totals .button *, .kst #order_review [id*="geowidget"] * { color: #fff !important; }
.kst .woocommerce-shipping-totals button:hover, .kst .woocommerce-shipping-totals .button:hover { background: #333 !important; color: #fff !important; }

/* v1.0.13 – wyszukiwarka: podpowiedzi */
.kst-search { position: relative; }
.kst-ac { position: absolute; top: calc(100% + 6px); left: 0; right: 0; min-width: 320px; background: #fff; border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,.18); z-index: 1000; overflow: hidden; text-align: left; }
.kst-search--mobile .kst-ac { min-width: 0; }
.kst-ac[hidden] { display: none; }
.kst-ac-item { display: flex; align-items: center; gap: 10px; padding: 9px 12px; color: var(--kst-k) !important; text-decoration: none !important; border-bottom: 1px solid var(--kst-line); }
.kst-ac-item:hover, .kst-ac-item.is-active { background: var(--kst-g); }
.kst-ac-item img { width: 44px; height: 44px; object-fit: contain; border-radius: 6px; border: 1px solid var(--kst-line); flex: none; background: #fff; }
.kst-ac-item strong { display: block; font-size: 13.5px; line-height: 1.3; font-weight: 700; }
.kst-ac-item small { display: block; font-size: 13px; color: var(--kst-k); font-weight: 800; margin-top: 2px; }
.kst-ac-all { display: block; width: 100%; border: 0; background: var(--kst-y); color: var(--kst-k); font-weight: 800; font-size: 13px; text-transform: uppercase; padding: 11px; cursor: pointer; }
.kst-ac-empty { margin: 0; padding: 14px; font-size: 14px; color: var(--kst-t); }
.kst-search.is-loading::after { content: ""; position: absolute; right: 12px; top: 50%; width: 14px; height: 14px; margin-top: -7px; border: 2px solid #ccc; border-top-color: var(--kst-k); border-radius: 50%; animation: kst-spin .6s linear infinite; }
@keyframes kst-spin { to { transform: rotate(360deg); } }

/* v1.0.13 – wysuwany koszyk: rabat i suma po rabacie */
#kst-cart-drawer .kst-mini-discount, #kst-cart-drawer .kst-mini-after { flex: none; display: flex; justify-content: space-between; margin: 0; padding: 4px 0; font-size: 14px; }
#kst-cart-drawer .kst-mini-discount strong { color: var(--kst-green); }
#kst-cart-drawer .kst-mini-after { font-size: 16px; padding-bottom: 10px; }

/* v1.0.13 – strona glówna: kafelki zaufania tylko z nagłówkiem */
.kst-usp-item strong { font-size: 14.5px; }
@media (max-width: 767px) { .kst-usp-item strong { font-size: 11px; } }

/* v1.0.13 – strona koszyka: przyciski PC i mobile */
.kst.woocommerce-cart .kst-page { padding-top: 20px; }
.kst.woocommerce-cart table.cart td.actions { padding: 14px !important; background: #fff; }
.kst.woocommerce-cart table.cart td.actions .coupon { display: flex !important; gap: 8px; align-items: stretch; float: left; width: auto; max-width: 440px; margin: 0; padding: 0; border: 0; }
.kst.woocommerce-cart table.cart td.actions .coupon label { display: none; }
.kst.woocommerce-cart table.cart td.actions .coupon .input-text {
	flex: 1; min-width: 0; width: auto !important; height: 46px !important; margin: 0 !important; padding: 0 12px !important; font-size: 15px !important;
	border: 1px solid #d6d6d6 !important; border-radius: 10px !important; background: #fff !important; text-transform: uppercase; box-shadow: none !important;
}
.kst.woocommerce-cart table.cart td.actions .coupon .button,
.kst.woocommerce-cart table.cart td.actions > .button,
.kst.woocommerce-cart table.cart td.actions button[name="update_cart"] {
	flex: none; height: 46px !important; min-height: 46px; margin: 0 !important; padding: 0 18px !important; border: 0 !important; border-radius: 10px !important;
	font-weight: 800 !important; font-size: 13px !important; text-transform: uppercase; line-height: 46px !important; white-space: nowrap; box-shadow: none !important; width: auto !important;
}
.kst.woocommerce-cart table.cart td.actions .coupon .button { background: var(--kst-k) !important; color: #fff !important; }
.kst.woocommerce-cart table.cart td.actions .coupon .button:hover { background: #333 !important; }
.kst.woocommerce-cart table.cart td.actions button[name="update_cart"] { float: right; background: var(--kst-g) !important; color: var(--kst-k) !important; opacity: 1 !important; }
.kst.woocommerce-cart table.cart td.actions button[name="update_cart"]:disabled { opacity: .45 !important; cursor: default; }
.kst.woocommerce-cart .wc-proceed-to-checkout { padding: 14px 0 0 !important; }
.kst.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block; width: 100%; margin: 0 !important; padding: 17px 16px !important; border-radius: 10px !important; border: 0 !important;
	background: var(--kst-y) !important; color: var(--kst-k) !important; font-size: 16px !important; font-weight: 900 !important; text-transform: uppercase; text-align: center; letter-spacing: .02em;
}
.kst.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--kst-y-dark) !important; }
.kst.woocommerce-cart table.cart .product-quantity input.qty { width: 64px; height: 44px; border-radius: 8px; text-align: center; }
.kst.woocommerce-cart .cart_totals table.shop_table { border-radius: 12px; overflow: hidden; }
@media (max-width: 767px) {
	.kst.woocommerce-cart table.cart td.actions { display: block; }
	.kst.woocommerce-cart table.cart td.actions::before { display: none !important; }
	.kst.woocommerce-cart table.cart td.actions .coupon { float: none; max-width: none; width: 100%; margin-bottom: 10px; }
	.kst.woocommerce-cart table.cart td.actions button[name="update_cart"] { float: none; display: block; width: 100% !important; }
	.kst.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { font-size: 15px !important; }
}

/* =========================================================================
   v1.0.15
   ========================================================================= */

/* Emotki w opisach (obrazki „emoji” bez stylu WordPressa były ogromne) */
img.emoji, img.wp-smiley { display: inline !important; width: 1em !important; height: 1em !important; max-width: 1em !important; margin: 0 .07em !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; vertical-align: -0.1em !important; }

/* Kategorie / sklep: mniej pustego miejsca pod nazwą */
.kst.archive #primary.content-area, .kst.post-type-archive-product #primary.content-area, .kst.tax-product_cat #primary.content-area, .kst.tax-product_tag #primary.content-area { margin-top: 10px !important; }
.kst .kadence-shop-top-row { padding-bottom: 14px !important; }
@media (max-width: 767px) {
	.kst.archive #primary.content-area, .kst.post-type-archive-product #primary.content-area, .kst.tax-product_cat #primary.content-area, .kst.tax-product_tag #primary.content-area { margin-top: 4px !important; }
	.kst .kadence-shop-top-row { padding-bottom: 10px !important; }
}

/* Płatności: karta produktu – czarne; stopka – białe */
.kst-pay--dark span { background: #000 !important; color: #fff !important; border: 1px solid #000 !important; font-size: 12px; padding: 7px 12px; }
.kst-pay--white span { background: #fff !important; color: #000 !important; border: 0 !important; }

/* Stopka: „Kontakt” klikalny */
.kst-footer-contact-link { color: inherit !important; text-decoration: none !important; }
.kst-footer-contact-link:hover { text-decoration: underline !important; }

/* Menu: strzałka przy „Sklep” (PC) */
.kst-nav-menu > li.menu-item-has-children > a { display: inline-flex; align-items: center; gap: 5px; }
.kst-nav-menu > li.menu-item-has-children > a::after { content: ""; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.kst-nav-menu > li.menu-item-has-children:hover > a::after, .kst-nav-menu > li.menu-item-has-children:focus-within > a::after { transform: translateY(1px) rotate(-135deg); }
/* Menu mobilne: strzałka obok nazwy, klik rozwija */
.kst-mobile-menu .kst-sub-toggle { display: none !important; }
.kst-mobile-menu li.menu-item-has-children > a { display: flex; align-items: center; justify-content: space-between; padding-right: 18px; }
.kst-sub-arrow { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--kst-g); transition: transform .2s; flex: none; }
.kst-mobile-menu li.is-open > a .kst-sub-arrow { transform: rotate(180deg); background: var(--kst-y); }
.kst-mobile-menu .kst-sub-all a { font-weight: 800 !important; }

/* Ikony zaufania pod banerem: większe, na całą szerokość (PC) */
@media (min-width: 768px) {
	.kst-usp-grid { display: flex !important; justify-content: space-between; align-items: center; gap: 12px; padding-top: 22px; padding-bottom: 22px; }
	.kst-usp-item { gap: 14px; }
	.kst-usp-ico { width: 54px; height: 54px; }
	.kst-usp-ico svg { width: 28px; height: 28px; }
	.kst-usp-item strong { font-size: 17px !important; font-weight: 800; }
}

/* Boczny koszyk: dwie linie rabatu */
#kst-cart-drawer .kst-progress p { line-height: 1.5; }
.kst-progress-ok { color: var(--kst-green); }
.kst-progress-save { color: var(--kst-green); font-weight: 700; }

/* Karta – ikonka koszyka podczas dodawania */
.kst-card-add.loading { opacity: .55; pointer-events: none; }
.kst-card-add.added::after { display: none !important; }

/* Strona główna: kalkulator kalorii (pod przemianami) */
.kst-calc-cta { display: grid; grid-template-columns: 1.4fr 1fr; gap: 36px; align-items: center; background: var(--kst-y); color: var(--kst-k) !important; text-decoration: none !important; border-radius: 22px; padding: 40px 44px; position: relative; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.kst-calc-cta::before { content: ""; position: absolute; right: -80px; top: -80px; width: 320px; height: 320px; border-radius: 50%; background: rgba(255,255,255,.22); pointer-events: none; }
.kst-calc-cta:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,.16); }
.kst-calc-cta-kicker { display: inline-block; background: var(--kst-k); color: var(--kst-y); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; padding: 5px 10px; border-radius: 6px; transform: skew(-8deg); }
.kst-calc-cta h2 { font-size: 34px; line-height: 1.08; font-weight: 900; font-style: italic; text-transform: uppercase; margin: 14px 0 10px; letter-spacing: -.5px; }
.kst-calc-cta p { font-size: 16px; margin: 0 0 16px; max-width: 540px; }
.kst-calc-cta-chips { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.kst-calc-cta-chips li { background: rgba(255,255,255,.55); border-radius: 30px; padding: 7px 13px; font-size: 13.5px; font-weight: 700; }
.kst-calc-cta-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--kst-k) !important; color: #fff !important; padding: 16px 26px; border-radius: 12px; font-weight: 900; font-size: 16px; text-transform: uppercase; }
.kst-calc-cta:hover .kst-calc-cta-btn svg { transform: translateX(4px); }
.kst-calc-cta-btn svg { transition: transform .2s; }
.kst-calc-cta-demo { position: relative; background: var(--kst-k); color: #fff; border-radius: 18px; padding: 26px 26px 22px; box-shadow: 0 20px 40px rgba(0,0,0,.25); transform: rotate(2deg); }
.kst-calc-cta-demo small { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #aaa; font-weight: 700; }
.kst-calc-cta-demo strong { display: block; font-size: 48px; font-weight: 900; line-height: 1.1; margin: 4px 0 16px; color: var(--kst-y); }
.kst-calc-cta-demo em { font-style: normal; font-size: 20px; color: #fff; }
.kst-calc-cta-macro { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 10px; font-size: 13px; margin-top: 8px; color: #ddd; }
.kst-calc-cta-macro i { display: block; height: 8px; border-radius: 4px; background: #333; position: relative; overflow: hidden; }
.kst-calc-cta-macro i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--kst-y); border-radius: 4px; }
@media (max-width: 900px) {
	.kst-calc-cta { grid-template-columns: 1fr; padding: 28px 22px; gap: 22px; }
	.kst-calc-cta h2 { font-size: 25px; }
	.kst-calc-cta p { font-size: 15px; }
	.kst-calc-cta-btn { width: 100%; justify-content: center; box-sizing: border-box; }
	.kst-calc-cta-demo { transform: none; padding: 20px; }
	.kst-calc-cta-demo strong { font-size: 38px; }
}

/* =========================================================================
   v1.0.17
   ========================================================================= */
/* Moje konto: przyciski czarne z białym napisem */
.kst.woocommerce-account .woocommerce .button, .kst.woocommerce-account .woocommerce button.button, .kst.woocommerce-account .woocommerce a.button,
.kst.woocommerce-account .woocommerce input.button, .kst.woocommerce-account .woocommerce-orders-table .button {
	background: var(--kst-k) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important;
	font-weight: 700 !important; padding: 9px 16px !important; line-height: 1.3 !important; text-decoration: none !important; box-shadow: none !important;
}
.kst.woocommerce-account .woocommerce .button:hover, .kst.woocommerce-account .woocommerce a.button:hover { background: #333 !important; color: #fff !important; }
.kst.woocommerce-account .woocommerce .button * { color: #fff !important; }

/* Stopka: logo jak w nagłówku */
.kst-footer-logo { position: static !important; transform: none !important; display: inline-flex; margin-bottom: 4px; }
.kst-footer-logo .kst-logo-img { max-height: 30px; max-width: 220px; }

/* Karta produktu: „Podobne produkty” */
.kst-similar { clear: both; margin: 40px 0 10px; padding-top: 28px; border-top: 1px solid var(--kst-line); }
.kst-similar .kst-section-head { margin-bottom: 16px; }
@media (max-width: 767px) { .kst-similar { margin-top: 28px; padding-top: 20px; } }
.kst-sold { color: var(--kst-green); font-weight: 700; }

/* =========================================================================
   v1.0.18
   ========================================================================= */
/* Karta produktu: przy produktach bez wyboru ilości (e-booki) oba przyciski równej szerokości */
.kst.single-product form.cart .quantity:has(input[type="hidden"]), .kst.single-product form.cart .quantity.hidden { display: none !important; }
.kst.single-product form.cart .single_add_to_cart_button { margin: 0 !important; }

/* Strony z własnym nagłówkiem (kalkulator) – treść wyżej */
.kst-page-content > h1:first-child, .kst-page-content > .kst-calc-intro:first-child { margin-top: 0 !important; }
/* Kontakt: bez pustej linii w nagłówku, formularz wyżej */
.kst-page-content h2 > br:last-child, .kst-page-content h2 > br:first-child { display: none; }
.kst-page-content > h2:first-child { margin-top: 0 !important; }

/* Strona koszyka: bez pola kuponu (jest w kasie), „Koszt wysyłki – Dostępny w kolejnym etapie” */
.kst.woocommerce-cart table.cart td.actions .coupon { display: none !important; }
.kst.woocommerce-cart table.cart td.actions { text-align: right; }
.kst.woocommerce-cart .kst-ship-later td { color: var(--kst-t); font-size: 14px; }
.kst.woocommerce-cart .cart_totals .woocommerce-shipping-calculator, .kst.woocommerce-cart .cart_totals .shipping-calculator-button { display: none !important; }
@media (max-width: 767px) { .kst.woocommerce-cart table.cart td.actions { text-align: center; } }

/* Kasa: kropka wyboru dostawy w jednej linii z nazwą kuriera (PC i telefon) */
.kst #shipping_method { margin: 0 !important; padding: 0 !important; list-style: none; }
.kst #shipping_method li { display: flex !important; flex-wrap: wrap; align-items: flex-start; column-gap: 8px; row-gap: 2px; margin: 0 0 12px !important; padding: 0 !important; text-indent: 0 !important; }
.kst #shipping_method li > input[type="radio"] { flex: none; margin: 3px 0 0 !important; width: 16px; height: 16px; position: static !important; }
.kst #shipping_method li > label { flex: 1 1 0; min-width: 0; display: block !important; margin: 0 !important; padding: 0 !important; line-height: 1.35; }
.kst #shipping_method li > *:not(input):not(label) { flex: 0 0 100%; box-sizing: border-box; padding-left: 24px; margin-top: 2px !important; margin-bottom: 0 !important; }
.kst #shipping_method .shipping-method-description { font-size: 13px; }
@media (max-width: 767px) {
	.kst .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { width: 32%; }
}

/* Kasa: mniej pustego miejsca nad i pod „Kupuję i płacę” */
.kst #payment .woocommerce-terms-and-conditions-wrapper { margin-top: 14px !important; }
.kst #payment #place_order { margin: 14px 0 0 !important; }
.kst #payment .place-order { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.kst.woocommerce-checkout .kst-page { padding-bottom: 20px !important; }
.kst.woocommerce-checkout .kst-footer { margin-top: 0 !important; }
@media (max-width: 767px) {
	.kst #payment .woocommerce-terms-and-conditions-wrapper { margin-top: 10px !important; }
	.kst #payment #place_order { margin-top: 10px !important; }
	.kst.woocommerce-checkout .kst-page { padding-bottom: 16px !important; }
	.kst #payment .payment_box { margin-bottom: 0 !important; }
}

/* v1.0.19 – kalkulator: „Twój wynik” */
.kst-cf-result-title { text-align: center; font-size: 34px; font-weight: 900; font-style: italic; text-transform: uppercase; letter-spacing: -.5px; margin: 0 0 18px; }
@media (max-width: 767px) { .kst-cf-result-title { font-size: 26px; margin-bottom: 14px; } }
.kst.single-product .single_add_to_cart_button.loading { opacity: .6; pointer-events: none; }

/* =========================================================================
   v1.0.20
   ========================================================================= */
/* Karta produktu: rabat za ilość pod ceną */
.kst-multi-info { display: flex; align-items: flex-start; gap: 10px; margin: 6px 0 14px; padding: 10px 14px; border: 1px dashed var(--kst-y-dark); background: #fffbea; border-radius: 10px; font-size: 13.5px; line-height: 1.4; color: var(--kst-k); }
.kst-multi-info svg { flex: none; margin-top: 1px; color: var(--kst-y-dark); }
.kst-multi-info strong { display: block; font-size: 14px; }
.kst-multi-info span { display: block; }

/* Stopka: e-mail zwykłym tekstem */
.kst-footer-mail { color: inherit; opacity: .85; }

/* Kalkulator – wynik na telefonie: mniej pustego miejsca, więcej widać e-booków */
@media (max-width: 767px) {
	.kst-calc-box:has(.kst-cf-result:not([hidden])) { padding: 12px 12px 6px; margin-bottom: 14px; }
	.kst.page .kst-page:has(.kst-cf-result:not([hidden])) { padding-top: 10px; }
	.kst-cf-result-title { font-size: 22px; margin: 0 0 10px; }
	.kst-cf-again { font-size: 13px; margin: 8px auto 0; padding: 4px 8px; font-weight: 600; }
	.kst-calc-ebooks { margin-top: 0 !important; }
	.kst-calc-ebooks-title { font-size: 21px; }
	.kst-calc-ebooks-sub { margin-bottom: 12px; }
}

/* v1.0.22 – Przemiany: kolejność 3 przemiany → plany → kalkulator → reszta */
.kst-page--przemiany .kst-przem-plans { padding-bottom: 0; }
.kst-page--przemiany + .kst-calc-cta-section { padding-top: 10px; }
.kst-przem-rest { padding-top: 0 !important; }
.kst-przem-rest .kst-section-head { margin-bottom: 16px; }

/* v1.0.23 – Przemiany: 6 w pierwszym rzędzie na PC, 3 na telefonie */
.kst-przem-grid > .kst-only-desktop, .kst-przem-grid > .kst-only-mobile { display: contents; }
@media (min-width: 768px) {
	.kst-przem-grid > .kst-only-mobile, .kst-only-mobile-block { display: none !important; }
}
@media (max-width: 767px) {
	.kst-przem-grid > .kst-only-desktop { display: none !important; }
}

/* v1.0.24 – zrabatowany (najtańszy) produkt w koszyku i kasie */
.kst-item-disc { display: inline-block; margin-left: 4px; padding: 1px 6px; border-radius: 5px; background: var(--kst-green); color: #fff; font-size: .82em; font-weight: 800; white-space: nowrap; }
.kst-item-old { color: #999; font-weight: 400; margin-right: 4px; }
.kst-item-new { text-decoration: none; font-weight: 800; color: var(--kst-green); }

/* v1.0.26 – ceny promocyjne czarne (nie czerwone) */
.kst .price ins, .kst .price ins .amount, .kst-card-price ins, .kst-card-price ins .amount, .kst-sticky-price ins, .kst-sticky-price ins .amount, .kst ul.products .price ins { color: var(--kst-k) !important; }

/* v1.0.27 – iPhone: bez przybliżania ekranu po kliknięciu w pole (Safari powiększa pola z czcionką < 16 px) */
@media (max-width: 1024px) {
	.kst-search input[type="search"],
	.kst input[type="text"], .kst input[type="email"], .kst input[type="tel"], .kst input[type="number"], .kst input[type="search"], .kst input[type="password"],
	.kst select, .kst textarea, .kst .select2-container .select2-selection, .kst .select2-search__field { font-size: 16px !important; }
}

/* v1.0.33 – galeria produktu: miniatury pionowo po lewej, stała wysokość (bez skakania) – PC i telefon */
.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) { display: block !important; position: relative !important; padding: 0 0 0 104px !important; box-sizing: border-box; }
.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .flex-viewport { width: 100% !important; max-height: none !important; height: auto !important; margin: 0 !important; }
.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .woocommerce-product-gallery__image img, .kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .woocommerce-product-gallery__image a img { width: 100% !important; height: auto !important; max-height: none !important; aspect-ratio: 1 / 1; object-fit: contain; display: block; margin: 0 !important; background: #fff; }
.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .flex-control-thumbs { position: absolute !important; left: 0 !important; top: 0 !important; bottom: 0 !important; width: 92px !important; height: auto !important; max-height: none !important; display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; gap: 8px; margin: 0 !important; padding: 0 2px 0 0 !important; overflow-y: auto !important; overflow-x: hidden !important; transform: none !important; list-style: none; scrollbar-width: thin; box-sizing: border-box; }
.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .flex-control-thumbs li { flex: none !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .flex-control-thumbs li img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; border: 2px solid transparent; border-radius: 8px; opacity: .65; cursor: pointer; transition: opacity .15s, border-color .15s; }
.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .flex-control-thumbs li img:hover { opacity: 1; }
.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .flex-control-thumbs li img.flex-active { opacity: 1; border-color: var(--kst-k); }
.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .woocommerce-product-gallery__trigger { z-index: 5; }
@media (max-width: 767px) {
	.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) { padding-left: 66px !important; margin-bottom: 10px !important; }
	.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .flex-control-thumbs { width: 58px !important; gap: 6px; }
}

/* v1.0.30 – podkategorie pod nazwą kategorii */
.kst-subcats { margin: 0 0 18px; }
.kst-subcats ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.kst-subcat { display: inline-block; padding: 9px 16px; border: 1.5px solid #dcdcdc; border-radius: 30px; background: #fff; color: var(--kst-k) !important; font-size: 14px; font-weight: 700; text-decoration: none !important; white-space: nowrap; transition: border-color .15s, background .15s; }
.kst-subcat:hover { border-color: var(--kst-k); }
.kst-subcat.is-active { background: var(--kst-k); border-color: var(--kst-k); color: #fff !important; }
@media (max-width: 767px) {
	.kst-subcats { margin: 0 -16px 14px; }
	.kst-subcats ul { flex-wrap: nowrap; overflow-x: auto; padding: 2px 16px 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.kst-subcats ul::-webkit-scrollbar { display: none; }
	.kst-subcat { padding: 8px 14px; font-size: 13.5px; }
}

/* v1.0.32 – podkategorie na telefonie: zawijanie do kolejnych wierszy zamiast przewijania w bok */
@media (max-width: 767px) {
	.kst-subcats { margin: 0 0 14px; }
	.kst-subcats ul { flex-wrap: wrap; overflow: visible; padding: 0; gap: 6px; }
	.kst-subcat { padding: 7px 12px; font-size: 13px; }
}

/* v1.0.34 – galeria na PC/tablecie: większe zdjęcie, miniatury poziomo pod zdjęciem (wypełniają kolumnę) */
@media (min-width: 768px) {
	.kst.single-product div.product div.images.woocommerce-product-gallery { width: 56% !important; }
	.kst.single-product div.product .summary.entry-summary { width: 40% !important; }
	.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) { padding: 0 !important; }
	.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .flex-control-thumbs {
		position: static !important; width: 100% !important; height: auto !important; bottom: auto !important;
		flex-direction: row !important; flex-wrap: nowrap !important; gap: 8px; margin: 10px 0 0 !important; padding: 0 0 4px !important;
		overflow-x: auto !important; overflow-y: hidden !important;
	}
	.kst.single-product .woocommerce-product-gallery.gallery-has-thumbnails:not(.ksk-gallery) .flex-control-thumbs li { flex: 0 0 84px !important; width: 84px !important; }
}
