/* 
 Theme Name:   KrefftClinic
 Theme URI:    
 Description:  
 Author:       13design
 Author URI:   https://13design.info/
 Template:     blocksy
 Version: 1.65
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html

 /* == Add your own styles below this line ==
--------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300&display=swap');



/* =========================================================
   Poprawki 2026-10-09 (Claude) – rozmiary, typografia, sekcje
   ========================================================= */

/* ---------- 1. Mniejsze sekcje na stronie głównej ---------- */
.home .entry-content > .wp-block-kadence-rowlayout:not(:first-of-type) > .kt-row-column-wrap {
	padding-top: clamp(48px, 5.5vw, 76px) !important;
	padding-bottom: clamp(44px, 5vw, 68px) !important;
}
.home h2.wp-block-kadence-advancedheading,
.home .wp-block-kadence-advancedheading h2,
.home .entry-content h2 {
	font-size: clamp(26px, 2.5vw, 38px) !important;
	line-height: 1.2 !important;
	letter-spacing: .01em;
}
.home .entry-content > .wp-block-kadence-rowlayout:first-of-type h2 {
	font-size: clamp(30px, 3.4vw, 50px) !important;
}
.home .entry-content h3 {
	font-size: clamp(17px, 1.35vw, 20px) !important;
	line-height: 1.3 !important;
}
.home .entry-content p {
	font-size: 14px;
	line-height: 1.65;
}
.home .wp-block-kadence-image { margin-bottom: 18px !important; }

/* ---------- 2. "krefft clinic" małymi literami ---------- */
.kc-brand {
	text-transform: lowercase !important;
	font-weight: 300;
	letter-spacing: .02em;
}
.kc-brand .word, .kc-brand .char { text-transform: lowercase !important; }

/* ---------- 6. Nazwy zabiegów w ZABIEGI PROMOWANE ---------- */
.kc-zabieg-nazwa {
	position: relative;
	margin: 34px 0 10px !important;
	padding-top: 26px;
	border-top: 1px solid rgba(0,0,0,.12);
	font-family: Lato, sans-serif;
	font-size: 17px !important;
	font-weight: 300 !important;
	letter-spacing: .2em;
	text-transform: uppercase;
	line-height: 1.4 !important;
}
.kc-zabieg-nazwa strong { font-weight: 300 !important; }
.kc-zabieg-nazwa a { color: inherit; text-decoration: none; }
.kc-zabieg-nazwa a:hover { color: var(--theme-palette-color-1); }
.kc-zabieg-nazwa::after {
	content: ""; display: block; width: 34px; height: 2px;
	margin-top: 12px; background: var(--theme-palette-color-1);
}
h2 + .kc-zabieg-nazwa,
.wp-block-kadence-advancedheading + .kc-zabieg-nazwa { border-top: 0; padding-top: 0; margin-top: 20px !important; }

/* ---------- 7. Dwa Instagramy w stopce ---------- */
.wp-block-social-link.kc-ig-main,
.wp-block-social-link.kc-ig-main svg { color: #000 !important; fill: #000 !important; }
.wp-block-social-link.kc-ig-skin,
.wp-block-social-link.kc-ig-skin svg { color: var(--theme-palette-color-1, #f5c777) !important; fill: var(--theme-palette-color-1, #f5c777) !important; }

/* ---------- 3. Ruchoma galeria (marquee) ---------- */
.kc-marquee {
	overflow: hidden;
	padding: 8px 0 clamp(40px, 5vw, 70px);
	display: grid; gap: 14px;
}
.kc-marquee__row {
	display: flex; gap: 14px; width: max-content;
	animation: kc-marquee 70s linear infinite;
}
.kc-marquee__row--rev { animation-direction: reverse; animation-duration: 85s; }
.kc-marquee:hover .kc-marquee__row { animation-play-state: paused; }
.kc-marquee__row img {
	height: clamp(150px, 19vw, 270px); width: auto; display: block;
	object-fit: cover; filter: grayscale(1);
	transition: filter .5s ease;
}
.kc-marquee__row img:hover { filter: grayscale(0); }
@keyframes kc-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .kc-marquee__row { animation: none; } }

/* ---------- 4. krefft clinic IN NUMBERS ---------- */
.kc-liczby { max-width: 1290px; margin: 0 auto; padding: clamp(48px, 6vw, 90px) 20px; }
.kc-liczby__head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 28px; flex-wrap: wrap; }
.kc-liczby__tytul { margin: 0 !important; font-size: clamp(24px, 2.4vw, 34px) !important; font-weight: 400 !important; letter-spacing: .04em; text-transform: uppercase; }
.kc-liczby__link { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 12px; }
.kc-liczby__link::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.kc-liczby__link:hover { color: var(--theme-palette-color-1); }
.kc-liczby__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.kc-liczby__item {
	border: 1px solid rgba(85,79,79,.25); padding: 22px 22px 18px;
	min-height: 210px; display: flex; flex-direction: column; justify-content: space-between;
	background: #fff; transition: border-color .3s, transform .3s;
}
.kc-liczby__item:hover { border-color: var(--theme-palette-color-1); transform: translateY(-3px); }
.kc-liczby__item:nth-child(even) { margin-top: 18px; }
.kc-liczby__num { font-size: clamp(40px, 4vw, 58px); font-weight: 300; line-height: 1; color: var(--theme-palette-color-2); }
.kc-liczby__num small { font-size: .55em; color: var(--theme-palette-color-1); vertical-align: top; }
.kc-liczby__opis { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--theme-palette-color-2); }
.kc-liczby__opis::before { content: ""; display: block; width: 26px; height: 2px; background: var(--theme-palette-color-1); margin-bottom: 12px; }

