/*
Theme Name: Ontos Psyche V25 Fix 16
Author: ChatGPT
Description: Redesign Ontos Psyche: granatowy nagłówek z wyeksponowanym logo, ciepła stonowana kolorystyka, narracyjny układ bez sztampy i bez rażących kontrastów.
Version: 25.0.16
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ontos-psyche
*/
:root{--navy:#142b36;--navy-2:#1e3a47;--navy-3:#2b4d5b;--gold:#c8953a;--gold-soft:#e0bd73;--cream:#f4ecdf;--paper:#fbf5eb;--paper-2:#f8efe1;--sand:#eadcc9;--ink:#20313a;--muted:#62737a;--line:rgba(32,49,58,.12);--shadow:0 18px 48px rgba(24,40,49,.14);--soft-shadow:0 10px 28px rgba(24,40,49,.09);--radius:24px;--radius-lg:34px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 10% 12%,rgba(224,189,115,.18),transparent 28%),radial-gradient(circle at 90% 30%,rgba(43,77,91,.08),transparent 30%),var(--cream);font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.66;-webkit-font-smoothing:antialiased}body.admin-bar .site-header{top:32px}img{display:block;max-width:100%;height:auto}a{color:var(--navy-2);text-decoration:none;transition:.2s ease}a:hover{color:var(--gold)}p{margin:0 0 .95em}ul,ol{margin:0 0 1em;padding-left:1.15em}li+li{margin-top:.32em}.wrap{width:min(1160px,calc(100% - 52px));margin-inline:auto}.wrap.narrow{width:min(900px,calc(100% - 52px))}
h1,h2,h3,h4{margin:0 0 .52em;color:var(--navy);font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;letter-spacing:-.014em;line-height:1.08}h1{font-size:clamp(38px,4.1vw,58px)}h2{font-size:clamp(30px,3vw,44px)}h3{font-size:clamp(22px,2.1vw,30px)}.lead{font-size:clamp(17px,1.45vw,19px);line-height:1.58;color:var(--muted);max-width:760px}
.section-kicker,.eyebrow,.meta-kicker,.price-card span,.role{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:0 0 12px;padding:7px 11px;border-radius:999px;background:rgba(251,245,235,.72);border:1px solid rgba(200,149,58,.36);color:#8a6422;font-size:11px;font-weight:900;letter-spacing:.13em;line-height:1.1;text-transform:uppercase}.section-kicker.dark{background:rgba(224,189,115,.13);border-color:rgba(224,189,115,.34);color:#f0d6a0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 19px;border:0;border-radius:999px;font:inherit;font-size:15px;font-weight:850;cursor:pointer;transition:.18s ease;white-space:nowrap}.btn.primary{color:#162a34;background:linear-gradient(135deg,var(--gold-soft),#f0d18d);box-shadow:0 12px 28px rgba(200,149,58,.24)}.btn.light{color:var(--navy);background:var(--paper);border:1px solid var(--line)}.btn.ghost{color:#f8ead4;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22)}.btn.small{min-height:36px;padding:8px 13px;font-size:14px}.btn:hover{transform:translateY(-1px)}
.card,.contact-card,.booking-box,.booking-item,.post-card,.info-panel,.empty-blog,.content-card,.service-block,.service-card,.price-card{background:linear-gradient(180deg,var(--paper),var(--paper-2));border:1px solid rgba(255,255,255,.58);border-radius:var(--radius-lg);box-shadow:var(--soft-shadow)}
.site-header{position:sticky;top:0;z-index:100;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-bottom:1px solid rgba(224,189,115,.24);box-shadow:0 10px 34px rgba(12,26,34,.22)}.header-inner{min-height:96px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:34px}.brand{display:flex;align-items:center;min-height:96px}.brand img{width:162px;height:auto;filter:drop-shadow(0 10px 22px rgba(0,0,0,.16))}.primary-menu{justify-self:end;display:flex;align-items:center}.menu,.footer-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:22px}.menu li{display:flex;align-items:center;margin:0!important}.menu a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:#e9f0f2;font-size:14px;font-weight:800;line-height:1;white-space:nowrap}.menu a:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;border-radius:999px;background:var(--gold-soft);transform:scaleX(0);transform-origin:center;transition:transform .24s ease}.menu a:hover,.menu .current-menu-item>a,.menu .current_page_item>a,.menu .current-menu-ancestor>a{color:#f4d99d}.menu a:hover:after,.menu .current-menu-item>a:after,.menu .current_page_item>a:after,.menu .current-menu-ancestor>a:after{transform:scaleX(1)}.menu .btn-menu a{min-width:140px;min-height:48px;padding:0 22px;border-radius:999px;color:#162a34!important;background:linear-gradient(135deg,var(--gold-soft),#efcf88);box-shadow:0 12px 32px rgba(224,189,115,.28)}.menu .btn-menu a:after{background:#162a34;left:22px;right:22px;bottom:8px}.nav-toggle{display:none;border:1px solid rgba(224,189,115,.35);background:rgba(255,255,255,.06);color:#f8ead4;border-radius:12px;padding:10px 14px;font-weight:850}
.home-hero{position:relative;display:flex;align-items:center;min-height:calc(100vh - 96px);max-height:760px;padding:54px 0 60px;color:#eef4f6;background:radial-gradient(circle at 12% 12%,rgba(224,189,115,.12),transparent 30%),linear-gradient(135deg,#142b36 0%,#1d3845 55%,#2e4d5b 100%);overflow:hidden}.home-hero:before{content:"";position:absolute;inset:auto -120px -220px auto;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(224,189,115,.16),transparent 68%)}.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:48px;align-items:center}.hero-copy{max-width:620px}.motto{color:#f2d69c;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(29px,3vw,42px);line-height:1.08;max-width:620px;margin:0 0 20px}.intro-box{color:#dce7ea;font-size:17px}.intro-box strong{color:#fff}.styled-list{display:grid;gap:9px;list-style:none;padding:0;margin:14px 0 0}.styled-list li{position:relative;padding:12px 14px 12px 42px;border-radius:17px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10)}.styled-list li:before{content:"";position:absolute;left:16px;top:18px;width:12px;height:12px;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 0 5px rgba(224,189,115,.13)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 0}.hero-media{position:relative;min-width:0}.hero-photo{width:100%;aspect-ratio:16/10;max-height:500px;object-fit:cover;object-position:center;border-radius:32px;box-shadow:0 28px 78px rgba(0,0,0,.30)}.hero-note{position:absolute;right:18px;bottom:18px;width:min(320px,calc(100% - 36px));padding:18px 20px;border-radius:20px;background:rgba(251,245,235,.94);color:var(--ink);box-shadow:var(--shadow)}.hero-note strong{display:block;margin:0 0 5px;color:var(--navy);font-size:17px}.hero-note p{margin:0;color:#455862;font-size:14px;line-height:1.5}
.section{padding:64px 0}.page-shell{padding:54px 0 72px}.approach-section{background:linear-gradient(180deg,var(--cream),#efe3d2)}.editorial-grid,.page-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.78fr);gap:34px;align-items:center}.editorial-text,.intro-text{max-width:760px}.approach-cards{display:grid;gap:14px}.approach-cards article{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:start;padding:20px;border-radius:24px;background:var(--paper);border:1px solid rgba(255,255,255,.65);box-shadow:var(--soft-shadow)}.approach-cards span,.service-number{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--gold-soft),#efcf88);color:var(--navy);font-weight:900}.approach-cards p{margin:0}.soft-panel{margin-top:28px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(330px,1.05fr);gap:28px;align-items:center;padding:26px;border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--paper),#f6ebd9);box-shadow:var(--soft-shadow)}.soft-panel img{width:100%;max-height:360px;object-fit:cover;border-radius:24px}.final-home{background:var(--cream)}.closing-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:30px;align-items:center;padding:30px;border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--paper),#f7ead7);box-shadow:var(--soft-shadow)}.closing-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:24px}.intro-art img,.service-image img,.service-card img,.specialist-photo img,.contact-photo img{width:100%;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.intro-art img{aspect-ratio:16/9;max-height:350px}
.service-story{display:grid;gap:22px}.service-block{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr);gap:28px;align-items:start;padding:24px}.service-block.reverse{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)}.service-block.reverse .service-image{order:2}.service-image img{aspect-ratio:4/5;max-height:560px}.service-content h2,.service-card h2{font-size:36px}.service-content h3{font-size:26px;color:#8a6422;margin-top:18px}.service-duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{overflow:hidden}.service-card img{width:100%;height:240px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:none}.service-card>div{padding:24px}
.page-intro{margin-bottom:30px}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.price-card{padding:24px;display:flex;flex-direction:column;min-height:300px}.price-card strong{display:block;margin:2px 0 12px;color:var(--navy);font-family:"Cormorant Garamond",Georgia,serif;font-size:48px;line-height:1}.price-footer{margin-top:auto;padding-top:16px}.contact-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.icon-card{padding:22px;display:grid;grid-template-columns:48px 1fr;column-gap:14px;align-items:center}.icon-card h3{font-size:25px;margin:0 0 3px}.icon-card p{grid-column:2;margin:0}.contact-icon{grid-row:1 / span 2;width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold-soft),#efcf88);color:var(--navy);font-size:23px;font-weight:900}.contact-main-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:22px;align-items:start}.contact-form-card{padding:30px}.contact-stack{display:grid;gap:16px}.cf7-ontos-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:100%!important}.cf7-ontos-grid .wide{grid-column:1/-1!important}.cf7-ontos-grid input[type="text"],.cf7-ontos-grid input[type="email"],.cf7-ontos-grid input[type="tel"],.cf7-ontos-grid textarea,.booking-form input,.booking-form select,.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{width:100%!important;margin:0!important;padding:14px 15px!important;border:1px solid rgba(32,49,58,.16)!important;border-radius:16px!important;background:#fffaf1!important;font:inherit!important;color:var(--ink)!important}.cf7-ontos-grid textarea{min-height:150px!important;resize:vertical}.cf7-ontos-grid .consent{padding:12px 14px;border-radius:16px;background:#fffaf1;border:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.55}.cf7-ontos-grid .submit-row .wpcf7-submit,.wpcf7-submit.full-submit{width:100%!important;max-width:none!important;display:flex!important;text-align:center!important;justify-content:center!important}.bank-card{background:linear-gradient(180deg,var(--paper),#fff1d7)}.bank-details{display:grid;gap:10px}.bank-details>div{padding:12px 14px;border-radius:16px;background:#fffaf1;border:1px solid rgba(32,49,58,.10)}.bank-details span{display:block;margin-bottom:4px;color:#856326;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.bank-details strong{display:block;color:var(--navy);font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.blog-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.blog-card{padding:0;overflow:hidden}.post-thumb{display:block;height:190px;background:linear-gradient(135deg,var(--navy),var(--navy-3));overflow:hidden}.post-thumb img{width:100%;height:100%;object-fit:cover}.post-card-body{padding:22px}.single-hero{padding:50px 0 34px;background:linear-gradient(135deg,var(--navy),var(--navy-3));color:#fff}.single-hero h1{color:#fff}.single-content-section{padding:42px 0 64px}.single-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}
.site-footer{background:linear-gradient(180deg,var(--navy),#0f222c);color:#dce7ea;padding:52px 0 22px}.footer-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr 1.3fr;gap:18px}.footer-card{padding:20px;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}.footer-logo{width:215px;max-width:100%;margin-bottom:12px}.site-footer h3{color:#f0d397;font-size:28px}.site-footer a{color:#fff}.site-footer ul{display:grid;gap:7px;list-style:none;padding:0;margin:0}.footer-menu{display:grid;align-items:start;gap:7px}.footer-bottom{margin-top:24px;padding-top:17px;border-top:1px solid rgba(255,255,255,.12);color:#aabcc4;font-size:14px}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.4fr);gap:22px;align-items:start}.booking-box{padding:26px}.booking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.booking-steps{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.booking-steps span{padding:9px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:14px;font-weight:800;color:var(--muted)}.booking-steps span.active{background:var(--navy);border-color:var(--navy);color:#fff}
.premium-pricing-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border-radius:24px;overflow:hidden;box-shadow:var(--soft-shadow)}.premium-pricing-table th{padding:17px 20px;text-align:left;background:var(--navy);color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.premium-pricing-table td{padding:17px 20px;border-bottom:1px solid var(--line)}.table-price{display:inline-flex;padding:8px 12px;border-radius:999px;background:#fff0cf;font-weight:900;color:var(--navy)}
@media(max-width:1120px){.header-inner{gap:22px}.menu{gap:14px}.menu a{font-size:13px}.brand img{width:145px}.hero-layout,.editorial-grid,.soft-panel,.closing-card,.page-intro,.service-block,.service-block.reverse,.contact-main-grid,.booking-layout,.single-layout{grid-template-columns:1fr}.service-block.reverse .service-image{order:0}.service-image img,.specialist-photo img,.contact-photo img{aspect-ratio:16/9;max-height:none}.service-duo,.price-grid,.blog-card-grid,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{min-height:auto;max-height:none}}
@media(max-width:900px){.wrap,.wrap.narrow{width:min(100% - 34px,1160px)}.header-inner{min-height:82px;display:flex}.brand{min-height:82px}.brand img{width:132px}.nav-toggle{display:inline-flex;margin-left:auto}.primary-menu{display:none;position:absolute;left:0;right:0;top:82px;padding:16px 24px 20px;background:var(--navy);border-bottom:1px solid rgba(224,189,115,.24)}.primary-menu.open{display:block}.menu{display:grid;justify-items:start;gap:10px}.home-hero{padding:42px 0}.motto{font-size:clamp(28px,8vw,36px)}.service-duo,.price-grid,.blog-card-grid,.footer-grid,.contact-top-grid,.booking-form,.cf7-ontos-grid{grid-template-columns:1fr!important}.cf7-ontos-grid .wide{grid-column:auto!important}}
@media(max-width:560px){h1{font-size:36px}h2{font-size:30px}.hero-photo,.intro-art img,.service-image img,.closing-card img,.soft-panel img{border-radius:22px}.closing-card,.soft-panel,.service-block,.booking-box,.contact-form-card,.contact-card,.price-card{padding:19px}}


/* V11 - powrót do pierwszego układu z przesłanego zrzutu */
:root{
  --navy:#173945;
  --navy-2:#1f4653;
  --gold:#d6ad5b;
  --gold-soft:#e6c878;
  --cream:#f4ecdf;
}

/* 2. Logo mocniej eksponowane na granatowym tle */
.site-header{
  background:#173945!important;
  box-shadow:none!important;
  border-bottom:1px solid rgba(214,173,91,.26)!important;
}
.header-inner{
  min-height:116px!important;
  height:116px!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
}
.brand,
.brand:visited{
  min-height:116px!important;
  display:flex!important;
  align-items:center!important;
}
.brand img{
  width:222px!important;
  max-height:86px!important;
  object-fit:contain!important;
  filter:none!important;
}
.primary-menu{
  justify-self:end!important;
  align-self:center!important;
}
.menu{
  gap:24px!important;
}
.menu a{
  color:#e9f0f2!important;
  font-size:17px!important;
  font-weight:800!important;
  min-height:54px!important;
}
.menu a:hover,
.menu .current-menu-item>a,
.menu .current_page_item>a,
.menu .current-menu-ancestor>a{
  color:#f0cf86!important;
}
.menu a:after{
  bottom:4px!important;
  height:3px!important;
  background:#d6ad5b!important;
}
.menu .btn-menu a{
  min-width:178px!important;
  min-height:62px!important;
  border-radius:999px!important;
  color:#162a34!important;
  font-size:17px!important;
  background:linear-gradient(135deg,#e4c470,#f0d28d)!important;
}

/* Hero: układ jak w pierwszej wersji ze zrzutu */
.home-hero.return-hero,
.home-hero{
  min-height:calc(100vh - 116px)!important;
  max-height:none!important;
  padding:42px 0 48px!important;
  background:#173945!important;
  overflow:hidden!important;
}
.home-hero:before,
.home-hero:after{
  display:none!important;
}
.home-hero .hero-layout{
  display:grid!important;
  grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr)!important;
  gap:58px!important;
  align-items:center!important;
  min-height:calc(100vh - 206px)!important;
}
.hero-copy{
  max-width:760px!important;
  align-self:center!important;
}
.section-kicker.dark{
  color:#f3d18c!important;
  background:rgba(243,209,140,.10)!important;
  border-color:rgba(243,209,140,.32)!important;
  font-size:14px!important;
  letter-spacing:.12em!important;
  padding:10px 17px!important;
}
.motto{
  color:#f0d9a5!important;
  font-size:clamp(44px,4.4vw,68px)!important;
  line-height:1.08!important;
  max-width:780px!important;
  margin:26px 0 26px!important;
}
.intro-box{
  color:#ffffff!important;
  font-size:20px!important;
  line-height:1.6!important;
}
.intro-box strong{
  display:block!important;
  margin-bottom:20px!important;
  color:#fff!important;
  font-size:23px!important;
}

/* 1. Kafle tekstu w hero */
.hero-copy .styled-list{
  display:grid!important;
  gap:20px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.hero-copy .styled-list li{
  position:relative!important;
  padding:22px 26px 22px 64px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#f6fbfc!important;
  font-size:22px!important;
  line-height:1.45!important;
  box-shadow:none!important;
}
.hero-copy .styled-list li:before{
  content:""!important;
  position:absolute!important;
  left:24px!important;
  top:30px!important;
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  background:#e0bd73!important;
  box-shadow:0 0 0 8px rgba(224,189,115,.13)!important;
}

/* 3. Obraz po prawej bez nakładek - gotowy do podmiany zdjęcia */
.hero-media{
  align-self:center!important;
  position:relative!important;
}
.hero-photo{
  width:100%!important;
  aspect-ratio:16/9!important;
  max-height:560px!important;
  object-fit:cover!important;
  border-radius:0!important;
  box-shadow:none!important;
  border:0!important;
}
.hero-note{
  display:none!important;
}
.hero-actions{
  display:none!important;
}

/* Dalsze sekcje cieplejsze, ale bez ruszania układu głównego */
.approach-section{
  background:linear-gradient(180deg,#f4ecdf,#efe3d2)!important;
}
.section{
  padding:64px 0!important;
}

/* Responsywność */
@media(max-width:1280px){
  .brand img{width:190px!important}
  .menu{gap:18px!important}
  .menu a{font-size:15px!important}
  .home-hero .hero-layout{grid-template-columns:1fr 1fr!important;gap:42px!important}
  .motto{font-size:clamp(38px,4vw,54px)!important}
  .hero-copy .styled-list li{font-size:19px!important}
}
@media(max-width:980px){
  .header-inner{height:92px!important;min-height:92px!important;display:flex!important}
  .brand{min-height:92px!important}
  .brand img{width:170px!important}
  .nav-toggle{display:inline-flex!important;margin-left:auto!important}
  .primary-menu{
    display:none!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:92px!important;
    padding:18px 24px 22px!important;
    background:#173945!important;
  }
  .primary-menu.open{display:block!important}
  .menu{display:grid!important;gap:10px!important}
  .menu li{height:auto!important}
  .menu a{min-height:40px!important}
  .home-hero.return-hero,
  .home-hero{min-height:auto!important;padding:38px 0!important}
  .home-hero .hero-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
    min-height:auto!important;
  }
  .hero-photo{max-height:none!important}
  .motto{font-size:clamp(32px,8vw,46px)!important}
}
@media(max-width:560px){
  .wrap{width:min(100% - 30px,1160px)!important}
  .brand img{width:150px!important}
  .hero-copy .styled-list li{
    padding:18px 18px 18px 52px!important;
    font-size:17px!important;
  }
  .hero-copy .styled-list li:before{
    left:20px!important;
    top:25px!important;
  }
}


/* V12 corrections: bez żółtych kropek, spójne boxy, zdjęcia klientki, mniejsze motto */
:root{
  --navy:#173945;
  --navy-2:#1f4653;
  --gold:#d6ad5b;
  --gold-soft:#e6c878;
  --cream:#f3eadc;
  --paper:#fbf6ed;
  --paper-2:#f7ecdc;
  --box-padding:24px;
  --box-radius:22px;
  --box-font:17px;
  --box-line:1.62;
}

/* Logo właściwe */
.brand img{
  width:238px!important;
  max-height:92px!important;
  object-fit:contain!important;
}

/* Motto mniej kobylaste */
.motto{
  font-size:clamp(34px,3.25vw,50px)!important;
  line-height:1.11!important;
  max-width:700px!important;
  margin:22px 0 24px!important;
}

/* Hero mniej rozwleczone */
.home-hero.return-hero,
.home-hero{
  min-height:calc(100vh - 116px)!important;
  padding:34px 0 36px!important;
}
.home-hero .hero-layout{
  min-height:calc(100vh - 186px)!important;
  gap:52px!important;
}

/* Lista bez żółtych kropek */
.hero-copy .styled-list,
.hero-list{
  display:grid!important;
  gap:16px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.hero-copy .styled-list li,
.hero-list li{
  position:relative!important;
  padding:20px 24px!important;
  border-radius:var(--box-radius)!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#f6fbfc!important;
  font-size:20px!important;
  line-height:1.48!important;
  box-shadow:none!important;
}
.hero-copy .styled-list li:before,
.hero-list li:before{
  display:none!important;
  content:none!important;
}
.intro-box strong{
  margin-bottom:16px!important;
  font-size:22px!important;
}

/* Obraz hero pod zdjęcia klientki */
.hero-photo{
  aspect-ratio:16/9!important;
  max-height:545px!important;
  width:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Jeden standard boxów na stronie */
.home-card,
.approach-cards article,
.soft-panel,
.closing-card,
.service-block,
.service-card,
.price-card,
.contact-card,
.booking-box,
.info-panel,
.post-card{
  padding:var(--box-padding)!important;
  border-radius:var(--box-radius)!important;
  font-size:var(--box-font)!important;
  line-height:var(--box-line)!important;
  background:linear-gradient(180deg,var(--paper),var(--paper-2))!important;
  border:1px solid rgba(255,255,255,.58)!important;
  box-shadow:0 10px 28px rgba(24,40,49,.09)!important;
}
.home-card p,
.approach-cards article p,
.soft-panel p,
.closing-card p,
.service-block p,
.service-card p,
.price-card p,
.contact-card p,
.booking-box p,
.info-panel p,
.post-card p{
  font-size:var(--box-font)!important;
  line-height:var(--box-line)!important;
}

/* Strona główna pod hero - mniej pustych przestrzeni */
.home-approach-section{
  padding:46px 0!important;
  background:linear-gradient(180deg,#f3eadc,#efe2d0)!important;
}
.home-approach-grid{
  display:grid!important;
  grid-template-columns:1.1fr .95fr .95fr!important;
  gap:18px!important;
  align-items:stretch!important;
}
.home-card-main{
  grid-row:span 1!important;
}
.home-card-main h2{
  font-size:clamp(30px,2.8vw,42px)!important;
}
.home-number-card{
  display:grid!important;
  grid-template-columns:58px 1fr!important;
  gap:16px!important;
  align-items:start!important;
}
.home-number-card span{
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,var(--gold-soft),#efcf88)!important;
  color:#173945!important;
  font-weight:900!important;
  font-size:24px!important;
}
.home-number-card p{
  margin:0!important;
}
.home-wide-card{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:1fr minmax(280px,.55fr)!important;
  gap:24px!important;
  align-items:center!important;
  padding:var(--box-padding)!important;
}
.home-wide-card img{
  width:100%!important;
  aspect-ratio:16/8!important;
  max-height:240px!important;
  object-fit:cover!important;
  border-radius:calc(var(--box-radius) - 4px)!important;
  box-shadow:none!important;
}
.final-home{
  padding:46px 0!important;
  background:#f3eadc!important;
}
.closing-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(330px,.78fr)!important;
  gap:24px!important;
  align-items:center!important;
}
.closing-card img{
  width:100%!important;
  aspect-ratio:16/9!important;
  max-height:300px!important;
  object-fit:cover!important;
  border-radius:calc(var(--box-radius) - 4px)!important;
  box-shadow:none!important;
}

/* Ujednolicenie paddingów w kartach ofertowych */
.service-card>div{
  padding:0!important;
}
.service-card img{
  margin:-24px -24px 20px!important;
  width:calc(100% + 48px)!important;
  max-width:none!important;
}

/* starsze żółte kropki gdziekolwiek w hero */
.return-hero li::before{
  display:none!important;
}

/* RWD */
@media(max-width:1280px){
  .brand img{width:205px!important}
  .motto{font-size:clamp(32px,3.4vw,44px)!important}
  .hero-copy .styled-list li,
  .hero-list li{font-size:18px!important}
  .home-approach-grid{grid-template-columns:1fr 1fr!important}
  .home-card-main{grid-column:1/-1!important}
}
@media(max-width:980px){
  .brand img{width:176px!important}
  .home-hero.return-hero,
  .home-hero{min-height:auto!important;padding:34px 0!important}
  .home-hero .hero-layout{min-height:auto!important}
  .home-approach-grid,
  .home-wide-card,
  .closing-card{grid-template-columns:1fr!important}
  .home-wide-card img,
  .closing-card img{max-height:none!important}
}
@media(max-width:560px){
  :root{--box-padding:20px;--box-font:16px}
  .motto{font-size:31px!important}
  .hero-list li{font-size:16px!important}
  .home-number-card{grid-template-columns:1fr!important}
}


/* V13 final hero corrections */
.home-hero .hero-layout{
  align-items:start!important;
  padding-top:54px!important;
}
.hero-copy{
  align-self:start!important;
}
.hero-media{
  align-self:start!important;
  margin-top:126px!important;
}
.motto{
  font-size:clamp(30px,2.75vw,42px)!important;
  line-height:1.12!important;
  max-width:690px!important;
  margin:22px 0 24px!important;
}
.hero-photo{
  aspect-ratio:1/1!important;
  width:min(100%,560px)!important;
  max-height:560px!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:1280px){
  .hero-media{margin-top:116px!important}
  .motto{font-size:clamp(29px,2.9vw,38px)!important;max-width:630px!important}
  .hero-photo{width:min(100%,500px)!important;max-height:500px!important}
}
@media(max-width:980px){
  .home-hero .hero-layout{
    padding-top:0!important;
  }
  .hero-media{
    margin-top:0!important;
  }
  .hero-photo{
    width:100%!important;
    max-height:none!important;
  }
}


/* V14: poprawki hero + Specjaliści */
.motto{
  font-size:clamp(27px,2.35vw,36px)!important;
  line-height:1.18!important;
  max-width:720px!important;
  margin:22px 0 24px!important;
}
.home-hero .hero-layout{
  align-items:start!important;
  padding-top:54px!important;
}
.hero-copy{
  align-self:start!important;
}
.hero-media{
  align-self:start!important;
  margin-top:74px!important;
}
.hero-photo{
  aspect-ratio:1/1!important;
  width:min(100%,560px)!important;
  max-height:560px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.specialists-page{
  padding-top:54px!important;
}
.specialists-intro{
  max-width:980px!important;
  margin-bottom:26px!important;
}
.specialists-intro h1{
  margin-bottom:12px!important;
}
.specialists-box-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}
.specialist-box{
  background:linear-gradient(180deg,var(--paper),var(--paper-2))!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:var(--box-radius,22px)!important;
  box-shadow:0 10px 28px rgba(24,40,49,.09)!important;
  padding:var(--box-padding,24px)!important;
  font-size:var(--box-font,17px)!important;
  line-height:var(--box-line,1.62)!important;
}
.specialist-box h2{
  font-size:clamp(25px,2.1vw,32px)!important;
  margin:10px 0 10px!important;
}
.specialist-box p{
  font-size:var(--box-font,17px)!important;
  line-height:var(--box-line,1.62)!important;
  margin:0!important;
}
.specialist-box-icon{
  display:inline-grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,var(--gold-soft),#efcf88)!important;
  color:#173945!important;
  font-weight:900!important;
  font-size:17px!important;
}
.specialist-box-wide{
  grid-column:1/-1!important;
}
.specialists-page .intro-art,
.specialists-page .specialist-photo,
.specialists-page img{
  display:none!important;
}
@media(max-width:1280px){
  .motto{
    font-size:clamp(26px,2.6vw,34px)!important;
    max-width:660px!important;
  }
  .hero-media{
    margin-top:70px!important;
  }
  .hero-photo{
    width:min(100%,500px)!important;
    max-height:500px!important;
  }
}
@media(max-width:980px){
  .home-hero .hero-layout{
    padding-top:0!important;
  }
  .hero-media{
    margin-top:0!important;
  }
  .hero-photo{
    width:100%!important;
    max-height:none!important;
  }
  .specialists-box-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:560px){
  .motto{
    font-size:27px!important;
  }
}


/* V15 final corrections */

/* Motto: smaller and wider, so it fits into 2 lines on desktop */
.motto{
  font-size:clamp(24px,1.95vw,31px)!important;
  line-height:1.18!important;
  max-width:780px!important;
  margin:22px 0 24px!important;
}

/* Hero image: aligned with first line of motto, square and rounded */
.home-hero .hero-layout{
  align-items:start!important;
  padding-top:54px!important;
}
.hero-copy{
  align-self:start!important;
}
.hero-media{
  align-self:start!important;
  margin-top:74px!important;
}
.hero-photo{
  aspect-ratio:1/1!important;
  width:min(100%,560px)!important;
  max-height:560px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:none!important;
}

/* Specialists: no big photo, but keep the small intro image next to heading */
.specialists-page{
  padding-top:54px!important;
}
.specialists-intro-with-image{
  max-width:1160px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,420px)!important;
  gap:34px!important;
  align-items:center!important;
  margin-bottom:30px!important;
}
.specialists-intro-art{
  display:block!important;
}
.specialists-intro-art img{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/10!important;
  max-height:285px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:22px!important;
  box-shadow:0 10px 28px rgba(24,40,49,.09)!important;
}
.specialists-box-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}
.specialist-box{
  background:linear-gradient(180deg,var(--paper),var(--paper-2))!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:var(--box-radius,22px)!important;
  box-shadow:0 10px 28px rgba(24,40,49,.09)!important;
  padding:var(--box-padding,24px)!important;
  font-size:var(--box-font,17px)!important;
  line-height:var(--box-line,1.62)!important;
}
.specialist-box h2{
  font-size:clamp(25px,2.1vw,32px)!important;
  margin:10px 0 10px!important;
}
.specialist-box p{
  font-size:var(--box-font,17px)!important;
  line-height:var(--box-line,1.62)!important;
  margin:0!important;
}
.specialist-box-icon{
  display:inline-grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,var(--gold-soft),#efcf88)!important;
  color:#173945!important;
  font-weight:900!important;
  font-size:17px!important;
}
.specialist-box-wide{
  grid-column:1/-1!important;
}
/* Hide only old large-image containers, not the new intro image */
.specialists-page .specialist-photo,
.specialists-page .intro-art:not(.specialists-intro-art){
  display:none!important;
}

/* Sidebar cards: add real spacing between Umów wizytę and Kontakt */
.single-sidebar,
.sidebar,
.wp-block-group.single-sidebar,
.contact-stack,
.booking-side,
aside.single-sidebar{
  display:grid!important;
  gap:24px!important;
}
.single-sidebar .contact-card + .contact-card,
.contact-stack .contact-card + .contact-card,
.booking-side .contact-card + .contact-card{
  margin-top:24px!important;
}

/* Single blog title: align left with logo/content instead of centered narrow container */
.single-hero .wrap.narrow{
  width:min(1160px,calc(100% - 52px))!important;
  max-width:1160px!important;
}
.single-content-section .wrap.single-layout{
  width:min(1160px,calc(100% - 52px))!important;
  max-width:1160px!important;
}

@media(max-width:1280px){
  .motto{
    font-size:clamp(23px,2.1vw,29px)!important;
    max-width:700px!important;
  }
  .hero-media{
    margin-top:70px!important;
  }
  .hero-photo{
    width:min(100%,500px)!important;
    max-height:500px!important;
  }
}
@media(max-width:980px){
  .home-hero .hero-layout{
    padding-top:0!important;
  }
  .hero-media{
    margin-top:0!important;
  }
  .hero-photo{
    width:100%!important;
    max-height:none!important;
  }
  .specialists-intro-with-image,
  .specialists-box-grid{
    grid-template-columns:1fr!important;
  }
  .specialists-intro-art img{
    max-height:none!important;
  }
}
@media(max-width:560px){
  .motto{
    font-size:25px!important;
  }
}


/* V16: poprawki sekcji pod hero + motto */
.motto{
  font-size:clamp(23px,1.85vw,30px)!important;
  line-height:1.2!important;
  max-width:820px!important;
}

/* Sekcja Podejście: bez łamania tekstu po jednym wyrazie */
.home-approach-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:20px!important;
  align-items:stretch!important;
}
.home-card-main{
  grid-column:1 / -1!important;
}
.home-number-card{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  min-width:0!important;
}
.home-number-card p{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1.62!important;
  margin:0!important;
}
.home-number-card span{
  flex:0 0 58px!important;
}

/* Box „Integracja ciała i umysłu”: dół taki sam jak góra */
.home-wide-card{
  padding:24px!important;
  align-items:center!important;
}
.home-wide-card p{
  margin-bottom:0!important;
}
.home-wide-card h3{
  margin-top:0!important;
}
.home-wide-card img{
  display:block!important;
  margin:0!important;
}

@media(max-width:1280px){
  .motto{
    font-size:clamp(22px,2vw,29px)!important;
    max-width:760px!important;
  }
}
@media(max-width:980px){
  .home-approach-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:560px){
  .motto{
    font-size:24px!important;
  }
  .home-number-card{
    grid-template-columns:1fr!important;
  }
}


/* V17: naprawa szerokości tekstu w boxach 1 i 2 */
.home-number-card{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  grid-template-areas:"num txt"!important;
  gap:18px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
}
.home-number-card span{
  grid-area:num!important;
  margin:0!important;
}
.home-number-card p{
  grid-area:txt!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1.62!important;
}

/* Gdy stare reguły z approach-cards nadal działają po imporcie/cache */
.approach-cards article{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:18px!important;
  width:100%!important;
  min-width:0!important;
}
.approach-cards article p{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Na desktopie wracamy do dobrego układu: opis + dwa boxy obok, ale tekst zajmuje całą dostępną szerokość */
@media(min-width:981px){
  .home-approach-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,.95fr)!important;
  }
  .home-card-main{
    grid-column:auto!important;
  }
}

/* Na mniejszych ekranach boxy mają układ poziomy numer + tekst, nie numer nad tekstem */
@media(max-width:980px){
  .home-number-card,
  .approach-cards article{
    grid-template-columns:58px minmax(0,1fr)!important;
    grid-template-areas:"num txt"!important;
  }
}
@media(max-width:560px){
  .home-number-card,
  .approach-cards article{
    grid-template-columns:52px minmax(0,1fr)!important;
  }
}


/* V18: naprawa rozwijania menu mobilnego */
@media(max-width:980px){
  .nav-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    position:relative!important;
    z-index:1002!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .nav-toggle.is-active,
  .nav-toggle[aria-expanded="true"]{
    background:rgba(224,189,115,.14)!important;
    border-color:rgba(224,189,115,.65)!important;
    color:#f4d99d!important;
  }
  .primary-menu{
    display:none!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:82px!important;
    width:100%!important;
    padding:18px 24px 22px!important;
    background:#173945!important;
    border-bottom:1px solid rgba(224,189,115,.24)!important;
    box-shadow:0 18px 36px rgba(0,0,0,.20)!important;
    z-index:1001!important;
  }
  .primary-menu.open,
  .primary-menu.is-open,
  body.mobile-menu-open .primary-menu{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .primary-menu .menu{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:start!important;
    justify-items:start!important;
  }
  .primary-menu .menu li{
    display:block!important;
    width:100%!important;
    height:auto!important;
  }
  .primary-menu .menu a{
    display:flex!important;
    width:100%!important;
    min-height:42px!important;
    justify-content:flex-start!important;
  }
  .primary-menu .menu .btn-menu a{
    width:auto!important;
    display:inline-flex!important;
    justify-content:center!important;
    padding:0 22px!important;
  }
}
@media(max-width:900px){
  .primary-menu.open,
  .primary-menu.is-open,
  body.mobile-menu-open .primary-menu{
    display:block!important;
  }
}


/* V19: legal pages and horizontal footer legal menu */
.footer-legal-menu{
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:center;
}
.footer-legal-menu a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 15px;
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.12);
  font-weight:800;
  font-size:14px;
}
.footer-legal-menu a:hover{
  color:#173945;
  background:linear-gradient(135deg,var(--gold-soft),#efcf88);
  border-color:transparent;
}
.legal-page{
  padding-top:54px!important;
}
.legal-doc{
  background:linear-gradient(180deg,var(--paper),var(--paper-2));
  border:1px solid rgba(255,255,255,.58);
  border-radius:var(--box-radius,22px);
  box-shadow:0 10px 28px rgba(24,40,49,.09);
  padding:clamp(24px,4vw,46px)!important;
  font-size:16px;
  line-height:1.72;
}
.legal-doc h1{
  font-size:clamp(34px,4vw,54px);
  margin-bottom:18px;
}
.legal-doc h2{
  font-size:clamp(25px,2.35vw,34px);
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid rgba(32,49,58,.12);
}
.legal-doc h1 + .legal-subtitle{
  color:var(--muted);
  font-size:18px;
  margin-top:-6px;
}
.legal-doc p{
  margin:0 0 12px;
  overflow-wrap:anywhere;
}
.legal-doc .legal-indent{
  padding-left:22px;
}
@media(max-width:700px){
  .footer-legal-menu{
    align-items:stretch;
  }
  .footer-legal-menu a{
    width:100%;
  }
  .legal-doc{
    padding:22px!important;
    font-size:15px;
  }
  .legal-doc .legal-indent{
    padding-left:12px;
  }
}


/* V20: jedna karta zamiast kart 1/2, bez słowa „Podejście” i bez dekoracyjnych cyfr */
.home-approach-section{
  padding:46px 0!important;
}
.home-approach-single{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.48fr)!important;
  gap:28px!important;
  align-items:center!important;
  padding:28px!important;
}
.home-approach-single h2{
  margin-top:0!important;
  font-size:clamp(30px,2.9vw,42px)!important;
}
.home-approach-single p:last-child{
  margin-bottom:0!important;
}
.home-approach-single img{
  width:100%!important;
  aspect-ratio:16/9!important;
  max-height:260px!important;
  object-fit:cover!important;
  border-radius:18px!important;
  box-shadow:none!important;
}

/* Ukrycie pozostałych dekoracyjnych numerów w innych zakładkach, jeśli zostały po cache/importach */
.home-number-card span,
.approach-cards span,
.service-number,
.specialist-box-icon,
.offer-alt-content > span{
  display:none!important;
}
.home-number-card,
.approach-cards article{
  grid-template-columns:1fr!important;
}
.specialist-box h2,
.service-content h2,
.service-card h2{
  margin-top:0!important;
}

/* Nie chowamy cyfr merytorycznych: cen, cennika, dat, kroków formularza i treści dokumentów prawnych. */
@media(max-width:980px){
  .home-approach-single{
    grid-template-columns:1fr!important;
  }
  .home-approach-single img{
    max-height:none!important;
  }
}
@media(max-width:560px){
  .home-approach-single{
    padding:22px!important;
  }
}


/* V21: ikony przy pracy z ciałem i pracy poznawczej */
.home-approach-icon-card{
  grid-template-columns:minmax(0,1fr) minmax(280px,.42fr)!important;
  gap:28px!important;
}
.approach-icon-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:20px 0;
}
.approach-icon-item{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(32,49,58,.10);
}
.approach-icon{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#fffaf1;
  border:1px solid rgba(32,49,58,.12);
  box-shadow:0 6px 16px rgba(24,40,49,.06);
}
.approach-icon svg{
  width:42px;
  height:42px;
}
.approach-icon svg path{
  fill:none;
  stroke:#173945;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.approach-icon-item h3{
  margin:0 0 6px!important;
  font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:17px!important;
  font-weight:850!important;
  line-height:1.25!important;
  color:#173945!important;
}
.approach-icon-item p{
  margin:0!important;
  font-size:15px!important;
  line-height:1.55!important;
}
@media(max-width:980px){
  .home-approach-icon-card{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:720px){
  .approach-icon-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:480px){
  .approach-icon-item{
    grid-template-columns:52px minmax(0,1fr);
    padding:15px;
  }
  .approach-icon{
    width:52px;
    height:52px;
    border-radius:16px;
  }
  .approach-icon svg{
    width:35px;
    height:35px;
  }
}


/* V22: Specjaliści bez cyfr + nagłówek charakterystyki */
.specialists-page .specialist-box-icon,
.specialists-page .specialist-box > span,
.specialists-page .specialist-box > span[class*="icon"]{
  display:none!important;
}
.specialist-characteristics-heading{
  margin-top:8px!important;
  margin-bottom:18px!important;
}
.specialist-characteristics-heading h2{
  margin:0!important;
  font-size:clamp(30px,3vw,42px)!important;
}
.specialists-box-grid .specialist-box{
  padding-top:28px!important;
}
.specialists-box-grid .specialist-box h2{
  margin-top:0!important;
}


/* V23: złota poświata na zdjęciach jak przy przycisku „Umów wizytę” */
.hero-photo,
.home-approach-single img,
.home-wide-card img,
.closing-card img,
.soft-panel img,
.intro-art img,
.service-image img,
.service-card img,
.specialists-intro-art img,
.contact-photo img,
.post-thumb img,
.single-thumb img,
.footer-card img:not(.footer-logo),
.wp-block-image img,
.woocommerce ul.products li.product img,
.product img{
  box-shadow:
    0 18px 44px rgba(224, 200, 120, .24),
    0 0 34px rgba(224, 200, 120, .18)!important;
}

/* Mocniejsza, elegancka poświata dla głównego zdjęcia w hero */
.hero-photo{
  box-shadow:
    0 22px 58px rgba(224, 200, 120, .30),
    0 0 44px rgba(224, 200, 120, .22)!important;
}

/* Logo i ikony bez poświaty zdjęciowej */
.brand img,
.footer-logo,
.approach-icon svg,
.approach-icon img{
  box-shadow:none!important;
}


/* V24: stopka — oryginalne logo, bez motta, numer konta bez bolda, linki prawne na dole */
.site-footer .footer-logo{
  width:215px!important;
  max-width:100%!important;
  margin-bottom:0!important;
  filter:none!important;
  box-shadow:none!important;
}
.site-footer .footer-card:first-child{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.footer-bank strong,
.footer-bank .footer-account{
  display:block;
  color:#fff;
  font-size:16px;
  font-weight:400!important;
  overflow-wrap:anywhere;
}
.footer-bottom{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 14px!important;
  align-items:center!important;
}
.footer-bottom-links{
  display:inline-flex!important;
  flex-wrap:wrap!important;
  gap:8px 12px!important;
  align-items:center!important;
}
.footer-bottom-links a{
  color:#dce7ea!important;
  text-decoration:none!important;
  font-weight:700!important;
}
.footer-bottom-links a:hover{
  color:#f0d397!important;
}
.footer-bottom-links a:before{
  content:"|";
  color:rgba(255,255,255,.28);
  margin-right:12px;
  font-weight:400;
}
.footer-legal-menu{
  display:none!important;
}
@media(max-width:780px){
  .footer-bottom{
    display:grid!important;
    gap:10px!important;
  }
  .footer-bottom-links{
    display:grid!important;
    gap:6px!important;
  }
  .footer-bottom-links a:before{
    display:none;
  }
}


/* V25: wymagane zgody w formularzu rezerwacji i checkout */
.booking-consents,
.ontos-checkout-consents{
  display:grid;
  gap:12px;
  margin:20px 0 18px;
}
.booking-consent,
.ontos-checkout-consents label{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:15px 16px;
  border-radius:18px;
  background:#fffaf1;
  border:1px solid rgba(32,49,58,.14);
  color:var(--ink);
  line-height:1.55;
  font-weight:650;
}
.booking-consent input,
.ontos-checkout-consents input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  margin:4px 0 0!important;
  accent-color:var(--gold);
}
.booking-consent a,
.ontos-checkout-consents a{
  font-weight:900;
  color:var(--navy);
  text-decoration:none;
}
.booking-consent a:hover,
.ontos-checkout-consents a:hover{
  color:var(--gold);
}
.booking-consent strong,
.ontos-checkout-consents strong{
  color:#b20000;
  font-weight:900;
}
.booking-consent em,
.ontos-checkout-consents em{
  color:#d40000;
  font-style:normal;
  font-weight:900;
  white-space:normal;
}
.booking-errors{
  display:none;
  margin:0 0 18px;
  padding:14px 16px;
  border-radius:18px;
  background:#fff2ee;
  border:1px solid rgba(204,42,0,.18);
  color:#8f1d00;
}
.booking-errors ul{
  margin:8px 0 0;
}
.booking-side-info .styled-list li{
  padding-left:18px!important;
}
@media(max-width:560px){
  .booking-consent,
  .ontos-checkout-consents label{
    grid-template-columns:20px minmax(0,1fr);
    padding:13px;
    font-size:14px;
  }
}


/* V25.0.1: usuwa dopisek o obowiązkowym odhaczeniu i poprawia wypunktowanie w sekcji "Jak to działa" */
.booking-consent em,
.ontos-checkout-consents em,
.ontos-checkout-consent em{
  display:none !important;
}

.booking-side-info .styled-list{
  list-style:none !important;
  margin:18px 0 0 !important;
  padding:0 !important;
}

.booking-side-info .styled-list li{
  position:relative !important;
  display:block !important;
  margin:0 0 14px !important;
  padding:0 0 0 22px !important;
  line-height:1.65 !important;
}

.booking-side-info .styled-list li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0.72em !important;
  width:9px !important;
  height:9px !important;
  border-radius:50% !important;
  background:var(--gold) !important;
  transform:translateY(-50%) !important;
  box-shadow:0 0 0 4px rgba(224,200,120,.18) !important;
}

.booking-side-info .styled-list li:last-child{
  margin-bottom:0 !important;
}


/* V25.0.3: naprawa sekcji ikon "Praca z ciałem / Praca poznawcza" */
.home-approach-icon-card{
  grid-template-columns:minmax(0,1fr) minmax(280px,.42fr) !important;
  gap:28px !important;
  align-items:center !important;
}

.approach-icon-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:16px !important;
  margin:20px 0 !important;
  align-items:stretch !important;
}

.approach-icon-item{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) !important;
  gap:16px !important;
  align-items:start !important;
  padding:18px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.48) !important;
  border:1px solid rgba(32,49,58,.10) !important;
  min-width:0 !important;
}

