/* =========================================================
   KM FIZJO CONTENT HUB V5
   TŁA CELOWO NIE SĄ NADAWANE PRZEZ PLUGIN.
   Sekcje są przezroczyste i mogą leżeć na kontenerach Elementora.
   ========================================================= */
.kmf-page-shortcode{width:100%;max-width:none;margin:0;padding:0}
.kmf-frontend,.kmf-frontend *,.kmf-frontend *::before,.kmf-frontend *::after{box-sizing:border-box}
.kmf-frontend{
  --kmf-navy:#08234b;--kmf-blue:#0751a0;--kmf-gold:#e8bc6b;--kmf-gold-soft:#f7dfab;--kmf-cream:#f8f4ec;--kmf-text:#36506f;--kmf-line:#d9cebb;
  width:min(1180px,calc(100% - 48px));margin:0 auto;padding:86px 0;background:transparent!important;color:var(--kmf-navy)!important;font-family:"Plus Jakarta Sans",Arial,sans-serif!important;font-weight:400!important;
}
.kmf-frontend a{text-decoration:none!important}
.kmf-frontend picture,.kmf-frontend picture img{display:block;width:100%;height:100%}
.kmf-frontend picture img{object-fit:cover}
.kmf-frontend h2,.kmf-frontend h3,.kmf-frontend p,.kmf-frontend blockquote{margin-top:0}
.kmf-frontend h2{margin-bottom:0!important;color:var(--kmf-navy)!important;font-family:"Playfair Display",Georgia,serif!important;font-size:45px!important;font-weight:700!important;line-height:.98!important;letter-spacing:-.045em!important}
.kmf-frontend h2 em{color:var(--kmf-navy)!important;font-weight:700!important;font-style:italic!important}
.kmf-frontend:not(.kmf-services):not(.kmf-reviews) h2,.kmf-frontend:not(.kmf-services):not(.kmf-reviews) h3{color:var(--kmf-navy)!important}
.kmf-frontend:not(.kmf-services):not(.kmf-reviews) h2 em{color:var(--kmf-navy)!important}
.kmf-eyebrow{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 22px!important;color:#9a6f2e!important;font-size:10px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:.18em!important;text-transform:uppercase!important}
.kmf-eyebrow>span{width:28px;height:1px;background:var(--kmf-gold)}
.kmf-intro-copy{max-width:620px;margin:18px 0 0!important;color:var(--kmf-text)!important;font-size:15px!important;font-weight:400!important;line-height:1.72!important}
.kmf-intro-center{text-align:center}.kmf-intro-center .kmf-eyebrow{justify-content:center}.kmf-intro-center .kmf-intro-copy{margin-left:auto!important;margin-right:auto!important}
.kmf-primary-button,.kmf-outline-button,.kmf-google-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:18px!important;min-height:45px;padding:0 18px;border-radius:12px!important;font-size:12px!important;font-weight:700!important;line-height:1!important;transition:.25s ease}
.kmf-primary-button{background:var(--kmf-navy)!important;color:#fff!important;border:1px solid var(--kmf-navy)!important}
.kmf-primary-button:hover{background:var(--kmf-blue)!important;border-color:var(--kmf-blue)!important;transform:translateY(-2px)}
.kmf-text-button{display:inline-flex!important;align-items:center!important;gap:25px!important;padding:0 0 7px!important;border-bottom:1px solid #b88941!important;color:var(--kmf-navy)!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important}
.kmf-text-button span,.kmf-primary-button span{transition:transform .2s ease}.kmf-text-button:hover span,.kmf-primary-button:hover span{transform:translateX(4px)}
.kmf-image-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:220px;background:#e9edf2;color:#7b8798;font-size:12px;font-weight:700;text-align:center}

/* CONTROLS + TRACK */
.kmf-heading-with-controls{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:54px}
.kmf-heading-with-controls .kmf-intro{max-width:760px}
.kmf-slider-controls{display:flex;gap:10px;flex:0 0 auto}
.kmf-slider-controls button{width:48px;height:48px;display:grid;place-items:center;border:1px solid #cdbfaa!important;border-radius:50%!important;background:transparent!important;color:var(--kmf-navy)!important;font-size:20px!important;cursor:pointer!important;transition:.22s ease!important}
.kmf-slider-controls button:hover{background:var(--kmf-gold)!important;border-color:var(--kmf-gold)!important;color:var(--kmf-navy)!important;transform:translateY(-2px)}
.kmf-gold-next [data-kmf-next]{background:var(--kmf-gold)!important;border-color:var(--kmf-gold)!important;color:var(--kmf-navy)!important}
.kmf-slider-track{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 0 16px}
.kmf-slider-track::-webkit-scrollbar{display:none}.kmf-slider-track>*{scroll-snap-align:start;flex-shrink:0}
.kmf-slider-footer{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-top:10px}
.kmf-slider-progress{height:4px;border-radius:99px;background:rgba(122,139,160,.25);overflow:hidden}.kmf-slider-progress>span{display:block;width:18%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--kmf-gold),#ca8e30);transition:width .18s linear}
.kmf-slider-footer small{color:#7b8ca3!important;font-size:10px!important;font-weight:400!important;white-space:nowrap}.kmf-slider-footer b{color:#b27625}

/* 1. KIEDY WARTO SIĘ ZGŁOSIĆ */
.kmf-signals-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.7fr);gap:90px;align-items:end}
.kmf-signals-copy{padding-bottom:7px}.kmf-signals-copy>p{margin:0!important;color:var(--kmf-text)!important;font-size:16px!important;font-weight:400!important;line-height:1.75!important}.kmf-signals-copy .kmf-text-button{margin-top:22px}
.kmf-signals-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:60px;border-top:1px solid var(--kmf-line)}
.kmf-signals-grid article{min-height:195px;padding:28px 22px;border-right:1px solid var(--kmf-line)}.kmf-signals-grid article:first-child{padding-left:0}.kmf-signals-grid article:last-child{border-right:0}
.kmf-signals-grid article>span{color:#a97831!important;font-family:"Playfair Display",Georgia,serif!important;font-size:11px!important;font-weight:700!important}
.kmf-signals-grid h3{margin:36px 0 12px!important;color:var(--kmf-navy)!important;font-family:"Playfair Display",Georgia,serif!important;font-size:21px!important;font-weight:700!important;line-height:1.13!important}
.kmf-signals-grid p{margin:0!important;color:#65758a!important;font-size:11px!important;font-weight:400!important;line-height:1.6!important}

/* POZIOME SEKCJE OBRAZ + TEKST */
.kmf-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.kmf-feature-image-right .kmf-feature-media{order:2}.kmf-feature-image-right .kmf-feature-content{order:1}
.kmf-feature-media{position:relative;height:430px;overflow:hidden;border-radius:24px;box-shadow:0 22px 50px rgba(8,35,75,.12)}
.kmf-feature-media img{transition:transform .45s ease}.kmf-feature:hover .kmf-feature-media img{transform:scale(1.025)}
.kmf-feature-badge{position:absolute;left:18px;bottom:18px;display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid rgba(232,188,107,.75);border-radius:999px;background:rgba(8,35,75,.9);color:#fff!important;font-size:9px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.06em!important;backdrop-filter:blur(8px)}
.kmf-feature-content{max-width:520px}.kmf-feature-content h2{font-size:45px!important;line-height:1.05!important}.kmf-feature-content>p:not(.kmf-eyebrow){margin:20px 0 0!important;color:var(--kmf-text)!important;font-size:14px!important;font-weight:400!important;line-height:1.78!important}.kmf-feature-actions{display:flex;align-items:center;gap:24px;margin-top:28px}

/* OFERTA - BEZ TŁA, TYLKO TREŚĆ */
.kmf-services{color:#fff!important}.kmf-services .kmf-eyebrow{color:var(--kmf-gold-soft)!important}.kmf-services h2{color:#fff!important}.kmf-services h2 em{color:var(--kmf-gold-soft)!important}
.kmf-services-head{display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:end;margin-bottom:55px}.kmf-services-copy{margin:0 0 8px!important;color:rgba(255,255,255,.68)!important;font-size:15px!important;font-weight:400!important;line-height:1.75!important}
.kmf-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kmf-service-card{position:relative;min-height:330px;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:#dce6ef;isolation:isolate}
.kmf-service-card>.kmf-card-picture{position:absolute;inset:0;z-index:-2}.kmf-service-card>.kmf-card-picture img{transition:transform .55s ease,filter .4s ease}.kmf-service-card:hover>.kmf-card-picture img{transform:scale(1.045);filter:saturate(.96) contrast(1.04)}
.kmf-service-panel{position:absolute;left:14px;top:14px;bottom:14px;width:min(62%,310px);display:flex;flex-direction:column;align-items:flex-start;padding:17px 17px 15px;border:1px solid rgba(255,255,255,.84);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,248,241,.67));box-shadow:0 15px 34px rgba(9,28,58,.12);backdrop-filter:blur(15px) saturate(1.08);-webkit-backdrop-filter:blur(15px) saturate(1.08);color:var(--kmf-navy)!important;transition:.28s ease;overflow:hidden}
.kmf-service-panel::after{content:"";position:absolute;right:-28px;top:-18px;width:110px;height:68px;border-radius:0 0 0 52px;background:rgba(255,255,255,.55);pointer-events:none}
.kmf-glass-soft-cut::after{right:-20px;top:-31px;width:125px;height:86px;border-radius:0 0 0 70px;transform:rotate(-5deg)}
.kmf-glass-angled-cut{clip-path:polygon(0 0,84% 0,100% 12%,100% 100%,0 100%)}.kmf-glass-angled-cut::after{display:none}
.kmf-service-card:hover .kmf-service-panel{transform:translateY(-3px);box-shadow:0 22px 42px rgba(8,35,75,.18)}
.kmf-service-icon{position:relative;z-index:2;width:34px;height:34px;display:grid;place-items:center;margin-bottom:13px;border:1px solid var(--kmf-accent);border-radius:10px;background:rgba(255,255,255,.5);color:var(--kmf-accent)!important;font-size:14px!important;font-weight:700!important}
.kmf-service-panel h3{position:relative;z-index:2;margin:0 0 10px!important;color:#0b1d3c!important;font-family:"Playfair Display",Georgia,serif!important;font-size:22px!important;font-weight:700!important;line-height:1.16!important;letter-spacing:-.03em!important}.kmf-service-panel p{position:relative;z-index:2;margin:0!important;color:#485a71!important;font-size:11.5px!important;font-weight:400!important;line-height:1.58!important}.kmf-outline-button{position:relative;z-index:2;margin-top:auto;min-height:38px!important;padding:0 14px!important;border:1.5px solid var(--kmf-accent)!important;background:rgba(255,255,255,.28)!important;color:var(--kmf-accent)!important;font-size:10.5px!important}.kmf-outline-button:hover{background:var(--kmf-accent)!important;color:#fff!important;transform:translateY(-2px)}

/* PIERWSZA WIZYTA */
.kmf-process-layout{display:grid;grid-template-columns:340px 1fr;gap:52px;align-items:center}.kmf-process-title h2{font-size:45px!important;line-height:1.04!important}.kmf-process-title h2 em{color:var(--kmf-navy)!important}
.kmf-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--kmf-line)}.kmf-process-card{min-height:205px;padding:28px 22px;border-right:1px solid var(--kmf-line)}.kmf-process-card:last-child{border-right:0}.kmf-process-number{color:#a97831!important;font-size:10px!important;font-weight:700!important}.kmf-process-card h3{margin:31px 0 12px!important;color:var(--kmf-navy)!important;font-family:"Playfair Display",Georgia,serif!important;font-size:21px!important;font-weight:700!important;line-height:1.06!important}.kmf-process-card p{margin:0!important;color:var(--kmf-text)!important;font-size:10.5px!important;font-weight:400!important;line-height:1.55!important}

/* SPECJALIŚCI */
.kmf-specialists-slider .kmf-slider-track>*{flex-basis:38.5%}
.kmf-specialist-card{overflow:hidden;border:1px solid #dfd1ba;border-radius:24px;background:rgba(255,253,248,.94);box-shadow:0 13px 34px rgba(8,35,75,.06);transition:transform .28s ease,box-shadow .28s ease}
.kmf-specialist-card:hover{transform:translateY(-4px);box-shadow:0 23px 48px rgba(8,35,75,.11)}
.kmf-specialist-photo{height:350px;overflow:hidden;border-radius:23px 23px 18px 18px;background:#eee4d5}.kmf-specialist-photo img{object-position:center top;transition:transform .45s ease}.kmf-specialist-card:hover .kmf-specialist-photo img{transform:scale(1.025)}
.kmf-specialist-content{padding:22px 24px 20px}.kmf-specialist-content h3{margin:0 0 4px!important;color:var(--kmf-navy)!important;font-family:"Playfair Display",Georgia,serif!important;font-size:30px!important;font-weight:700!important;line-height:1!important}.kmf-role{margin:0!important;color:#a36c1d!important;font-size:9.5px!important;font-weight:700!important;line-height:1.35!important;text-transform:uppercase!important;letter-spacing:.04em!important}.kmf-bio{min-height:66px;margin:27px 0 0!important;color:var(--kmf-text)!important;font-size:11.5px!important;font-weight:400!important;line-height:1.65!important}
.kmf-specialist-action{display:flex;align-items:center;justify-content:space-between;gap:16px;max-height:0;margin-top:0;overflow:hidden;opacity:0;transform:translateY(14px);transition:max-height .36s ease,margin-top .3s ease,opacity .24s ease,transform .3s ease}.kmf-specialist-card:hover .kmf-specialist-action,.kmf-specialist-card:focus-within .kmf-specialist-action{max-height:70px;margin-top:18px;opacity:1;transform:translateY(0)}.kmf-specialist-action .kmf-primary-button{min-height:40px!important;padding:0 15px!important;font-size:10.5px!important}.kmf-socials{display:flex;gap:7px}.kmf-socials a{width:30px;height:30px;display:grid;place-items:center;border:1px solid #d8cab2;border-radius:50%;color:var(--kmf-navy)!important;font-size:10px!important;font-weight:700!important}

/* OPINIE - BEZ TŁA */
.kmf-reviews{color:#fff!important}.kmf-reviews .kmf-eyebrow{color:var(--kmf-gold-soft)!important}.kmf-reviews h2{color:#fff!important}.kmf-reviews h2 em{color:var(--kmf-gold-soft)!important}
.kmf-reviews-top{display:grid;grid-template-columns:minmax(0,1.2fr) 220px auto;gap:28px;align-items:end;margin-bottom:48px}.kmf-rating-box{padding-left:24px;border-left:1px solid rgba(255,255,255,.22)}.kmf-rating-box .kmf-stars{display:block;margin-bottom:14px;color:var(--kmf-gold)!important;font-size:13px!important;letter-spacing:.08em!important}.kmf-rating-box strong{display:block;color:#fff!important;font-family:"Playfair Display",Georgia,serif!important;font-size:43px!important;font-weight:700!important;line-height:.9!important}.kmf-rating-box small{display:block;margin-top:7px;color:rgba(255,255,255,.52)!important;font-size:9px!important;font-weight:400!important;line-height:1.4!important}
.kmf-reviews .kmf-slider-controls button{border-color:rgba(255,255,255,.32)!important;color:#fff!important}.kmf-reviews .kmf-slider-controls button:hover,.kmf-reviews .kmf-gold-next [data-kmf-next]{background:var(--kmf-gold)!important;border-color:var(--kmf-gold)!important;color:var(--kmf-navy)!important}
.kmf-reviews-slider .kmf-slider-track>*{flex-basis:calc((100% - 36px)/3)}
.kmf-review-card{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:405px;overflow:hidden;padding:30px 28px 82px;border-radius:22px;background:#f9fafb;color:var(--kmf-navy)!important;box-shadow:0 18px 40px rgba(1,18,46,.17)}
.kmf-review-card::after{content:"";position:absolute;z-index:-1;left:-8%;right:-8%;bottom:-38px;height:92px;border-radius:50% 50% 0 0;background:linear-gradient(100deg,rgba(232,188,107,.33),rgba(90,158,232,.25));transform:rotate(-2deg)}
.kmf-review-head{display:flex;justify-content:space-between;align-items:center}.kmf-review-head .kmf-stars{color:var(--kmf-gold)!important;font-size:11px!important;letter-spacing:.08em!important}.kmf-review-head b{color:#e9dfcd!important;font-family:Georgia,serif!important;font-size:36px!important;line-height:1!important}
.kmf-review-card blockquote{margin:54px 0 28px!important;color:#17365e!important;font-family:"Plus Jakarta Sans",Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.7!important}.kmf-review-card blockquote::after{content:"";display:block;margin-top:28px;border-bottom:1px solid #dde2e8}
.kmf-review-author{position:relative;z-index:3;display:flex;align-items:center;gap:12px;margin-top:auto;margin-bottom:18px}.kmf-review-avatar{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;overflow:hidden;border:1px solid #d7b87a;border-radius:50%;background:#fff6e7}.kmf-review-avatar picture,.kmf-review-avatar img{width:100%;height:100%;object-fit:cover}.kmf-review-initial{color:var(--kmf-navy)!important;font-family:"Playfair Display",Georgia,serif!important;font-size:13px!important}.kmf-review-author>div:last-child{display:grid;gap:2px}.kmf-review-author strong{color:#17365e!important;font-size:11px!important;font-weight:700!important}.kmf-review-author small{color:#7e8c9f!important;font-size:8.5px!important;font-weight:400!important}.kmf-review-card:hover .kmf-review-author strong{color:var(--kmf-accent)!important}
.kmf-reviews .kmf-slider-footer small{color:rgba(255,255,255,.58)!important}.kmf-reviews .kmf-slider-progress{background:rgba(255,255,255,.16)}
.kmf-google-row{display:flex;justify-content:center;margin-top:26px}.kmf-google-button{min-height:50px!important;padding:0 21px!important;border:1px solid rgba(255,255,255,.32)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;backdrop-filter:blur(8px)}.kmf-google-button:hover{background:var(--kmf-gold)!important;border-color:var(--kmf-gold)!important;color:var(--kmf-navy)!important;transform:translateY(-2px)}.kmf-google-g{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);color:#fff!important;font-size:13px!important;font-weight:900!important}.kmf-google-button b{font-size:17px!important}

/* ARTYKUŁY Z WORDPRESS */
.kmf-articles-slider .kmf-slider-track>*{flex-basis:38.5%}.kmf-article-card{overflow:hidden;border:1px solid #ddd4c4;border-radius:22px;background:#fffdf8;box-shadow:0 15px 36px rgba(8,35,75,.07)}.kmf-article-media{position:relative;height:235px;overflow:hidden;background:#e9eef3}.kmf-article-media>img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.kmf-article-card:hover .kmf-article-media>img{transform:scale(1.04)}.kmf-article-media>span{position:absolute;left:14px;top:14px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.82);color:var(--kmf-blue)!important;font-size:9px!important;font-weight:700!important;backdrop-filter:blur(8px)}
.kmf-article-content{padding:22px}.kmf-article-content>small{display:block;margin-bottom:8px;color:#a87832!important;font-size:9px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.07em!important}.kmf-article-content h3{margin:0 0 12px!important;color:var(--kmf-navy)!important;font-family:"Playfair Display",Georgia,serif!important;font-size:25px!important;font-weight:700!important;line-height:1.15!important}.kmf-article-content>p{min-height:66px;margin:0 0 16px!important;color:var(--kmf-text)!important;font-size:12px!important;font-weight:400!important;line-height:1.65!important}.kmf-article-author{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e4ddd0}.kmf-article-author img,.kmf-author-placeholder{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:50%;object-fit:cover;background:#f3eadb}.kmf-article-author>div{display:grid}.kmf-article-author small{color:#8995a5!important;font-size:8px!important;text-transform:uppercase!important;letter-spacing:.08em!important}.kmf-article-author strong{color:var(--kmf-navy)!important;font-size:10.5px!important;font-weight:700!important}.kmf-empty-posts{width:100%;padding:34px;border:1px dashed #cabda7;border-radius:18px;color:var(--kmf-text)}

/* FAQ */
.kmf-faq-list{max-width:900px;margin:54px auto 0;border-top:1px solid var(--kmf-line)}.kmf-faq-item{border-bottom:1px solid var(--kmf-line)}.kmf-faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 6px;border:0!important;background:transparent!important;color:var(--kmf-navy)!important;text-align:left!important;cursor:pointer!important}.kmf-faq-question>span{display:flex;align-items:flex-start;gap:18px;font-size:15px!important;font-weight:700!important;line-height:1.45!important}.kmf-faq-question b{min-width:28px;color:#a97831!important;font-family:"Playfair Display",Georgia,serif!important;font-size:13px!important}.kmf-faq-question i{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border:1px solid #d4dde6;border-radius:50%;color:var(--kmf-blue)!important;font-style:normal!important;font-size:18px!important;transition:.22s ease}.kmf-faq-question[aria-expanded="true"] i{transform:rotate(180deg);background:var(--kmf-navy);color:var(--kmf-gold-soft)!important}.kmf-faq-answer>div{padding:0 54px 24px;color:var(--kmf-text)!important;font-size:14px!important;font-weight:400!important;line-height:1.75!important}

/* TABLET / LAPTOP */
@media(max-width:1024px){
  .kmf-frontend{width:min(100% - 36px,1180px);padding:68px 0}.kmf-signals-intro{grid-template-columns:1fr .8fr;gap:44px}.kmf-signals-grid{grid-template-columns:repeat(2,1fr)}.kmf-signals-grid article:nth-child(2){border-right:0}.kmf-signals-grid article:nth-child(n+3){border-top:1px solid var(--kmf-line)}
  .kmf-feature{gap:38px}.kmf-feature-media{height:390px}.kmf-services-head{gap:40px}.kmf-services-grid{grid-template-columns:repeat(2,1fr)}.kmf-service-card{min-height:335px}.kmf-service-panel{width:min(64%,300px)}
  .kmf-process-layout{grid-template-columns:280px 1fr;gap:30px}.kmf-process-card{padding:24px 18px}.kmf-specialists-slider .kmf-slider-track>*{flex-basis:38.5%}.kmf-specialist-photo{height:310px}.kmf-specialist-content{padding:20px}.kmf-reviews-top{grid-template-columns:1fr 180px auto}.kmf-reviews-slider .kmf-slider-track>*{flex-basis:calc(50% - 9px)}.kmf-articles-slider .kmf-slider-track>*{flex-basis:48%}
}

/* MOBILE */
@media(max-width:767px){
  .kmf-frontend{width:calc(100% - 28px);padding:52px 0}.kmf-frontend h2{font-size:34px!important;line-height:1.06!important}.kmf-eyebrow{font-size:9px!important;margin-bottom:16px!important}
  .kmf-signals-intro{grid-template-columns:1fr;gap:24px}.kmf-signals-grid{grid-template-columns:1fr;margin-top:38px}.kmf-signals-grid article{min-height:auto;padding:24px 6px!important;border-right:0!important;border-top:1px solid var(--kmf-line)}.kmf-signals-grid article:first-child{border-top:0}.kmf-signals-grid h3{margin-top:22px!important}
  .kmf-feature{grid-template-columns:1fr;gap:30px}.kmf-feature-image-right .kmf-feature-media,.kmf-feature-image-right .kmf-feature-content{order:initial}.kmf-feature-media{height:300px;border-radius:20px}.kmf-feature-content h2{font-size:34px!important}.kmf-feature-actions{flex-direction:column;align-items:stretch}.kmf-feature-actions a{width:100%}
  .kmf-services-head{grid-template-columns:1fr;gap:20px}.kmf-services-grid{grid-template-columns:1fr;gap:14px}.kmf-service-card{min-height:370px}.kmf-service-panel{left:12px;top:auto;right:12px;bottom:12px;width:auto;min-height:235px}.kmf-service-panel h3{font-size:22px!important}
  .kmf-process-layout{grid-template-columns:1fr;gap:32px}.kmf-process-grid{grid-template-columns:1fr}.kmf-process-card{min-height:auto;border-right:0;border-bottom:1px solid var(--kmf-line)}.kmf-process-card:last-child{border-bottom:0}.kmf-process-title h2{font-size:34px!important}
  .kmf-heading-with-controls{align-items:flex-end;gap:12px;margin-bottom:34px}.kmf-heading-with-controls .kmf-intro{max-width:calc(100% - 100px)}.kmf-slider-controls button{width:42px;height:42px;font-size:17px!important}.kmf-specialists-slider .kmf-slider-track>*{flex-basis:100%}.kmf-specialist-photo{height:300px}.kmf-specialist-action{max-height:70px;margin-top:18px;opacity:1;transform:none}
  .kmf-reviews-top{grid-template-columns:1fr auto;align-items:end}.kmf-reviews-top .kmf-intro{grid-column:1/-1}.kmf-rating-box{padding-left:0;border-left:0}.kmf-reviews-slider .kmf-slider-track>*{flex-basis:100%}.kmf-review-card{min-height:390px;padding:25px 22px 78px}.kmf-review-card blockquote{margin-top:38px!important;font-size:18px!important}.kmf-slider-footer{grid-template-columns:1fr;gap:10px}.kmf-slider-footer small{white-space:normal}.kmf-google-button{width:100%}
  .kmf-articles-slider .kmf-slider-track>*{flex-basis:100%}.kmf-article-media{height:220px}.kmf-faq-list{margin-top:38px}.kmf-faq-question{padding:19px 2px}.kmf-faq-question>span{gap:12px;font-size:14px!important}.kmf-faq-answer>div{padding:0 42px 20px 40px;font-size:13px!important}
}

/* =========================================================
   V4 TYPOGRAFIA — wymuszenie nad stylami motywu / Elementora
   ========================================================= */
.kmf-frontend h2,
.kmf-frontend h3,
.kmf-frontend h4{
  font-family:"Playfair Display",Georgia,serif!important;
  font-weight:700!important;
}
.kmf-frontend p,
.kmf-frontend .kmf-intro-copy,
.kmf-frontend .kmf-bio,
.kmf-frontend .kmf-feature-content>p:not(.kmf-eyebrow),
.kmf-frontend .kmf-service-panel p,
.kmf-frontend .kmf-process-card p,
.kmf-frontend .kmf-article-content>p,
.kmf-frontend .kmf-faq-answer>div{
  font-family:"Plus Jakarta Sans",Arial,sans-serif!important;
  font-weight:400!important;
}
.kmf-frontend .kmf-primary-button,
.kmf-frontend .kmf-outline-button,
.kmf-frontend .kmf-google-button,
.kmf-frontend .kmf-text-button,
.kmf-frontend .kmf-eyebrow,
.kmf-frontend .kmf-role,
.kmf-frontend .kmf-faq-question{
  font-family:"Plus Jakarta Sans",Arial,sans-serif!important;
  font-weight:700!important;
}

@media(prefers-reduced-motion:reduce){.kmf-frontend *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* =========================================================
   KM FIZJO CONTENT HUB V4 — RESPONSIVE / QUALITY HOTFIX
   ========================================================= */

/* Obrazy: bez filtrów i skalowania na urządzeniach dotykowych. */
.kmf-frontend img{
  image-rendering:auto!important;
  -ms-interpolation-mode:bicubic;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.kmf-card-picture img,.kmf-feature-picture img,.kmf-specialist-photo img,.kmf-article-image{
  width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;
}
@media(hover:hover) and (pointer:fine){
  .kmf-service-card:hover>.kmf-card-picture img{transform:scale(1.025)!important;filter:none!important}
  .kmf-specialist-card:hover .kmf-specialist-photo img{transform:scale(1.018)!important}
  .kmf-article-card:hover .kmf-article-media>img{transform:scale(1.025)!important}
}
@media(hover:none),(pointer:coarse){
  .kmf-service-card>.kmf-card-picture img,.kmf-specialist-photo img,.kmf-article-media>img,.kmf-feature-media img{transform:none!important;filter:none!important}
}

/* Boczne strzałki — ukryte na PC, aktywne na tabletach i telefonach. */
.kmf-slider{position:relative!important}
.kmf-side-slider-controls{display:none}

/* Google przy ocenie 5.0 */
.kmf-rating-score-row{display:flex;align-items:center;gap:12px}
.kmf-google-mini{
  width:31px;height:31px;display:grid;place-items:center;flex:0 0 31px;border-radius:50%;
  background:#fff!important;box-shadow:0 6px 18px rgba(0,0,0,.16);
  font:800 18px/1 Arial,sans-serif!important;color:#4285F4!important;
  border:2px solid rgba(255,255,255,.7)!important;
}

/* Opinie — autor wyżej, fala niżej, bez zlewania. */
.kmf-review-card{padding-bottom:110px!important}
.kmf-review-card::after{bottom:-48px!important;height:90px!important}
.kmf-review-author{margin-bottom:28px!important}
.kmf-review-author strong{font-size:12px!important}
.kmf-review-author small{font-size:9px!important;margin-top:2px!important}

/* FAQ — pełne kafelki, poprawny hover i wyśrodkowane przyciski. */
.kmf-faq-list{
  max-width:940px!important;margin:48px auto 0!important;border:0!important;display:grid!important;gap:13px!important;
}
.kmf-faq-item{
  overflow:hidden;border:1px solid #ded2bf!important;border-radius:18px!important;
  background:var(--kmf-user-faq-bg,#fffdf8)!important;
  box-shadow:0 10px 26px rgba(8,35,75,.045)!important;
  transition:background .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease!important;
}
.kmf-faq-item:hover{
  background:var(--kmf-user-faq-hover,#f4ecdd)!important;border-color:#c8ad7a!important;
  box-shadow:0 16px 34px rgba(8,35,75,.08)!important;transform:translateY(-2px)!important;
}
.kmf-faq-item:has(.kmf-faq-question[aria-expanded="true"]){border-color:#b98b42!important;background:#fffaf0!important}
.kmf-faq-question{
  min-height:72px!important;padding:17px 20px!important;align-items:center!important;border:0!important;
}
.kmf-faq-question>span{align-items:center!important;gap:16px!important}
.kmf-faq-question b{display:grid!important;place-items:center!important;min-width:34px!important;height:34px!important;border:1px solid rgba(169,120,49,.34)!important;border-radius:50%!important}
.kmf-faq-question i{
  width:40px!important;height:40px!important;display:grid!important;place-items:center!important;flex:0 0 40px!important;
  padding:0!important;margin:0!important;line-height:1!important;
}
.kmf-faq-question:hover i{background:var(--kmf-user-arrow-hover,#e8bc6b)!important;border-color:var(--kmf-user-arrow-hover,#e8bc6b)!important;color:#08234b!important}
.kmf-faq-answer>div{padding:0 72px 22px 72px!important}

/* Czytelniejsze przyciski */
.kmf-primary-button,.kmf-google-button{min-height:46px!important;padding-inline:20px!important}

@media(max-width:1024px){
  /* Ogólna szerokość */
  .kmf-frontend{width:min(100% - 32px,1180px)!important;padding:62px 0!important}

  /* Sekcje obraz + tekst: nadal poziome na tablecie, lepsze proporcje. */
  .kmf-feature{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;gap:32px!important}
  .kmf-feature-media{height:360px!important}
  .kmf-feature-content h2{font-size:40px!important}
  .kmf-feature-content>p:not(.kmf-eyebrow){font-size:14px!important;line-height:1.68!important}

  /* Oferta — 2 kolumny, szkło bardziej przezroczyste. */
  .kmf-services-head{grid-template-columns:1fr!important;gap:20px!important;margin-bottom:42px!important}
  .kmf-services-copy{max-width:700px!important;margin:0!important}
  .kmf-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px!important}
  .kmf-service-card{min-height:365px!important}
  .kmf-service-panel{
    left:12px!important;top:12px!important;bottom:12px!important;width:min(58%,285px)!important;
    background:linear-gradient(135deg,rgba(255,255,255,var(--kmf-glass-tablet,.78)),rgba(255,248,241,.58))!important;
    backdrop-filter:blur(9px) saturate(1.05)!important;-webkit-backdrop-filter:blur(9px) saturate(1.05)!important;
  }
  .kmf-service-panel h3{font-size:20px!important}
  .kmf-service-panel p{font-size:11.5px!important}
  .kmf-outline-button{min-height:44px!important;padding:0 16px!important;font-size:11.5px!important}

  /* Proces */
  .kmf-process-layout{grid-template-columns:1fr!important;gap:28px!important}
  .kmf-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .kmf-process-card{min-height:190px!important}

  /* Desktopowe strzałki znikają. Na bokach pojawia się sterowanie dotykowe. */
  .kmf-desktop-controls{display:none!important}
  .kmf-side-slider-controls{display:block!important;position:absolute!important;inset:0!important;pointer-events:none!important;z-index:10!important}
  .kmf-side-slider-controls button{
    position:absolute!important;top:50%!important;transform:translateY(-50%)!important;
    width:50px!important;height:50px!important;display:grid!important;place-items:center!important;padding:0!important;
    border:1px solid rgba(8,35,75,.24)!important;border-radius:50%!important;
    background:rgba(255,253,248,.88)!important;color:var(--kmf-user-arrow,#08234b)!important;
    box-shadow:0 12px 30px rgba(8,35,75,.16)!important;backdrop-filter:blur(8px)!important;
    pointer-events:auto!important;font-size:20px!important;line-height:1!important;z-index:12!important;
  }
  .kmf-side-slider-controls .kmf-side-prev{left:-8px!important}
  .kmf-side-slider-controls .kmf-side-next{right:-8px!important}
  .kmf-side-slider-controls button:active{transform:translateY(-50%) scale(.95)!important}
  .kmf-reviews-slider .kmf-side-slider-controls button{background:rgba(4,34,78,.82)!important;color:#fff!important;border-color:rgba(255,255,255,.38)!important}
  .kmf-reviews-slider .kmf-side-slider-controls button:hover,.kmf-reviews-slider .kmf-side-slider-controls button:active{background:#e8bc6b!important;color:#08234b!important;border-color:#e8bc6b!important}

  /* Slider specjalistów — 2 karty na tablet, większy CTA. */
  .kmf-heading-with-controls{margin-bottom:38px!important}
  .kmf-heading-with-controls .kmf-intro{max-width:100%!important}
  .kmf-specialists-slider .kmf-slider-track>*{flex-basis:calc(50% - 9px)!important}
  .kmf-specialist-photo{height:330px!important}
  .kmf-specialist-action{max-height:76px!important;margin-top:18px!important;opacity:1!important;transform:none!important}
  .kmf-specialist-action .kmf-primary-button{min-height:46px!important;padding:0 18px!important;font-size:12px!important}

  /* Opinie */
  .kmf-reviews-top{grid-template-columns:minmax(0,1fr) 180px!important;gap:22px!important}
  .kmf-reviews-top .kmf-desktop-controls{display:none!important}
  .kmf-reviews-slider .kmf-slider-track>*{flex-basis:calc(50% - 9px)!important}
  .kmf-review-card{min-height:410px!important;padding:26px 24px 108px!important}
  .kmf-review-card blockquote{font-size:18px!important}

  /* Artykuły */
  .kmf-articles-slider .kmf-slider-track>*{flex-basis:calc(50% - 9px)!important}
  .kmf-article-media{height:250px!important}

  /* FAQ */
  .kmf-faq-list{max-width:100%!important}
}

@media(max-width:767px){
  .kmf-frontend{width:calc(100% - 24px)!important;padding:48px 0!important}

  /* Sekcje obraz + tekst: kolejność zgodna z projektem, ale jedna kolumna dla czytelności. */
  .kmf-feature{grid-template-columns:1fr!important;gap:28px!important}
  .kmf-feature-image-left .kmf-feature-media{order:1!important}.kmf-feature-image-left .kmf-feature-content{order:2!important}
  .kmf-feature-image-right .kmf-feature-content{order:1!important}.kmf-feature-image-right .kmf-feature-media{order:2!important}
  .kmf-feature-media{height:300px!important;border-radius:20px!important}
  .kmf-feature-content{max-width:none!important}
  .kmf-feature-content h2{font-size:40px!important}
  .kmf-feature-content>p:not(.kmf-eyebrow){font-size:15px!important;line-height:1.68!important}
  .kmf-feature-actions{gap:12px!important;margin-top:24px!important}
  .kmf-feature-actions .kmf-primary-button{min-height:48px!important}
  .kmf-feature-actions .kmf-text-button{min-height:44px!important;align-items:center!important}

  /* Oferta — szkło pokazuje więcej zdjęcia i nie zasłania całej karty. */
  .kmf-services-head{gap:14px!important;margin-bottom:34px!important}
  .kmf-services-grid{grid-template-columns:1fr!important;gap:14px!important}
  .kmf-service-card{min-height:410px!important;border-radius:22px!important}
  .kmf-service-panel{
    left:10px!important;right:10px!important;top:auto!important;bottom:10px!important;width:auto!important;min-height:190px!important;
    padding:15px 17px 14px!important;
    background:linear-gradient(135deg,rgba(255,255,255,var(--kmf-glass-mobile,.70)),rgba(255,248,241,.50))!important;
    backdrop-filter:blur(7px) saturate(1.03)!important;-webkit-backdrop-filter:blur(7px) saturate(1.03)!important;
  }
  .kmf-service-panel::after{opacity:.65!important}
  .kmf-service-icon{width:36px!important;height:36px!important;margin-bottom:10px!important}
  .kmf-service-panel h3{font-size:22px!important;margin-bottom:8px!important}
  .kmf-service-panel p{font-size:12px!important;line-height:1.52!important}
  .kmf-outline-button{min-height:46px!important;padding:0 17px!important;font-size:12px!important;margin-top:14px!important}

  /* 3 kroki */
  .kmf-process-grid{grid-template-columns:1fr!important;border-radius:18px!important;overflow:hidden!important}
  .kmf-process-card{min-height:auto!important;padding:22px 20px!important}

  /* Boczne strzałki — większe, czytelne, po obu bokach. */
  .kmf-side-slider-controls button{width:52px!important;height:52px!important;font-size:21px!important}
  .kmf-side-slider-controls .kmf-side-prev{left:-7px!important}
  .kmf-side-slider-controls .kmf-side-next{right:-7px!important}

  /* Zespół */
  .kmf-specialists-slider .kmf-slider-track>*{flex-basis:100%!important}
  .kmf-specialist-card{border-radius:22px!important}
  .kmf-specialist-photo{height:315px!important}
  .kmf-specialist-content{padding:20px 20px 18px!important}
  .kmf-specialist-content h3{font-size:30px!important}
  .kmf-bio{min-height:0!important;margin-top:19px!important;font-size:13px!important}
  .kmf-specialist-action{display:flex!important;align-items:center!important;min-height:58px!important;max-height:none!important;margin-top:20px!important;overflow:visible!important;opacity:1!important;transform:none!important}
  .kmf-specialist-action .kmf-primary-button{min-height:48px!important;padding:0 18px!important;font-size:13px!important;border-radius:12px!important}
  .kmf-socials a{width:36px!important;height:36px!important}

  /* Opinie — jedna karta, większe marginesy od fali. */
  .kmf-reviews-top{grid-template-columns:1fr!important;gap:22px!important;margin-bottom:36px!important}
  .kmf-rating-box{display:grid!important;grid-template-columns:auto 1fr!important;grid-template-areas:"stars stars" "score text"!important;column-gap:14px!important;align-items:center!important;padding-left:0!important;border-left:0!important}
  .kmf-rating-box>.kmf-stars{grid-area:stars!important;margin-bottom:8px!important}.kmf-rating-score-row{grid-area:score!important}.kmf-rating-box>small{grid-area:text!important;margin:0!important}
  .kmf-reviews-slider .kmf-slider-track>*{flex-basis:100%!important}
  .kmf-review-card{min-height:425px!important;padding:25px 22px 118px!important;border-radius:22px!important}
  .kmf-review-card blockquote{margin:38px 0 24px!important;font-size:18px!important;line-height:1.5!important}
  .kmf-review-card::after{bottom:-42px!important;height:82px!important}
  .kmf-review-author{margin-bottom:36px!important}
  .kmf-google-row{margin-top:24px!important}
  .kmf-google-button{width:100%!important;min-height:50px!important;font-size:14px!important}

  /* Artykuły */
  .kmf-articles-slider .kmf-slider-track>*{flex-basis:100%!important}
  .kmf-article-media{height:230px!important}
  .kmf-article-content{padding:20px!important}
  .kmf-article-content h3{font-size:24px!important}

  /* Footer slidera nie koliduje ze strzałkami. */
  .kmf-slider-footer{margin-top:12px!important;padding:0 2px!important}

  /* FAQ */
  .kmf-faq-list{margin-top:34px!important;gap:11px!important}
  .kmf-faq-item{border-radius:16px!important}
  .kmf-faq-question{min-height:68px!important;padding:15px 14px!important;gap:12px!important}
  .kmf-faq-question>span{gap:10px!important;font-size:14px!important;line-height:1.4!important}
  .kmf-faq-question b{min-width:32px!important;height:32px!important;font-size:11px!important}
  .kmf-faq-question i{width:40px!important;height:40px!important;flex-basis:40px!important}
  .kmf-faq-answer>div{padding:0 18px 20px 56px!important;font-size:14px!important;line-height:1.65!important}
}

/* =========================================================
   V5 — WYŚRODKOWANIE PODKREŚLONYCH CTA NA TABLECIE/TELEFONIE
   ========================================================= */
@media (max-width:1024px){
  .kmf-frontend .kmf-text-button{
    width:max-content!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .kmf-feature-actions{
    justify-content:center!important;
  }
  .kmf-feature-actions .kmf-text-button{
    align-self:center!important;
  }
  .kmf-signals-copy .kmf-text-button{
    display:flex!important;
    margin-top:22px!important;
  }
  .kmf-article-content .kmf-text-button{
    display:flex!important;
  }
}

@media (max-width:767px){
  .kmf-feature-actions{
    align-items:center!important;
  }
  .kmf-feature-actions .kmf-text-button{
    width:max-content!important;
    min-height:44px!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }
}


/* =========================================================
   V6 — PRECYZYJNE WYRÓWNANIE STRZAŁEK W CTA
   ========================================================= */
.kmf-frontend .kmf-primary-button,
.kmf-frontend .kmf-text-button,
.kmf-frontend .kmf-google-button{
  align-items:center!important;
}
.kmf-frontend .kmf-button-arrow{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  flex:0 0 20px!important;
  display:inline-grid!important;
  place-items:center!important;
  align-self:center!important;
  margin:0!important;
  padding:0!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1!important;
  vertical-align:middle!important;
  transform:translateY(-1px)!important;
  transition:transform .2s ease!important;
}
.kmf-frontend .kmf-primary-button:hover .kmf-button-arrow,
.kmf-frontend .kmf-text-button:hover .kmf-button-arrow,
.kmf-frontend .kmf-google-button:hover .kmf-button-arrow{
  transform:translate(4px,-1px)!important;
}
@media(max-width:1024px){
  .kmf-frontend .kmf-primary-button,
  .kmf-frontend .kmf-text-button,
  .kmf-frontend .kmf-google-button{
    justify-content:center!important;
  }
}

/* =========================================================
   V7 — KAFELKI USŁUG: POZIOMY GLASS NA DOLE ZDJĘCIA
   Desktop: niski pasek -> rozwija się do góry po hoverze.
   Tablet/telefon: bez rozwijania, pełna treść zawsze widoczna.
   ========================================================= */

/* Wspólna geometria panelu — poziomo, przy samym dole. */
.kmf-services .kmf-service-panel{
  left:12px!important;
  right:12px!important;
  top:auto!important;
  bottom:12px!important;
  width:auto!important;
  color:var(--kmf-navy)!important;
}

/* Desktop / laptop z myszką */
@media (min-width:1025px) and (hover:hover) and (pointer:fine){
  .kmf-services .kmf-service-card{
    min-height:340px!important;
  }

  .kmf-services .kmf-service-panel{
    height:92px!important;
    min-height:92px!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
    grid-template-rows:auto auto auto!important;
    column-gap:12px!important;
    row-gap:0!important;
    align-items:center!important;
    padding:13px 16px!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(255,248,241,.66))!important;
    backdrop-filter:blur(13px) saturate(1.06)!important;
    -webkit-backdrop-filter:blur(13px) saturate(1.06)!important;
    transition:height .42s cubic-bezier(.22,.72,.2,1),background .3s ease,box-shadow .3s ease,transform .3s ease!important;
  }

  .kmf-services .kmf-service-icon{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
    align-self:center!important;
  }

  .kmf-services .kmf-service-panel h3{
    grid-column:2 / 4!important;
    grid-row:1!important;
    margin:0!important;
    align-self:center!important;
    font-size:22px!important;
    line-height:1.12!important;
  }

  .kmf-services .kmf-service-panel p{
    grid-column:1 / 4!important;
    grid-row:2!important;
    max-height:0!important;
    margin:0!important;
    overflow:hidden!important;
    opacity:0!important;
    transform:translateY(8px)!important;
    transition:max-height .35s ease,margin .35s ease,opacity .25s ease,transform .35s ease!important;
  }

  .kmf-services .kmf-outline-button{
    grid-column:1 / 3!important;
    grid-row:3!important;
    justify-self:start!important;
    max-height:0!important;
    min-height:0!important;
    margin:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    overflow:hidden!important;
    opacity:0!important;
    transform:translateY(8px)!important;
    transition:max-height .35s ease,min-height .35s ease,margin .35s ease,padding .35s ease,opacity .25s ease,transform .35s ease,background .2s ease,color .2s ease!important;
  }

  .kmf-services .kmf-service-card:hover .kmf-service-panel,
  .kmf-services .kmf-service-card:focus-within .kmf-service-panel{
    height:218px!important;
    padding:16px 17px 15px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,248,241,.75))!important;
    box-shadow:0 24px 48px rgba(8,35,75,.20)!important;
    transform:translateY(-2px)!important;
  }

  .kmf-services .kmf-service-card:hover .kmf-service-panel p,
  .kmf-services .kmf-service-card:focus-within .kmf-service-panel p{
    max-height:82px!important;
    margin-top:12px!important;
    opacity:1!important;
    transform:none!important;
  }

  .kmf-services .kmf-service-card:hover .kmf-outline-button,
  .kmf-services .kmf-service-card:focus-within .kmf-outline-button{
    max-height:42px!important;
    min-height:38px!important;
    margin-top:13px!important;
    padding:0 14px!important;
    opacity:1!important;
    transform:none!important;
  }

  /* Delikatne warianty wycięcia szkła zachowane dla poziomego panelu. */
  .kmf-services .kmf-glass-soft-cut::after{
    right:-12px!important;
    top:-34px!important;
    width:150px!important;
    height:82px!important;
    border-radius:0 0 0 72px!important;
    transform:rotate(-4deg)!important;
    opacity:.72!important;
  }

  .kmf-services .kmf-glass-angled-cut{
    clip-path:polygon(0 0,88% 0,100% 28%,100% 100%,0 100%)!important;
  }
}

/* Tablet — panel poziomy na dole, bez hover-expand. */
@media (min-width:768px) and (max-width:1024px){
  .kmf-services .kmf-service-card{
    min-height:390px!important;
  }

  .kmf-services .kmf-service-panel{
    height:auto!important;
    min-height:172px!important;
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:12px!important;
    row-gap:0!important;
    padding:14px 15px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(255,248,241,.48))!important;
    backdrop-filter:blur(7px) saturate(1.03)!important;
    -webkit-backdrop-filter:blur(7px) saturate(1.03)!important;
    transform:none!important;
    transition:none!important;
  }

  .kmf-services .kmf-service-icon{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
  }

  .kmf-services .kmf-service-panel h3{
    grid-column:2!important;
    grid-row:1!important;
    margin:0!important;
    align-self:center!important;
  }

  .kmf-services .kmf-service-panel p{
    grid-column:1 / 3!important;
    grid-row:2!important;
    margin:10px 0 0!important;
    max-height:none!important;
    opacity:1!important;
    transform:none!important;
  }

  .kmf-services .kmf-outline-button{
    grid-column:1 / 3!important;
    grid-row:3!important;
    justify-self:start!important;
    min-height:44px!important;
    max-height:none!important;
    margin-top:12px!important;
    padding:0 16px!important;
    opacity:1!important;
    transform:none!important;
  }

  .kmf-services .kmf-service-card:hover .kmf-service-panel,
  .kmf-services .kmf-service-card:focus-within .kmf-service-panel{
    transform:none!important;
  }

  .kmf-services .kmf-glass-angled-cut{
    clip-path:polygon(0 0,91% 0,100% 22%,100% 100%,0 100%)!important;
  }
}

/* Telefon — panel poziomy na dole, bez żadnego rozwijania. */
@media (max-width:767px){
  .kmf-services .kmf-service-card{
    min-height:420px!important;
  }

  .kmf-services .kmf-service-panel{
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    height:auto!important;
    min-height:178px!important;
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:11px!important;
    row-gap:0!important;
    padding:14px 15px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,248,241,.43))!important;
    backdrop-filter:blur(6px) saturate(1.02)!important;
    -webkit-backdrop-filter:blur(6px) saturate(1.02)!important;
    transform:none!important;
    transition:none!important;
  }

  .kmf-services .kmf-service-icon{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
  }

  .kmf-services .kmf-service-panel h3{
    grid-column:2!important;
    grid-row:1!important;
    margin:0!important;
    align-self:center!important;
  }

  .kmf-services .kmf-service-panel p{
    grid-column:1 / 3!important;
    grid-row:2!important;
    max-height:none!important;
    margin:10px 0 0!important;
    opacity:1!important;
    transform:none!important;
  }

  .kmf-services .kmf-outline-button{
    grid-column:1 / 3!important;
    grid-row:3!important;
    justify-self:start!important;
    min-height:46px!important;
    max-height:none!important;
    margin-top:12px!important;
    padding:0 17px!important;
    opacity:1!important;
    transform:none!important;
  }

  .kmf-services .kmf-service-card:hover .kmf-service-panel,
  .kmf-services .kmf-service-card:focus-within .kmf-service-panel{
    transform:none!important;
  }

  .kmf-services .kmf-glass-soft-cut::after{
    opacity:.48!important;
  }

  .kmf-services .kmf-glass-angled-cut{
    clip-path:polygon(0 0,92% 0,100% 18%,100% 100%,0 100%)!important;
  }
}


/* =========================================================
   V8 — dłuższe opisy usług + ikony FAQ
   ========================================================= */
@media (min-width:1025px) and (hover:hover) and (pointer:fine){
  .kmf-services .kmf-service-card{min-height:400px!important}
  .kmf-services .kmf-service-card:hover .kmf-service-panel,
  .kmf-services .kmf-service-card:focus-within .kmf-service-panel{
    height:calc(100% - 24px)!important;
    max-height:376px!important;
    align-content:start!important;
  }
  .kmf-services .kmf-service-card:hover .kmf-service-panel p,
  .kmf-services .kmf-service-card:focus-within .kmf-service-panel p{
    max-height:220px!important;
    overflow:auto!important;
    scrollbar-width:thin;
    padding-right:4px!important;
  }
  .kmf-services-grid>.kmf-service-card:nth-child(10){grid-column:2}
}
@media (min-width:768px) and (max-width:1024px){
  .kmf-services .kmf-service-card{min-height:470px!important}
  .kmf-services .kmf-service-panel{max-height:calc(100% - 24px)!important;overflow:auto!important}
}
@media (max-width:767px){
  .kmf-services .kmf-service-card{min-height:500px!important}
  .kmf-services .kmf-service-panel{max-height:calc(100% - 20px)!important;overflow:auto!important}
}
.kmf-faq-marker-icon svg{width:16px!important;height:16px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.kmf-faq-question .kmf-faq-marker-icon{color:#a97831!important}
.kmf-faq-answer>div br{content:"";display:block;margin:.55em 0}

/* =========================================================
   V8.1 — stabilny akordeon usług + Google reviews
   ========================================================= */
.kmf-services .kmf-service-panel{
  height:auto!important;
  min-height:0!important;
  display:block!important;
  padding:0!important;
  overflow:hidden!important;
  max-height:calc(100% - 24px)!important;
}
.kmf-services .kmf-service-head{
  position:relative;
  z-index:3;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 38px!important;
  align-items:center!important;
  column-gap:13px!important;
  min-height:92px!important;
  padding:13px 15px!important;
  cursor:pointer;
}
.kmf-services .kmf-service-head .kmf-service-icon{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:start!important;
  margin:0!important;
}
.kmf-services .kmf-service-head h3{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
  margin:0!important;
  min-width:0!important;
  font-size:22px!important;
  line-height:1.12!important;
  overflow-wrap:anywhere;
}
.kmf-services .kmf-service-toggle{
  grid-column:3!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:end!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(8,35,75,.16)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.46)!important;
  color:var(--kmf-navy)!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:background .22s ease,border-color .22s ease,transform .28s ease!important;
}
.kmf-services .kmf-service-toggle span{
  display:block!important;
  transform:translateY(-1px)!important;
  font-size:19px!important;
  line-height:1!important;
  transition:transform .28s ease!important;
}
.kmf-services .kmf-service-toggle:hover{
  border-color:var(--kmf-accent)!important;
  background:rgba(255,255,255,.82)!important;
}
.kmf-services .kmf-service-card.is-open .kmf-service-toggle span{
  transform:translateY(1px) rotate(180deg)!important;
}
.kmf-services .kmf-service-body{
  position:relative;
  z-index:2;
  max-height:0!important;
  overflow:hidden!important;
  padding:0 17px!important;
  opacity:0!important;
  transform:translateY(6px)!important;
  border-top:1px solid transparent;
  transition:max-height .42s cubic-bezier(.22,.72,.2,1),padding .34s ease,opacity .22s ease,transform .34s ease,border-color .25s ease!important;
}
.kmf-services .kmf-service-body p{
  margin:0!important;
  max-height:none!important;
  padding:0!important;
  overflow:visible!important;
  font-size:11.5px!important;
  line-height:1.62!important;
}
.kmf-services .kmf-service-body .kmf-outline-button{
  max-height:none!important;
  min-height:38px!important;
  margin:15px 0 0!important;
  padding:0 14px!important;
  opacity:1!important;
  transform:none!important;
}
.kmf-services .kmf-service-card.is-open .kmf-service-body{
  max-height:270px!important;
  overflow:auto!important;
  padding:18px 17px 17px!important;
  opacity:1!important;
  transform:none!important;
  border-top-color:rgba(8,35,75,.09)!important;
  scrollbar-width:thin;
}
@media (min-width:1025px) and (hover:hover) and (pointer:fine){
  .kmf-services .kmf-service-card:hover .kmf-service-panel,
  .kmf-services .kmf-service-card:focus-within .kmf-service-panel,
  .kmf-services .kmf-service-card.is-open .kmf-service-panel{
    height:auto!important;
    min-height:0!important;
    max-height:calc(100% - 24px)!important;
    padding:0!important;
    align-content:initial!important;
  }
  .kmf-services .kmf-service-card:hover .kmf-service-body,
  .kmf-services .kmf-service-card:focus-within .kmf-service-body{
    max-height:270px!important;
    overflow:auto!important;
    padding:18px 17px 17px!important;
    opacity:1!important;
    transform:none!important;
    border-top-color:rgba(8,35,75,.09)!important;
  }
  .kmf-services .kmf-service-card:hover .kmf-service-toggle span,
  .kmf-services .kmf-service-card:focus-within .kmf-service-toggle span{
    transform:translateY(1px) rotate(180deg)!important;
  }
  .kmf-services .kmf-service-card:hover .kmf-service-panel p,
  .kmf-services .kmf-service-card:focus-within .kmf-service-panel p{
    max-height:none!important;
    margin:0!important;
    overflow:visible!important;
    padding-right:0!important;
    opacity:1!important;
    transform:none!important;
  }
  .kmf-services .kmf-service-card:hover .kmf-outline-button,
  .kmf-services .kmf-service-card:focus-within .kmf-outline-button{
    max-height:none!important;
    min-height:38px!important;
    margin-top:15px!important;
    padding:0 14px!important;
    opacity:1!important;
    transform:none!important;
  }
  .kmf-services-grid>.kmf-service-card:nth-child(10){grid-column:1!important}
}
@media (min-width:768px) and (max-width:1024px){
  .kmf-services .kmf-service-panel{min-height:0!important;display:block!important;grid-template-columns:none!important;grid-template-rows:none!important;padding:0!important}
  .kmf-services .kmf-service-head{min-height:96px!important}
  .kmf-services .kmf-service-body{max-height:0!important;padding:0 16px!important;opacity:0!important;overflow:hidden!important}
  .kmf-services .kmf-service-card.is-open .kmf-service-body{max-height:285px!important;padding:18px 16px 16px!important;opacity:1!important;overflow:auto!important}
  .kmf-services-grid>.kmf-service-card:nth-child(10){grid-column:1!important}
}
@media (max-width:767px){
  .kmf-services .kmf-service-panel{min-height:0!important;display:block!important;grid-template-columns:none!important;grid-template-rows:none!important;padding:0!important}
  .kmf-services .kmf-service-head{grid-template-columns:40px minmax(0,1fr) 36px!important;min-height:94px!important;padding:13px 14px!important;column-gap:11px!important}
  .kmf-services .kmf-service-head h3{font-size:21px!important}
  .kmf-services .kmf-service-body{max-height:0!important;padding:0 15px!important;opacity:0!important;overflow:hidden!important}
  .kmf-services .kmf-service-card.is-open .kmf-service-body{max-height:310px!important;padding:17px 15px 15px!important;opacity:1!important;overflow:auto!important}
}

.kmf-review-google-avatar{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;border-radius:50%!important}
.kmf-review-author-copy{display:grid!important;gap:2px!important;min-width:0}
.kmf-review-author-name{color:#17365e!important;font-size:11px!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important}
.kmf-review-author-name:hover{color:var(--kmf-accent)!important}
.kmf-review-source{display:inline-flex!important;align-items:center!important;gap:5px!important;width:max-content;margin-top:4px!important;color:#607087!important;font-size:8.5px!important;font-weight:700!important;text-decoration:none!important}
.kmf-review-source span{width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);color:#fff!important;font-size:8px!important;font-weight:900!important}
.kmf-review-source:hover{color:#17365e!important}
.kmf-review-card.is-google-review .kmf-review-author{margin-bottom:10px}
@media (min-width:768px){.kmf-services-grid>.kmf-service-aromatouch{grid-column:1!important}}

/* =========================================================
   V8.2 — slider arrows, praktyczne kafelki, rozwijane opinie
   ========================================================= */

/* Strzałki sliderów: idealne centrowanie w zespole, opiniach i artykułach. */
.kmf-slider-controls button,
.kmf-side-slider-controls button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
  font-size:0!important;
}
.kmf-slider-arrow{
  width:1em!important;
  height:1em!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:20px!important;
  font-weight:400!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
  pointer-events:none!important;
}
.kmf-side-slider-controls .kmf-slider-arrow{font-size:20px!important}
.kmf-slider-footer-progress-only{grid-template-columns:1fr!important;gap:0!important}

/* Opinie — biały lead, równe wysokości, kontrolowane rozwijanie. */
.kmf-reviews .kmf-intro-copy{
  color:#fff!important;
  opacity:1!important;
}
.kmf-review-card{
  height:500px!important;
  min-height:500px!important;
  max-height:500px!important;
  padding:30px 28px 28px!important;
}
.kmf-review-card::after{bottom:-55px!important}
.kmf-review-copy{
  min-height:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  margin:38px 0 18px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid #dde2e8!important;
}
.kmf-review-card blockquote{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:9!important;
  overflow:hidden!important;
  max-height:15.3em!important;
  margin:0!important;
  color:#17365e!important;
  font-size:15.5px!important;
  line-height:1.7!important;
  scrollbar-width:thin!important;
  scrollbar-color:#c9b98f transparent!important;
}
.kmf-review-card blockquote::after{display:none!important}
.kmf-review-card.is-review-expanded blockquote{
  display:block!important;
  -webkit-line-clamp:unset!important;
  max-height:220px!important;
  overflow-y:auto!important;
  padding-right:6px!important;
}
.kmf-review-toggle{
  width:max-content!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:10px!important;
  padding:0 0 4px!important;
  border:0!important;
  border-bottom:1px solid rgba(169,120,49,.58)!important;
  background:transparent!important;
  color:#17365e!important;
  font-size:10.5px!important;
  font-weight:800!important;
  line-height:1.2!important;
  cursor:pointer!important;
}
.kmf-review-toggle[hidden]{display:none!important}
.kmf-review-toggle:hover{color:#a97831!important}
.kmf-review-toggle span{font-size:13px!important;line-height:1!important}
.kmf-review-author{margin-top:auto!important;margin-bottom:8px!important}
.kmf-review-card.is-google-review .kmf-review-author{margin-bottom:8px!important}

/* Cztery najważniejsze informacje przed klasycznym FAQ. */
.kmf-practical-grid{
  max-width:940px!important;
  margin:46px auto 0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.kmf-practical-card{
  width:100%!important;
  min-height:142px!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 38px!important;
  align-items:center!important;
  gap:16px!important;
  padding:20px!important;
  border:1px solid #ded2bf!important;
  border-radius:20px!important;
  background:var(--kmf-user-faq-bg,#fffdf8)!important;
  color:#08234b!important;
  text-align:left!important;
  cursor:pointer!important;
  box-shadow:0 12px 30px rgba(8,35,75,.055)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease!important;
}
.kmf-practical-card:hover,
.kmf-practical-card:focus-visible{
  transform:translateY(-3px)!important;
  border-color:#c9a45f!important;
  background:#fff9ed!important;
  box-shadow:0 20px 42px rgba(8,35,75,.10)!important;
  outline:none!important;
}
.kmf-practical-icon{
  width:48px!important;height:48px!important;display:grid!important;place-items:center!important;
  border:1px solid rgba(169,120,49,.35)!important;border-radius:14px!important;background:#fff!important;color:#a97831!important;
}
.kmf-practical-icon .kmf-faq-marker{min-width:0!important;width:24px!important;height:24px!important;border:0!important}
.kmf-practical-icon .kmf-faq-marker-icon svg{width:22px!important;height:22px!important}
.kmf-practical-copy{min-width:0!important;display:grid!important;gap:7px!important}
.kmf-practical-copy strong{
  color:#08234b!important;font-family:"Playfair Display",Georgia,serif!important;font-size:21px!important;font-weight:700!important;line-height:1.12!important;
}
.kmf-practical-copy small{color:#5f7086!important;font-size:11px!important;font-weight:400!important;line-height:1.55!important}
.kmf-practical-arrow{
  width:38px!important;height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid #d6c8b0!important;border-radius:50%!important;color:#08234b!important;font:400 18px/1 Arial,sans-serif!important;
  transition:.2s ease!important;
}
.kmf-practical-card:hover .kmf-practical-arrow{background:#e8bc6b!important;border-color:#e8bc6b!important;transform:translateX(2px)!important}
.kmf-practical-grid + .kmf-faq-list{margin-top:30px!important}

/* Modal informacji / mapa dojazdu. */
html.kmf-modal-open,body.kmf-modal-open{overflow:hidden!important}
.kmf-practical-modal{
  position:fixed!important;inset:0!important;z-index:999999!important;display:none!important;align-items:center!important;justify-content:center!important;
  padding:24px!important;
}
.kmf-practical-modal.is-open{display:flex!important}
.kmf-practical-backdrop{position:absolute!important;inset:0!important;background:rgba(4,20,45,.68)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important}
.kmf-practical-dialog{
  position:relative!important;z-index:2!important;width:min(820px,100%)!important;max-height:min(86vh,820px)!important;overflow:auto!important;
  padding:30px!important;border:1px solid rgba(232,188,107,.7)!important;border-radius:24px!important;background:#fffaf1!important;
  box-shadow:0 34px 90px rgba(2,18,45,.34)!important;
}
.kmf-practical-close{
  position:absolute!important;right:18px!important;top:18px!important;width:42px!important;height:42px!important;display:grid!important;place-items:center!important;
  padding:0!important;border:1px solid #dacdb8!important;border-radius:50%!important;background:#fff!important;color:#08234b!important;
  font:400 27px/1 Arial,sans-serif!important;cursor:pointer!important;
}
.kmf-practical-close:hover{background:#e8bc6b!important;border-color:#e8bc6b!important}
.kmf-practical-dialog-head{display:flex!important;align-items:center!important;gap:15px!important;padding-right:54px!important}
.kmf-practical-dialog-icon{width:50px!important;height:50px!important;display:grid!important;place-items:center!important;flex:0 0 50px!important;border:1px solid #d8b36a!important;border-radius:15px!important;color:#a97831!important;background:#fff!important}
.kmf-practical-dialog-icon .kmf-faq-marker{min-width:0!important;border:0!important}
.kmf-practical-dialog-icon svg{width:23px!important;height:23px!important}
.kmf-practical-dialog-head>div>span{display:block!important;margin-bottom:5px!important;color:#a97831!important;font-size:9px!important;font-weight:800!important;letter-spacing:.13em!important}
.kmf-practical-dialog h3{margin:0!important;color:#08234b!important;font-family:"Playfair Display",Georgia,serif!important;font-size:31px!important;line-height:1.08!important}
.kmf-practical-dialog-text{margin-top:22px!important;color:#36506f!important;font-size:14px!important;line-height:1.78!important}
.kmf-practical-map{height:330px!important;margin-top:24px!important;overflow:hidden!important;border:1px solid #d8cdbd!important;border-radius:18px!important;background:#e9edf2!important}
.kmf-practical-map iframe{width:100%!important;height:100%!important;border:0!important;display:block!important}
.kmf-route-button{width:max-content!important;margin-top:18px!important}

@media(max-width:767px){
  .kmf-slider-arrow{font-size:19px!important}
  .kmf-review-card{height:470px!important;min-height:470px!important;max-height:470px!important;padding:24px 20px 24px!important}
  .kmf-review-copy{margin:28px 0 14px!important}
  .kmf-review-card blockquote{font-size:14.5px!important;-webkit-line-clamp:9!important;max-height:15.3em!important}
  .kmf-review-card.is-review-expanded blockquote{max-height:200px!important}
  .kmf-practical-grid{grid-template-columns:1fr!important;margin-top:34px!important;gap:11px!important}
  .kmf-practical-card{min-height:120px!important;grid-template-columns:42px minmax(0,1fr) 34px!important;gap:12px!important;padding:16px!important;border-radius:17px!important}
  .kmf-practical-icon{width:42px!important;height:42px!important;border-radius:12px!important}
  .kmf-practical-copy strong{font-size:18px!important}
  .kmf-practical-copy small{font-size:10.5px!important}
  .kmf-practical-arrow{width:34px!important;height:34px!important}
  .kmf-practical-modal{padding:12px!important}
  .kmf-practical-dialog{padding:24px 18px 20px!important;border-radius:20px!important;max-height:90vh!important}
  .kmf-practical-close{right:12px!important;top:12px!important;width:38px!important;height:38px!important}
  .kmf-practical-dialog-head{padding-right:42px!important;gap:11px!important}
  .kmf-practical-dialog-icon{width:44px!important;height:44px!important;flex-basis:44px!important}
  .kmf-practical-dialog h3{font-size:25px!important}
  .kmf-practical-dialog-text{font-size:13px!important;line-height:1.7!important}
  .kmf-practical-map{height:270px!important}
  .kmf-route-button{width:100%!important;justify-content:center!important}
}

/* =========================================================
   V8.4 — osobna sekcja dojazdu, równe artykuły, poprawiony grid usług
   ========================================================= */

/* Usługi: żadnego ręcznego pozycjonowania ostatnich kafelków — czysty flow 3-kolumnowy. */
@media (min-width:768px){
  .kmf-services-grid{grid-auto-flow:row!important}
  .kmf-services-grid>.kmf-service-card,
  .kmf-services-grid>.kmf-service-card:nth-child(10),
  .kmf-services-grid>.kmf-service-aromatouch{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* Chevron w kółku usług jest rysowany CSS-em — idealny środek, bez zależności od glifu fontu. */
.kmf-services .kmf-service-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.kmf-services .kmf-service-toggle span{
  width:11px!important;
  height:11px!important;
  display:block!important;
  margin:-4px 0 0!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  font-size:0!important;
  line-height:0!important;
  transform:rotate(45deg)!important;
  transform-origin:50% 50%!important;
  transition:transform .28s ease,margin .28s ease!important;
}
.kmf-services .kmf-service-card.is-open .kmf-service-toggle span{
  margin:4px 0 0!important;
  transform:rotate(225deg)!important;
}
@media (min-width:1025px) and (hover:hover) and (pointer:fine){
  .kmf-services .kmf-service-card:hover .kmf-service-toggle span,
  .kmf-services .kmf-service-card:focus-within .kmf-service-toggle span{
    margin:4px 0 0!important;
    transform:rotate(225deg)!important;
  }
}

/* Wszystkie strzałki sliderów: wycentrowane niezależnie od fontu/line-height WordPressa. */
.kmf-slider-controls button,
.kmf-side-slider-controls button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
}
.kmf-slider-controls .kmf-slider-arrow,
.kmf-side-slider-controls .kmf-slider-arrow{
  position:relative!important;
  top:0!important;
  left:0!important;
  width:auto!important;
  height:auto!important;
  display:block!important;
  margin:0!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
}

/* Osobna sekcja informacji przed wizytą — niezależna od FAQ. */
.kmf-visit-info{
  background:#f7f3eb!important;
}
.kmf-visit-info .kmf-practical-grid{margin-top:44px!important}
.kmf-visit-info .kmf-practical-card{--kmf-card-accent:#e8bc6b}
.kmf-visit-info .kmf-practical-icon,
.kmf-visit-info .kmf-practical-dialog-icon{
  border-color:color-mix(in srgb,var(--kmf-card-accent) 48%,transparent)!important;
  color:var(--kmf-card-accent)!important;
}
.kmf-visit-icon-glyph{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--kmf-card-accent)!important;
}
.kmf-visit-icon-glyph i{
  display:block!important;
  font-size:22px!important;
  line-height:1!important;
  color:inherit!important;
}
.kmf-practical-dialog-icon .kmf-visit-icon-glyph i{font-size:24px!important}
.kmf-visit-info .kmf-practical-card:hover,
.kmf-visit-info .kmf-practical-card:focus-visible{border-color:var(--kmf-card-accent)!important}
.kmf-visit-info .kmf-practical-arrow{color:var(--kmf-card-accent)!important}
.kmf-visit-info .kmf-practical-card:hover .kmf-practical-arrow{
  background:var(--kmf-card-accent)!important;
  border-color:var(--kmf-card-accent)!important;
  color:#08234b!important;
}
.kmf-visit-info .kmf-practical-dialog-head>div>span{color:var(--kmf-card-accent)!important}

/* Artykuły: identyczna wysokość części tekstowej i CTA zawsze na tej samej linii. */
.kmf-articles-slider .kmf-slider-track{align-items:stretch!important}
.kmf-articles-slider .kmf-slider-track>*{height:auto!important;align-self:stretch!important}
.kmf-article-card{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
}
.kmf-article-content{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
}
.kmf-article-content h3{
  min-height:86px!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
.kmf-article-content>p{
  min-height:79px!important;
  max-height:79px!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
.kmf-article-button{
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  min-height:52px!important;
  margin-top:auto!important;
  padding:0 9px 0 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  overflow:hidden!important;
  border:1px solid #08234b!important;
  border-radius:14px!important;
  background:#08234b!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  box-shadow:0 10px 24px rgba(8,35,75,.13)!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,color .25s ease!important;
}
.kmf-article-button::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(105deg,#e8bc6b 0%,#f6d58f 58%,#e8bc6b 100%);
  transform:translateX(-104%);
  transition:transform .38s cubic-bezier(.22,.72,.2,1);
}
.kmf-article-button::after{
  content:"";
  position:absolute;
  z-index:1;
  top:-90%;
  left:-30%;
  width:22%;
  height:270%;
  background:rgba(255,255,255,.26);
  transform:rotate(18deg) translateX(-230%);
  transition:transform .5s ease;
  pointer-events:none;
}
.kmf-article-button:hover,
.kmf-article-button:focus-visible{
  transform:translateY(-2px)!important;
  border-color:#e8bc6b!important;
  color:#08234b!important;
  box-shadow:0 16px 30px rgba(8,35,75,.18)!important;
  outline:none!important;
}
.kmf-article-button:hover::before,
.kmf-article-button:focus-visible::before{transform:translateX(0)}
.kmf-article-button:hover::after,
.kmf-article-button:focus-visible::after{transform:rotate(18deg) translateX(680%)}
.kmf-article-button>span{position:relative;z-index:2}
.kmf-article-button-icon{
  position:relative;
  z-index:2;
  width:35px!important;
  height:35px!important;
  flex:0 0 35px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  background:#e8bc6b!important;
  color:#08234b!important;
  font:500 18px/1 Arial,sans-serif!important;
  transition:transform .25s ease,background .25s ease!important;
}
.kmf-article-button:hover .kmf-article-button-icon,
.kmf-article-button:focus-visible .kmf-article-button-icon{
  transform:translateX(2px)!important;
  background:#fff!important;
}
.kmf-article-author{margin-top:18px!important}

/* Sekcja masażu zachowuje akapity wprowadzone w panelu. */
.kmf-feature-massage .kmf-feature-content>p{white-space:normal!important}
.kmf-feature-massage .kmf-feature-content>p br{display:block!important;content:"";margin-top:8px!important}

@media(max-width:767px){
  .kmf-visit-info .kmf-practical-grid{margin-top:30px!important}
  .kmf-article-content h3{min-height:0!important;-webkit-line-clamp:3!important}
  .kmf-article-content>p{min-height:74px!important;max-height:74px!important;-webkit-line-clamp:3!important}
  .kmf-article-button{min-height:50px!important}
}


/* =========================================================
   V8.5 — opinie rozwijają się do pełnej treści + mapa z URL/adresu
   ========================================================= */
.kmf-reviews-slider .kmf-slider-track{
  align-items:flex-start!important;
}
.kmf-review-card{
  transition:height .28s ease, min-height .28s ease, box-shadow .28s ease!important;
}
.kmf-review-card.is-review-expanded{
  height:auto!important;
  min-height:500px!important;
  max-height:none!important;
  overflow:hidden!important;
  box-shadow:0 24px 56px rgba(1,18,46,.20)!important;
}
.kmf-review-card.is-review-expanded .kmf-review-copy{
  flex:0 0 auto!important;
}
.kmf-review-card.is-review-expanded blockquote{
  display:block!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  padding-right:0!important;
}
.kmf-review-card.is-review-expanded .kmf-review-author{
  margin-top:22px!important;
}
.kmf-review-toggle{
  position:relative!important;
  z-index:5!important;
  min-height:28px!important;
}
@media(max-width:767px){
  .kmf-review-card.is-review-expanded{
    height:auto!important;
    min-height:470px!important;
    max-height:none!important;
  }
  .kmf-review-card.is-review-expanded blockquote{
    max-height:none!important;
    overflow:visible!important;
  }
}

/* =========================================================
   V8.6 — mobile layout + review expansion hardening
   ========================================================= */

/* Opinie: po rozwinięciu treść ma mieć naturalną wysokość — bez line clamp,
   bez wewnętrznego scrolla i bez odziedziczonych limitów z V8.2. */
.kmf-reviews-slider .kmf-slider-track{
  align-items:flex-start!important;
  overflow-y:visible!important;
}
.kmf-review-card.is-review-expanded{
  height:auto!important;
  min-height:500px!important;
  max-height:none!important;
  overflow:visible!important;
}
.kmf-review-card.is-review-expanded .kmf-review-copy{
  flex:0 0 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.kmf-review-card.is-review-expanded blockquote,
.kmf-review-card.is-review-expanded [data-kmf-review-text]{
  display:block!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  padding-right:0!important;
  white-space:normal!important;
}
.kmf-review-card.is-review-expanded .kmf-review-author{margin-top:22px!important}

/* Usługi: końcówka siatki zawsze płynie naturalnie od lewej do prawej. */
@media (min-width:768px){
  .kmf-services-grid>.kmf-service-card,
  .kmf-services-grid>.kmf-service-card:nth-child(10),
  .kmf-services-grid>.kmf-service-aromatouch,
  .kmf-services-grid>.kmf-service-terapia-czaszkowo-krzyzowa{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

@media (max-width:767px){
  /* W poziomych sekcjach obraz jest pierwszy na telefonie, niezależnie od
     desktopowego ustawienia image-left / image-right. */
  .kmf-feature-path .kmf-feature-media,
  .kmf-feature-synergy .kmf-feature-media{
    order:1!important;
  }
  .kmf-feature-path .kmf-feature-content,
  .kmf-feature-synergy .kmf-feature-content{
    order:2!important;
  }

  /* Strzałki sliderów zespołu i artykułów idą wyżej — nad strefę tekstową.
     Slider opinii pozostaje bez zmian. */
  .kmf-specialists-slider .kmf-side-slider-controls button,
  .kmf-articles-slider .kmf-side-slider-controls button{
    top:30%!important;
    transform:translateY(-50%)!important;
  }
  .kmf-specialists-slider .kmf-side-slider-controls button:active,
  .kmf-articles-slider .kmf-side-slider-controls button:active{
    transform:translateY(-50%) scale(.95)!important;
  }

  .kmf-review-card.is-review-expanded{
    height:auto!important;
    min-height:470px!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .kmf-review-card.is-review-expanded .kmf-review-copy,
  .kmf-review-card.is-review-expanded blockquote,
  .kmf-review-card.is-review-expanded [data-kmf-review-text]{
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
  }
}

/* =========================================================
   V8.7 — opinie bez strzałek + niezawodne rozwijanie
   ========================================================= */
.kmf-reviews-top{
  grid-template-columns:minmax(0,1fr) 180px!important;
}
.kmf-reviews-slider-no-arrows .kmf-side-slider-controls,
.kmf-reviews .kmf-reviews-top>.kmf-slider-controls{
  display:none!important;
}
.kmf-reviews-slider .kmf-slider-track{
  align-items:flex-start!important;
}
.kmf-review-card{
  overflow:hidden!important;
}
.kmf-review-copy{
  position:relative!important;
  min-height:0!important;
  overflow:visible!important;
}
.kmf-review-card blockquote,
.kmf-review-card [data-kmf-review-text]{
  display:block!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
  height:auto!important;
  max-height:238px!important;
  overflow:hidden!important;
  white-space:normal!important;
  text-overflow:clip!important;
}
.kmf-review-card.is-review-expanded{
  height:auto!important;
  min-height:500px!important;
  max-height:none!important;
  overflow:visible!important;
}
.kmf-review-card.is-review-expanded .kmf-review-copy{
  flex:0 0 auto!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.kmf-review-card.is-review-expanded blockquote,
.kmf-review-card.is-review-expanded [data-kmf-review-text]{
  display:block!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  padding-right:0!important;
}
.kmf-review-card.is-review-expanded .kmf-review-author{
  margin-top:24px!important;
}
.kmf-review-toggle{
  flex:0 0 auto!important;
  margin-top:12px!important;
}
@media(max-width:767px){
  .kmf-reviews-top{grid-template-columns:1fr!important}
  .kmf-review-card blockquote,
  .kmf-review-card [data-kmf-review-text]{max-height:220px!important}
  .kmf-review-card.is-review-expanded{min-height:470px!important}
  .kmf-review-card.is-review-expanded blockquote,
  .kmf-review-card.is-review-expanded [data-kmf-review-text]{max-height:none!important}
}
