/*
Theme Name: Hello Tup-Tup
Theme URI: https://tuptup.krakow.pl
Description: Child theme Hello Elementor dla Klubu Malucha Tup-Tup. Design system 1:1 z prototypu v2.
Author: NetFly
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-tuptup
*/


/* ===== from index.html ===== */
:root{
  --p:#5AAE82;--pd:#3D8A64;--pl:#EAF7EF;
  --a:#F5A88A;--ad:#E8886A;
  --bg:#FFF9F7;--alt:#F0F9F4;
  --tx:#2D3748;--tm:#718096;
  --w:#fff;--bd:#E2EEF2;
  --sh:0 8px 30px rgba(90,174,130,.12);
  --shh:0 16px 40px rgba(90,174,130,.22);
  --r:16px;--rl:24px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Lato',sans-serif;background:var(--bg);color:var(--tx);line-height:1.7;overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:'Poppins',sans-serif;line-height:1.2}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:50px;font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s;border:2px solid transparent}
.btn-p{background:var(--p);color:var(--w)}
.btn-p:hover{background:var(--pd);transform:translateY(-2px);box-shadow:var(--shh)}
.btn-o{background:transparent;color:var(--p);border-color:var(--p)}
.btn-o:hover{background:var(--p);color:var(--w);transform:translateY(-2px)}
.btn-a{background:var(--a);color:var(--w)}
.btn-a:hover{background:var(--ad);transform:translateY(-2px)}
/* SECTION HELPERS */
.tag{display:inline-block;background:var(--pl);color:var(--pd);font-family:'Poppins',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 16px;border-radius:50px;margin-bottom:16px}
.stitle{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;color:var(--tx);margin-bottom:16px}
.stitle span{color:var(--p)}
.sdesc{font-size:1rem;color:var(--tm);max-width:580px;line-height:1.8}
/* WAVE */
.wave{display:block;width:100%;overflow:hidden;line-height:0}
.wave svg{display:block;width:100%}
/* ===== HEADER ===== */
header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,249,247,.93);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(90,174,130,.1);transition:box-shadow .3s}
header.sc{box-shadow:0 2px 20px rgba(0,0,0,.08)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:46px;width:auto;border-radius:10px}
.logo-text strong{display:block;font-family:'Poppins',sans-serif;font-size:1rem;font-weight:700;color:var(--pd)}
.logo-text small{display:block;font-size:.65rem;color:var(--tm)}
nav ul{display:flex;list-style:none;gap:2px}
nav ul li a{display:block;padding:8px 14px;font-family:'Poppins',sans-serif;font-weight:500;font-size:.88rem;color:var(--tx);border-radius:8px;transition:all .2s}
nav ul li a:hover{background:var(--pl);color:var(--pd)}
.nav-tel{display:flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-weight:600;font-size:.88rem;color:var(--pd);white-space:nowrap}
.hbg{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hbg span{display:block;width:24px;height:2px;background:var(--tx);border-radius:2px;transition:all .3s}
.hbg.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hbg.on span:nth-child(2){opacity:0}
.hbg.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* ===== HERO ===== */
.hero{min-height:100vh;display:flex;align-items:center;padding:100px 0 60px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-200px;right:-200px;width:700px;height:700px;background:radial-gradient(circle,rgba(90,174,130,.12) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-100px;left:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(245,168,138,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.hero-content{position:relative;z-index:1}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--pl);color:var(--pd);padding:8px 20px;border-radius:50px;font-family:'Poppins',sans-serif;font-weight:600;font-size:.82rem;margin-bottom:24px}
.dot{width:8px;height:8px;background:var(--p);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}
.hero h1{font-size:clamp(2rem,5vw,3.1rem);font-weight:800;line-height:1.15;margin-bottom:20px}
.hero h1 span{color:var(--p)}
.hero-desc{font-size:1.05rem;color:var(--tm);margin-bottom:36px;max-width:480px;line-height:1.8}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px}
.hero-stats{display:flex;gap:32px}
.hero-stat strong{display:block;font-family:'Poppins',sans-serif;font-size:1.9rem;font-weight:800;color:var(--p)}
.hero-stat span{font-size:.78rem;color:var(--tm)}
.hero-img-wrap{position:relative;border-radius:var(--rl);overflow:hidden;box-shadow:0 32px 80px rgba(90,174,130,.2)}
.hero-img-wrap img{width:100%;height:560px;object-fit:cover;object-position:top center}
.hero-badge2{position:absolute;bottom:24px;left:-20px;background:var(--w);border-radius:var(--r);padding:14px 18px;box-shadow:var(--sh);display:flex;align-items:center;gap:12px;font-family:'Poppins',sans-serif;cursor:pointer;text-decoration:none;z-index:2;transition:all .3s}
.hero-badge2:hover{box-shadow:var(--shh);transform:translateY(-3px)}
.hero-badge2 .ico{width:42px;height:42px;background:var(--pl);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--p);font-size:1.1rem}
.hero-badge2 strong{display:block;font-size:1rem;color:var(--p)}
.hero-badge2 small{font-size:.72rem;color:var(--tm)}
.hero-badge2 .arrow{margin-left:2px;color:var(--p);font-size:.85rem;transition:transform .3s}
.hero-badge2:hover .arrow{transform:translateX(4px)}
.hero-badge3{position:absolute;top:24px;right:-20px;background:var(--a);border-radius:var(--r);padding:14px 18px;box-shadow:0 8px 24px rgba(245,168,138,.35);color:var(--w);font-family:'Poppins',sans-serif;text-align:center}
.hero-badge3 strong{display:block;font-size:1.3rem;font-weight:800}
.hero-badge3 small{font-size:.7rem;opacity:.85}
/* ===== FEATURES STRIP ===== */
.strip{background:var(--w);padding:56px 0}
.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.fc{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 20px;border-radius:var(--r);border:1px solid var(--bd);transition:all .3s}
.fc:hover{border-color:var(--p);box-shadow:var(--sh);transform:translateY(-4px)}
.fi{width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:14px}
.fi1{background:rgba(90,174,130,.1);color:var(--p)}
.fi2{background:rgba(245,168,138,.14);color:var(--ad)}
.fi3{background:rgba(74,155,138,.12);color:#4A9B8A}
.fi4{background:rgba(123,107,181,.12);color:#7B6BB5}
.fc h3{font-size:1.45rem;font-weight:800}
.fc p{font-size:.82rem;color:var(--tm);margin-top:4px}
/* ===== ABOUT ===== */
.about{padding:100px 0 80px;background:var(--alt)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-img-wrap{border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh);position:relative}
.about-img-wrap img{width:100%;height:500px;object-fit:cover;object-position:top center}
.about-years{position:absolute;bottom:-20px;right:-20px;background:var(--p);color:var(--w);border-radius:var(--r);padding:20px 24px;text-align:center;font-family:'Poppins',sans-serif;box-shadow:0 8px 32px rgba(90,174,130,.35)}
.about-years strong{display:block;font-size:2.4rem;font-weight:800;line-height:1}
.about-years span{font-size:.78rem;opacity:.85}
.about-quote{margin:28px 0;padding:18px 22px;background:var(--w);border-left:4px solid var(--p);border-radius:0 var(--r) var(--r) 0;font-style:italic;color:var(--tm);font-size:.92rem}
.about-quote strong{display:block;margin-top:8px;font-style:normal;color:var(--pd);font-size:.85rem}
.pts{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:32px}
.pts li{display:flex;align-items:flex-start;gap:12px;font-size:.93rem}
.pts li i{color:var(--p);margin-top:3px;flex-shrink:0}
/* ===== APPROACH ===== */
.approach{padding:100px 0 80px;background:var(--w)}
.approach-hd{text-align:center;margin-bottom:60px}
.approach-hd .sdesc{margin:0 auto}
.approach-carousel-wrap{position:relative;max-width:1100px;margin:0 auto}
.approach-grid{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scroll-behavior:smooth;margin-bottom:24px}
.approach-grid::-webkit-scrollbar{height:8px}
.approach-grid::-webkit-scrollbar-track{background:transparent}
.approach-grid::-webkit-scrollbar-thumb{background:var(--bd);border-radius:4px}
.approach-grid::-webkit-scrollbar-thumb:hover{background:var(--p)}
.approach-nav{margin-top:0;margin-bottom:24px}
.ac{background:var(--alt);border-radius:var(--rl);padding:36px 28px;position:relative;overflow:hidden;transition:all .3s;scroll-snap-align:start;flex-shrink:0;width:calc((100% - 2*28px)/3)}
.ac::before{content:'';position:absolute;top:0;left:0;right:0;height:4px}
.ac1::before{background:var(--p)}
.ac2::before{background:var(--a)}
.ac3::before{background:#7B6BB5}
.ac4::before{background:var(--p)}
.ac5::before{background:var(--a)}
.ac6::before{background:#7B6BB5}
.ac:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.ac .n{font-family:'Poppins',sans-serif;font-size:3rem;font-weight:800;color:var(--bd);line-height:1;margin-bottom:10px}
.ac h3{font-size:1.15rem;font-weight:700;margin-bottom:10px}
.ac1 h3{color:var(--pd)}
.ac2 h3{color:var(--ad)}
.ac3 h3{color:#7B6BB5}
.ac4 h3{color:var(--pd)}
.ac5 h3{color:var(--ad)}
.ac6 h3{color:#7B6BB5}
.ac p{font-size:.9rem;color:var(--tm);line-height:1.75}
.ac-empty{background:transparent;border:2px dashed var(--bd)}
.ac-empty::before{display:none}
.ac-empty .plus{font-family:'Poppins',sans-serif;font-size:2.6rem;font-weight:800;color:var(--bd);line-height:1}
.ac-empty .lbl{font-size:.78rem;color:var(--bd);margin-top:8px;letter-spacing:.05em;text-transform:uppercase}
.approach-cta{text-align:center;padding:40px;background:linear-gradient(135deg,var(--pl) 0%,rgba(245,168,138,.1) 100%);border-radius:var(--rl)}
.approach-cta p{color:var(--tm);margin-bottom:20px}
/* ===== PLAN DNIA ===== */
.daily{padding:100px 0 80px;background:var(--alt)}
.daily-hd{text-align:center;margin-bottom:50px}
.daily-hd .sdesc{margin:0 auto}
.daily-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.dl{background:var(--w);border-radius:var(--r);padding:22px 18px;box-shadow:0 4px 16px rgba(0,0,0,.04);transition:all .3s}
.dl:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.dl-time{font-family:'Poppins',sans-serif;font-weight:800;color:var(--p);font-size:1.3rem;margin-bottom:8px}
.dl-txt h3{font-size:.95rem;font-weight:700;margin-bottom:4px}
.dl-txt p{font-size:.82rem;color:var(--tm);line-height:1.5}
.daily-note{text-align:center;margin-top:32px;color:var(--tm);font-size:.85rem}
@media(max-width:1024px){.daily-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.daily-grid{grid-template-columns:1fr}}
/* ===== VIDEO ===== */
.vsec{padding:80px 0;background:var(--alt)}
.vsec-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.vsec-content h2{font-size:clamp(1.6rem,3.5vw,2.2rem);margin-bottom:14px}
.vsec-content p{color:var(--tm);margin-bottom:28px;line-height:1.8}
.phone{position:relative;width:240px;margin:0 auto}
.phone::before{content:'';position:absolute;inset:-14px;background:var(--pl);border-radius:38px;z-index:-1}
.phone video{width:100%;border-radius:26px;box-shadow:0 28px 60px rgba(0,0,0,.15);display:block}
/* ===== PLACE ===== */
.place{padding:100px 0 80px;background:var(--w)}
.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.place-main{border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh)}
.place-main img{width:100%;height:460px;object-fit:cover;object-position:top center}
.pfeat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.pf{background:var(--alt);border-radius:var(--r);padding:14px 16px;display:flex;align-items:center;gap:10px}
.pf i{color:var(--p);font-size:1rem;flex-shrink:0}
.pf span{font-size:.85rem;font-family:'Poppins',sans-serif;font-weight:500}
/* ===== GALLERY ===== */
.gallery{padding:80px 0;background:var(--alt)}
.gal-hd{text-align:center;margin-bottom:44px}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gi{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;position:relative}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gi:hover img{transform:scale(1.05)}
/* ===== PRICING ===== */
.pricing{padding:100px 0 80px;background:var(--w)}
.pricing-hd{text-align:center;margin-bottom:60px}
.pricing-hd .sdesc{margin:0 auto}
.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:780px;margin:0 auto}
.pc{background:var(--w);border:2px solid var(--bd);border-radius:var(--rl);padding:40px 34px;position:relative;transition:all .3s}
.pc:hover{border-color:var(--p);box-shadow:var(--shh);transform:translateY(-4px)}
.pc.feat{background:linear-gradient(145deg,var(--p) 0%,var(--pd) 100%);border-color:var(--p);color:var(--w)}
.pbadge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--a);color:var(--w);font-family:'Poppins',sans-serif;font-weight:600;font-size:.72rem;padding:4px 16px;border-radius:50px;white-space:nowrap}
.pc h3{font-size:1.2rem;font-weight:700;margin-bottom:8px}
.pc.feat h3{color:rgba(255,255,255,.9)}
.pprice{font-family:'Poppins',sans-serif;font-size:2.6rem;font-weight:800;line-height:1;margin:18px 0 4px;color:var(--p)}
.pc.feat .pprice{color:var(--w)}
.pperiod{font-size:.82rem;color:var(--tm);margin-bottom:26px}
.pc.feat .pperiod{color:rgba(255,255,255,.7)}
.pfeats{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:28px}
.pfeats li{display:flex;align-items:flex-start;gap:10px;font-size:.9rem}
.pfeats li i{color:var(--p);margin-top:3px;flex-shrink:0}
.pc.feat .pfeats li{color:rgba(255,255,255,.9)}
.pc.feat .pfeats li i{color:rgba(255,255,255,.8)}
.pnote{text-align:center;margin-top:36px;color:var(--tm);font-size:.88rem}
/* ===== REVIEWS ===== */
.reviews{padding:100px 0 80px;background:var(--alt)}
.rev-hd{text-align:center;margin-bottom:20px}
.grating{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:52px;flex-wrap:wrap}
.stars{color:#FFB400;font-size:1.15rem;letter-spacing:2px}
.grating span,.grating a{font-family:'Poppins',sans-serif;font-size:.9rem}
.grating a{color:var(--p);text-decoration:underline}
.rev-carousel-wrap{position:relative;max-width:1100px;margin:0 auto}
.rev-grid{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px;scroll-behavior:smooth}
.rev-grid::-webkit-scrollbar{height:8px}
.rev-grid::-webkit-scrollbar-track{background:transparent}
.rev-grid::-webkit-scrollbar-thumb{background:var(--bd);border-radius:4px}
.rev-grid::-webkit-scrollbar-thumb:hover{background:var(--p)}
.rc{background:var(--w);border-radius:var(--rl);padding:28px;box-shadow:0 4px 20px rgba(0,0,0,.05);transition:all .3s;scroll-snap-align:start;flex-shrink:0;width:calc((100% - 2*22px)/3);min-height:360px;display:flex;flex-direction:column}
.rc:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.rc .qi{font-size:2.2rem;color:var(--pl);font-family:Georgia,serif;line-height:.8;margin-bottom:10px}
.rtext{font-size:.9rem;color:var(--tm);line-height:1.8;margin-bottom:6px;font-style:italic;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rtext.expanded{display:block;overflow:visible}
.rc-expand{background:none;border:none;color:var(--p);font-size:.8rem;cursor:pointer;padding:4px 0;font-family:inherit;font-weight:600;text-align:left;display:block;margin-bottom:auto}
.rauthor{display:flex;align-items:center;gap:12px;border-top:1px solid var(--bd);padding-top:14px}
.rav{width:42px;height:42px;border-radius:50%;background:var(--pl);display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-weight:700;color:var(--pd);font-size:.9rem;flex-shrink:0}
.rai strong{display:block;font-family:'Poppins',sans-serif;font-size:.88rem;color:var(--tx)}
.rai .rs{color:#FFB400;font-size:.72rem}
.rev-nav{display:flex;gap:12px;justify-content:center;margin-top:32px}
.rev-nav button{width:44px;height:44px;border-radius:50%;background:var(--w);border:2px solid var(--bd);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--p);transition:all .3s;font-size:1.1rem}
.rev-nav button:hover{background:var(--p);color:var(--w);border-color:var(--p)}
.rev-nav button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:1024px){
.rc{width:calc((100% - 1*22px)/2)}
.ac{width:calc((100% - 1*28px)/2)}
}
@media(max-width:640px){
.rc{width:100%}
.ac{width:100%}
}
/* ===== CONTACT ===== */
.contact{padding:100px 0 80px;background:var(--w)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.cdetails{display:flex;flex-direction:column;gap:18px;margin:28px 0}
.cdet{display:flex;align-items:flex-start;gap:14px}
.cdet .ico{width:42px;height:42px;background:var(--pl);border-radius:11px;display:flex;align-items:center;justify-content:center;color:var(--p);font-size:.95rem;flex-shrink:0}
.cdt strong{display:block;font-family:'Poppins',sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tm);margin-bottom:2px}
.cdt a,.cdt span{font-weight:600;color:var(--tx);font-family:'Poppins',sans-serif;font-size:.92rem}
.cdt a:hover{color:var(--p)}
.map-wrap{border-radius:var(--r);overflow:hidden;margin-top:20px}
.map-wrap iframe{width:100%;height:210px;border:0}
.cform{background:var(--alt);border-radius:var(--rl);padding:40px 34px}
.cform h3{font-size:1.35rem;margin-bottom:8px}
.cform>p{font-size:.88rem;color:var(--tm);margin-bottom:26px}
.fg{margin-bottom:18px}
.fg label{display:block;font-family:'Poppins',sans-serif;font-weight:600;font-size:.82rem;color:var(--tx);margin-bottom:7px}
.fg input,.fg textarea,.fg select{width:100%;padding:12px 16px;border:2px solid var(--bd);border-radius:10px;font-family:'Lato',sans-serif;font-size:.93rem;color:var(--tx);background:var(--w);transition:border-color .2s;outline:none;appearance:none}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--p)}
.fg textarea{resize:vertical;min-height:100px}
.fchk{display:flex;align-items:flex-start;gap:11px;margin-bottom:22px}
.fchk input[type=checkbox]{width:17px;height:17px;flex-shrink:0;margin-top:2px;accent-color:var(--p)}
.fchk label{font-size:.8rem;color:var(--tm);line-height:1.5}
.fchk label a{color:var(--p)}
.fnote{text-align:center;font-size:.78rem;color:var(--tm);margin-top:10px}
/* ===== STEP FORM ===== */
.sf-wrap{background:var(--alt);border-radius:var(--rl);padding:40px 34px}
.sf-wrap>h3{font-size:1.35rem;margin-bottom:6px}
.sf-sub{font-size:.88rem;color:var(--tm);margin-bottom:28px}
.sf-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:32px}
.sf-step{display:flex;flex-direction:column;align-items:center;position:relative}
.sf-step:not(:last-child)::after{content:'';position:absolute;top:15px;left:50%;width:100%;height:2px;background:var(--bd);transition:background .4s;z-index:0}
.sf-step.done::after{background:var(--pd)}
.sf-dot{width:32px;height:32px;border-radius:50%;background:var(--bd);color:var(--tm);display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-weight:700;font-size:.82rem;position:relative;z-index:1;transition:all .3s}
.sf-step.active .sf-dot{background:var(--p);color:#fff;box-shadow:0 0 0 5px rgba(90,174,130,.18)}
.sf-step.done .sf-dot{background:var(--pd);color:#fff}
.sf-label{font-size:.65rem;font-family:'Poppins',sans-serif;font-weight:600;color:var(--tm);margin-top:7px;text-align:center;line-height:1.3}
.sf-step.active .sf-label,.sf-step.done .sf-label{color:var(--pd)}
.sf-pane{display:none}
.sf-pane.on{display:block}
.sf-nav{display:flex;gap:12px;margin-top:24px}
.sf-nav .btn{flex:1;justify-content:center}
.sf-err{border-color:#e53e3e!important}
.sf-summary{background:var(--w);border-radius:var(--r);padding:18px 20px;margin-bottom:20px;border:1px solid var(--bd)}
.sf-summary table{width:100%;border-collapse:collapse}
.sf-summary td{padding:8px 6px;font-size:.87rem;border-bottom:1px solid var(--bd);vertical-align:top}
.sf-summary tr:last-child td{border-bottom:none}
.sf-summary td:first-child{font-family:'Poppins',sans-serif;font-weight:600;color:var(--tm);width:44%;font-size:.8rem}
.sf-summary td:last-child{color:var(--tx);font-weight:500}
.sf-success{text-align:center;padding:20px 0;display:none}
.sf-ico-ok{width:72px;height:72px;background:rgba(74,155,138,.12);color:#4A9B8A;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 18px}
.sf-success h4{font-family:'Poppins',sans-serif;font-size:1.25rem;margin-bottom:10px;color:var(--tx)}
.sf-success .sf-msg{font-size:.9rem;color:var(--tm);margin-bottom:20px;line-height:1.75}
.sf-qbadge{font-family:'Poppins',sans-serif;font-size:1rem;font-weight:700;color:var(--w);background:var(--p);border-radius:var(--r);padding:14px 24px;margin-bottom:14px;display:inline-block}
.sf-notif{font-size:.8rem;color:var(--tm)}
@media(max-width:640px){.sf-wrap{padding:26px 18px}.sf-label{display:none}.sf-nav{flex-direction:column}}
/* ===== FOOTER ===== */
footer{background:#1A2B38;color:rgba(255,255,255,.72);padding:60px 0 32px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;margin-bottom:48px}
.flogo{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.flogo img{height:40px;width:auto;border-radius:9px}
.flogo span{font-family:'Poppins',sans-serif;font-weight:700;font-size:1rem;color:#fff}
.fcol p{font-size:.88rem;line-height:1.8;margin-bottom:18px}
.fsoc{display:flex;gap:10px}
.fsoc a{width:36px;height:36px;background:rgba(255,255,255,.08);border-radius:9px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.65);transition:all .2s}
.fsoc a:hover{background:var(--p);color:#fff;transform:translateY(-2px)}
.fcol h4{font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}
.flinks{list-style:none;display:flex;flex-direction:column;gap:9px}
.flinks li a{font-size:.85rem;color:rgba(255,255,255,.62);transition:color .2s}
.flinks li a:hover{color:var(--p)}
.fbot{padding-top:28px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.fbot p{font-size:.8rem}
.fbot a{color:var(--p)}
/* ===== RESPONSIVE ===== */
@media(max-width:768px){
  .hbg{display:flex}header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(255,249,247,.98)}
  nav ul{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;z-index:999;padding:18px 22px;overflow-y:auto;box-shadow:0 18px 40px rgba(0,0,0,.12)}
  nav ul.open{display:flex}
  nav ul li a{display:block;font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:600;color:var(--tx);padding:16px 8px;border-bottom:1px solid var(--bd);border-radius:0}
  nav ul li a:hover{background:var(--pl);color:var(--pd);border-radius:8px}
  nav ul li:last-child a{border-bottom:0}
  .nav-tel{display:flex;position:fixed;top:auto;left:22px;right:22px;bottom:22px;justify-content:center;background:var(--p);color:#fff;padding:14px;border-radius:14px;font-size:1rem;box-shadow:0 10px 24px rgba(90,174,130,.35)}
  .nav-tel i{color:#fff}
}
@media(max-width:1024px){
  .hero-grid,.about-grid,.place-grid,.vsec-inner,.contact-grid{grid-template-columns:1fr;gap:40px}
  .hero-grid>div:last-child{display:none}
  .hero{min-height:auto;padding:110px 0 70px}
  .strip-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:640px){
  .pricing-grid{grid-template-columns:1fr;max-width:360px}
  .gal-grid{grid-template-columns:repeat(2,1fr)}
  .hero-stats{gap:20px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%;justify-content:center}
  .cform{padding:26px 18px}
  .strip-grid{grid-template-columns:1fr 1fr}
}
/* ===== PRICING INFO ===== */
.pricing-info{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-bottom:32px}
.pi-item{background:var(--pl);color:var(--pd);font-family:'Poppins',sans-serif;font-size:.9rem;padding:10px 22px;border-radius:50px;font-weight:600}
.pricing-extra{max-width:780px;margin:28px auto 0;background:var(--alt);border-radius:var(--r);padding:20px 28px;font-size:.9rem;color:var(--tm);display:flex;flex-direction:column;gap:8px;border-left:4px solid var(--a)}
.pricing-extra p{line-height:1.6}
/* ===== DOTACJA ===== */
.dotacja{padding:70px 0;background:var(--w)}
.dotacja-hd{text-align:center;margin-bottom:40px}
.dotacja-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.dbox{background:var(--alt);border-radius:var(--r);padding:26px;border-left:4px solid var(--p)}
.dbox h3{font-size:.95rem;font-weight:700;color:var(--pd);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.dbox p,.dbox li{font-size:.85rem;color:var(--tm);line-height:1.75}
.dbox a{color:var(--p);text-decoration:underline}
.dbox.dbox-som{border-left-color:#7B6BB5}
.dbox.dbox-som h3{color:#7B6BB5}
@media(max-width:768px){.dotacja-grid{grid-template-columns:1fr}}
/* ===== DECORATIVE ELEMENTS ===== */
.about,.approach,.place,.pricing,.reviews,.contact,.daily{position:relative;overflow:hidden}
.about>.container,.approach>.container,.place>.container,.pricing>.container,.reviews>.container,.contact>.container,.daily>.container{position:relative;z-index:1}
.deco{position:absolute;pointer-events:none;z-index:0;animation:decoFloat 6s ease-in-out infinite}
.deco:nth-child(2n){animation-duration:7.5s;animation-delay:-2s}
@keyframes decoFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
@media(max-width:900px){.deco{display:none!important}}
/* ===== COOKIE BANNER ===== */
.cbox{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--w);box-shadow:0 -8px 40px rgba(0,0,0,.12);border-top:1px solid var(--bd);padding:0;transform:translateY(100%);transition:transform .5s cubic-bezier(.4,0,.2,1)}
.cbox.show{transform:translateY(0)}
.cbox-inner{max-width:1200px;margin:0 auto;padding:24px;display:flex;align-items:flex-start;gap:24px}
.cbox-text{flex:1}
.cbox-text h4{font-family:'Poppins',sans-serif;font-size:1rem;font-weight:700;color:var(--tx);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.cbox-text h4 i{color:var(--p);font-size:1.1rem}
.cbox-text p{font-size:.85rem;color:var(--tm);line-height:1.65;margin-bottom:12px}
.cbox-text a{color:var(--p);text-decoration:underline}
.cbox-actions{display:flex;flex-direction:column;gap:10px;min-width:200px;flex-shrink:0}
.cbox-btn{padding:12px 24px;border-radius:50px;font-family:'Poppins',sans-serif;font-weight:600;font-size:.88rem;cursor:pointer;transition:all .3s;border:2px solid transparent;text-align:center}
.cbox-btn-accept{background:var(--p);color:var(--w);border-color:var(--p)}
.cbox-btn-accept:hover{background:var(--pd);border-color:var(--pd)}
.cbox-btn-settings{background:transparent;color:var(--p);border-color:var(--p)}
.cbox-btn-settings:hover{background:var(--pl)}
.cbox-btn-save{background:var(--a);color:var(--w);border-color:var(--a)}
.cbox-btn-save:hover{background:var(--ad);border-color:var(--ad)}
.cbox-btn-reject{background:transparent;color:var(--tm);border-color:var(--bd)}
.cbox-btn-reject:hover{color:var(--tx);border-color:var(--tx)}
.cbox-cats{display:none;margin-top:14px;border-top:1px solid var(--bd);padding-top:14px}
.cbox-cats.open{display:block}
.cbox-cat{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(226,238,242,.5)}
.cbox-cat:last-child{border-bottom:none}
.cbox-cat-label{display:flex;flex-direction:column;gap:2px}
.cbox-cat-label strong{font-family:'Poppins',sans-serif;font-size:.88rem;color:var(--tx)}
.cbox-cat-label span{font-size:.78rem;color:var(--tm)}
.cbox-cat input[type=checkbox]{width:20px;height:20px;accent-color:var(--p);flex-shrink:0}
.cbox-cat input[type=checkbox]:disabled{opacity:.5}
.cbox-link{position:fixed;bottom:20px;left:20px;z-index:9998;background:var(--w);border:1px solid var(--bd);border-radius:50px;padding:8px 16px;font-size:.78rem;color:var(--tm);cursor:pointer;transition:all .3s;box-shadow:0 2px 12px rgba(0,0,0,.06);display:none;font-family:'Poppins',sans-serif}
.cbox-link:hover{color:var(--p);border-color:var(--p)}
.cbox-link i{margin-right:4px}
@media(max-width:640px){.cbox-inner{flex-direction:column;padding:20px}.cbox-actions{min-width:100%;flex-direction:row;flex-wrap:wrap}.cbox-btn{flex:1;min-width:calc(50% - 5px);font-size:.82rem;padding:10px 14px}}

/* ===== from blog.html ===== */
nav ul li a:hover,nav ul li a.active{background:var(--pl);color:var(--pd)}
.blog-hero{padding:110px 0 60px;background:linear-gradient(135deg,var(--alt) 0%,var(--bg) 100%);border-bottom:1px solid var(--bd)}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--tm);margin-bottom:28px;flex-wrap:wrap}
.breadcrumb a{color:var(--p);transition:color .2s}
.breadcrumb a:hover{color:var(--pd)}
.breadcrumb i{font-size:.65rem;color:var(--bd)}
.blog-hero-inner{display:flex;flex-direction:column;align-items:flex-start}
.blog-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;margin-bottom:14px}
.blog-hero h1 span{color:var(--p)}
.blog-hero p{font-size:1.05rem;color:var(--tm);max-width:620px;line-height:1.8;margin-bottom:28px}
.blog-meta-strip{display:flex;gap:24px;flex-wrap:wrap}
.bms-item{display:flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-size:.82rem;color:var(--tm)}
.bms-item i{color:var(--p)}
.blog-section{padding:80px 0 100px}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.bc{background:var(--w);border-radius:var(--rl);overflow:hidden;border:1px solid var(--bd);transition:all .3s;display:flex;flex-direction:column}
.bc:hover{border-color:var(--p);box-shadow:var(--shh);transform:translateY(-6px)}
.bc-img{height:240px;overflow:hidden;position:relative;flex-shrink:0}
.bc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.bc:hover .bc-img img{transform:scale(1.05)}
.bc-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem}
.bc-img-placeholder.c1{background:linear-gradient(135deg,#EAF7EF 0%,#C5EBF3 100%)}
.bc-img-placeholder.c2{background:linear-gradient(135deg,#FEF0EA 0%,#FDDCCC 100%)}
.bc-img-placeholder.c3{background:linear-gradient(135deg,#E8F5E9 0%,#C8E6C9 100%)}
.bc-img-placeholder.c4{background:linear-gradient(135deg,#F3E8FF 0%,#DEC8F0 100%)}
.bc-cat{position:absolute;top:16px;left:16px}
.bc-body{padding:28px;display:flex;flex-direction:column;flex:1}
.bc-date{font-size:.78rem;color:var(--tm);margin-bottom:12px;display:flex;align-items:center;gap:12px}
.bc-date span{display:flex;align-items:center;gap:5px}
.bc-date i{color:var(--p);font-size:.75rem}
.bc h2{font-size:1.25rem;font-weight:700;margin-bottom:12px;line-height:1.35;color:var(--tx);transition:color .2s}
.bc h2 a{color:inherit;cursor:pointer}
.bc h2 a:hover{color:var(--p)}
.bc:hover h2{color:var(--pd)}
.bc p{font-size:.9rem;color:var(--tm);line-height:1.8;flex:1;margin-bottom:20px}
.bc-footer{display:flex;align-items:center;justify-content:space-between}
.bc-read{font-family:'Poppins',sans-serif;font-weight:600;font-size:.88rem;color:var(--p);display:flex;align-items:center;gap:6px;transition:gap .2s}
.bc:hover .bc-read{gap:10px}
.bc-read i{font-size:.8rem}
.blog-cta{background:linear-gradient(135deg,var(--p) 0%,var(--pd) 100%);border-radius:var(--rl);padding:52px 48px;text-align:center;color:var(--w);margin-top:60px}
.blog-cta h2{font-size:1.8rem;font-weight:700;margin-bottom:12px}
.blog-cta p{font-size:1rem;opacity:.9;margin-bottom:28px;max-width:520px;margin-left:auto;margin-right:auto}
.blog-cta .btn{background:var(--w);color:var(--p);border-color:transparent}
.blog-cta .btn:hover{background:var(--a);color:var(--w)}
@media(max-width:768px){
  .hbg{display:flex}header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(255,249,247,.98)}
  nav ul{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;z-index:999;padding:18px 22px;overflow-y:auto;box-shadow:0 18px 40px rgba(0,0,0,.12)}
  nav ul.open{display:flex}
  nav ul li a{display:block;font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:600;color:var(--tx);padding:16px 8px;border-bottom:1px solid var(--bd);border-radius:0}
  nav ul li a:hover{background:var(--pl);color:var(--pd);border-radius:8px}
  nav ul li:last-child a{border-bottom:0}
  .nav-tel{display:flex;position:fixed;top:auto;left:22px;right:22px;bottom:22px;justify-content:center;background:var(--p);color:#fff;padding:14px;border-radius:14px;font-size:1rem;box-shadow:0 10px 24px rgba(90,174,130,.35)}
  .nav-tel i{color:#fff}
  .blog-grid{grid-template-columns:1fr}
  .blog-cta{padding:36px 24px}
  .footer-grid{grid-template-columns:1fr;gap:30px}
}

/* ===== from blog-pbp.html ===== */
h1,h2,h3,h4,h5{font-family:'Poppins',sans-serif;line-height:1.3}
.tag{display:inline-block;background:var(--pl);color:var(--pd);font-family:'Poppins',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 16px;border-radius:50px}
header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,249,247,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(90,174,130,.1);transition:box-shadow .3s}
.art-hero{padding:110px 0 0;background:var(--alt)}
.breadcrumb a{color:var(--p)}
.art-hero-inner{max-width:800px}
.art-cat{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.art-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px;padding-bottom:40px;font-size:.85rem;color:var(--tm)}
.art-meta span{display:flex;align-items:center;gap:6px}
.art-meta i{color:var(--p)}
.art-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;color:var(--tx);line-height:1.2}
.art-cover{width:100%;height:420px;background:linear-gradient(135deg,#EAF7EF 0%,#B3E5F0 50%,#D1F0F7 100%);display:flex;align-items:center;justify-content:center;font-size:6rem;overflow:hidden}
.art-cover img{width:100%;height:100%;object-fit:cover}
.art-layout{display:grid;grid-template-columns:1fr 300px;gap:60px;padding:60px 0 100px;align-items:start}
.art-content h2{font-size:1.45rem;font-weight:700;color:var(--tx);margin:40px 0 16px}
.art-content h2:first-of-type{margin-top:0}
.art-content h3{font-size:1.15rem;font-weight:700;color:var(--pd);margin:28px 0 12px}
.art-content p{font-size:1rem;color:var(--tm);line-height:1.85;margin-bottom:18px}
.art-content ul,.art-content ol{margin:0 0 18px 20px;color:var(--tm);font-size:1rem;line-height:1.85}
.art-content li{margin-bottom:8px}
.art-content strong{color:var(--tx);font-weight:700}
.art-content a{color:var(--p);text-decoration:underline}
.art-content blockquote{border-left:4px solid var(--p);padding:16px 22px;background:var(--pl);border-radius:0 var(--r) var(--r) 0;margin:28px 0;font-style:italic;color:var(--tm)}
.art-content blockquote strong{display:block;margin-top:8px;font-style:normal;color:var(--pd);font-size:.9rem}
.hbox{background:var(--pl);border-radius:var(--r);padding:24px 28px;margin:28px 0;border-left:4px solid var(--p)}
.hbox h4{font-family:'Poppins',sans-serif;font-weight:700;color:var(--pd);margin-bottom:10px;font-size:1rem}
.hbox ul{margin-left:18px;color:var(--tx);font-size:.95rem}
.hbox ul li{margin-bottom:6px}
.faq-section{margin-top:48px}
.faq-section h2{font-size:1.45rem;font-weight:700;margin-bottom:28px}
.faq-item{border:1px solid var(--bd);border-radius:var(--r);margin-bottom:12px;overflow:hidden}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;cursor:pointer;font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;color:var(--tx);transition:background .2s;gap:12px}
.faq-q:hover{background:var(--alt)}
.faq-q i{color:var(--p);flex-shrink:0;transition:transform .3s}
.faq-item.open .faq-q i{transform:rotate(45deg)}
.faq-a{display:none;padding:0 22px 18px;font-size:.93rem;color:var(--tm);line-height:1.8}
.faq-item.open .faq-a{display:block}
.art-sidebar{position:sticky;top:100px}
.sb-card{background:var(--w);border:1px solid var(--bd);border-radius:var(--rl);padding:28px;margin-bottom:20px}
.sb-card h4{font-family:'Poppins',sans-serif;font-weight:700;font-size:1rem;color:var(--tx);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--pl)}
.toc-list{list-style:none}
.toc-list li{margin-bottom:8px}
.toc-list a{font-size:.88rem;color:var(--tm);display:flex;gap:8px;align-items:flex-start;transition:color .2s}
.toc-list a:hover{color:var(--p)}
.toc-list a::before{content:'→';color:var(--p);flex-shrink:0;font-size:.8rem;margin-top:2px}
.author-box{display:flex;align-items:flex-start;gap:14px}
.author-ava{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--pl)}
.author-info strong{display:block;font-family:'Poppins',sans-serif;font-weight:700;font-size:.95rem;color:var(--tx)}
.author-info span{font-size:.82rem;color:var(--tm)}
.author-info p{font-size:.82rem;color:var(--tm);margin-top:8px;line-height:1.6}
.rel-list{list-style:none}
.rel-list li{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--bd)}
.rel-list li:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.rel-list a{font-size:.88rem;color:var(--tx);transition:color .2s;line-height:1.4;display:block}
.rel-list a:hover{color:var(--p)}
.art-cta{background:linear-gradient(135deg,var(--p) 0%,var(--pd) 100%);border-radius:var(--rl);padding:40px;text-align:center;color:var(--w);margin-top:48px}
.art-cta h3{font-size:1.35rem;margin-bottom:10px}
.art-cta p{font-size:.92rem;opacity:.9;margin-bottom:22px}
.art-cta .btn{background:var(--w);color:var(--p);border:none}
.art-cta .btn:hover{background:var(--a);color:var(--w)}
.fsoc a:hover{background:var(--p);color:#fff}
@media(max-width:1024px){
  .art-layout{grid-template-columns:1fr}
  .art-sidebar{position:static}
}
@media(max-width:768px){
  .hbg{display:flex}header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(255,249,247,.98)}
  nav ul{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;z-index:999;padding:18px 22px;overflow-y:auto;box-shadow:0 18px 40px rgba(0,0,0,.12)}
  nav ul.open{display:flex}
  nav ul li a{display:block;font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:600;color:var(--tx);padding:16px 8px;border-bottom:1px solid var(--bd);border-radius:0}
  nav ul li a:hover{background:var(--pl);color:var(--pd);border-radius:8px}
  nav ul li:last-child a{border-bottom:0}
  .nav-tel{display:flex;position:fixed;top:auto;left:22px;right:22px;bottom:22px;justify-content:center;background:var(--p);color:#fff;padding:14px;border-radius:14px;font-size:1rem;box-shadow:0 10px 24px rgba(90,174,130,.35)}
  .nav-tel i{color:#fff}
  .art-cover{height:260px;font-size:4rem}
  .footer-grid{grid-template-columns:1fr;gap:30px}
}

/* ===== from blog-adaptacja.html ===== */
:root{
  --p:#5AAE82;--pd:#3D8A64;--pl:#EAF7EF;
  --a:#F5A88A;--ad:#E8886A;
  --v:#7B6BB5;--vl:#F3E8FF;
  --bg:#FFF9F7;--alt:#F0F9F4;
  --tx:#2D3748;--tm:#718096;
  --w:#fff;--bd:#E2EEF2;
  --sh:0 8px 30px rgba(90,174,130,.12);
  --shh:0 16px 40px rgba(90,174,130,.22);
  --r:16px;--rl:24px;
}
.tag{display:inline-block;background:var(--vl);color:var(--v);font-family:'Poppins',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 16px;border-radius:50px}
.btn-p:hover{background:var(--pd);transform:translateY(-2px)}
.art-hero{padding:110px 0 0;background:var(--vl)}
.art-cat{margin-bottom:18px}
.art-meta i{color:var(--v)}
.art-cover{width:100%;height:420px;background:linear-gradient(135deg,#F3E8FF 0%,#DEC8F0 50%,#C9A8E0 100%);display:flex;align-items:center;justify-content:center;font-size:6rem;overflow:hidden}
.art-content h3{font-size:1.15rem;font-weight:700;color:var(--v);margin:28px 0 12px}
.art-content blockquote{border-left:4px solid var(--v);padding:16px 22px;background:var(--vl);border-radius:0 var(--r) var(--r) 0;margin:28px 0;font-style:italic;color:var(--tm)}
.art-content blockquote strong{display:block;margin-top:8px;font-style:normal;color:var(--v);font-size:.9rem}
.timeline{position:relative;padding-left:32px;margin:28px 0}
.timeline::before{content:'';position:absolute;left:10px;top:6px;bottom:6px;width:2px;background:linear-gradient(to bottom,var(--v),var(--a))}
.tl-step{position:relative;margin-bottom:28px}
.tl-step:last-child{margin-bottom:0}
.tl-dot{position:absolute;left:-32px;top:4px;width:20px;height:20px;border-radius:50%;background:var(--v);border:3px solid var(--w);box-shadow:0 0 0 2px var(--v);display:flex;align-items:center;justify-content:center;font-size:.65rem;color:#fff;font-family:'Poppins',sans-serif;font-weight:700}
.tl-step h4{font-family:'Poppins',sans-serif;font-weight:700;font-size:1rem;color:var(--v);margin-bottom:6px}
.tl-step p{font-size:.9rem;color:var(--tm);line-height:1.75;margin:0}
.hbox{background:var(--vl);border-radius:var(--r);padding:24px 28px;margin:28px 0;border-left:4px solid var(--v)}
.hbox h4{font-family:'Poppins',sans-serif;font-weight:700;color:var(--v);margin-bottom:10px;font-size:1rem}
.alert{background:#FFF8E1;border-left:4px solid #FFB400;border-radius:var(--r);padding:20px 24px;margin:24px 0}
.alert p{font-size:.93rem;color:var(--tx);margin:0;line-height:1.75}
.alert strong{color:#8a6500}
.sb-card h4{font-family:'Poppins',sans-serif;font-weight:700;font-size:1rem;color:var(--tx);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--vl)}
.toc-list a::before{content:'→';color:var(--v);flex-shrink:0;font-size:.8rem;margin-top:2px}
.author-ava{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}
.art-cta{background:linear-gradient(135deg,var(--v) 0%,#5a4b95 100%);border-radius:var(--rl);padding:40px;text-align:center;color:var(--w);margin-top:48px}
.art-cta .btn{background:var(--w);color:var(--v);border:none}
@media(max-width:1024px){.art-layout{grid-template-columns:1fr}.art-sidebar{position:static}}

/* ===== from blog-ogrod-sensoryczny.html ===== */
:root{
  --p:#5AAE82;--pd:#3D8A64;--pl:#EAF7EF;
  --a:#F5A88A;--ad:#E8886A;
  --g:#4A9B8A;--gl:#E8F5E9;
  --bg:#FFF9F7;--alt:#F0F9F4;
  --tx:#2D3748;--tm:#718096;
  --w:#fff;--bd:#E2EEF2;
  --sh:0 8px 30px rgba(90,174,130,.12);
  --shh:0 16px 40px rgba(90,174,130,.22);
  --r:16px;--rl:24px;
}
.tag{display:inline-block;background:var(--gl);color:var(--g);font-family:'Poppins',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 16px;border-radius:50px}
.art-hero{padding:110px 0 0;background:var(--gl)}
.art-meta i{color:var(--g)}
.art-cover{width:100%;height:420px;background:linear-gradient(135deg,#E8F5E9 0%,#C8E6C9 50%,#A5D6A7 100%);display:flex;align-items:center;justify-content:center;font-size:6rem;overflow:hidden}
.art-content h3{font-size:1.15rem;font-weight:700;color:var(--g);margin:28px 0 12px}
.art-content ul{margin:0 0 18px 20px;color:var(--tm);font-size:1rem;line-height:1.85}
.art-content blockquote{border-left:4px solid var(--g);padding:16px 22px;background:var(--gl);border-radius:0 var(--r) var(--r) 0;margin:28px 0;font-style:italic;color:var(--tm)}
.art-content blockquote strong{display:block;margin-top:8px;font-style:normal;color:var(--g);font-size:.9rem}
.sense-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:28px 0}
.sense-card{background:var(--w);border:1px solid var(--bd);border-radius:var(--r);padding:20px;transition:all .3s}
.sense-card:hover{border-color:var(--g);box-shadow:0 6px 20px rgba(74,155,138,.12)}
.sense-card .si{font-size:1.8rem;margin-bottom:10px}
.sense-card h4{font-family:'Poppins',sans-serif;font-weight:700;font-size:.95rem;color:var(--g);margin-bottom:6px}
.sense-card p{font-size:.85rem;color:var(--tm);line-height:1.7;margin:0}
.hbox{background:var(--gl);border-radius:var(--r);padding:24px 28px;margin:28px 0;border-left:4px solid var(--g)}
.hbox h4{font-family:'Poppins',sans-serif;font-weight:700;color:var(--g);margin-bottom:10px;font-size:1rem}
.sb-card h4{font-family:'Poppins',sans-serif;font-weight:700;font-size:1rem;color:var(--tx);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--gl)}
.toc-list a::before{content:'→';color:var(--g);flex-shrink:0;font-size:.8rem;margin-top:2px}
.art-cta{background:linear-gradient(135deg,var(--g) 0%,#3a7a6a 100%);border-radius:var(--rl);padding:40px;text-align:center;color:var(--w);margin-top:48px}
.art-cta .btn{background:var(--w);color:var(--g);border:none}
@media(max-width:768px){
  .hbg{display:flex}header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(255,249,247,.98)}
  nav ul{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;z-index:999;padding:18px 22px;overflow-y:auto;box-shadow:0 18px 40px rgba(0,0,0,.12)}
  nav ul.open{display:flex}
  nav ul li a{display:block;font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:600;color:var(--tx);padding:16px 8px;border-bottom:1px solid var(--bd);border-radius:0}
  nav ul li a:hover{background:var(--pl);color:var(--pd);border-radius:8px}
  nav ul li:last-child a{border-bottom:0}
  .nav-tel{display:flex;position:fixed;top:auto;left:22px;right:22px;bottom:22px;justify-content:center;background:var(--p);color:#fff;padding:14px;border-radius:14px;font-size:1rem;box-shadow:0 10px 24px rgba(90,174,130,.35)}
  .nav-tel i{color:#fff}
  .art-cover{height:260px;font-size:4rem}
  .sense-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:30px}
}

/* ===== from blog-wybor-zlobka.html ===== */
.art-cover{width:100%;height:420px;background:linear-gradient(135deg,#FEF0EA 0%,#FDDCCC 50%,#FBCBB4 100%);display:flex;align-items:center;justify-content:center;font-size:6rem;overflow:hidden}
.art-content blockquote{border-left:4px solid var(--a);padding:16px 22px;background:#FEF0EA;border-radius:0 var(--r) var(--r) 0;margin:28px 0;font-style:italic;color:var(--tm)}
.art-content blockquote strong{display:block;margin-top:8px;font-style:normal;color:var(--ad);font-size:.9rem}
.step-card{display:flex;gap:20px;align-items:flex-start;background:var(--w);border:1px solid var(--bd);border-radius:var(--r);padding:24px;margin-bottom:16px;transition:all .3s}
.step-card:hover{border-color:var(--p);box-shadow:var(--sh)}
.step-num{width:48px;height:48px;background:var(--p);color:var(--w);border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-weight:800;font-size:1.2rem;flex-shrink:0}
.step-body h3{font-size:1.05rem;font-weight:700;color:var(--tx);margin-bottom:8px}
.step-body p{font-size:.9rem;color:var(--tm);line-height:1.75;margin:0}
.art-cta{background:linear-gradient(135deg,var(--a) 0%,var(--ad) 100%);border-radius:var(--rl);padding:40px;text-align:center;color:var(--w);margin-top:48px}
.art-cta .btn{background:var(--w);color:var(--ad);border:none}
.art-cta .btn:hover{background:var(--p);color:var(--w)}
@media(max-width:768px){
  .hbg{display:flex}header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(255,249,247,.98)}
  nav ul{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;z-index:999;padding:18px 22px;overflow-y:auto;box-shadow:0 18px 40px rgba(0,0,0,.12)}
  nav ul.open{display:flex}
  nav ul li a{display:block;font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:600;color:var(--tx);padding:16px 8px;border-bottom:1px solid var(--bd);border-radius:0}
  nav ul li a:hover{background:var(--pl);color:var(--pd);border-radius:8px}
  nav ul li:last-child a{border-bottom:0}
  .nav-tel{display:flex;position:fixed;top:auto;left:22px;right:22px;bottom:22px;justify-content:center;background:var(--p);color:#fff;padding:14px;border-radius:14px;font-size:1rem;box-shadow:0 10px 24px rgba(90,174,130,.35)}
  .nav-tel i{color:#fff}
  .art-cover{height:260px;font-size:4rem}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .step-card{flex-direction:column;gap:12px}
}

/* ===== from opinie.html ===== */
.opinie-hero{padding:110px 0 60px;background:linear-gradient(135deg,var(--alt) 0%,var(--bg) 100%);border-bottom:1px solid var(--bd)}
.opinie-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;margin-bottom:14px}
.opinie-hero h1 span{color:var(--p)}
.opinie-hero .lead{font-size:1.05rem;color:var(--tm);max-width:680px;line-height:1.8;margin-bottom:34px}
.rating-panel{display:grid;grid-template-columns:300px 1fr;gap:36px;background:var(--w);border:1px solid var(--bd);border-radius:var(--rl);padding:32px;box-shadow:var(--sh);align-items:center;max-width:860px}
.rating-left{text-align:center;border-right:1px solid var(--bd);padding-right:36px}
.rating-num{font-family:'Poppins',sans-serif;font-weight:800;font-size:3.4rem;color:var(--p);line-height:1}
.rating-stars{color:#FFB400;font-size:1.25rem;margin:10px 0 4px;letter-spacing:2px}
.rating-count{font-family:'Poppins',sans-serif;font-size:.95rem;color:var(--tx);font-weight:600}
.rating-count small{display:block;font-size:.72rem;color:var(--tm);font-weight:400}
.rating-right .rtitle{font-family:'Poppins',sans-serif;font-weight:700;font-size:.9rem;color:var(--tx);margin-bottom:12px}
.rbar{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--tm);margin-bottom:8px}
.rbar .rlbl{width:34px;flex-shrink:0}
.rbar .rtrack{flex:1;height:9px;background:var(--pl);border-radius:50px;overflow:hidden}
.rbar .rfill{height:100%;background:linear-gradient(90deg,#5AAE82,#4FC3DD);border-radius:50px}
.rbar .rpct{width:44px;text-align:right;flex-shrink:0;font-family:'Poppins',sans-serif;font-weight:600;color:var(--pd)}
.rating-note{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:.78rem;color:var(--tm)}
.rating-note i{color:#34A853}
.opinie-list{padding:80px 0 60px}
.opinie-list .head-row{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:40px}
.rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.rc{background:var(--w);border-radius:var(--rl);padding:28px;box-shadow:0 4px 20px rgba(0,0,0,.05);border:1px solid var(--bd);transition:all .3s}
.rtext{font-size:.9rem;color:var(--tm);line-height:1.8;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rc-expand{background:none;border:none;color:var(--p);font-size:.8rem;cursor:pointer;padding:4px 0 14px;font-family:inherit;font-weight:600;text-align:left;display:block}
.opinie-cta{background:linear-gradient(135deg,var(--p) 0%,var(--pd) 100%);border-radius:var(--rl);padding:52px 48px;text-align:center;color:var(--w);margin-bottom:90px}
.opinie-cta h2{font-size:1.7rem;font-weight:700;margin-bottom:12px}
.opinie-cta p{font-size:1rem;opacity:.9;margin-bottom:28px;max-width:520px;margin-left:auto;margin-right:auto}
.opinie-cta .btn{background:var(--w);color:var(--p);border-color:transparent}
.opinie-cta .btn:hover{background:var(--a);color:var(--w)}
.opinie-cta .btn-ghost{background:transparent;color:var(--w);border-color:rgba(255,255,255,.55)}
.opinie-cta .btn-ghost:hover{background:var(--w);color:var(--p);border-color:transparent}
.opinie-cta .cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:768px){
  .hbg{display:flex}header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(255,249,247,.98)}
  nav ul{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;z-index:999;padding:18px 22px;overflow-y:auto;box-shadow:0 18px 40px rgba(0,0,0,.12)}
  nav ul.open{display:flex}
  nav ul li a{display:block;font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:600;color:var(--tx);padding:16px 8px;border-bottom:1px solid var(--bd);border-radius:0}
  nav ul li a:hover{background:var(--pl);color:var(--pd);border-radius:8px}
  nav ul li:last-child a{border-bottom:0}
  .nav-tel{display:flex;position:fixed;top:auto;left:22px;right:22px;bottom:22px;justify-content:center;background:var(--p);color:#fff;padding:14px;border-radius:14px;font-size:1rem;box-shadow:0 10px 24px rgba(90,174,130,.35)}
  .nav-tel i{color:#fff}
  .rating-panel{grid-template-columns:1fr;gap:24px}
  .rating-left{border-right:0;border-bottom:1px solid var(--bd);padding-right:0;padding-bottom:24px}
  .rev-grid{grid-template-columns:1fr}
  .opinie-cta{padding:36px 24px}
  .footer-grid{grid-template-columns:1fr;gap:30px}
}

/* ===== from polityka-prywatnosci.html ===== */
:root{--p:#5AAE82;--pd:#3D8A64;--pl:#EAF7EF;--a:#F5A88A;--ad:#E8886A;--bg:#FFF9F7;--alt:#F0F9F4;--tx:#2D3748;--tm:#718096;--w:#fff;--bd:#E2EEF2;--sh:0 8px 30px rgba(90,174,130,.12);--shh:0 16px 40px rgba(90,174,130,.22);--r:16px;--rl:24px}
.legal-hero{padding:110px 0 50px;background:linear-gradient(135deg,var(--alt) 0%,var(--bg) 100%);border-bottom:1px solid var(--bd)}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--tm);margin-bottom:24px;flex-wrap:wrap}
.legal-content{padding:60px 0 100px}
.legal-card{background:var(--w);border-radius:var(--rl);padding:48px 42px;box-shadow:var(--sh);max-width:900px;margin:0 auto}
.legal-card h2{font-size:1.5rem;font-weight:700;color:var(--pd);margin:36px 0 14px;padding-top:20px;border-top:1px solid var(--bd)}
.legal-card h2:first-child{margin-top:0;padding-top:0;border-top:none}
.legal-card h3{font-size:1.1rem;font-weight:600;color:var(--tx);margin:24px 0 10px}
.legal-card p,.legal-card li{font-size:.93rem;color:var(--tx);line-height:1.85;margin-bottom:10px}
.legal-card ul,.legal-card ol{padding-left:24px;margin-bottom:16px}
.legal-card li{margin-bottom:8px}
.legal-card strong{color:var(--pd)}
.legal-card a{color:var(--p);text-decoration:underline}
.legal-card .highlight{background:var(--pl);border-left:4px solid var(--p);padding:16px 20px;border-radius:0 var(--r) var(--r) 0;margin:20px 0;font-size:.9rem}
.legal-card table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.88rem}
.legal-card th,.legal-card td{padding:10px 14px;border:1px solid var(--bd);text-align:left}
.legal-card th{background:var(--alt);font-family:'Poppins',sans-serif;font-weight:600;color:var(--pd);font-size:.82rem}
@media(max-width:768px){.hbg{display:flex}header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(255,249,247,.98)}nav ul{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;z-index:999;padding:18px 22px;overflow-y:auto;box-shadow:0 18px 40px rgba(0,0,0,.12)}nav ul.open{display:flex}nav ul li a{display:block;font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:600;color:var(--tx);padding:16px 8px;border-bottom:1px solid var(--bd);border-radius:0}nav ul li a:hover{background:var(--pl);color:var(--pd);border-radius:8px}nav ul li:last-child a{border-bottom:0}.nav-tel{display:flex;position:fixed;left:22px;right:22px;bottom:22px;justify-content:center;background:var(--p);color:#fff;padding:14px;border-radius:14px;font-size:1rem;box-shadow:0 10px 24px rgba(90,174,130,.35)}.nav-tel i{color:#fff}}
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr;gap:30px}.legal-card{padding:32px 24px}}

/* ===== from cookie-policy.html ===== */
.cookie-cat{background:var(--alt);border-radius:var(--r);padding:20px 24px;margin:16px 0}
.cookie-cat h3{margin-top:0}
.cookie-cat .required{display:inline-block;background:var(--pl);color:var(--pd);font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:50px;margin-left:8px}
.cookie-cat .optional{display:inline-block;background:#FEF0EA;color:var(--ad);font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:50px;margin-left:8px}

/* ===== INTEGRACJA Z ELEMENTOREM ===== */
/* Elementor renderuje sekcje jako .e-con; nasze klasy sekcji (.hero, .strip, ...) sa nadawane
   kontenerom przez pole Advanced > CSS Classes, wiec regula .sekcja > .container z v2
   musi tez dzialac dla wewnetrznych kontenerow Elementora. */
.e-con.container > .e-con-inner,
.e-con.container{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.elementor-widget-container > p:last-child{margin-bottom:0}
body.elementor-page{background:var(--bg)}
/* Hello Elementor resetuje typografie - przywracamy nasza */
.site-main h1,.site-main h2,.site-main h3,.site-main h4,.site-main h5{font-family:'Poppins',sans-serif;line-height:1.2}

/* ===== SPECYFICZNOSC WOBEC ELEMENTORA =====
   Elementor stosuje .elementor-element.e-con{display:flex} do kazdego kontenera.
   Nasze klasy layoutowe z v2 maja nizsza specyficznosc, wiec powtarzamy je
   z prefiksem .elementor-element. Wartosci sa identyczne jak w v2 powyzej. */
.elementor-element.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.elementor-element.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.elementor-element.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.elementor-element.daily-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.elementor-element.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.elementor-element.vsec-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.elementor-element.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.elementor-element.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:780px;margin:0 auto}
.elementor-element.dotacja-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.elementor-element.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.elementor-element.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
/* Mobilne odpowiedniki regul v2 — ten sam prefiks, inaczej wygrywa desktop */
@media(max-width:1024px){
.elementor-element.hero-grid,.elementor-element.about-grid,.elementor-element.place-grid,.elementor-element.vsec-inner,.elementor-element.contact-grid{grid-template-columns:1fr;gap:40px}
.elementor-element.hero-grid>div:last-child{display:none}
.elementor-element.daily-grid{grid-template-columns:repeat(2,1fr)}
.elementor-element.strip-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
.elementor-element.dotacja-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
.elementor-element.daily-grid{grid-template-columns:1fr}
.elementor-element.pricing-grid{grid-template-columns:1fr;max-width:360px}
.elementor-element.gal-grid{grid-template-columns:repeat(2,1fr)}
.elementor-element.strip-grid{grid-template-columns:1fr 1fr}
}
.elementor-element.fc{display:flex;flex-direction:column;align-items:center;text-align:center}
.elementor-element.dl{display:flex;gap:14px;align-items:flex-start}
.elementor-element.rc{display:flex;flex-direction:column}
.elementor-element.pc{display:flex;flex-direction:column}
.elementor-element.ac{display:flex;flex-direction:column}
.elementor-element.dbox{display:flex;flex-direction:column}
/* Kontenery Elementora nie moga dokladac wlasnego paddingu tam, gdzie v2 go nie ma */
.elementor-element.e-con.wave{padding:0}
/* Karty karuzel sa flex-itemami z wlasnym width/flex-shrink z Elementora (0,2,0) —
   wymuszamy wymiary z v2 wyzsza specyficznoscia, razem z breakpointami v2 */
body .approach-grid>.elementor-element.ac{flex-shrink:0;width:calc((100% - 2*28px)/3)}
body .rev-grid>.elementor-element.rc{flex-shrink:0;width:calc((100% - 2*22px)/3)}
@media(max-width:1024px){
body .approach-grid>.elementor-element.ac{width:calc((100% - 1*28px)/2)}
body .rev-grid>.elementor-element.rc{width:calc((100% - 1*22px)/2)}
}
@media(max-width:640px){
body .approach-grid>.elementor-element.ac{width:100%}
body .rev-grid>.elementor-element.rc{width:100%}
}


/* ===== Style podstron v2 (blog/opinie/legal) — uzupelnienie design systemu ===== */