.approach-icon-item > div{
  min-width:0 !important;
  width:100% !important;
  max-width:none !important;
}

.approach-icon{
  width:62px !important;
  height:62px !important;
  min-width:62px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  border-radius:18px !important;
  background:#fffaf1 !important;
  border:1px solid rgba(32,49,58,.12) !important;
  box-shadow:0 6px 16px rgba(24,40,49,.06) !important;
  overflow:hidden !important;
}

.approach-icon svg{
  display:none !important; /* ukrywamy problematyczne inline svg */
}

.approach-icon::before{
  content:"" !important;
  width:34px !important;
  height:34px !important;
  display:block !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
}

.approach-icon-body::before{
  background-image:url('assets/icons/approach-body.png') !important;
}

.approach-icon-mind::before{
  background-image:url('assets/icons/approach-mind.png') !important;
}

.approach-icon-item h3{
  margin:0 0 6px !important;
  font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:17px !important;
  font-weight:850 !important;
  line-height:1.28 !important;
  color:#173945 !important;
}

.approach-icon-item p{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.6 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  max-width:none !important;
}

@media(max-width:980px){
  .home-approach-icon-card{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:720px){
  .approach-icon-grid{
    grid-template-columns:1fr !important;
  }
}


/* V25.0.4: dopracowanie formularza "Umów wizytę" */
.page-shell .booking-box{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

.booking-box{
  padding:clamp(24px,3vw,34px) !important;
}

.booking-layout{
  grid-template-columns:minmax(0,1fr) minmax(280px,330px) !important;
  gap:28px !important;
  align-items:start !important;
}

#ontos-booking{
  display:block;
}

.booking-steps{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:0 0 28px !important;
}

.booking-steps span{
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
}

.booking-form{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px 18px !important;
  align-items:end !important;
}

.booking-form label{
  display:grid !important;
  gap:8px !important;
  margin:0 !important;
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:750 !important;
  color:#173945 !important;
}

.booking-form select,
.booking-form input[type="date"],
.booking-form input[type="text"],
.booking-form input[type="email"],
.booking-form input[type="tel"]{
  width:100% !important;
  min-height:58px !important;
  padding:0 18px !important;
  border-radius:18px !important;
  border:1px solid rgba(32,49,58,.16) !important;
  background:#fffdf8 !important;
  color:#173945 !important;
  font-size:16px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7) !important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.booking-form select:focus,
.booking-form input:focus{
  outline:none !important;
  border-color:rgba(214,173,91,.85) !important;
  background:#fffaf0 !important;
  box-shadow:0 0 0 4px rgba(214,173,91,.16) !important;
}

.booking-consents{
  margin:24px 0 22px !important;
  gap:14px !important;
}

.booking-consent{
  grid-template-columns:24px minmax(0,1fr) !important;
  gap:14px !important;
  padding:17px 18px !important;
  border-radius:20px !important;
  background:rgba(255,253,248,.78) !important;
  border:1px solid rgba(32,49,58,.13) !important;
  box-shadow:0 8px 22px rgba(24,40,49,.045) !important;
  font-size:15.5px !important;
  line-height:1.55 !important;
}

.booking-consent input{
  width:19px !important;
  height:19px !important;
  margin-top:3px !important;
}

.booking-consent span{
  display:block !important;
}

.booking-consent a{
  display:inline-block !important;
  margin:0 2px !important;
  font-size:15.5px !important;
}

.booking-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  align-items:center !important;
  margin:20px 0 0 !important;
}