/* ---------- Twój problem – kafelki ---------- */
.kc-problemy { max-width: 1290px; margin: 0 auto; padding: 0 20px 60px; }
.kc-problemy__nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 34px; }
.kc-problemy__nav a { border: 1px solid rgba(0,0,0,.2); padding: 9px 18px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; color: inherit; }
.kc-problemy__nav a:hover { border-color: var(--theme-palette-color-1); background: var(--theme-palette-color-6); }
.kc-problemy__grupa { scroll-margin-top: 140px; margin-bottom: 46px; }
.kc-problemy__grupa > h2 { font-size: clamp(22px, 2vw, 30px) !important; font-weight: 300 !important; letter-spacing: .2em; text-transform: uppercase; margin: 0 0 18px !important; display: flex; align-items: center; gap: 16px; }
.kc-problemy__grupa > h2::after { content: ""; flex: 1; height: 1px; background: rgba(0,0,0,.12); }
.kc-problemy__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.kc-problem {
	display: flex; flex-direction: column; justify-content: space-between; gap: 18px;
	min-height: 120px; padding: 18px; background: var(--theme-palette-color-6);
	text-decoration: none; color: var(--theme-palette-color-2);
	border: 1px solid transparent; transition: border-color .25s, background .25s;
}
a.kc-problem:hover { border-color: var(--theme-palette-color-1); background: #fff; }
.kc-problem__nazwa { font-size: 15px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.35; }
.kc-problem__zabieg { font-size: 12px; letter-spacing: .06em; opacity: .75; }
a.kc-problem .kc-problem__zabieg::after { content: " →"; color: var(--theme-palette-color-1); }

/* ---------- MOBILE ---------- */
@media (max-width: 999px) {
	.kc-liczby__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.kc-liczby__item { min-height: 150px; padding: 16px; }
	.kc-liczby__item:nth-child(even) { margin-top: 0; }
	.kc-problemy__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	.home .entry-content > .wp-block-kadence-rowlayout:not(:first-of-type) > .kt-row-column-wrap {
		padding-top: 40px !important; padding-bottom: 36px !important;
		padding-left: 18px !important; padding-right: 18px !important;
		row-gap: 28px !important;
	}
	.home .entry-content h2 { font-size: 24px !important; }
	.home .entry-content > .wp-block-kadence-rowlayout:first-of-type h2 { font-size: 30px !important; }
	.home .entry-content h3 { font-size: 17px !important; }
	.home .entry-content p { font-size: 14px; line-height: 1.6; }
	.kc-zabieg-nazwa { font-size: 15px !important; letter-spacing: .14em; margin-top: 26px !important; padding-top: 20px; }
	.kc-marquee { gap: 8px; }
	.kc-marquee__row { gap: 8px; animation-duration: 50s; }
	.kc-marquee__row--rev { animation-duration: 60s; }
	.kc-liczby { padding: 40px 18px; }
	.kc-liczby__num { font-size: 38px; }
	.kc-liczby__opis { font-size: 11px; letter-spacing: .1em; }
	.kc-problemy { padding: 0 18px 40px; }
	.kc-problem { min-height: 96px; padding: 14px; }
	.kc-problem__nazwa { font-size: 13px; }
}


/* karty SURGERY / SKIN – sekcja mieści się na jednym ekranie */
@media (min-width:1000px){
 .home :is(.kb-row-layout-id9_73c0ca-7b,.kb-row-layout-id9_06b267-2a) > .kt-row-column-wrap{padding-top:56px !important;padding-bottom:50px !important}
 .home :is(.kb-row-layout-id9_73c0ca-7b,.kb-row-layout-id9_06b267-2a) .kb-row-layout-wrap{padding-top:26px !important}
 .home :is(.kb-row-layout-id9_73c0ca-7b,.kb-row-layout-id9_06b267-2a) .kb-image-ratio-land169{padding-bottom:46% !important}
 .home :is(.kb-row-layout-id9_73c0ca-7b,.kb-row-layout-id9_06b267-2a) .wp-block-group > p.wp-block-kadence-advancedheading{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin-bottom:14px !important}
}


/* marquee na pełną szerokość */
.kc-marquee { width: 100vw !important; max-width: none !important; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; }
body.home { overflow-x: clip; }


/* IN NUMBERS – równe boksy, wyrównanie do reszty strony */
.kc-liczby { max-width: 1400px; }
.kc-liczby__item:nth-child(even) { margin-top: 0 !important; }


/* mobile – krótsze opisy kart SURGERY/SKIN (pełny opis po kliknięciu "Poznaj ofertę") */
@media (max-width: 999px){
 .home :is(.kb-row-layout-id9_73c0ca-7b,.kb-row-layout-id9_06b267-2a) .wp-block-group > p.wp-block-kadence-advancedheading{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
 .home :is(.kb-row-layout-id9_73c0ca-7b,.kb-row-layout-id9_06b267-2a) .kb-row-layout-wrap{padding-top:18px !important}
}

.kc-problemy{max-width:1400px}
.kc-problem{min-height:104px}

/* Twój problem – większe odstępy */
.kc-problemy { max-width: 1400px; padding-left: 20px; padding-right: 20px; }
.kc-problemy:first-of-type, .krefft-hero + .kc-problemy, .wp-block-group + .kc-problemy { margin-top: clamp(48px, 6vw, 80px); }
.kc-problemy[style*="padding-bottom:0"] { padding-bottom: 0; }
.kc-problemy[style*="padding-bottom:0"] + .kc-problemy { margin-top: 0; }
.kc-problemy__nav { margin: 0 0 clamp(44px, 5vw, 70px); gap: 12px; }
.kc-problemy__grupa { margin-bottom: clamp(52px, 6vw, 84px); }
.kc-problemy__grupa > h2 { margin-bottom: 28px !important; }
.kc-problemy__grid { gap: 16px; }
@media (max-width: 767px){ .kc-problemy__grid { gap: 10px; } .kc-problemy__nav a { padding: 8px 12px; font-size: 11px; } }

/* ---------- MENU MOBILNE ---------- */
/* hamburger widoczny na ciemnym (przezroczystym) nagłówku */
@media (max-width: 999px){
 [data-device="mobile"] [data-transparent-row="yes"] .ct-header-trigger { color: #fff !important; --theme-icon-color: #fff !important; }
 [data-device="mobile"] [data-transparent-row="yes"] .ct-header-trigger svg { fill: #fff !important; }
 [data-device="mobile"] [data-sticky*="yes"] .ct-header-trigger,
 [data-device="mobile"] [data-sticky*="yes"] .ct-header-trigger svg { color: #000 !important; fill: #000 !important; --theme-icon-color: #000 !important; }
 .ct-header-trigger { padding: 10px; margin-right: -10px; }
 .ct-header-trigger svg { width: 24px !important; height: 18px !important; }
}
/* panel */
#offcanvas .ct-panel-inner { background: #3f3a3a !important; }
#offcanvas .ct-panel-content-inner { padding: 10px 28px 40px !important; }
#offcanvas .mobile-menu > ul > li > a,
#offcanvas .mobile-menu > ul > li > .ct-sub-menu-parent > a,
#offcanvas .mobile-menu > ul > li .ct-menu-link:first-child { font-size: 15px !important; letter-spacing: .16em !important; font-weight: 400 !important; padding-top: 16px !important; padding-bottom: 16px !important; color: #fff; }
#offcanvas .mobile-menu > ul > li { border-bottom: 1px solid rgba(255,255,255,.12) !important; }
#offcanvas .mobile-menu .sub-menu { padding: 2px 0 14px 14px !important; border-left: 1px solid var(--theme-palette-color-1); margin-left: 2px; }
#offcanvas .mobile-menu .sub-menu a { font-size: 14px !important; letter-spacing: .03em !important; text-transform: none !important; padding: 7px 0 !important; color: rgba(255,255,255,.82) !important; font-weight: 300 !important; }
#offcanvas .mobile-menu .sub-menu a:hover, #offcanvas .mobile-menu a:hover { color: var(--theme-palette-color-1) !important; }
#offcanvas .mobile-menu .current-menu-item > a { color: var(--theme-palette-color-1) !important; }
#offcanvas .ct-toggle-dropdown-mobile { --theme-icon-color: #fff; color: #fff; }
#offcanvas .mobile-menu li.kc-menu-cta { border-bottom: 0 !important; margin-top: 28px; }
#offcanvas .mobile-menu li.kc-menu-cta > a { display: inline-flex !important; justify-content: center; width: 100%; border: 1px solid var(--theme-palette-color-1); color: var(--theme-palette-color-1) !important; padding: 15px 18px !important; font-size: 13px !important; letter-spacing: .2em !important; }
#offcanvas .mobile-menu li.kc-menu-cta > a:hover { background: var(--theme-palette-color-1); color: #000 !important; }
#offcanvas .ct-toggle-close { --theme-icon-color: #fff; color: #fff; }

#offcanvas .mobile-menu > ul > li .sub-menu li a.ct-menu-link { font-size: 14px !important; letter-spacing: .04em !important; padding: 7px 0 !important; font-weight: 300 !important; text-transform: none !important; }
#offcanvas .mobile-menu .sub-menu { padding-top: 0 !important; padding-bottom: 10px !important; margin-bottom: 8px; }

/* ---------- Typografia nagłówków (wg UMA) ---------- */
.home .entry-content h2,
.home h2.wp-block-kadence-advancedheading { font-size: clamp(30px, 2.75vw, 52px) !important; line-height: 1.12 !important; letter-spacing: .005em !important; }
.home .entry-content > .wp-block-kadence-rowlayout:first-of-type h2 { font-size: clamp(34px, 3.3vw, 60px) !important; }
.kc-brand { font-weight: 300 !important; }
.kc-liczby__tytul { font-size: clamp(30px, 2.75vw, 52px) !important; }
/* nazwy dziedzin na kartach SURGERY / SKIN – cieńsze, większy odstęp liter */
.home :is(.kb-row-layout-id9_73c0ca-7b,.kb-row-layout-id9_06b267-2a) h3 { font-weight: 300 !important; letter-spacing: .14em !important; font-size: clamp(17px, 1.3vw, 22px) !important; line-height: 1.35 !important; }
/* zabiegi promowane – jeszcze cieńsze, jeszcze szerzej */
.kc-zabieg-nazwa, .kc-zabieg-nazwa strong, .kc-zabieg-nazwa a { font-weight: 100 !important; }
.kc-zabieg-nazwa { letter-spacing: .3em !important; font-size: 19px !important; color: #000; }
@media (max-width: 767px){
 .home .entry-content h2, .home h2.wp-block-kadence-advancedheading, .kc-liczby__tytul { font-size: 27px !important; }
 .home .entry-content > .wp-block-kadence-rowlayout:first-of-type h2 { font-size: 32px !important; }
 .home :is(.kb-row-layout-id9_73c0ca-7b,.kb-row-layout-id9_06b267-2a) h3 { font-size: 17px !important; letter-spacing: .1em !important; }
 .kc-zabieg-nazwa { font-size: 16px !important; letter-spacing: .2em !important; font-weight: 300 !important; }
 .kc-zabieg-nazwa strong, .kc-zabieg-nazwa a { font-weight: 300 !important; }
}

.kc-zabieg-nazwa, .kc-zabieg-nazwa strong, .kc-zabieg-nazwa a, .kc-zabieg-nazwa * { font-weight: 300 !important; color: #111 !important; }
.kc-zabieg-nazwa a:hover { color: var(--theme-palette-color-1) !important; }
.kc-zabieg-nazwa { font-size: 20px !important; letter-spacing: .3em !important; }

/* ---------- Nagłówki na podstronach – ta sama skala co na głównej ---------- */
body:not(.home) main :is(h1, h2):not(.kc-problemy__grupa > h2):not(.woocommerce-loop-product__title) { font-size: clamp(30px, 2.75vw, 52px) !important; line-height: 1.12 !important; }
body:not(.home) .krefft-hero__tytul { font-size: clamp(32px, 3vw, 54px) !important; }
@media (max-width: 767px){ body:not(.home) main :is(h1, h2):not(.kc-problemy__grupa > h2):not(.woocommerce-loop-product__title) { font-size: 27px !important; } body:not(.home) .krefft-hero__tytul { font-size: 30px !important; } }
sup { font-weight: 300; }

/* podstrony – mniejsze nagłówki */
body:not(.home) main :is(h1, h2):not(.kc-problemy__grupa > h2):not(.woocommerce-loop-product__title) { font-size: clamp(22px, 1.8vw, 30px) !important; line-height: 1.2 !important; }
body:not(.home) .krefft-hero__tytul { font-size: clamp(26px, 2.2vw, 38px) !important; }
@media (max-width: 767px){ body:not(.home) main :is(h1, h2):not(.kc-problemy__grupa > h2):not(.woocommerce-loop-product__title) { font-size: 22px !important; } body:not(.home) .krefft-hero__tytul { font-size: 26px !important; } }

/* podstrony (wszystkie: usługi, cennik, kontakt, sklep, blog) – wyważona skala */
body:not(.home) main :is(h1, h2):not(.kc-problemy__grupa > h2):not(.woocommerce-loop-product__title),
body:not(.home) :is(.hero-section, .page-title, .woocommerce-products-header) :is(h1, .page-title) { font-size: clamp(26px, 2.2vw, 38px) !important; line-height: 1.15 !important; }
body:not(.home) .krefft-hero__tytul,
body:not(.home) .hero-section h1, body:not(.home) h1.page-title, body:not(.home) .entry-header h1 { font-size: clamp(32px, 2.8vw, 46px) !important; line-height: 1.1 !important; }
/* tytuły wpisów na liście bloga */
body:not(.home) .entries .entry-card :is(h2, .entry-title) { font-size: clamp(19px, 1.5vw, 24px) !important; }
@media (max-width: 767px){
 body:not(.home) main :is(h1, h2):not(.kc-problemy__grupa > h2):not(.woocommerce-loop-product__title) { font-size: 24px !important; }
 body:not(.home) .krefft-hero__tytul, body:not(.home) .hero-section h1, body:not(.home) h1.page-title, body:not(.home) .entry-header h1 { font-size: 29px !important; }
 body:not(.home) .entries .entry-card :is(h2, .entry-title) { font-size: 19px !important; }
}

html body:not(.home) .hero-section[data-type] .entry-header h1.page-title { font-size: clamp(32px, 2.8vw, 46px) !important; line-height: 1.1 !important; }
@media (max-width: 767px){ html body:not(.home) .hero-section[data-type] .entry-header h1.page-title { font-size: 29px !important; } }

/* blog – daty mniejsze i cieńsze */
html body .entry-meta, html body .entry-meta li, html body .entry-meta time, html body .entry-meta a, html body .entry-meta span { font-size: 12px !important; font-weight: 300 !important; letter-spacing: .14em !important; color: rgba(0,0,0,.6) !important; }

html body .hero-section .entry-meta, html body .hero-section .entry-meta * { color: rgba(255,255,255,.85) !important; }
html body .hero-section[data-type="type-1"] .entry-meta, html body .hero-section[data-type="type-1"] .entry-meta * { color: rgba(0,0,0,.6) !important; }

/* hero – "Doświadczeniem" cienko, większa interlinia */
.home .entry-content > .wp-block-kadence-rowlayout:first-of-type h2,
.home .kt-adv-heading9_728425-82 { line-height: 1.28 !important; }
.home .kt-adv-heading9_728425-82 mark, .home .kt-adv-heading9_728425-82 mark * { font-weight: 300 !important; }

/* strzałki karuzel – nad zdjęciami, nie na nich */
.karuzela3.strzalki { padding-top: 64px !important; }
.karuzela3.strzalki:has(.swiper-button-lock) { padding-top: 26px !important; }
.karuzela3.strzalki > .swiper-button-prev, .karuzela3.strzalki > .swiper-button-next { top: 6px !important; margin-top: 0 !important; }
.krefft-zespol--karuzela [class*="flexy-arrow"], .krefft-zespol--karuzela .flexy-pills { z-index: 3; }

/* kontakt – numery bez rozstrzelenia */
.krefft-kontakt-lista a span, .krefft-kontakt-lista a .word { width: auto !important; min-width: 0 !important; flex: none !important; }
.krefft-kontakt-lista p { align-items: baseline; }

/* stopka – mniejsze dane */
.ct-footer .wp-block-kadence-advancedheading { font-size: 12px !important; letter-spacing: .18em !important; margin-bottom: 14px !important; }
.ct-footer p, .ct-footer p a, .ct-footer li:not(.wp-social-link), .ct-footer input { font-size: 14px !important; line-height: 1.7 !important; }
.ct-footer .wp-block-social-links { font-size: 20px !important; }
.ct-footer p:has(input[type=checkbox]), .ct-footer .wpcf7-acceptance, .ct-footer .wpcf7-acceptance * { font-size: 11px !important; line-height: 1.5 !important; }

html body .karuzela3.strzalki.kb-row-layout-wrap { padding-top: 64px !important; }
html body .karuzela3.strzalki.kb-row-layout-wrap:has(> .swiper-button-lock) { padding-top: 26px !important; }
@media (max-width: 999px){ html body .karuzela3.strzalki.kb-row-layout-wrap { padding-top: 56px !important; } }

/* ---------- Podobne wpisy – karuzela ---------- */
.ct-related-posts { position: relative; }
.ct-related-posts .ct-module-title { font-size: clamp(22px, 1.8vw, 30px) !important; font-weight: 400 !important; letter-spacing: .04em !important; margin-bottom: 26px !important; padding-right: 120px; }
.ct-related-posts .entry-title, .ct-related-posts .entry-title a { font-size: 14px !important; font-weight: 400 !important; line-height: 1.45 !important; letter-spacing: .02em; }
.ct-related-posts .flexy-container { position: static !important; }
.ct-related-posts .flexy { position: static !important; }
/* strzałki w stylu karuzel ze strony głównej – nad zdjęciami, po prawej */
.ct-related-posts .flexy-arrow-prev, .ct-related-posts .flexy-arrow-next {
 position: absolute !important; top: 0 !important; bottom: auto !important; left: auto !important; transform: none !important;
 width: 44px !important; height: 44px !important; background: transparent !important; box-shadow: none !important; border: 0 !important;
 opacity: 1 !important; visibility: visible !important; color: #000 !important; display: flex !important; align-items: center; justify-content: center;
}
.ct-related-posts .flexy-arrow-prev { right: 56px !important; }
.ct-related-posts .flexy-arrow-next { right: 0 !important; }
.ct-related-posts .flexy-arrow-prev svg, .ct-related-posts .flexy-arrow-next svg { display: none !important; }
.ct-related-posts .flexy-arrow-prev::before, .ct-related-posts .flexy-arrow-next::before {
 content: ""; width: 13px; height: 13px; border-left: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor;
}
.ct-related-posts .flexy-arrow-prev::before { transform: rotate(45deg); margin-left: 6px; }
.ct-related-posts .flexy-arrow-next::before { transform: rotate(-135deg); margin-right: 6px; }
.ct-related-posts .flexy-arrow-prev:hover, .ct-related-posts .flexy-arrow-next:hover { color: var(--theme-palette-color-1) !important; }

/* podstrony – nagłówki sekcji (h2) mniejsze niż tytuł strony */
html body:not(.home) main h2:not(.kc-problemy__grupa > h2):not(.woocommerce-loop-product__title):not(.kc-liczby__tytul) { font-size: clamp(21px, 1.6vw, 27px) !important; line-height: 1.25 !important; }
@media (max-width: 767px){ html body:not(.home) main h2:not(.kc-problemy__grupa > h2):not(.woocommerce-loop-product__title) { font-size: 21px !important; } }

/* formularze – cieńsze pola i wybory */
.wpcf7 select, .wpcf7 input:not([type=submit]):not([type=checkbox]), .wpcf7 textarea { font-size: 15px !important; font-weight: 300 !important; letter-spacing: .02em; line-height: 1.5 !important; height: auto !important; min-height: 44px; padding-top: 8px !important; padding-bottom: 8px !important; }
.wpcf7 select option { font-weight: 300; }

.wpcf7 label, .wpcf7 label span:not(.wpcf7-form-control-wrap):not(.wpcf7-list-item-label), .krefft-cf7__pole > span:first-child { font-weight: 400 !important; }
.wpcf7 label > span:first-child, .krefft-cf7__pole span { font-weight: 400 !important; font-size: 11px !important; letter-spacing: .18em !important; }
.wpcf7 .wpcf7-list-item-label, .wpcf7 .wpcf7-acceptance { font-weight: 300 !important; }
.wpcf7 input[type=submit], .wpcf7 button { font-weight: 400 !important; }

/* O krefft clinic – podtytuły (DOŚWIADCZENIE, TECHNOLOGIA…) cienkie i szeroko */
.home .kadence-column9_b3e931-5f p:has(> strong:only-child),
.home .kadence-column9_b3e931-5f p:has(> strong:only-child) strong,
.home .kadence-column9_b3e931-5f p:has(> strong:only-child) * { font-weight: 300 !important; letter-spacing: .28em !important; font-size: 16px !important; }
.home .kadence-column9_b3e931-5f p:has(> strong:only-child) { margin-top: 30px !important; margin-bottom: 10px !important; }
.home .kadence-column9_b3e931-5f p:has(> strong:only-child)::after { content: ""; display: block; width: 30px; height: 2px; margin-top: 10px; background: var(--theme-palette-color-1); }

/* cennik – bez pustej przestrzeni pod tytułem zamkniętej sekcji */
details.krefft-cennik__sekcja > summary { margin-bottom: 0 !important; }
details.krefft-cennik__sekcja[open] > summary { margin-bottom: 10px !important; }
/* zespół na stronie głównej – specjalizacje jak na stronie O nas */
.krefft-karta__stanowisko, .krefft-karta__stanowisko * { font-size: 11px !important; line-height: 1.65 !important; }

/* >>> KC-2026-10-16 */
/* Menu mobilne: strzałka rozwijania zawsze widoczna */
#offcanvas .mobile-menu li .ct-sub-menu-parent .ct-toggle-dropdown-mobile svg,
#offcanvas .mobile-menu li:hover > .ct-sub-menu-parent svg,
#offcanvas .mobile-menu li:focus-within > .ct-sub-menu-parent svg { fill: #fff !important; opacity: 1 !important; }
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile { opacity: 1 !important; visibility: visible !important; width: 40px !important; height: 40px; margin-right: -10px; }
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile svg { width: 13px !important; height: 13px !important; transition: transform .2s ease; }
#offcanvas .mobile-menu .dropdown-active > .ct-sub-menu-parent .ct-toggle-dropdown-mobile svg { transform: rotate(180deg) !important; }
#offcanvas .mobile-menu li:hover > .ct-sub-menu-parent > .ct-menu-link { color: #fff !important; }
/* Podstrony: większy odstęp pod okruszkami */
.krefft-hero .ct-breadcrumbs { margin-bottom: 44px !important; }
@media (max-width: 767px){ .krefft-hero .ct-breadcrumbs { margin-bottom: 30px !important; } }
/* Typografia podstron */
body:not(.home) .krefft-hero__tytul { font-weight: 300 !important; letter-spacing: .06em !important; }
body:not(.home) .krefft-hero__dzial { font-weight: 300; letter-spacing: .32em !important; font-size: 12px !important; }
body:not(.home) .krefft-hero__dzial strong { font-weight: 700; letter-spacing: .32em; }
.krefft-podlista__tytul, .krefft-zobacz__tytul, .krefft-usluga h2, .kc-sekcja-tytul { font-weight: 300 !important; text-transform: uppercase; letter-spacing: .28em !important; font-size: clamp(18px, 1.6vw, 24px) !important; line-height: 1.4 !important; }
.krefft-podlista__tytul::after, .krefft-zobacz__tytul::after, .krefft-usluga h2::after, .kc-sekcja-tytul::after { content: ''; display: block; width: 32px; height: 2px; background: #f5c777; margin-top: 16px; }
.krefft-usluga h3 { font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: 15px !important; margin-top: 2em; }
/* Mega menu: tylko główne specjalizacje */
.krefft-mm--proste .krefft-mm__lista { min-height: 0 !important; display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; align-content: start; }
.krefft-mm--proste .krefft-mm__pol--surgery .krefft-mm__lista { grid-template-columns: 1fr; }
.krefft-mm--proste .krefft-mm__glowna { width: auto !important; }
.krefft-mm--proste .krefft-mm__glowna a { border-bottom: 1px solid var(--mm-line); padding: 13px 30px 13px 0 !important; color: inherit !important; }
.krefft-mm--proste .krefft-mm__glowna a:hover { color: var(--mm-accent) !important; }
.krefft-mm--proste > .krefft-mm__pol--surgery { flex: 0 0 34% !important; }
.krefft-mm--proste > .krefft-mm__pol--skin { flex: 1 1 66% !important; }
/* Hub: kafle ze zdjęciem */
.krefft-kafel:has(.krefft-kafel__foto) { padding: 0 0 22px !important; border-top: 0 !important; background: transparent !important; }
.krefft-kafel__foto { margin: 0 0 16px !important; overflow: hidden; aspect-ratio: 3/4; }
.krefft-kafel__foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.krefft-kafel:hover .krefft-kafel__foto img { transform: scale(1.04); }
.krefft-kafel:has(.krefft-kafel__foto) .krefft-kafel__tytul { font-weight: 300 !important; letter-spacing: .14em !important; font-size: 17px !important; margin-bottom: 8px !important; }
.krefft-kafel:has(.krefft-kafel__foto) .krefft-kafel__opis { font-size: 13.5px; }
.krefft-kafel:hover { transform: none !important; }
.krefft-dzial .krefft-kafle { grid-template-columns: repeat(4, 1fr) !important; gap: 36px 24px !important; }
@media (max-width: 1024px){ .krefft-dzial .krefft-kafle { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 767px){
 .krefft-dzial .krefft-kafle { grid-template-columns: repeat(2, 1fr) !important; gap: 24px 14px !important; }
 .krefft-kafel:has(.krefft-kafel__foto) .krefft-kafel__opis { display: none; }
 .krefft-kafel:has(.krefft-kafel__foto) .krefft-kafel__tytul { font-size: 13px !important; letter-spacing: .08em !important; line-height: 1.35 !important; }
 .krefft-kafel:has(.krefft-kafel__foto) .krefft-kafel__wiecej { font-size: 10px; }
 .krefft-kafel__foto { margin-bottom: 10px !important; }
 .krefft-dzial { padding: 36px 16px 40px !important; }
}
/* Strona specjalizacji: zdjęcie w nagłówku + karty ze zdjęciem */
.krefft-hero--z-foto { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(220px, 30%); column-gap: 56px; align-items: center; }
.krefft-hero--z-foto > * { grid-column: 1; }
.krefft-hero--z-foto > .krefft-hero__foto { grid-column: 2; grid-row: 1 / span 6; margin: 0 !important; }
.krefft-hero__foto img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px){
 .krefft-hero--z-foto { grid-template-columns: 1fr; }
 .krefft-hero--z-foto > .krefft-hero__foto { grid-column: 1; grid-row: auto; order: -1; aspect-ratio: 16/9 !important; margin-bottom: 24px !important; }
 .krefft-hero--z-foto > .krefft-hero__foto img { aspect-ratio: 16/9 !important; }
}
.krefft-karty .wp-block-post:has(.krefft-karty__foto) { padding: 0 0 22px !important; background: transparent !important; border-top: 0 !important; }
.krefft-karty .wp-block-post:has(.krefft-karty__foto):hover { transform: none; }
.krefft-karty__foto { margin: 0 0 16px !important; overflow: hidden; }
.krefft-karty__foto img { transition: transform .6s ease; }
.krefft-karty .wp-block-post:hover .krefft-karty__foto img { transform: scale(1.04); }
.krefft-karty .wp-block-post:has(.krefft-karty__foto) .krefft-karty__tytul { font-weight: 300 !important; letter-spacing: .1em !important; font-size: 16px !important; }
.krefft-karty .wp-block-post-template { grid-template-columns: repeat(4, 1fr) !important; gap: 36px 24px !important; }
@media (max-width: 1024px){ .krefft-karty .wp-block-post-template { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 767px){
 .krefft-karty .wp-block-post-template { grid-template-columns: repeat(2, 1fr) !important; gap: 24px 14px !important; }
 .krefft-karty .wp-block-post:has(.krefft-karty__foto) .krefft-karty__tytul { font-size: 13px !important; letter-spacing: .05em !important; }
 .krefft-karty .wp-block-post:has(.krefft-karty__foto) .wp-block-post-excerpt__excerpt { display: none; }
}
.krefft-usluga .kc-przyg { margin-top: 2.2em !important; }
/* SplitType w elementach inline-flex gubi spacje */
.krefft-kafel__wiecej, .krefft-karty__opis .wp-block-post-excerpt__more-link, .krefft-mm__wszystkie a { column-gap: .35em; }
/* Mega menu – układ uporządkowany */
.krefft-mm.krefft-mm--proste { min-height: 0 !important; }
.krefft-mm--proste > .krefft-mm__pol { padding: 38px 48px 42px !important; }
.krefft-mm--proste .krefft-mm__lista { min-height: 0 !important; height: auto !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 48px !important; row-gap: 0 !important; align-content: start; }
.krefft-mm--proste .krefft-mm__pol--surgery .krefft-mm__lista { grid-template-columns: minmax(0, 1fr) !important; }
.krefft-mm--proste .krefft-mm__glowna, .krefft-mm--proste .krefft-mm__lista > p { width: 100% !important; max-width: none !important; margin: 0 !important; }
.krefft-mm--proste .krefft-mm__glowna a { display: block !important; width: 100% !important; white-space: normal; word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important; font-size: 13px !important; letter-spacing: .08em !important; padding: 14px 28px 14px 0 !important; }
.krefft-mm--proste > .krefft-mm__pol--surgery { flex: 0 0 36% !important; max-width: 36% !important; }
.krefft-mm--proste > .krefft-mm__pol--skin { flex: 1 1 64% !important; max-width: 64% !important; }
.sub-menu:has(> li .krefft-mm--proste) { max-width: 1100px !important; }
.sub-menu .krefft-mm.krefft-mm--proste .krefft-mm__pol .krefft-mm__lista { height: auto !important; min-height: 0 !important; grid-auto-flow: column; grid-template-rows: repeat(5, auto); }
.sub-menu .krefft-mm.krefft-mm--proste .krefft-mm__pol--surgery .krefft-mm__lista { grid-template-rows: none; grid-auto-flow: row; }
.krefft-mm__szukaj { margin: 22px 0 0 !important; }
.krefft-mm__szukaj a { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--mm-accent) !important; text-decoration: none; }
.krefft-mm--problemy .krefft-mm__pol--skin .krefft-mm__lista { grid-template-rows: repeat(3, auto) !important; }
/* ===== Twój problem – wyszukiwarka i lista ===== */
.kc-tp { max-width: 1180px; margin: 0 auto; padding: 56px 20px 80px; }
.kc-tp__szukaj { position: relative; max-width: 760px; margin: 0 auto 28px; }
.kc-tp__szukaj::before { content: ''; position: absolute; left: 22px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); border: 1.5px solid #554f4f; border-radius: 50%; box-sizing: border-box; }
.kc-tp__szukaj::after { content: ''; position: absolute; left: 35px; top: calc(50% + 6px); width: 7px; height: 1.5px; background: #554f4f; transform: rotate(45deg); }
.kc-tp__szukaj input { width: 100%; height: 60px; padding: 0 24px 0 56px !important; border: 1px solid #d9d2c5 !important; border-radius: 40px !important; background: #fff !important; font-size: 16px !important; color: #000; box-shadow: 0 6px 24px rgba(85,79,79,.06); transition: border-color .2s, box-shadow .2s; }
.kc-tp__szukaj input:focus { outline: none; border-color: #f5c777 !important; box-shadow: 0 6px 28px rgba(245,199,119,.25); }
.kc-tp__filtry { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 auto 48px; max-width: 980px; }
.kc-tp__filtry button { appearance: none; border: 1px solid #d9d2c5; background: #fff; color: #554f4f; border-radius: 30px; padding: 9px 18px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-weight: 400; cursor: pointer; transition: all .2s; line-height: 1.2; }
.kc-tp__filtry button:hover { border-color: #554f4f; color: #000; }
.kc-tp__filtry button.is-active { background: #554f4f; border-color: #554f4f; color: #fff; }
.kc-tp__brak { text-align: center; font-size: 15px; color: #554f4f; }
.kc-tp__grupa { margin: 0 0 56px; scroll-margin-top: 140px; }
.kc-tp__grupa[hidden], .kc-tp__p[hidden] { display: none !important; }
.kc-tp__tytul { font-weight: 300 !important; text-transform: uppercase; letter-spacing: .28em !important; font-size: clamp(18px, 1.6vw, 24px) !important; margin: 0 0 26px !important; }
.kc-tp__tytul::after { content: ''; display: block; width: 32px; height: 2px; background: #f5c777; margin-top: 14px; }
.kc-tp__lista { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; align-items: start; }
.kc-tp__p { background: #fff5e5; border: 0; margin: 0; transition: background .2s; }
.kc-tp__p[open] { background: #fff; box-shadow: 0 0 0 1px #eadfca inset; }
.kc-tp__p summary { list-style: none; cursor: pointer; position: relative; padding: 18px 48px 18px 22px; font-size: 15px; line-height: 1.4; color: #000; font-weight: 400; }
.kc-tp__p summary::-webkit-details-marker { display: none; }
.kc-tp__p summary::after { content: '+'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 22px; font-weight: 300; color: #b0843a; transition: transform .2s; }
.kc-tp__p[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.kc-tp__p summary:hover { color: #b0843a; }
.kc-tp__p ul { list-style: none; margin: 0 !important; padding: 0 22px 20px !important; display: flex; flex-wrap: wrap; gap: 8px; }
.kc-tp__p li { margin: 0 !important; padding: 0 !important; }
.kc-tp__p li a, .kc-tp__p li span { display: inline-block; padding: 7px 13px; border: 1px solid #d9d2c5; border-radius: 30px; font-size: 13px; line-height: 1.3; color: #554f4f; text-decoration: none; background: #fff; }
.kc-tp__p li a:hover { border-color: #554f4f; background: #554f4f; color: #fff; }
.kc-tp__p li a::after { content: ' →'; }
@media (max-width: 1024px){ .kc-tp__lista { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 767px){
 .kc-tp { padding: 32px 16px 56px; }
 .kc-tp__szukaj input { height: 52px; font-size: 15px !important; }
 .kc-tp__filtry { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; margin: 0 -16px 32px; padding: 0 16px 6px; scrollbar-width: none; }
 .kc-tp__filtry::-webkit-scrollbar { display: none; }
 .kc-tp__filtry button { flex: 0 0 auto; font-size: 11px; padding: 8px 14px; }
 .kc-tp__lista { grid-template-columns: 1fr; gap: 8px; }
 .kc-tp__grupa { margin-bottom: 40px; }
 .kc-tp__p summary { padding: 15px 44px 15px 18px; font-size: 15px; }
}
/* Nagłówek podstron – szerokość jak menu (kontener strony) */
body .wp-block-group.krefft-hero.krefft-hero { padding-left: calc((100% - min(90vw, 1360px)) / 2 + 15px) !important; padding-right: calc((100% - min(90vw, 1360px)) / 2 + 15px) !important; }
body .wp-block-group.krefft-hero--z-foto.krefft-hero--z-foto { grid-template-columns: minmax(0,1fr) minmax(200px, 300px) !important; padding-top: 56px !important; padding-bottom: 56px !important; }
.krefft-hero--z-foto > .krefft-hero__foto { max-height: 380px; aspect-ratio: 4/5 !important; overflow: hidden; }
.krefft-hero--z-foto > .krefft-hero__foto img { aspect-ratio: 4/5 !important; max-height: 380px; }
@media (max-width: 767px){ .krefft-hero--z-foto > .krefft-hero__foto, .krefft-hero--z-foto > .krefft-hero__foto img { aspect-ratio: 16/9 !important; max-height: 220px; width: 100%; } }
/* karty zabiegów – zdjęcia 16:9 */
.krefft-karty .krefft-karty__foto, .krefft-karty .krefft-karty__foto img { aspect-ratio: 16/9 !important; height: auto !important; width: 100% !important; object-fit: cover !important; }
.krefft-karty .krefft-karty__foto { margin-bottom: 14px !important; }
/* pojedynczy zabieg – zdjęcie przy tekście */
.krefft-usluga > .krefft-usluga__foto { float: right; width: 300px !important; max-width: 40%; margin: 6px 0 24px 40px !important; aspect-ratio: 4/5; overflow: hidden; }
.krefft-usluga > .krefft-usluga__foto img { width: 100%; height: 100%; object-fit: cover; }
.krefft-usluga::after { content: ''; display: table; clear: both; }
.krefft-usluga .krefft-usluga__powrot { clear: both; }
@media (max-width: 767px){ .krefft-usluga > .krefft-usluga__foto { float: none; width: 100% !important; max-width: 100%; margin: 0 0 22px !important; aspect-ratio: 16/9 !important; } .krefft-usluga > .krefft-usluga__foto img { aspect-ratio: 16/9 !important; } }
body:not(.home) .krefft-hero__tytul { font-size: clamp(26px, 2.6vw, 40px) !important; line-height: 1.2 !important; }
/* zdjęcie dopasowane do wysokości tekstu */
@media (min-width: 768px){
.krefft-usluga:has(> .krefft-usluga__foto) { display: grid !important; grid-template-columns: minmax(0,1fr) 280px; column-gap: 48px; align-items: start; max-width: 1188px; margin-left: auto !important; margin-right: auto !important; }
.krefft-usluga:has(> .krefft-usluga__foto) > * { grid-column: 1; margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; }
.krefft-usluga:has(> .krefft-usluga__foto) > .krefft-usluga__foto { grid-column: 2 !important; grid-row: 1 / span 30; float: none; width: 100% !important; max-width: none; margin: 0 !important; contain: size; height: 100% !important; min-height: 220px; align-self: stretch; aspect-ratio: auto !important; }
.krefft-usluga:has(> .krefft-usluga__foto) > .krefft-usluga__foto img { height: 100% !important; aspect-ratio: auto !important; }
.krefft-usluga:has(> .krefft-usluga__foto) > .krefft-usluga__powrot { grid-column: 1 / -1; }
.krefft-usluga:has(> .krefft-usluga__foto)::after { display: none; }
}
.krefft-usluga h2.kc-przyg { font-size: 14px !important; letter-spacing: .22em !important; font-weight: 400 !important; margin: 2em 0 .8em !important; }
.krefft-usluga h2.kc-przyg::after { width: 24px; margin-top: 10px; }
/* Wyszukiwarka zabiegów */
.kc-szukaj-zab { position: relative; max-width: 1330px; margin: 0 auto; padding: 36px 15px 0; }
.kc-szukaj-zab__pole { position: relative; max-width: 620px; }
.kc-szukaj-zab__pole::before { content: ''; position: absolute; left: 22px; top: 50%; width: 15px; height: 15px; transform: translateY(-50%); border: 1.5px solid #554f4f; border-radius: 50%; box-sizing: border-box; }
.kc-szukaj-zab__pole::after { content: ''; position: absolute; left: 34px; top: calc(50% + 6px); width: 7px; height: 1.5px; background: #554f4f; transform: rotate(45deg); }
.kc-szukaj-zab input { width: 100%; height: 54px; padding: 0 22px 0 52px !important; border: 1px solid #d9d2c5 !important; border-radius: 40px !important; background: #fff !important; font-size: 15px !important; }
.kc-szukaj-zab input:focus { outline: none; border-color: #f5c777 !important; box-shadow: 0 6px 24px rgba(245,199,119,.22); }
.kc-szukaj-zab__wyniki { position: absolute; z-index: 50; left: 15px; right: 15px; max-width: 620px; top: calc(100% + 6px); background: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.14); list-style: none; margin: 0 !important; padding: 8px 0 !important; max-height: 420px; overflow: auto; }
.kc-szukaj-zab__wyniki[hidden] { display: none; }
.kc-szukaj-zab__wyniki li { margin: 0 !important; }
.kc-szukaj-zab__wyniki a { display: block; padding: 11px 22px; font-size: 14px; color: #000; text-decoration: none; line-height: 1.35; }
.kc-szukaj-zab__wyniki a small { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #b0843a; margin-top: 2px; }
.kc-szukaj-zab__wyniki a:hover, .kc-szukaj-zab__wyniki a:focus { background: #fff5e5; }
.kc-szukaj-zab__brak { padding: 12px 22px; font-size: 14px; color: #554f4f; }
/* zdjęcie zabiegu: małe, pionowe, przyklejone przy przewijaniu */
@media (min-width: 768px){
.krefft-usluga:has(> .krefft-usluga__foto) { grid-template-columns: minmax(0,1fr) 220px !important; }
.krefft-usluga:has(> .krefft-usluga__foto) > .krefft-usluga__foto { contain: none !important; height: auto !important; min-height: 0 !important; align-self: start !important; aspect-ratio: 3/4 !important; position: sticky; top: 150px; }
.krefft-usluga:has(> .krefft-usluga__foto) > .krefft-usluga__foto img { aspect-ratio: 3/4 !important; height: 100% !important; }
}
/* zabieg: zdjęcie po lewej, wyrównane do nagłówka i logo */
@media (min-width: 768px){
.krefft-usluga:has(> .krefft-usluga__foto) { grid-template-columns: 220px minmax(0, 780px) !important; column-gap: 56px !important; max-width: 1330px !important; padding-left: 15px !important; padding-right: 15px !important; box-sizing: content-box; justify-content: start; }
.krefft-usluga:has(> .krefft-usluga__foto) > * { grid-column: 2 !important; }
.krefft-usluga:has(> .krefft-usluga__foto) > .krefft-usluga__foto { grid-column: 1 !important; }
.krefft-usluga:has(> .krefft-usluga__foto) > .krefft-usluga__powrot { grid-column: 2 !important; }
body.single-usluga .krefft-zobacz { max-width: 1330px !important; margin-left: auto !important; margin-right: auto !important; padding-left: calc(15px + 220px + 56px) !important; padding-right: 15px !important; box-sizing: border-box; }
body.single-usluga .krefft-zobacz > * { max-width: 780px !important; margin-left: 0 !important; }
}
@media (min-width: 768px){ .krefft-usluga:has(> .krefft-usluga__foto) { width: 100% !important; box-sizing: border-box !important; max-width: min(90vw, 1360px) !important; } }
/* Wyszukiwarka zabiegów – ładniejsza, wyrównana do kontenera */
.kc-szukaj-zab { max-width: min(90vw, 1360px) !important; padding: 0 15px !important; margin: 0 auto 8px !important; box-sizing: border-box; display: flex; align-items: center; gap: 28px; }
.kc-szukaj-zab::before { content: 'Znajdź zabieg'; flex: 0 0 auto; font-size: 12px; letter-spacing: .32em; text-transform: uppercase; font-weight: 300; color: #554f4f; }
.kc-szukaj-zab__pole { flex: 1 1 auto; max-width: 640px !important; }
.kc-szukaj-zab input { height: 52px !important; border: 0 !important; border-bottom: 1px solid #554f4f !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 0 0 34px !important; font-size: 17px !important; font-weight: 300; letter-spacing: .02em; }
.kc-szukaj-zab input:focus { border-bottom-color: #b0843a !important; box-shadow: none !important; }
.kc-szukaj-zab__pole::before { left: 2px !important; }
.kc-szukaj-zab__pole::after { left: 14px !important; }
.kc-szukaj-zab__wyniki { left: auto !important; right: auto !important; width: 640px; max-width: calc(100% - 30px) !important; margin-left: calc(12px * 0) !important; }
.kc-szukaj-zab { position: relative; }
.kc-szukaj-zab__pole { position: relative; }
.kc-szukaj-zab__wyniki { top: 100% !important; }
.krefft-podlista { padding-top: 40px; }
@media (max-width: 767px){ .kc-szukaj-zab { flex-direction: column; align-items: stretch; gap: 6px; } .kc-szukaj-zab__wyniki { width: auto; left: 15px !important; right: 15px !important; } }
.kc-szukaj-zab__wyniki { left: 0 !important; right: 0 !important; width: auto !important; max-width: none !important; }
.kc-szukaj-zab { margin-bottom: 36px !important; }
/* Cennik: produkt (wiersz bez ceny) + partie wcięte w prawo */
.krefft-cennik__tabela tr:has(> td:last-child:empty) td:first-child { font-weight: 700; padding-top: 18px !important; }
.krefft-cennik__tabela tr:has(> td:last-child:empty) ~ tr:not(:has(> td:last-child:empty)) td:first-child { padding-left: 30px !important; position: relative; color: #3d3838; }
.krefft-cennik__tabela tr:has(> td:last-child:empty) ~ tr:not(:has(> td:last-child:empty)) td:first-child::before { content: ''; position: absolute; left: 12px; top: 50%; width: 8px; height: 1px; background: #b0843a; }
.krefft-cennik__tabela tr:has(> td:last-child:empty) td { border-bottom: 0 !important; }
@media (max-width: 767px){ .krefft-cennik__tabela tr:has(> td:last-child:empty) ~ tr:not(:has(> td:last-child:empty)) td:first-child { padding-left: 22px !important; } .krefft-cennik__tabela tr:has(> td:last-child:empty) ~ tr:not(:has(> td:last-child:empty)) td:first-child::before { left: 6px; } }undefined
/* Zabieg: większy odstęp kolumn + sekcja „Zobacz również” w układzie 2-kolumnowym */
@media (min-width: 768px){
.krefft-usluga:has(> .krefft-usluga__foto) { column-gap: 96px !important; grid-template-columns: 240px minmax(0, 800px) !important; }
body.single-usluga .krefft-zobacz { display: grid !important; grid-template-columns: 240px minmax(0, 1fr); column-gap: 96px; align-items: start; max-width: min(90vw, 1360px) !important; width: 100% !important; box-sizing: border-box !important; padding: 64px 15px 0 !important; margin: 72px auto 80px !important; border-top: 1px solid #eadfca; }
body.single-usluga .krefft-zobacz > * { max-width: none !important; margin: 0 !important; }
body.single-usluga .krefft-zobacz > .krefft-zobacz__etykieta { grid-column: 1; grid-row: 1; margin-bottom: 10px !important; }
body.single-usluga .krefft-zobacz > .krefft-zobacz__tytul { grid-column: 1; grid-row: 2; font-size: 20px !important; letter-spacing: .24em !important; }
body.single-usluga .krefft-zobacz > ul { grid-column: 2; grid-row: 1 / span 3; display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 48px; }
body.single-usluga .krefft-zobacz > ul li { margin: 0 !important; }
}
@media (max-width: 767px){ body.single-usluga .krefft-zobacz { padding: 40px 16px 0 !important; margin-top: 48px !important; } }
body.single-usluga .krefft-zobacz.krefft-zobacz { display: grid !important; grid-template-columns: 240px minmax(0, 1fr); column-gap: 96px; align-items: start; max-width: min(90vw, 1360px) !important; width: 100% !important; box-sizing: border-box !important; padding: 64px 15px 0 !important; margin: 72px auto 80px !important; border-top: 1px solid #eadfca; }
body.single-usluga .krefft-zobacz.krefft-zobacz > * { max-width: none !important; margin: 0 !important; }
body.single-usluga .krefft-zobacz .krefft-zobacz__etykieta { grid-column: 1; grid-row: 1; margin-bottom: 10px !important; }
body.single-usluga .krefft-zobacz .krefft-zobacz__tytul { grid-column: 1; grid-row: 2; font-size: 20px !important; letter-spacing: .24em !important; }
body.single-usluga .krefft-zobacz > ul.krefft-lista { grid-column: 2; grid-row: 1 / span 3; display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 48px; }
@media (max-width: 767px){ body.single-usluga .krefft-zobacz.krefft-zobacz { display: block !important; padding: 40px 16px 0 !important; margin-top: 48px !important; } body.single-usluga .krefft-zobacz > ul.krefft-lista { display: block !important; } }
.kc-szukaj-zab.kc-szukaj-zab { margin-bottom: 80px !important; }
@media (max-width: 767px){ .kc-szukaj-zab.kc-szukaj-zab { margin-bottom: 48px !important; } }
/* zabieg: większy odstęp, zdjęcie równo z pierwszym nagłówkiem tekstu */
@media (min-width: 768px){
.krefft-usluga:has(> .krefft-usluga__foto) { column-gap: 120px !important; }
.krefft-usluga:has(> .krefft-usluga__foto) > .krefft-usluga__foto + * { margin-top: 0 !important; }
.krefft-usluga:has(> .krefft-usluga__foto) > h2:first-of-type { margin-top: 0 !important; }
body.single-usluga .krefft-zobacz.krefft-zobacz { column-gap: 120px; }
}
/* Menu główne: napisy „Usługi i zabiegi” / „Twój problem” klikalne (mostek pod mega menu zasłaniał link) */
header [data-id="menu"] > ul > li > .ct-menu-link, header nav.header-menu-1 > ul > li > .ct-menu-link, header nav[class*="menu"] > ul > li > .ct-menu-link { position: relative; z-index: 30; }
header nav[class*="menu"] > ul > li > .sub-menu::before { top: -20px !important; height: 20px !important; }
/* Hub usług: wyszukiwarka w beżowym nagłówku, tytuły kafli białe na grafitowym tle, zdjęcia 16:9 */
.krefft-hero--szukaj .kc-szukaj-zab.kc-szukaj-zab { padding: 0 !important; margin: 40px 0 0 !important; max-width: none !important; }
.krefft-hero--szukaj .kc-szukaj-zab input { background: transparent !important; }
.krefft-dzial--surgery .krefft-kafel__tytul, .krefft-dzial--surgery .krefft-kafel__tytul a { color: #fff !important; }
.krefft-kafel__foto, .krefft-kafel__foto img { aspect-ratio: 16/9 !important; }
/* wszystko w nagłówku równo z logo – zerujemy wewnętrzny padding elementów */
body .krefft-hero.krefft-hero > *:not(.krefft-hero__foto) { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; }
body .krefft-dzial .krefft-dzial__wnetrze > *, body .kc-tp > *, body .krefft-podlista > * { padding-left: 0 !important; }
.kc-tp.kc-tp { max-width: min(90vw, 1360px); padding-left: 15px; padding-right: 15px; box-sizing: border-box; }
.kc-tp .kc-tp__szukaj, .kc-tp .kc-tp__filtry { margin-left: 0 !important; justify-content: flex-start; }
/* Twój problem: wszystkie okienka tej samej wysokości */
.kc-tp__p summary { min-height: 84px; display: flex !important; align-items: center; box-sizing: border-box; }
@media (max-width: 767px){ .kc-tp__p summary { min-height: 64px; } }
/* <<< KC-2026-10-16 */


/* =====================================================================
 * Poprawki 2026-10-20 (Claude)
 * ===================================================================== */

/* 1. Twój problem – działy SURGERY jako szare boksy */
.kc-tp__grupa[data-g="zylaki-i-naczynia"] .kc-tp__p,
.kc-tp__grupa[data-g="proktologia"] .kc-tp__p,
.kc-tp__grupa[data-g="urologia-i-andrologia"] .kc-tp__p { background: #ebe9e8; }
.kc-tp__grupa[data-g="zylaki-i-naczynia"] .kc-tp__p[open],
.kc-tp__grupa[data-g="proktologia"] .kc-tp__p[open],
.kc-tp__grupa[data-g="urologia-i-andrologia"] .kc-tp__p[open] { background: #fff; box-shadow: inset 0 0 0 1px #d6d2d0; }
.kc-tp__grupa[data-g="zylaki-i-naczynia"] .kc-tp__p summary::after,
.kc-tp__grupa[data-g="proktologia"] .kc-tp__p summary::after,
.kc-tp__grupa[data-g="urologia-i-andrologia"] .kc-tp__p summary::after { color: #554f4f; }

/* 1b. Twój problem – na mobile kategorie jako select */
.kc-tp__select { display: none; }
@media (max-width: 767px) {
	.kc-tp__filtry { display: none !important; }
	.kc-tp__select {
		display: block; width: 100%; height: 52px; margin: 0 0 28px; padding: 0 48px 0 22px !important;
		border: 1px solid #d9d2c5 !important; border-radius: 30px !important; background-color: #fff;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23554f4f' stroke-width='1.5'/%3E%3C/svg%3E");
		background-repeat: no-repeat; background-position: right 22px center;
		-webkit-appearance: none; appearance: none;
		font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #000;
	}
	.kc-tp__select:focus { outline: none; border-color: #f5c777 !important; }
}

/* 2. Topbar na mobile – górny rząd nagłówka Blocksy (ten sam widget co na desktopie), bez WhatsApp */
@media (max-width: 999.98px) {
	#header [data-device="mobile"] [data-row="top"] { --height: auto; }
	#header [data-device="mobile"] [data-row="top"] > .ct-container { min-height: 0; padding-top: 8px; padding-bottom: 8px; }
	#header [data-device="mobile"] [data-row="top"] [data-column="middle"] { justify-content: center; }
	#header [data-device="mobile"] .topbar { flex-wrap: wrap !important; justify-content: center; gap: 2px 18px !important; }
	#header [data-device="mobile"] .topbar p { margin: 0 !important; font-size: 12px !important; line-height: 1.6; white-space: nowrap; }
	#header [data-device="mobile"] .topbar p:has(a[href*="wa.me"]),
	#header [data-device="mobile"] .topbar p:has(a[href*="whatsapp"]) { display: none !important; }
}

/* 3. Baza wiedzy – wyszukiwarka (tylko artykuły) */
.kc-bw-szukaj { position: relative; display: flex; max-width: 760px; margin: 0 auto 56px; }
.kc-bw-szukaj input[type="search"] {
	flex: 1; width: 100%; height: 60px; margin: 0; padding: 0 150px 0 26px;
	border: 1px solid #d9d2c5 !important; border-radius: 40px !important; background: #fff;
	font-size: 15px; color: #000; box-shadow: 0 6px 24px rgba(85, 79, 79, .06);
}
.kc-bw-szukaj input[type="search"]:focus { outline: none; border-color: #f5c777 !important; }
.kc-bw-szukaj button {
	position: absolute; top: 6px; right: 6px; bottom: 6px; padding: 0 28px; border: 0; border-radius: 40px;
	background: #554f4f; color: #fff; font-size: 12px; letter-spacing: .15em; text-transform: uppercase; cursor: pointer;
	transition: background .2s;
}
.kc-bw-szukaj button:hover { background: #b0843a; }
@media (max-width: 767px) {
	.kc-bw-szukaj { margin-bottom: 36px; }
	.kc-bw-szukaj input[type="search"] { height: 52px; padding-right: 112px; font-size: 14px; }
	.kc-bw-szukaj button { padding: 0 18px; }
}

/* 4. Strona główna – zabiegi promowane jako karuzela */
.kc-promo { position: relative; }
.kc-promo__track {
	display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	scrollbar-width: none; -ms-overflow-style: none; overscroll-behavior-x: contain;
}
.kc-promo__track::-webkit-scrollbar { display: none; }
.kc-promo__slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; box-sizing: border-box; padding-right: 4px; }
.kc-promo__slide > :last-child { margin-bottom: 0 !important; }
.kc-promo__slide > .kc-zabieg-nazwa:first-child { border-top: 0 !important; padding-top: 0 !important; margin-top: 8px !important; }
.kc-promo__dots button:focus { outline: none; }
.kc-promo__dots button:focus-visible, .kc-promo__btn:focus-visible { outline: 2px solid #b0843a; outline-offset: 2px; }
.kc-promo__nav { display: flex; align-items: center; gap: 16px; margin: 28px 0 32px; }
.kc-promo__btn {
	width: 44px; height: 44px; padding: 0; border: 1px solid #554f4f; border-radius: 50%;
	background: transparent; color: #554f4f; display: grid; place-items: center; cursor: pointer; transition: all .2s;
}
.kc-promo__btn:hover { background: #554f4f; color: #fff; }
.kc-promo__btn svg { width: 16px; height: 16px; }
.kc-promo__dots { display: flex; gap: 8px; }
.kc-promo__dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #d9d2c5; cursor: pointer; transition: all .2s; }
.kc-promo__dots button.is-active { background: #b0843a; width: 22px; border-radius: 4px; }

/* 5. Mobile – mniejsze logo, więcej oddechu nad nim */
@media (max-width: 999.98px) {
	#header [data-device="mobile"] [data-id="logo"] .site-logo-container { --logo-max-height: 50px; --logo-shrink-height: 50px; }
	#header [data-device="mobile"] .site-logo-container img { max-height: 50px !important; width: auto !important; }
}

/* 6. Hero ze zdjęciem – na mobile jedna kolumna (opis nie robi się wąski) */
@media (max-width: 767px) {
	body .wp-block-group.krefft-hero--z-foto.krefft-hero--z-foto {
		grid-template-columns: minmax(0, 1fr) !important; padding-top: 40px !important; padding-bottom: 40px !important;
	}
	body .krefft-hero--z-foto > .krefft-hero__foto { grid-column: 1 !important; grid-row: auto !important; width: 100%; }
}


/* Slider „Zabiegi promowane” – wysokość wg aktywnego slajdu (JS ustawia height toru) */
.kc-promo__track { align-items: flex-start; transition: height .35s ease; }


/* Strona główna – sekcja „Idea Krefft”: slider zdjęć grupowych (fade, auto) */
.kc-idea-slider > .kt-inside-inner-col { position: relative; overflow: hidden; background-image: none !important; }
.kc-idea-slider .kc-fade { position: absolute; inset: 0; }
.kc-idea-slider .kc-fade__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 50%; margin: 0; max-width: none; opacity: 0; animation: kcFade 24s linear infinite; }
.kc-idea-slider .kc-fade__img:nth-child(1) { opacity: 1; animation: none; }
.kc-idea-slider .kc-fade__img:nth-child(2) { animation-delay: 6s; }
.kc-idea-slider .kc-fade__img:nth-child(3) { animation-delay: 12s; }
.kc-idea-slider .kc-fade__img:nth-child(4) { animation-delay: 18s; }
@keyframes kcFade { 0% { opacity: 0; } 6.25% { opacity: 1; } 25% { opacity: 1; } 31.25% { opacity: 0; } 100% { opacity: 0; } }
@media (max-width: 767.98px) {
	.kc-idea-slider > .kt-inside-inner-col { min-height: 125vw; }
}
@media (prefers-reduced-motion: reduce) {
	.kc-idea-slider .kc-fade__img { animation: none; }
}


/* O nas – kadra: zdjęcia zespołu administracyjnego i instrumentariuszek */
.krefft-kadra__ludzie { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 16px; margin: 8px 0 32px; }
.krefft-kadra__osoba { margin: 0; }
.krefft-kadra__osoba img,
.krefft-kadra__inicjaly { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center 20%; background: #e9e7e6; }
.krefft-kadra__inicjaly { display: flex; align-items: center; justify-content: center; font-size: 28px; letter-spacing: .12em; color: #8a8382; }
.krefft-kadra__osoba figcaption { margin-top: 10px; font-size: 14px; line-height: 1.35; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
@media (max-width: 999.98px) { .krefft-kadra__ludzie { grid-template-columns: repeat(2, minmax(0, 1fr)); } }


/* O nas – kadra: kolumny 3:4, żeby karty miały równą szerokość (3 osoby | 4 osoby w rzędzie) */
@media (min-width: 1000px) {
	.krefft-kadra__cols > .wp-block-column { flex-grow: 0 !important; flex-shrink: 1; min-width: 0; }
	.krefft-kadra__cols > .wp-block-column:first-child { flex-basis: calc((100% - var(--wp--style--block-gap, 2em)) * 3 / 7) !important; }
	.krefft-kadra__cols > .wp-block-column:last-child { flex-basis: calc((100% - var(--wp--style--block-gap, 2em)) * 4 / 7) !important; }
	.krefft-kadra__cols > .wp-block-column:last-child .krefft-kadra__ludzie { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.krefft-kadra__osoba figcaption { font-size: 13px; }
}

@media (min-width: 1000px) {
	.krefft-kadra__tytul { font-size: clamp(18px, 2vw, 32px) !important; white-space: nowrap; }
}


/* ZnanyLekarz – widgety rezerwacji przy usługach */
.krefft-zl--szeroki { width: 90vw; max-width: var(--theme-normal-container-max-width, 1360px); margin: 80px auto 40px; box-sizing: border-box; }
.krefft-zl__lista { --zl-kol: 3; display: grid; grid-template-columns: repeat(var(--zl-kol), minmax(0, var(--zl-w, 380px))); gap: 48px 40px; justify-content: start; align-items: start; margin-top: 36px; }
.krefft-zl__lista--n1 { --zl-kol: 1; }
.krefft-zl__lista--n2 { --zl-kol: 2; }
.krefft-zl__lista--n4 { --zl-kol: 4; --zl-w: 1fr; }
.krefft-zl__lekarz { min-width: 0; padding-top: 18px; border-top: 1px solid rgba(0,0,0,.12); }
.krefft-zl__imie { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 13px; line-height: 1.4; margin: 0 0 14px !important; min-height: 2.8em; }
.krefft-zl__lekarz iframe { display: block; width: 100% !important; max-width: 100% !important; }
@media (max-width: 1299px) { .krefft-zl__lista--n4 { --zl-kol: 2; --zl-w: 380px; } }
@media (max-width: 1099px) { .krefft-zl__lista { --zl-kol: 2; } .krefft-zl__lista--n1 { --zl-kol: 1; } }
@media (max-width: 767px) { .krefft-zl__lista, .krefft-zl__lista--n1 { --zl-kol: 1; grid-template-columns: minmax(0, 1fr); gap: 40px; } .krefft-zl__imie { min-height: 0; } .krefft-zl--szeroki { margin-top: 56px; } }


/* Karty produktow - mniejszy przycisk Wybierz kwote / Dodaj do koszyka */
[data-products] .product .ct-woo-card-actions .button {
  font-size: 12px;
  letter-spacing: .5px;
  min-height: 44px;
}
[data-products="type-2"] .ct-woo-card-actions > * {
  min-height: 44px;
}