.booking-actions .btn,
.booking-actions button,
.booking-actions a{
  min-height:50px !important;
  padding:13px 22px !important;
  font-size:15.5px !important;
  line-height:1.2 !important;
  font-weight:850 !important;
  border-radius:999px !important;
}

.booking-note{
  margin:18px 0 0 !important;
  font-size:15.5px !important;
  line-height:1.65 !important;
  color:#173945 !important;
}

.booking-errors{
  margin:0 0 22px !important;
  padding:16px 18px !important;
  border-radius:18px !important;
  font-size:15.5px !important;
  line-height:1.55 !important;
}

.booking-errors ul{
  margin:8px 0 0 18px !important;
  padding:0 !important;
}

.booking-list{
  display:grid !important;
  gap:14px !important;
}

.booking-item{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:16px !important;
  align-items:start !important;
  padding:18px !important;
  border-radius:20px !important;
  background:#fffdf8 !important;
  border:1px solid rgba(32,49,58,.12) !important;
  box-shadow:0 8px 22px rgba(24,40,49,.045) !important;
}

.booking-item h3{
  margin:0 0 8px !important;
  font-size:22px !important;
}

.booking-item p{
  margin:0 0 10px !important;
  font-size:15.5px !important;
  line-height:1.6 !important;
}

.booking-summary-total{
  margin:20px 0 0 !important;
  padding:16px 18px !important;
  border-radius:18px !important;
  background:#fffdf8 !important;
  border:1px solid rgba(32,49,58,.12) !important;
  font-size:23px !important;
}

.booking-side-info{
  padding:24px !important;
  border-radius:24px !important;
  position:sticky !important;
  top:110px !important;
}

.booking-side-info .section-kicker{
  margin-bottom:14px !important;
}

.booking-side-info h2{
  font-size:clamp(30px,2.5vw,42px) !important;
  line-height:1.05 !important;
  margin:0 0 18px !important;
}

.booking-side-info p{
  font-size:15.5px !important;
  line-height:1.65 !important;
}

.booking-side-info .styled-list{
  display:grid !important;
  gap:14px !important;
  margin:20px 0 !important;
}

.booking-side-info .styled-list li{
  padding:0 0 0 28px !important;
  margin:0 !important;
  font-size:15.5px !important;
  line-height:1.62 !important;
}

.booking-side-info .styled-list li::before{
  left:2px !important;
  top:.78em !important;
  width:10px !important;
  height:10px !important;
}

/* WooCommerce checkout fields to match booking form */
.woocommerce-checkout .form-row label{
  font-size:15.5px !important;
  font-weight:750 !important;
  color:#173945 !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select{
  min-height:54px !important;
  border-radius:16px !important;
  border:1px solid rgba(32,49,58,.16) !important;
  background:#fffdf8 !important;
  padding:0 16px !important;
  font-size:16px !important;
}

@media(max-width:1100px){
  .booking-layout{
    grid-template-columns:1fr !important;
  }
  .booking-side-info{
    position:static !important;
  }
}

@media(max-width:720px){
  .booking-box{
    padding:20px !important;
  }
  .booking-form{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .booking-steps span{
    width:100% !important;
    justify-content:flex-start !important;
  }
  .booking-consent{
    grid-template-columns:22px minmax(0,1fr) !important;
    padding:15px !important;
    font-size:14.5px !important;
  }
  .booking-actions .btn,
  .booking-actions button,
  .booking-actions a{
    width:100% !important;
  }
  .booking-item{
    grid-template-columns:1fr !important;
  }
}


/* V25.0.5: detale formularza "Umów wizytę" */
.booking-side-info h2{
  max-width: 11ch !important;
  text-wrap: pretty !important;
}

.booking-form select,
#ontos-booking select,
.woocommerce-checkout select{
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  padding-right:52px !important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'><path d='M6 9l6 6 6-6' fill='none' stroke='%23173945' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-position:right 18px center !important;
  background-size:16px 16px !important;
}

.booking-form input[type="date"]{
  padding-right:18px !important;
}

.booking-form select:focus,
#ontos-booking select:focus,
.woocommerce-checkout select:focus{
  background-position:right 18px center !important;
}

/* lekko węższa kolumna formularza, żeby rozwijane menu wyglądało czyściej */
.booking-layout{
  grid-template-columns:minmax(0, 760px) minmax(270px, 330px) !important;
  justify-content:space-between !important;
}

#ontos-service option,
#ontos-time option,
#ontos-location option{
  font-size:15px;
}

/* Unikamy nadmiernej szerokości po otwarciu listy dzięki krótszym etykietom i sztywniejszej szerokości pola */
#ontos-service{
  width:100% !important;
  max-width:100% !important;
}

@media(max-width:1100px){
  .booking-layout{
    grid-template-columns:1fr !important;
  }
}


/* V25.0.6: bitmapowe ikony w sekcji podejścia */
.approach-icon{
  background:#fffdf8 !important;
}
.approach-icon::before{
  width:38px !important;
  height:38px !important;
  filter:none !important;
}


/* V25.0.7: proste ikonki bitmapowe wygenerowane i włożone do projektu */
.approach-icon{
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fffdf8 !important;
  border:1px solid rgba(32,49,58,.12) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  box-shadow:0 8px 20px rgba(24,40,49,.06) !important;
}
.approach-icon svg{
  display:none !important;
}
.approach-icon::before{
  content:"" !important;
  display:block !important;
  width:44px !important;
  height:44px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
}
.approach-icon-body::before{
  background-image:url('assets/icons/approach-body.png') !important;
}
.approach-icon-mind::before{
  background-image:url('assets/icons/approach-mind.png') !important;
}
@media(max-width:480px){
  .approach-icon{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
  }
  .approach-icon::before{
    width:40px !important;
    height:40px !important;
  }
}


/* V25.0.8: naprawa układu sekcji z ikonami — pełna szerokość tekstu */
.home-approach-icon-card{
  grid-template-columns:minmax(0,1fr) minmax(270px,.38fr) !important;
  gap:30px !important;
  align-items:center !important;
}

.home-approach-single-text{
  min-width:0 !important;
  width:100% !important;
}

.approach-icon-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
  margin:22px 0 !important;
  width:100% !important;
  max-width:760px !important;
}

.approach-icon-item{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:center !important;
  padding:18px 20px !important;
  min-width:0 !important;
  width:100% !important;
  min-height:auto !important;
}

.approach-icon-holder{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:64px !important;
  min-width:64px !important;
  margin:0 !important;
  padding:0 !important;
}

.approach-icon-content{
  min-width:0 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.approach-icon-item h3{
  margin:0 0 5px !important;
  width:100% !important;
  max-width:none !important;
}

.approach-icon-item p{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  line-height:1.58 !important;
}

.home-approach-single > img{
  align-self:center !important;
  width:100% !important;
  max-width:340px !important;
  justify-self:end !important;
}

@media(max-width:980px){
  .home-approach-icon-card{
    grid-template-columns:1fr !important;
  }
  .approach-icon-grid{
    max-width:none !important;
  }
  .home-approach-single > img{
    max-width:none !important;
    justify-self:stretch !important;
  }
}

@media(max-width:560px){
  .approach-icon-item{
    grid-template-columns:58px minmax(0,1fr) !important;
    gap:14px !important;
    padding:16px !important;
  }
  .approach-icon-holder{
    width:58px !important;
    min-width:58px !important;
  }
}


/* V25.0.9: menu mobilne rozwijane w dół pod paskiem */
@media(max-width:980px){
  .site-header{
    position:relative !important;
    z-index:1000 !important;
    overflow:visible !important;
  }

  .site-header .wrap,
  .nav-wrap,
  .site-nav{
    overflow:visible !important;
  }

  .nav-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:1003 !important;
  }

  .primary-menu{
    position:absolute !important;
    top:calc(100% + 12px) !important;
    right:0 !important;
    left:auto !important;
    width:min(320px, calc(100vw - 32px)) !important;
    max-width:calc(100vw - 32px) !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:10px !important;
    margin:0 !important;
    border-radius:22px !important;
    background:#173945 !important;
    border:1px solid rgba(240,211,151,.28) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.28), 0 0 30px rgba(224,200,120,.13) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-8px) !important;
    pointer-events:none !important;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
    z-index:1002 !important;
  }

  .primary-menu.open,
  .primary-menu.is-open,
  .site-nav.is-open .primary-menu{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
    pointer-events:auto !important;
  }

  .primary-menu li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }

  .primary-menu a{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-height:46px !important;
    padding:12px 14px !important;
    border-radius:14px !important;
    color:#fff !important;
    text-align:left !important;
    font-size:15px !important;
  }

  .primary-menu a:hover,
  .primary-menu .current-menu-item > a,
  .primary-menu .current_page_item > a{
    background:rgba(255,255,255,.075) !important;
    color:#f0d397 !important;
  }

  .primary-menu .btn-menu a,
  .primary-menu li:last-child a{
    margin-top:8px !important;
    justify-content:center !important;
    color:#173945 !important;
    background:linear-gradient(135deg,var(--gold-soft),#efcf88) !important;
    box-shadow:none !important;
  }

  body.mobile-menu-open{
    overflow-x:hidden !important;
  }
}


/* V25.0.10: ostateczna naprawa układu sekcji z ikonami */
.home-approach-section{
  padding:46px 0 !important;
}

.home-approach-icon-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px) !important;
  gap:32px !important;
  align-items:center !important;
  padding:30px !important;
  overflow:hidden !important;
}

.home-approach-single-text{
  min-width:0 !important;
  width:100% !important;
  max-width:none !important;
}

.home-approach-single-text > p{
  max-width:780px !important;
  margin-left:0 !important;
}

.approach-icon-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(240px,1fr)) !important;
  gap:16px !important;
  width:100% !important;
  max-width:780px !important;
  margin:22px 0 !important;
}

.approach-icon-item{
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr) !important;
  gap:16px !important;
  align-items:start !important;
  padding:18px !important;
  min-width:0 !important;
  width:100% !important;
  background:rgba(255,255,255,.52) !important;
  border:1px solid rgba(32,49,58,.11) !important;
  border-radius:20px !important;
}

.approach-icon{
  width:60px !important;
  height:60px !important;
  min-width:60px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:18px !important;
  background:#fffdf8 !important;
  border:1px solid rgba(32,49,58,.12) !important;
  box-shadow:0 8px 20px rgba(24,40,49,.055) !important;
  overflow:hidden !important;
}

.approach-icon svg,
.approach-icon img{
  display:none !important;
}

.approach-icon::before{
  content:"" !important;
  display:block !important;
  width:42px !important;
  height:42px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
}

.approach-icon-body::before{
  background-image:url('assets/icons/approach-body.png') !important;
}

.approach-icon-mind::before{
  background-image:url('assets/icons/approach-mind.png') !important;
}

.approach-icon-content{
  min-width:0 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.approach-icon-content h3{
  margin:0 0 6px !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  color:#173945 !important;
}

.approach-icon-content p,
.approach-icon-item p{
  margin:0 !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  font-size:15px !important;
  line-height:1.58 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.home-approach-image{
  margin:0 !important;
  padding:0 !important;
  align-self:center !important;
  justify-self:end !important;
  width:100% !important;
  max-width:360px !important;
}

.home-approach-image img{
  display:block !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  height:auto !important;
  max-height:250px !important;
  object-fit:cover !important;
  border-radius:18px !important;
  box-shadow:0 18px 44px rgba(224,200,120,.24),0 0 34px rgba(224,200,120,.18) !important;
}

@media(max-width:1100px){
  .home-approach-icon-card{
    grid-template-columns:1fr !important;
  }
  .home-approach-image{
    max-width:none !important;
    justify-self:stretch !important;
  }
}

@media(max-width:760px){
  .approach-icon-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:520px){
  .home-approach-icon-card{
    padding:22px !important;
  }
  .approach-icon-item{
    grid-template-columns:58px minmax(0,1fr) !important;
    gap:14px !important;
    padding:16px !important;
  }
  .approach-icon{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
  }
  .approach-icon::before{
    width:38px !important;
    height:38px !important;
  }
}


/* V25.0.11: przebudowana sekcja metody — izolowane klasy, stabilny układ */
.ontos-method-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(300px,360px) !important;
  gap:34px !important;
  align-items:center !important;
  padding:clamp(26px,3vw,38px) !important;
  overflow:hidden !important;
}

.ontos-method-content{
  min-width:0 !important;
  width:100% !important;
}

.ontos-method-content h2{
  max-width:780px !important;
  margin:0 0 18px !important;
  font-size:clamp(30px,2.5vw,42px) !important;
  line-height:1.08 !important;
}

.ontos-method-content > p{
  max-width:760px !important;
  margin:0 0 20px !important;
  font-size:17px !important;
  line-height:1.65 !important;
}

.ontos-method-benefits{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(260px,1fr)) !important;
  gap:16px !important;
  width:100% !important;
  max-width:780px !important;
  margin:22px 0 !important;
}

.ontos-method-benefit{
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr) !important;
  gap:16px !important;
  align-items:start !important;
  min-width:0 !important;
  padding:18px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.54) !important;
  border:1px solid rgba(32,49,58,.12) !important;
  box-shadow:0 8px 22px rgba(24,40,49,.045) !important;
}

.ontos-method-benefit > div{
  min-width:0 !important;
  width:100% !important;
}

.ontos-method-benefit h3{
  margin:0 0 6px !important;
  font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  color:#173945 !important;
}

.ontos-method-benefit p{
  margin:0 !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  font-size:15.5px !important;
  line-height:1.58 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.ontos-method-icon{
  width:60px !important;
  height:60px !important;
  min-width:60px !important;
  display:block !important;
  border-radius:18px !important;
  background-color:#fffdf8 !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:42px 42px !important;
  border:1px solid rgba(32,49,58,.12) !important;
  box-shadow:0 8px 20px rgba(24,40,49,.055) !important;
}

.ontos-method-icon-body{
  background-image:url('assets/icons/approach-body.png') !important;
}

.ontos-method-icon-mind{
  background-image:url('assets/icons/approach-mind.png') !important;
}

.ontos-method-image{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  max-width:360px !important;
  justify-self:end !important;
}

.ontos-method-image img{
  display:block !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  height:auto !important;
  object-fit:cover !important;
  border-radius:18px !important;
  box-shadow:0 18px 44px rgba(224,200,120,.24),0 0 34px rgba(224,200,120,.18) !important;
}

@media(max-width:1120px){
  .ontos-method-card{
    grid-template-columns:1fr !important;
  }

  .ontos-method-image{
    max-width:none !important;
    justify-self:stretch !important;
  }
}

@media(max-width:760px){
  .ontos-method-benefits{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:520px){
  .ontos-method-card{
    padding:22px !important;
  }

  .ontos-method-benefit{
    grid-template-columns:58px minmax(0,1fr) !important;
    gap:14px !important;
    padding:16px !important;
  }

  .ontos-method-icon{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    background-size:38px 38px !important;
  }
}


/* V25.0.12: wymuszenie poprawnego układu kart metody, także na starym HTML strony */
.home-approach-section .approach-icon-grid,
.home-approach-section .ontos-method-benefits{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
  width:100% !important;
  max-width:760px !important;
  margin:22px 0 !important;
}

.home-approach-section .approach-icon-item,
.home-approach-section .ontos-method-benefit{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:16px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:auto !important;
  padding:18px 20px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.54) !important;
  border:1px solid rgba(32,49,58,.12) !important;
  box-shadow:0 8px 22px rgba(24,40,49,.045) !important;
}

.home-approach-section .approach-icon-item > p:first-child,
.home-approach-section .ontos-method-benefit > p:first-child{
  flex:0 0 60px !important;
  width:60px !important;
  min-width:60px !important;
  max-width:60px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:0 !important;
}

.home-approach-section .approach-icon,
.home-approach-section .ontos-method-icon{
  flex:0 0 60px !important;
  width:60px !important;
  height:60px !important;
  min-width:60px !important;
  max-width:60px !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:18px !important;
  background-color:#fffdf8 !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:42px 42px !important;
  border:1px solid rgba(32,49,58,.12) !important;
  box-shadow:0 8px 20px rgba(24,40,49,.055) !important;
  overflow:hidden !important;
}

.home-approach-section .approach-icon-body,
.home-approach-section .ontos-method-icon-body{
  background-image:url('assets/icons/approach-body.png') !important;
}

.home-approach-section .approach-icon-mind,
.home-approach-section .ontos-method-icon-mind{
  background-image:url('assets/icons/approach-mind.png') !important;
}

.home-approach-section .approach-icon::before,
.home-approach-section .ontos-method-icon::before{
  display:none !important;
}

.home-approach-section .approach-icon svg,
.home-approach-section .approach-icon img,
.home-approach-section .ontos-method-icon svg,
.home-approach-section .ontos-method-icon img{
  display:none !important;
}

.home-approach-section .approach-icon-content,
.home-approach-section .ontos-method-benefit > div,
.home-approach-section .approach-icon-item > div,
.home-approach-section .ontos-method-benefit .ontos-method-content{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.home-approach-section .approach-icon-content h3,
.home-approach-section .ontos-method-benefit h3,
.home-approach-section .approach-icon-item h3{
  margin:0 0 6px !important;
  font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  color:#173945 !important;
  width:100% !important;
  max-width:none !important;
}

.home-approach-section .approach-icon-content p,
.home-approach-section .ontos-method-benefit p,
.home-approach-section .approach-icon-item p:not(:first-child){
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  font-size:15.5px !important;
  line-height:1.58 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.home-approach-section .ontos-method-card,
.home-approach-section .home-approach-icon-card{
  grid-template-columns:minmax(0,1fr) minmax(280px,360px) !important;
  gap:34px !important;
  align-items:center !important;
}

.home-approach-section .ontos-method-image,
.home-approach-section .home-approach-image{
  max-width:360px !important;
  justify-self:end !important;
}

@media(max-width:1120px){
  .home-approach-section .ontos-method-card,
  .home-approach-section .home-approach-icon-card{
    grid-template-columns:1fr !important;
  }
  .home-approach-section .ontos-method-image,
  .home-approach-section .home-approach-image{
    max-width:none !important;
    justify-self:stretch !important;
  }
}

@media(max-width:560px){
  .home-approach-section .approach-icon-item,
  .home-approach-section .ontos-method-benefit{
    gap:14px !important;
    padding:16px !important;
  }
  .home-approach-section .approach-icon,
  .home-approach-section .ontos-method-icon,
  .home-approach-section .approach-icon-item > p:first-child,
  .home-approach-section .ontos-method-benefit > p:first-child{
    flex-basis:56px !important;
    width:56px !important;
    min-width:56px !important;
    max-width:56px !important;
    height:56px !important;
    background-size:38px 38px !important;
  }
}


/* V25.0.13: docelowy wygląd sekcji metody, niezależny od starego HTML */
.home-approach-section{
  padding:46px 0 !important;
}

.ontos-method-final-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(300px,360px) !important;
  gap:34px !important;
  align-items:center !important;
  padding:clamp(26px,3vw,38px) !important;
  overflow:hidden !important;
}

.ontos-method-final-content{
  min-width:0 !important;
  width:100% !important;
}

.ontos-method-final-content h2{
  max-width:780px !important;
  margin:0 0 18px !important;
  font-size:clamp(30px,2.5vw,42px) !important;
  line-height:1.08 !important;
}

.ontos-method-final-content > p{
  max-width:780px !important;
  margin:0 0 20px !important;
  font-size:17px !important;
  line-height:1.65 !important;
}

.ontos-method-final-benefits{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
  width:100% !important;
  max-width:780px !important;
  margin:22px 0 !important;
}

.ontos-method-final-benefit{
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr) !important;
  gap:16px !important;
  align-items:start !important;
  width:100% !important;
  min-width:0 !important;
  padding:18px 20px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.54) !important;
  border:1px solid rgba(32,49,58,.12) !important;
  box-shadow:0 8px 22px rgba(24,40,49,.045) !important;
}

.ontos-method-final-icon{
  width:60px !important;
  height:60px !important;
  min-width:60px !important;
  display:block !important;
  margin:0 !important;
  border-radius:18px !important;
  background-color:#fffdf8 !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:42px 42px !important;
  border:1px solid rgba(32,49,58,.12) !important;
  box-shadow:0 8px 20px rgba(24,40,49,.055) !important;
}

.ontos-method-final-icon-body{
  background-image:url('assets/icons/approach-body.png') !important;
}

.ontos-method-final-icon-mind{
  background-image:url('assets/icons/approach-mind.png') !important;
}

.ontos-method-final-benefit > div{
  min-width:0 !important;
  width:100% !important;
}

.ontos-method-final-benefit h3{
  margin:0 0 6px !important;
  font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  color:#173945 !important;
}

.ontos-method-final-benefit p{
  margin:0 !important;
  width:100% !important;
  max-width:620px !important;
  min-width:0 !important;
  font-size:15.5px !important;
  line-height:1.58 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.ontos-method-final-image{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  max-width:360px !important;
  justify-self:end !important;
}

.ontos-method-final-image img{
  display:block !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  height:auto !important;
  object-fit:cover !important;
  border-radius:18px !important;
  box-shadow:0 18px 44px rgba(224,200,120,.24),0 0 34px rgba(224,200,120,.18) !important;
}

@media(max-width:1120px){
  .ontos-method-final-card{
    grid-template-columns:1fr !important;
  }
  .ontos-method-final-image{
    max-width:none !important;
    justify-self:stretch !important;
  }
}

@media(max-width:560px){
  .ontos-method-final-card{
    padding:22px !important;
  }
  .ontos-method-final-benefit{
    grid-template-columns:58px minmax(0,1fr) !important;
    gap:14px !important;
    padding:16px !important;
  }
  .ontos-method-final-icon{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    background-size:38px 38px !important;
  }
}


/* V25.0.14: checkout tylko wymagane dane osobowe */
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #order_comments_field,
.woocommerce-checkout .woocommerce-additional-fields{
  display:none !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
}
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last{
  float:none !important;
  width:auto !important;
  margin:0 !important;
}
@media(max-width:720px){
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
    grid-template-columns:1fr !important;
  }
}


/* V25.0.15: dane osobowe w zakładce Umów wizytę / Kontakt */
.booking-contact-box{
  margin:24px 0 20px !important;
  padding:22px !important;
  border-radius:22px !important;
  background:#fffdf8 !important;
  border:1px solid rgba(32,49,58,.13) !important;
  box-shadow:0 10px 28px rgba(24,40,49,.055) !important;
}
.booking-contact-box .section-kicker{
  margin-bottom:12px !important;
}
.booking-contact-box h3{
  margin:0 0 8px !important;
  font-size:clamp(24px,2vw,32px) !important;
  line-height:1.1 !important;
}
.booking-contact-box p{
  margin:0 0 18px !important;
  font-size:15.5px !important;
  line-height:1.55 !important;
  color:#4a626c !important;
}
.booking-contact-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
}
.booking-contact-grid label{
  display:grid !important;
  gap:8px !important;
  margin:0 !important;
  font-size:15.5px !important;
  font-weight:800 !important;
  color:#173945 !important;
}
.booking-contact-grid input{
  width:100% !important;
  min-height:56px !important;
  padding:0 17px !important;
  border-radius:18px !important;
  border:1px solid rgba(32,49,58,.16) !important;
  background:#fffaf1 !important;
  color:#173945 !important;
  font-size:16px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
}
.booking-contact-grid input:focus{
  outline:none !important;
  border-color:rgba(214,173,91,.85) !important;
  box-shadow:0 0 0 4px rgba(214,173,91,.16) !important;
}
@media(max-width:720px){
  .booking-contact-grid{
    grid-template-columns:1fr !important;
  }
  .booking-contact-box{
    padding:18px !important;
  }
}


/* V25.0.16: kalendarz rezerwacji */
.booking-form select:disabled{
  opacity:.68 !important;
  cursor:not-allowed !important;
  background-color:#f5efe3 !important;
}
.booking-item .details{
  word-break:normal !important;
}
