:root{--primary:#1eaed3;--primary-dark:#1a9bbe;--primary-light:rgba(30,174,211,.08);--secondary:#446187;--dark:#1a1a1a;--text:#333;--text-light:#777;--text-muted:#999;--border:#e8e8e8;--border-light:#f0f0f0;--bg:#fff;--bg-alt:#f7f8f9;--bg-dark:#0f1114;--font:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;--max-w:1340px;--nav-h:154px;--nav-bar:48px;--header-h:154px;--r:8px}
    *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}.container{max-width:var(--max-w);margin:0 auto;padding:0 32px}
    .reveal{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}
    .nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-bar);transition:background .4s,box-shadow .4s;background:transparent}.nav.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 30px rgba(0,0,0,.08)}.nav .container{display:flex;align-items:center;justify-content:space-between;height:100%}.nav-logo{display:flex;align-items:center;transition:color .4s}.nav-logo-img{height:40px;width:auto;filter:brightness(0) invert(1);transition:filter .4s}.nav.scrolled .nav-logo-img{filter:none}.nav.scrolled .nav-logo{color:var(--dark)}.nav-logo span{color:var(--primary)}.nav-menu{display:flex;align-items:center;gap:28px}.nav-links{display:flex;gap:28px}.nav-links a{font-size:16px;font-weight:500;color:rgba(255,255,255,.75);transition:color .2s;position:relative}.nav.scrolled .nav-links a{color:var(--text-light)}.nav-links a:hover{color:#fff}.nav.scrolled .nav-links a:hover{color:var(--dark)}.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--primary);transition:width .3s cubic-bezier(.22,1,.36,1)}.nav-links a:hover::after{width:100%}.nav-cta{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#fff;background:var(--primary);padding:10px 24px;border-radius:6px;transition:background .2s,transform .2s,box-shadow .2s;cursor:pointer}.nav-cta:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(30,174,211,.3)}.nav-phone{font-size:15px;font-weight:500;color:rgba(255,255,255,.6);transition:color .4s}.nav.scrolled .nav-phone{color:var(--text-light)}.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}.nav-hamburger span{display:block;width:24px;height:2px;background:#fff;transition:transform .3s,opacity .3s,background .3s}.nav.scrolled .nav-hamburger span{background:var(--dark)}.nav-hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-hamburger.active span:nth-child(2){opacity:0}.nav-hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-mobile{display:none;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;background:#fff;padding:24px 32px;z-index:999;flex-direction:column}.nav-mobile.active{display:flex}.nav-mobile a{display:block;padding:14px 0;font-size:16px;font-weight:500;color:var(--dark);border-bottom:1px solid var(--border-light)}.nav-mobile .nav-cta{margin-top:20px;text-align:center;justify-content:center;padding:14px 24px;font-size:15px}
    .hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:flex-end;overflow:hidden}.hero-bg{position:absolute;inset:-60px 0 0 0;background:linear-gradient(160deg,#2c4a5e 0%,#3a6070 30%,#446187 60%,#2a3a4e 100%);background-size:cover;background-position:center;will-change:transform}.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 40%,rgba(0,0,0,.05) 100%)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.45) 0%,rgba(0,0,0,.15) 50%,transparent 100%);z-index:1}.hero-content{position:relative;z-index:2;width:100%;padding:0 0 80px}.hero .container{position:relative;z-index:2;padding-bottom:80px}.hero .container{position:relative;z-index:2;padding-bottom:80px}.hero-tag{font-size:12px;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:3px;margin-bottom:16px;opacity:0;animation:heroFadeUp .8s .3s cubic-bezier(.22,1,.36,1) forwards}.hero h1{font-size:56px;font-weight:700;color:#fff;line-height:1.06;letter-spacing:-.5px;max-width:640px;opacity:0;animation:heroFadeUp .8s .5s cubic-bezier(.22,1,.36,1) forwards}.hero-sub{font-size:16px;color:rgba(255,255,255,.7);line-height:1.7;margin-top:18px;max-width:500px;opacity:0;animation:heroFadeUp .8s .7s cubic-bezier(.22,1,.36,1) forwards}.hero-cred{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;font-weight:600;color:rgba(255,255,255,.45);opacity:0;animation:heroFadeUp .8s .8s cubic-bezier(.22,1,.36,1) forwards}.hero-cred strong{color:var(--primary)}.hero-btns{display:flex;gap:12px;margin-top:28px;opacity:0;animation:heroFadeUp .8s .9s cubic-bezier(.22,1,.36,1) forwards}@keyframes heroFadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;font-size:14px;font-weight:600;padding:14px 30px;border-radius:6px;transition:background .2s,transform .2s,box-shadow .2s;cursor:pointer}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 24px rgba(30,174,211,.3)}.btn-ghost{display:inline-flex;align-items:center;color:#fff;font-size:14px;font-weight:600;padding:14px 30px;border-radius:6px;border:1.5px solid rgba(255,255,255,.25);transition:all .2s;cursor:pointer}.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);transform:translateY(-2px)}.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.hero-scroll-arrow{width:24px;height:24px;border-right:2px solid rgba(255,255,255,.35);border-bottom:2px solid rgba(255,255,255,.35);transform:rotate(45deg);animation:scrollBounce 2s ease-in-out infinite}@keyframes scrollBounce{0%,100%{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(8px)}}
    .brands{padding:24px 0;border-bottom:1px solid var(--border);overflow:hidden;background:var(--bg)}.brands-track{display:flex;gap:64px;align-items:center;animation:marquee 25s linear infinite;width:max-content}.brand-logo{font-size:17px;font-weight:700;color:#c0c0c0;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;transition:color .3s}.brand-logo:hover{color:var(--secondary)}@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
    .counters{padding:48px 0;background:var(--bg);border-bottom:1px solid var(--border);position:relative}.counters .container{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.counter-item{text-align:center;padding:16px}.counter-num{font-size:42px;font-weight:700;color:var(--dark);line-height:1}.counter-num .counter-suffix{font-size:28px;color:var(--primary)}.counter-label{font-size:13px;color:var(--text-muted);margin-top:6px;letter-spacing:.5px}
    .section{padding:64px 0;position:relative}.section-alt{background:var(--bg-alt)}.section-dark{background:var(--bg-dark)}.section-tag{font-size:11px;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:3px;margin-bottom:6px}.section-title{font-size:30px;font-weight:700;color:var(--dark);letter-spacing:-.3px}.section-dark .section-title{color:#fff}.section-desc{font-size:14px;color:var(--text-muted);margin-top:6px}.section-dark .section-desc{color:rgba(255,255,255,.4)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px}.section-link{font-size:13px;font-weight:600;color:var(--primary);transition:opacity .2s;cursor:pointer;flex-shrink:0}.section-link:hover{opacity:.7}
    .offer-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:320px 320px;gap:16px}.offer-card{position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer}.offer-card-bg{position:absolute;inset:0;background:var(--secondary);background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.22,1,.36,1)}.offer-card:nth-child(1) .offer-card-bg{background-color:#3a5872}.offer-card:nth-child(2) .offer-card-bg{background-color:#4a6a7e}.offer-card:nth-child(3) .offer-card-bg{background-color:#344d68}.offer-card:nth-child(4) .offer-card-bg{background-color:#3e5f78}.offer-card:hover .offer-card-bg{transform:scale(1.06)}.offer-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,.05) 100%);z-index:1;transition:background .3s}.offer-card:hover::after{background:linear-gradient(to top,rgba(30,174,211,.5) 0%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.02) 100%)}.offer-card-content{position:absolute;bottom:0;left:0;right:0;padding:28px;z-index:2}.offer-card-title{font-size:19px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.3px}.offer-card-desc{font-size:13px;color:rgba(255,255,255,.7);margin-top:6px;line-height:1.5}.offer-card-btn{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:12px;font-weight:600;color:#fff;padding:8px 18px;border:1.5px solid rgba(255,255,255,.3);border-radius:5px;transition:all .3s}.offer-card:hover .offer-card-btn{border-color:var(--primary);background:var(--primary);box-shadow:0 4px 16px rgba(30,174,211,.3)}
    .pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pricing-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:28px;transition:all .3s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.pricing-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary);transform:scaleX(0);transition:transform .4s cubic-bezier(.22,1,.36,1);transform-origin:left}.pricing-card:hover::before{transform:scaleX(1)}.pricing-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}.pricing-badge{display:inline-block;font-size:11px;font-weight:700;color:var(--primary);background:var(--primary-light);padding:4px 10px;border-radius:4px;margin-bottom:12px}.pricing-name{font-size:15px;font-weight:600;color:var(--dark)}.pricing-desc{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.4}.pricing-amount{font-size:26px;font-weight:700;color:var(--dark);margin-top:18px}.pricing-amount small{font-size:12px;font-weight:400;color:var(--text-muted)}.pricing-link{display:inline-flex;align-items:center;gap:4px;margin-top:18px;font-size:13px;font-weight:600;color:var(--primary);transition:gap .2s}.pricing-link:hover{gap:8px}
    .trips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.trip-card{position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer;height:280px}.trip-card-bg{position:absolute;inset:0;background:var(--secondary);background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.22,1,.36,1)}.trip-card:hover .trip-card-bg{transform:scale(1.06)}.trip-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.1) 60%);z-index:1}.trip-card-month{position:absolute;top:14px;left:14px;z-index:2;font-size:13px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:1px;background:rgba(0,0,0,.4);padding:5px 14px;border-radius:4px;backdrop-filter:blur(4px)}.trip-card-status{position:absolute;top:14px;right:14px;z-index:2;font-size:10px;font-weight:600;padding:5px 12px;border-radius:4px}.trip-card-status.open{background:var(--primary);color:#fff}.trip-card-status.hot{background:#c0392b;color:#fff}.trip-card-content{position:absolute;bottom:0;left:0;right:0;padding:20px;z-index:2}.trip-card-dates{font-size:12px;font-weight:600;color:var(--primary)}.trip-card-name{font-size:16px;font-weight:600;color:#fff;margin-top:3px}.trip-card-detail{font-size:12px;color:rgba(255,255,255,.5);margin-top:4px}
    .shop-tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:1px solid var(--border)}.shop-tab{font-size:13px;font-weight:600;padding:10px 20px;color:var(--text-muted);border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-color .2s}.shop-tab.active{color:var(--dark);border-bottom-color:var(--primary)}.shop-tab:hover{color:var(--dark)}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.shop-card{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:all .3s cubic-bezier(.22,1,.36,1);cursor:pointer;background:#fff}.shop-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}.shop-card-img{height:180px;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.shop-card-img svg{opacity:.2;transition:transform .4s}.shop-card:hover .shop-card-img svg{transform:scale(1.1)}.shop-badge{position:absolute;top:10px;left:10px;font-size:10px;font-weight:600;padding:3px 10px;border-radius:4px}.shop-badge.new{background:var(--primary);color:#fff}.shop-badge.used{background:var(--secondary);color:#fff}.shop-card-body{padding:16px}.shop-card-cat{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.shop-card-name{font-size:14px;font-weight:600;color:var(--dark);margin-top:4px;line-height:1.3}.shop-card-price{font-size:17px;font-weight:700;color:var(--dark);margin-top:8px}
    .serwis-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.serwis-card{position:relative;border-radius:var(--r);overflow:hidden;height:300px;cursor:pointer}.serwis-card-bg{position:absolute;inset:0;background:var(--secondary);background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.22,1,.36,1)}.serwis-card:nth-child(2) .serwis-card-bg{background-color:#3a5872}.serwis-card:hover .serwis-card-bg{transform:scale(1.06)}.serwis-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,rgba(0,0,0,.1) 60%);z-index:1}.serwis-card-content{position:absolute;bottom:0;left:0;right:0;padding:28px;z-index:2}.serwis-card-title{font-size:20px;font-weight:700;color:#fff;text-transform:uppercase}.serwis-card-desc{font-size:13px;color:rgba(255,255,255,.6);margin-top:8px;line-height:1.5}.serwis-card-btn{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:12px;font-weight:600;color:#fff;padding:9px 20px;border:1.5px solid rgba(255,255,255,.3);border-radius:5px;transition:all .3s}.serwis-card:hover .serwis-card-btn{border-color:var(--primary);background:var(--primary);box-shadow:0 4px 16px rgba(30,174,211,.3)}
    .testimonials{padding:64px 0;background:var(--bg-alt);position:relative;overflow:hidden}.testimonials::before{content:'';position:absolute;top:-40px;left:0;right:0;height:40px;background:linear-gradient(to bottom left,transparent 49.5%,var(--bg-alt) 50%)}.testimonial-slider{display:flex;gap:24px;transition:transform .5s cubic-bezier(.22,1,.36,1)}.testimonial-card{min-width:calc(33.333% - 16px);background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:28px;position:relative;flex-shrink:0}.testimonial-quote{font-size:14px;color:var(--text);line-height:1.7;font-style:italic}.testimonial-quote::before{content:'\201C';font-size:48px;color:var(--primary);opacity:.3;position:absolute;top:12px;left:20px;line-height:1;font-style:normal}.testimonial-author{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light)}.testimonial-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--primary);flex-shrink:0}.testimonial-name{font-size:13px;font-weight:600;color:var(--dark)}.testimonial-info{font-size:11px;color:var(--text-muted)}.testimonial-nav{display:flex;justify-content:center;gap:8px;margin-top:24px}.testimonial-dot{width:8px;height:8px;border-radius:50%;background:var(--border);cursor:pointer;transition:background .2s,transform .2s}.testimonial-dot.active{background:var(--primary);transform:scale(1.3)}
    .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.blog-card{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:all .3s cubic-bezier(.22,1,.36,1);cursor:pointer;background:#fff}.blog-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}.blog-card-img{height:180px;background:var(--secondary);position:relative;display:flex;align-items:flex-end;padding:16px;overflow:hidden}.blog-card:nth-child(2) .blog-card-img{background-color:#3a5872}.blog-card:nth-child(3) .blog-card-img{background-color:#344d68}.blog-card-cat{font-size:10px;font-weight:600;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:1px;position:relative;z-index:2}.blog-card-body{padding:18px}.blog-card-date{font-size:12px;color:var(--text-muted)}.blog-card-title{font-size:15px;font-weight:600;color:var(--dark);margin-top:4px;line-height:1.4}
    .insta-section{padding:48px 0;background:var(--bg)}.insta-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.insta-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--dark)}.insta-handle{font-size:14px;color:var(--primary);font-weight:600}.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.insta-item{aspect-ratio:1;background:var(--secondary);border-radius:4px;overflow:hidden;position:relative;cursor:pointer}.insta-item:nth-child(2){background-color:#3a5872}.insta-item:nth-child(3){background-color:#4a6a7e}.insta-item:nth-child(4){background-color:#344d68}.insta-item:nth-child(5){background-color:#3e5f78}.insta-item:nth-child(6){background-color:#2a4a5e}.insta-item::after{content:'';position:absolute;inset:0;background:rgba(30,174,211,.3);opacity:0;transition:opacity .3s}.insta-item:hover::after{opacity:1}
    .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}.team-member{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);transition:all .3s}.team-member:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.04)}.team-avatar{width:56px;height:56px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--secondary);flex-shrink:0;border:1.5px solid var(--border)}.team-name{font-size:14px;font-weight:600;color:var(--dark)}.team-role{font-size:12px;color:var(--text-muted);margin-top:2px}.credentials{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px}.credential{padding:20px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);text-align:center;transition:all .3s}.credential:hover{border-color:var(--primary);transform:translateY(-2px)}.credential-value{font-size:16px;font-weight:700;color:var(--primary)}.credential-label{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.3}
    .cta-section{padding:72px 0;background:var(--secondary);text-align:center;position:relative;overflow:hidden}.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(30,174,211,.15) 0%,transparent 60%)}.cta-section h2{font-size:32px;font-weight:700;color:#fff;letter-spacing:-.3px;position:relative}.cta-section p{font-size:15px;color:rgba(255,255,255,.55);margin-top:8px;position:relative}.cta-section .btn-primary{margin-top:28px;font-size:15px;padding:16px 36px;position:relative}
    .floating-cta{position:fixed;bottom:24px;right:24px;z-index:900;background:var(--primary);color:#fff;font-size:13px;font-weight:600;padding:12px 24px;border-radius:50px;box-shadow:0 6px 24px rgba(30,174,211,.4);cursor:pointer;display:flex;align-items:center;gap:8px;transform:translateY(80px);opacity:0;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .4s,background .2s}.floating-cta.visible{transform:translateY(0);opacity:1}.floating-cta:hover{background:var(--primary-dark);box-shadow:0 8px 32px rgba(30,174,211,.5)}
    .footer{background:var(--bg-dark);padding:48px 0 24px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.08)}.footer-logo{font-size:20px;font-weight:700;color:#fff}.footer-logo span{color:var(--primary)}.footer-about{font-size:13px;color:rgba(255,255,255,.4);margin-top:10px;line-height:1.6}.footer-heading{font-size:12px;font-weight:600;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}.footer-links a{display:block;font-size:13px;color:rgba(255,255,255,.35);padding:4px 0;transition:color .2s}.footer-links a:hover{color:var(--primary)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px}.footer-copy{font-size:12px;color:rgba(255,255,255,.25)}.footer-social{display:flex;gap:8px}.footer-social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:rgba(255,255,255,.35);transition:all .3s}.footer-social a:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}
    @media(max-width:1024px){.hero h1{font-size:44px}.offer-grid{grid-template-rows:260px 260px}.pricing-grid{grid-template-columns:repeat(2,1fr)}.shop-grid{grid-template-columns:repeat(3,1fr)}.trips-grid{grid-template-columns:repeat(2,1fr)}.counters .container{grid-template-columns:repeat(2,1fr)}.testimonial-card{min-width:calc(50% - 12px)}.insta-grid{grid-template-columns:repeat(4,1fr)}.footer-top{grid-template-columns:1fr 1fr;gap:28px}}
    @media(max-width:768px){.nav-menu{display:none}.nav-hamburger{display:flex}.hero{height:100vh;min-height:520px}.hero h1{font-size:34px;max-width:100%}.hero .container{padding-bottom:48px}.hero-content{padding:0 0 48px}.hero-btns{flex-direction:column}.section{padding:48px 0}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.offer-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,240px)}.pricing-grid{grid-template-columns:1fr}.trips-grid{grid-template-columns:1fr}.shop-grid{grid-template-columns:repeat(2,1fr)}.blog-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.serwis-grid{grid-template-columns:1fr}.credentials{grid-template-columns:repeat(2,1fr)}.testimonial-card{min-width:100%}.insta-grid{grid-template-columns:repeat(3,1fr)}.footer-top{grid-template-columns:1fr;gap:24px}.counters .container{grid-template-columns:repeat(2,1fr)}.counter-num{font-size:32px}}
    @media(max-width:480px){.hero h1{font-size:28px}.shop-grid{grid-template-columns:1fr}.credentials{grid-template-columns:1fr}.insta-grid{grid-template-columns:repeat(2,1fr)}}

/* === SUBPAGE STYLES === */

/* BREADCRUMBS */
.breadcrumbs{font-size:12px;color:#999;margin-bottom:20px}
.breadcrumbs a{color:#999;transition:color .2s}
.breadcrumbs a:hover{color:#1eaed3}
.breadcrumbs .sep{margin:0 6px;opacity:.4}

/* HERO SUB */
.hero--sub{height:60vh;min-height:400px}
.hero--sub .container{padding-bottom:48px}
.hero--sub h1{font-size:42px}

/* QUICK FACTS */
.quick-facts{padding:24px 0;border-bottom:1px solid #e8e8e8}
.quick-facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.quick-fact{text-align:center;padding:16px;background:#f7f8f9;border-radius:8px}
.quick-fact-value{font-size:18px;font-weight:700;color:#1a1a1a}
.quick-fact-label{font-size:12px;color:#999;margin-top:2px}

/* CONTENT + SIDEBAR */
.content-sidebar-layout{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}
.content-main{min-width:0}
.entry-content{font-size:15px;line-height:1.8;color:#333}
.entry-content h2{font-size:24px;font-weight:700;color:#1a1a1a;margin:32px 0 12px}
.entry-content h3{font-size:20px;font-weight:600;color:#1a1a1a;margin:24px 0 10px}
.entry-content p{margin-bottom:16px}
.entry-content ul,.entry-content ol{margin:0 0 16px 24px}
.entry-content li{margin-bottom:6px}
.entry-content img{border-radius:8px;margin:16px 0}
.content-block h3{font-size:18px;font-weight:600;color:#1a1a1a;margin-bottom:8px}
.sticky-sidebar{position:sticky;top:96px}
.sidebar-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:24px}
.sidebar-heading{font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:10px}
.sidebar-section{margin-bottom:16px}
.sidebar-price-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;border-bottom:1px solid #f0f0f0}
.sidebar-price{font-weight:600;color:#1a1a1a}
.sidebar-date-row{font-size:13px;padding:4px 0;display:flex;justify-content:space-between;align-items:center}
.sidebar-contact{font-size:13px;color:#999}
.sidebar-contact a{color:#1eaed3;font-weight:600}
.sidebar-include-row{font-size:13px;padding:3px 0;color:#333}
.status-hot{font-size:10px;font-weight:600;color:#c0392b;background:rgba(192,57,43,.08);padding:2px 8px;border-radius:3px}

/* GALLERY */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gallery-item{border-radius:8px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;position:relative}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery-item:hover img{transform:scale(1.05)}

/* FAQ ACCORDION */
.faq-list{max-width:800px}
.faq-item{border:1px solid #e8e8e8;border-radius:8px;margin-bottom:8px;overflow:hidden;transition:border-color .2s}
.faq-item:hover,.faq-item.active{border-color:#1eaed3}
.faq-question{width:100%;padding:16px 20px;background:none;border:none;font-family:inherit;font-size:14px;font-weight:600;color:#1a1a1a;cursor:pointer;display:flex;justify-content:space-between;align-items:center;text-align:left}
.faq-icon{font-size:18px;color:#1eaed3;transition:transform .3s;flex-shrink:0}
.faq-item.active .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s,padding .3s;padding:0 20px;font-size:14px;color:#777;line-height:1.7}
.faq-item.active .faq-answer{max-height:300px;padding:0 20px 16px}

/* FORM WRAPPER */
.form-wrapper{max-width:700px}

/* WOOCOMMERCE OVERRIDES */
.used-equipment-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;padding:16px 0;border-top:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}
.used-detail{text-align:center}
.used-detail-label{font-size:11px;color:#999;display:block}
.used-detail-value{font-size:14px;font-weight:600;color:#1a1a1a;display:block;margin-top:2px}

/* RESPONSIVE SUBPAGE */
@media(max-width:1024px){
    .content-sidebar-layout{grid-template-columns:1fr 320px;gap:32px}
    .hero--sub h1{font-size:36px}
}
@media(max-width:768px){
    .content-sidebar-layout{grid-template-columns:1fr;gap:24px}
    .sticky-sidebar{position:static}
    .quick-facts-grid{grid-template-columns:repeat(2,1fr)}
    .gallery-grid{grid-template-columns:repeat(2,1fr)}
    .hero--sub{height:60vh;min-height:380px}
    .hero--sub h1{font-size:28px}
}
@media(max-width:480px){
    .quick-facts-grid{grid-template-columns:1fr}
}

/* === CONTACT PAGE === */
.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:24px}
.contact-block{}
.contact-block-title{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.contact-value{font-size:16px;font-weight:600;color:var(--dark);display:block}
.contact-value a{color:var(--dark);transition:color .2s}
.contact-value a:hover{color:var(--primary)}
.contact-note{font-size:13px;color:var(--text-muted);margin-top:2px}
.contact-social{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.contact-social-link{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text);transition:color .2s}
.contact-social-link:hover{color:var(--primary)}
.contact-social-icon{width:32px;height:32px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--secondary);flex-shrink:0}
.contact-form-wrap{}
.contact-form-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--r);padding:32px}
.contact-form-title{font-size:18px;font-weight:700;color:var(--dark);margin-bottom:20px}
.contact-map{width:100%}
.contact-map iframe{width:100%;display:block}

/* === FORMS === */
.ipg-form{}
.ipg-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ipg-form-group{margin-bottom:14px}
.ipg-form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-light);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.ipg-form-group input,.ipg-form-group select,.ipg-form-group textarea{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:6px;font-family:var(--font);font-size:14px;color:var(--dark);background:var(--bg);transition:border-color .2s;outline:none;resize:vertical}
.ipg-form-group input:focus,.ipg-form-group select:focus,.ipg-form-group textarea:focus{border-color:var(--primary)}
.ipg-form-group input::placeholder,.ipg-form-group textarea::placeholder{color:var(--text-muted)}
.ipg-form-note{font-size:12px;color:var(--text-muted);margin-top:10px;text-align:center}

/* === WYJAZDY TABS === */
.wyjazdy-tabs{display:flex;gap:0;border-bottom:1px solid var(--border)}
.wyjazdy-tab{font-size:13px;font-weight:600;padding:10px 20px;color:var(--text-muted);border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.wyjazdy-tab.active{color:var(--dark);border-bottom-color:var(--primary)}
.wyjazdy-tab:hover{color:var(--dark)}
.trip-type-badge{position:absolute;bottom:14px;right:14px;z-index:2;font-size:9px;font-weight:600;color:rgba(255,255,255,.7);background:rgba(0,0,0,.3);padding:3px 10px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;backdrop-filter:blur(4px)}

/* === BLOG SINGLE === */
.blog-single-header{max-width:800px;margin-bottom:32px}
.blog-single-meta{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.blog-single-cat{font-size:11px;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:1px;background:var(--primary-light);padding:3px 10px;border-radius:4px}
.blog-single-date{font-size:13px;color:var(--text-muted)}
.blog-single-title{font-size:36px;font-weight:700;color:var(--dark);line-height:1.15;letter-spacing:-.3px}
.blog-single-excerpt{font-size:16px;color:var(--text-light);margin-top:12px;line-height:1.7}
.blog-single-hero{margin-bottom:40px;border-radius:var(--r);overflow:hidden}
.blog-single-img{width:100%;height:auto;display:block}
.blog-single-layout{max-width:800px}
.blog-single-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}
.blog-single-tag{font-size:12px;color:var(--text-muted);background:var(--bg-alt);padding:4px 12px;border-radius:4px;transition:color .2s,background .2s}
.blog-single-tag:hover{color:var(--primary);background:var(--primary-light)}

/* === BLOG FILTER === */
.blog-filter{display:flex;gap:0;border-bottom:1px solid var(--border)}
.blog-filter-link{font-size:13px;font-weight:600;padding:10px 20px;color:var(--text-muted);border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.blog-filter-link.active{color:var(--dark);border-bottom-color:var(--primary)}
.blog-filter-link:hover{color:var(--dark)}

/* === PAGINATION === */
.ipg-pagination{margin-top:48px;display:flex;justify-content:center;gap:4px}
.ipg-pagination .page-numbers{padding:8px 14px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:600;color:var(--text-muted);transition:all .2s}
.ipg-pagination .page-numbers.current,.ipg-pagination .page-numbers:hover{background:var(--primary);color:#fff;border-color:var(--primary)}

/* === RESPONSIVE: NEW TEMPLATES === */
@media(max-width:768px){
    .contact-layout{grid-template-columns:1fr;gap:32px}
    .blog-single-title{font-size:28px}
    .blog-single-layout{max-width:100%}
    .ipg-form-row{grid-template-columns:1fr}
    .wyjazdy-tabs,.blog-filter{flex-wrap:wrap}
}
.footer-logo-img{height:36px;width:auto;filter:brightness(0) invert(1);opacity:.7;transition:opacity .2s}.footer-logo-img:hover{opacity:1}
@media(max-width:768px){.hero-content{padding:0 0 48px}.nav-logo-img{height:32px}}

/* === TEAM CARDS (O nas) === */
.team-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.team-card{display:block;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:all .3s;cursor:pointer}
.team-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}
.team-card--founder{border-color:var(--primary);border-width:2px}
.team-card-img{height:280px;background:var(--bg-alt);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.team-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.team-card:hover .team-card-img img{transform:scale(1.04)}
.team-card-initials{font-size:48px;font-weight:700;color:var(--secondary);opacity:.3}
.team-card-badge{position:absolute;top:12px;left:12px;font-size:10px;font-weight:600;color:#fff;background:var(--primary);padding:4px 12px;border-radius:4px}
.team-card-body{padding:20px}
.team-card-name{font-size:17px;font-weight:700;color:var(--dark)}
.team-card-role{font-size:13px;color:var(--primary);margin-top:3px;font-weight:500}
.team-card-desc{font-size:13px;color:var(--text-muted);margin-top:8px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.team-card-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--primary);transition:gap .2s}

/* === INSTRUCTOR PROFILE === */
.instructor-layout{display:grid;grid-template-columns:380px 1fr;gap:48px;align-items:start}
.instructor-photo{border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;background:var(--bg-alt)}
.instructor-photo img{width:100%;height:100%;object-fit:cover}
.instructor-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:700;color:var(--secondary);opacity:.2}
.instructor-badge{display:inline-block;font-size:11px;font-weight:600;color:#fff;background:var(--primary);padding:4px 14px;border-radius:4px;margin-bottom:12px}
.instructor-name{font-size:34px;font-weight:700;color:var(--dark);line-height:1.15}
.instructor-role{font-size:16px;color:var(--primary);font-weight:500;margin-top:4px}
.instructor-facts{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.instructor-fact{}
.instructor-fact-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}
.instructor-fact-value{font-size:14px;font-weight:600;color:var(--dark);margin-top:2px}
.instructor-bio{margin-top:24px}

/* RESPONSIVE */
@media(max-width:1024px){.team-cards-grid{grid-template-columns:repeat(2,1fr)}.instructor-layout{grid-template-columns:300px 1fr;gap:32px}}
@media(max-width:768px){.team-cards-grid{grid-template-columns:1fr;max-width:400px}.instructor-layout{grid-template-columns:1fr}.instructor-photo{max-width:320px;aspect-ratio:1}.instructor-name{font-size:28px}}

/* === TEAM CARDS GRID (O nas) === */
.team-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.team-card{display:flex;align-items:center;gap:16px;padding:20px 24px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);transition:all .3s;text-decoration:none;color:inherit}
.team-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.06)}
.team-card-avatar{width:64px;height:64px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:2px solid var(--border)}
.team-card-avatar img{width:100%;height:100%;object-fit:cover}
.team-card-initials{font-size:20px;font-weight:700;color:var(--secondary)}
.team-card-info{flex:1;min-width:0}
.team-card-name{font-size:16px;font-weight:600;color:var(--dark)}
.team-card-role{font-size:13px;color:var(--text-muted);margin-top:2px}
.team-card-arrow{font-size:18px;color:var(--primary);opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s}
.team-card:hover .team-card-arrow{opacity:1;transform:translateX(0)}

/* === INSTRUCTOR PROFILE === */
.instructor-layout{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start}
.instructor-sidebar{display:flex;flex-direction:column;gap:20px}
.instructor-avatar-large{width:220px;height:220px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid var(--border);margin:0 auto}
.instructor-avatar-large img{width:100%;height:100%;object-fit:cover}
.instructor-initials-large{font-size:56px;font-weight:700;color:var(--secondary)}
.instructor-contact{padding:20px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--r);text-align:center}
.instructor-back{font-size:13px;font-weight:600;color:var(--primary);transition:opacity .2s;text-align:center}
.instructor-back:hover{opacity:.7}
.instructor-content{min-width:0}
.instructor-content .entry-content h2{margin-top:0}
.instructor-content .instructor-role,.instructor-role{font-size:15px;color:var(--primary);font-weight:500;margin-bottom:16px}

/* RESPONSIVE: TEAM */
@media(max-width:768px){
    .team-cards-grid{grid-template-columns:1fr}
    .instructor-layout{grid-template-columns:1fr;gap:24px}
    .instructor-sidebar{order:0}
    .instructor-avatar-large{width:160px;height:160px}
    .instructor-content{order:1}
}

/* === O NAS — INTRO LAYOUT === */
.about-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start}
.about-intro-content{font-size:15px;line-height:1.8;color:var(--text)}
.about-intro-content h2{font-size:24px;font-weight:700;color:var(--dark);margin:0 0 12px}
.about-intro-content h3{font-size:18px;font-weight:600;color:var(--dark);margin:24px 0 8px}
.about-intro-content p{margin-bottom:12px}
.about-intro-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.about-stat{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--r);padding:24px;text-align:center;transition:all .3s}
.about-stat:hover{border-color:var(--primary);transform:translateY(-2px)}
.about-stat-value{font-size:28px;font-weight:700;color:var(--primary)}
.about-stat-label{font-size:12px;color:var(--text-muted);margin-top:4px}

/* === TEAM FULL CARDS (O nas + cross-sell) === */
.team-full-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.team-full-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:all .4s;text-decoration:none;color:inherit}
.team-full-card:hover{border-color:var(--primary);transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,.08)}
.team-full-card-visual{height:220px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.team-full-card-photo{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.team-full-card:hover .team-full-card-photo{transform:scale(1.06)}
.team-full-card-initials{font-size:56px;font-weight:700;color:rgba(255,255,255,.3);letter-spacing:2px}
.team-full-card-body{padding:20px 24px 24px}
.team-full-card-name{font-size:18px;font-weight:700;color:var(--dark)}
.team-full-card-role{font-size:13px;color:var(--primary);margin-top:4px;font-weight:500}
.team-full-card-desc{font-size:13px;color:var(--text-muted);margin-top:8px;line-height:1.5}
.team-full-card-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--primary);transition:gap .2s}

/* === INSTRUCTOR HERO (profile page) === */
.instructor-hero{position:relative;padding:120px 0 60px;overflow:hidden}
.instructor-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#2c4a5e 0%,#446187 50%,#1eaed3 100%)}
.instructor-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.3) 0%,transparent 70%)}
.instructor-hero .container{position:relative;z-index:2}
.instructor-hero .breadcrumbs{margin-bottom:12px}
.instructor-hero .breadcrumbs,.instructor-hero .breadcrumbs a,.instructor-hero .breadcrumbs .sep{color:rgba(255,255,255,.5)}
.instructor-hero .breadcrumbs a:hover{color:#fff}
.instructor-hero-layout{display:flex;align-items:center;gap:40px}
.instructor-hero-avatar{width:160px;height:160px;border-radius:50%;border:4px solid rgba(255,255,255,.2);overflow:hidden;flex-shrink:0;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center}
.instructor-hero-avatar img{width:100%;height:100%;object-fit:cover}
.instructor-hero-initials{font-size:48px;font-weight:700;color:rgba(255,255,255,.4)}
.instructor-hero-name{font-size:36px;font-weight:700;color:#fff;line-height:1.1}
.instructor-hero-role{font-size:16px;color:rgba(255,255,255,.7);margin-top:8px;font-weight:500}
.instructor-hero-actions{display:flex;gap:12px;margin-top:20px}

/* INSTRUCTOR CONTENT LAYOUT */
.instructor-content-layout{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start}
.instructor-main-content{min-width:0}
.instructor-main-content .instructor-role{font-size:15px;color:var(--primary);font-weight:500;margin-bottom:16px}
.instructor-aside .sidebar-card{position:sticky;top:calc(var(--header-h) + 12px)}

/* === RESPONSIVE: TEAM + INSTRUCTOR === */
@media(max-width:1024px){
    .team-full-grid{grid-template-columns:repeat(2,1fr)}
    .about-intro{grid-template-columns:1fr;gap:32px}
    .instructor-content-layout{grid-template-columns:1fr 280px;gap:32px}
}
@media(max-width:768px){
    .team-full-grid{grid-template-columns:1fr}
    .team-full-card-visual{height:200px}
    .instructor-hero-layout{flex-direction:column;text-align:center;gap:20px}
    .instructor-hero-avatar{width:120px;height:120px}
    .instructor-hero-name{font-size:28px}
    .instructor-hero-actions{justify-content:center;flex-wrap:wrap}
    .instructor-content-layout{grid-template-columns:1fr;gap:24px}
    .instructor-aside .sidebar-card{position:static}
    .about-intro-stats{grid-template-columns:repeat(2,1fr)}
}

/* === INSTRUCTOR HERO (redesigned) === */
.inst-hero{padding:calc(var(--header-h) + 24px) 0 48px;background:var(--bg);border-bottom:1px solid var(--border)}
.inst-hero .breadcrumbs{margin-bottom:24px}
.inst-hero-grid{display:grid;grid-template-columns:420px 1fr;gap:48px;align-items:start}
.inst-hero-photo-wrap{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--bg-alt)}
.inst-hero-photo{width:100%;height:100%;object-fit:cover;display:block}
.inst-hero-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#446187 0%,#1eaed3 100%)}
.inst-hero-photo-placeholder span{font-size:80px;font-weight:700;color:rgba(255,255,255,.25)}
.inst-founder-badge{position:absolute;top:16px;left:16px;background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:6px 14px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}
.inst-hero-name{font-size:36px;font-weight:700;color:var(--dark);line-height:1.1}
.inst-hero-role{font-size:16px;color:var(--primary);font-weight:500;margin-top:8px}

/* PILLS */
.inst-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.inst-pill{display:inline-flex;align-items:center;gap:8px;background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;padding:8px 16px;font-size:13px;color:var(--text);font-weight:500}
.inst-pill-icon{font-size:16px;flex-shrink:0}

/* EQUIPMENT */
.inst-equipment{margin-top:20px;padding:16px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--r)}
.inst-equipment-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.inst-equipment-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px}
.inst-equipment-row + .inst-equipment-row{border-top:1px solid var(--border-light)}
.inst-equipment-label{color:var(--text-muted);font-weight:500}
.inst-equipment-value{color:var(--dark);font-weight:600}

/* CTA ACTIONS */
.inst-hero-actions{display:flex;gap:12px;margin-top:24px}

/* HIGHLIGHTS BAR */
.inst-highlights{padding:32px 0;background:var(--bg-alt);border-bottom:1px solid var(--border)}
.inst-highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}
.inst-highlight{text-align:center;padding:16px}
.inst-highlight-value{font-size:28px;font-weight:700;color:var(--primary)}
.inst-highlight-label{font-size:12px;color:var(--text-muted);margin-top:4px}

/* CONTENT WRAP */
.inst-content-wrap{max-width:800px}
.inst-content-wrap .instructor-role{font-size:15px;color:var(--primary);font-weight:500;margin-bottom:16px}

/* RESPONSIVE */
@media(max-width:1024px){
    .inst-hero-grid{grid-template-columns:340px 1fr;gap:32px}
}
@media(max-width:768px){
    .inst-hero-grid{grid-template-columns:1fr}
    .inst-hero-photo-wrap{aspect-ratio:16/9;max-height:300px}
    .inst-hero-name{font-size:28px}
    .inst-hero-actions{flex-wrap:wrap}
    .inst-pills{flex-direction:column}
    .inst-highlights-grid{grid-template-columns:repeat(2,1fr)}
}

/* === HOMEPAGE TEAM CARDS === */
.hp-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hp-team-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:all .4s;text-decoration:none;color:inherit}
.hp-team-card:hover{border-color:var(--primary);transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,.08)}
.hp-team-card-photo{height:240px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hp-team-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.hp-team-card:hover .hp-team-card-photo img{transform:scale(1.06)}
.hp-team-card-initials{font-size:56px;font-weight:700;color:rgba(255,255,255,.25)}
.hp-team-card-badge{position:absolute;top:12px;left:12px;background:var(--primary);color:#fff;font-size:10px;font-weight:700;padding:4px 12px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}
.hp-team-card-body{padding:20px 24px 24px}
.hp-team-card-name{font-size:18px;font-weight:700;color:var(--dark)}
.hp-team-card-role{font-size:13px;color:var(--primary);font-weight:500;margin-top:4px}
.hp-team-card-meta{display:flex;flex-direction:column;gap:2px;margin-top:10px;font-size:12px;color:var(--text-muted)}
.hp-team-card-meta span{display:block}
.hp-team-card-link{display:inline-block;margin-top:14px;font-size:13px;font-weight:600;color:var(--primary);transition:gap .2s}

/* TEAM CTA BAR */
.hp-team-cta{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:28px 32px;gap:24px}
.hp-team-cta-content h3{font-size:20px;font-weight:700;color:var(--dark);margin:0}
.hp-team-cta-content p{font-size:14px;color:var(--text-muted);margin:4px 0 0}
.hp-team-cta-buttons{display:flex;gap:12px;flex-shrink:0}

/* RESPONSIVE */
@media(max-width:1024px){.hp-team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
    .hp-team-grid{grid-template-columns:1fr}
    .hp-team-card-photo{height:200px}
    .hp-team-cta{flex-direction:column;text-align:center}
    .hp-team-cta-buttons{justify-content:center;flex-wrap:wrap}
}

/* === TEAM FULL CARD — BADGE + META === */
.team-full-card-badge{position:absolute;top:12px;left:12px;background:var(--primary);color:#fff;font-size:10px;font-weight:700;padding:5px 12px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;z-index:2}
.team-full-card-visual{position:relative}
.team-full-card-meta{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:12px;color:var(--text-muted)}
.team-full-card-meta span{display:flex;align-items:center;gap:6px}

/* ============================================
   INSTRUCTOR PROFILE v2 — complete rewrite
   ============================================ */

/* HERO — dark gradient so nav is white & visible */
.inst-hero{position:relative;padding:calc(var(--header-h) + 32px) 0 56px;background:linear-gradient(135deg,#1a2a3a 0%,#2c4a5e 40%,#446187 100%);overflow:hidden}
.inst-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(30,174,211,.1) 0%,transparent 60%);pointer-events:none}
.inst-hero .container{position:relative;z-index:2}
.inst-hero .breadcrumbs,.inst-hero .breadcrumbs a,.inst-hero .breadcrumbs .sep{color:rgba(255,255,255,.45)}
.inst-hero .breadcrumbs a:hover{color:#fff}
.inst-hero .breadcrumbs{margin-bottom:20px}

/* HERO GRID — big photo left, info right */
.inst-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}

/* PHOTO — big, rounded corners, not circle */
.inst-photo{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/5;max-height:520px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.inst-photo img{width:100%;height:100%;object-fit:cover;display:block}
.inst-photo-placeholder{width:100%;height:100%;min-height:400px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,.02) 100%)}
.inst-photo-placeholder span{font-size:100px;font-weight:700;color:rgba(255,255,255,.12)}
.inst-badge-founder{position:absolute;top:16px;left:16px;background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:7px 16px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px rgba(30,174,211,.3)}

/* HERO INFO */
.inst-hero-info h1{font-size:40px;font-weight:700;color:#fff;line-height:1.1;margin:0}
.inst-role{font-size:16px;color:var(--primary);font-weight:500;margin-top:8px}

/* PILLS */
.inst-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.inst-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 18px;font-size:13px;color:rgba(255,255,255,.85);font-weight:500;backdrop-filter:blur(4px)}
.inst-pill-ic{font-size:16px;flex-shrink:0}

/* EQUIPMENT IN HERO */
.inst-equip{display:flex;gap:16px;margin-top:20px}
.inst-equip-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px 18px;flex:1}
.inst-equip-label{display:block;font-size:11px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.5px}
.inst-equip-val{display:block;font-size:14px;font-weight:600;color:#fff;margin-top:2px}

/* HERO BUTTONS */
.inst-hero-btns{display:flex;gap:12px;margin-top:28px}
.inst-hero-btns .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(30,174,211,.4)}

/* HIGHLIGHTS BAR */
.inst-highlights-bar{padding:28px 0;background:var(--bg);border-bottom:1px solid var(--border)}
.inst-hl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.inst-hl{text-align:center;padding:12px 8px}
.inst-hl-val{font-size:26px;font-weight:700;color:var(--primary)}
.inst-hl-label{font-size:12px;color:var(--text-muted);margin-top:2px}

/* BIO LAYOUT — content + sidebar */
.inst-bio-layout{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start}
.inst-bio{min-width:0}
.inst-bio h2:first-child{margin-top:0}

/* SIDEBAR */
.inst-sidebar-phone{display:block;font-size:22px;font-weight:700;color:var(--primary);margin:8px 0 4px;transition:opacity .2s}
.inst-sidebar-phone:hover{opacity:.7}
.inst-sidebar-email{display:block;font-size:14px;color:var(--text-muted);margin-bottom:16px;transition:color .2s}
.inst-sidebar-email:hover{color:var(--primary)}
.inst-sidebar-equip{padding-top:16px;border-top:1px solid var(--border);margin-top:16px}
.inst-sidebar-equip h4{font-size:13px;font-weight:600;color:var(--dark);margin:0 0 8px}
.inst-sidebar-equip p{font-size:13px;color:var(--text);margin:4px 0}
.inst-sidebar-equip p span{color:var(--text-muted)}
.inst-back{display:block;text-align:center;margin-top:12px;font-size:13px;font-weight:600;color:var(--primary);transition:opacity .2s}
.inst-back:hover{opacity:.7}

/* RESPONSIVE */
@media(max-width:1024px){
    .inst-hero-inner{grid-template-columns:1fr 1.2fr;gap:32px}
    .inst-bio-layout{grid-template-columns:1fr 280px;gap:32px}
}
@media(max-width:768px){
    .inst-hero{padding:calc(var(--header-h) + 12px) 0 40px}
    .inst-hero-inner{grid-template-columns:1fr;gap:24px}
    .inst-photo{aspect-ratio:16/10;max-height:320px}
    .inst-hero-info h1{font-size:30px}
    .inst-hero-btns{flex-direction:column}
    .inst-hero-btns .btn-primary{justify-content:center}
    .inst-equip{flex-direction:column;gap:8px}
    .inst-bio-layout{grid-template-columns:1fr;gap:24px}
    .inst-sidebar .sticky-sidebar{position:static}
    .inst-hl-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:480px){
    .inst-hl-grid{grid-template-columns:repeat(2,1fr)}
    .inst-pills{flex-direction:column}
}

/* ==============================================================
   INSTRUCTOR & TEAM PAGES v3 — production-grade
   ============================================================== */

/* ---- HERO ---- */
.ip-hero{position:relative;padding:calc(var(--header-h) + 40px) 0 64px;overflow:hidden;min-height:420px;display:flex;align-items:flex-end}
.ip-hero--compact{min-height:280px;padding:calc(var(--header-h) + 24px) 0 48px}
.ip-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0f1a24 0%,#1a3040 40%,#2c4a5e 100%)}
.ip-hero-bg-img{width:100%;height:100%;object-fit:cover;opacity:.15;filter:blur(20px) saturate(.6);transform:scale(1.1)}
.ip-hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(15,26,36,.92) 0%,rgba(15,26,36,.7) 50%,rgba(15,26,36,.4) 100%);z-index:1}
.ip-hero .container{position:relative;z-index:2}
.ip-hero .breadcrumbs,.ip-hero .breadcrumbs a,.ip-hero .breadcrumbs .sep{color:rgba(255,255,255,.4)}
.ip-hero .breadcrumbs a:hover{color:var(--primary)}

/* HERO GRID */
.ip-hero-grid{display:grid;grid-template-columns:380px 1fr;gap:48px;align-items:center}

/* HERO PHOTO */
.ip-hero-photo{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 24px 64px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.06);transform:translateY(20px)}
.ip-hero-photo img{width:100%;height:100%;object-fit:cover}
.ip-hero-placeholder{width:100%;height:100%;min-height:360px;background:linear-gradient(135deg,rgba(30,174,211,.15) 0%,rgba(68,97,135,.15) 100%);display:flex;align-items:center;justify-content:center}
.ip-hero-placeholder span{font-size:96px;font-weight:800;color:rgba(255,255,255,.08)}
.ip-badge-founder{position:absolute;top:16px;left:16px;background:var(--primary);color:#fff;font-size:10px;font-weight:700;padding:6px 14px;border-radius:6px;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 16px rgba(30,174,211,.4)}

/* HERO INFO */
.ip-role-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ip-role-tag{font-size:11px;font-weight:600;color:var(--primary);background:rgba(30,174,211,.12);padding:5px 14px;border-radius:5px;text-transform:uppercase;letter-spacing:.5px}
.ip-name{font-size:44px;font-weight:800;color:#fff;line-height:1.05;letter-spacing:-.5px;margin:0}
.ip-experience{font-size:16px;color:rgba(255,255,255,.55);margin-top:10px;line-height:1.5}
.ip-hero-meta{display:flex;flex-direction:column;gap:8px;margin-top:20px}
.ip-meta-item{display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(255,255,255,.65);font-weight:500}
.ip-meta-item svg{color:var(--primary);flex-shrink:0}

/* HERO BUTTONS */
.ip-hero-btns{display:flex;gap:12px;margin-top:28px}
.ip-btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;font-size:14px;font-weight:600;padding:13px 28px;border-radius:8px;transition:all .25s;cursor:pointer;border:none;text-decoration:none}
.ip-btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(30,174,211,.35)}
.ip-btn-ghost{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.6);font-size:14px;font-weight:600;padding:13px 28px;border-radius:8px;border:1.5px solid rgba(255,255,255,.15);transition:all .25s;text-decoration:none}
.ip-btn-ghost:hover{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.04)}
.ip-btn-outline{display:inline-flex;align-items:center;gap:6px;color:var(--dark);font-size:13px;font-weight:600;padding:10px 22px;border-radius:7px;border:1.5px solid var(--border);transition:all .25s;text-decoration:none;background:none}
.ip-btn-outline:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}

/* ---- HIGHLIGHTS BAR ---- */
.ip-highlights{padding:28px 0;background:var(--bg);border-bottom:1px solid var(--border)}
.ip-hl-row{display:flex;justify-content:center;gap:0}
.ip-hl-item{flex:1;text-align:center;padding:12px 16px;position:relative}
.ip-hl-item + .ip-hl-item::before{content:'';position:absolute;left:0;top:20%;height:60%;width:1px;background:var(--border)}
.ip-hl-val{display:block;font-size:24px;font-weight:800;color:var(--primary)}
.ip-hl-label{display:block;font-size:11px;color:var(--text-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.3px}

/* ---- BIO CONTENT GRID ---- */
.ip-content-grid{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}
.ip-bio{min-width:0}
.ip-section-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.ip-section-head h2{font-size:22px;font-weight:700;color:var(--dark);margin:0}
.ip-about-intro{max-width:800px}

/* EQUIPMENT CARDS */
.ip-equip-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ip-equip-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;padding:16px 20px;transition:border-color .2s}
.ip-equip-card:hover{border-color:var(--primary)}
.ip-equip-type{display:block;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.ip-equip-name{display:block;font-size:16px;font-weight:700;color:var(--dark);margin-top:4px}

/* ---- SIDEBAR ---- */
.ip-sidebar-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:28px}
.ip-sidebar-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border-light)}
.ip-sidebar-section:last-of-type{border-bottom:none;margin-bottom:16px;padding-bottom:0}
.ip-sidebar-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.ip-sidebar-phone{display:block;font-size:22px;font-weight:700;color:var(--dark);text-decoration:none;transition:color .2s}
.ip-sidebar-phone:hover{color:var(--primary)}
.ip-sidebar-email{display:block;font-size:14px;color:var(--primary);font-weight:500;text-decoration:none;transition:opacity .2s}
.ip-sidebar-email:hover{opacity:.7}
.ip-sidebar-tags{display:flex;flex-wrap:wrap;gap:6px}
.ip-sidebar-tag{font-size:12px;font-weight:500;color:var(--primary);background:rgba(30,174,211,.08);padding:5px 12px;border-radius:5px}
.ip-sidebar-equip{font-size:14px;font-weight:600;color:var(--dark);margin-bottom:4px}
.ip-sidebar-hours{display:flex;align-items:center;gap:6px;margin-top:16px;font-size:13px;color:var(--text-muted);justify-content:center}
.ip-sidebar-hours strong{color:var(--dark)}

/* ---- TEAM LIST (O nas page) ---- */
.ip-team-list{display:flex;flex-direction:column;gap:24px}
.ip-member-card{display:grid;grid-template-columns:280px 1fr;background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .3s}
.ip-member-card:hover{border-color:var(--primary);box-shadow:0 12px 40px rgba(0,0,0,.06)}

/* MEMBER PHOTO */
.ip-member-photo{position:relative;overflow:hidden;min-height:320px}
.ip-member-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.ip-member-card:hover .ip-member-photo img{transform:scale(1.04)}
.ip-member-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#2c4a5e,#446187);display:flex;align-items:center;justify-content:center}
.ip-member-placeholder span{font-size:64px;font-weight:800;color:rgba(255,255,255,.12)}
.ip-member-photo-info{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 100%)}
.ip-member-photo-name{display:block;font-size:20px;font-weight:700;color:#fff}
.ip-member-photo-role{display:block;font-size:13px;color:rgba(255,255,255,.6);margin-top:2px}

/* MEMBER DATA */
.ip-member-data{padding:28px 32px;display:flex;flex-direction:column;justify-content:center}
.ip-member-role-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.ip-member-role-tags span{font-size:11px;font-weight:600;color:var(--secondary);background:rgba(68,97,135,.08);padding:4px 12px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}
.ip-tag-accent{background:rgba(30,174,211,.1) !important;color:var(--primary) !important}
.ip-member-section{margin-bottom:14px}
.ip-member-section-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.ip-member-spec-tags{display:flex;flex-wrap:wrap;gap:6px}
.ip-member-spec-tags span{font-size:12px;font-weight:500;color:var(--primary);background:rgba(30,174,211,.06);border:1px solid rgba(30,174,211,.15);padding:4px 12px;border-radius:5px}
.ip-member-excerpt{font-size:14px;color:var(--text-light);line-height:1.6;margin:12px 0 0}
.ip-member-actions{display:flex;gap:10px;margin-top:20px}

/* TEAM ROW (bottom cross-sell) */
.ip-team-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}
.ip-team-member{background:var(--bg);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:all .3s}
.ip-team-member:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 12px 36px rgba(0,0,0,.06)}
.ip-team-photo{position:relative;height:280px;overflow:hidden}
.ip-team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ip-team-member:hover .ip-team-photo img{transform:scale(1.05)}
.ip-team-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#2c4a5e,#446187);display:flex;align-items:center;justify-content:center}
.ip-team-placeholder span{font-size:48px;font-weight:800;color:rgba(255,255,255,.1)}
.ip-team-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent)}
.ip-team-name-overlay{display:block;font-size:16px;font-weight:700;color:#fff}
.ip-team-role-overlay{display:block;font-size:12px;color:rgba(255,255,255,.6);margin-top:2px}
.ip-team-info{padding:16px}
.ip-team-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.ip-team-tags span{font-size:11px;color:var(--primary);background:rgba(30,174,211,.06);padding:3px 10px;border-radius:4px}
.ip-team-exp{font-size:12px;color:var(--text-muted);margin:0 0 12px}
.ip-team-actions{display:flex;gap:8px}

/* ---- RESPONSIVE ---- */
@media(max-width:1024px){
    .ip-hero-grid{grid-template-columns:320px 1fr;gap:36px}
    .ip-content-grid{grid-template-columns:1fr 280px;gap:36px}
    .ip-team-row{grid-template-columns:repeat(2,1fr)}
    .ip-member-card{grid-template-columns:240px 1fr}
}
@media(max-width:768px){
    .ip-hero{padding:calc(var(--header-h) + 12px) 0 36px}
    .ip-hero-grid{grid-template-columns:1fr;gap:24px}
    .ip-hero-photo{aspect-ratio:16/10;max-height:300px;transform:none}
    .ip-name{font-size:32px}
    .ip-hero-btns{flex-direction:column}
    .ip-hero-btns .ip-btn-primary,.ip-hero-btns .ip-btn-ghost{justify-content:center}
    .ip-content-grid{grid-template-columns:1fr;gap:24px}
    .ip-sidebar .sticky-sidebar{position:static}
    .ip-equip-cards{grid-template-columns:1fr}
    .ip-member-card{grid-template-columns:1fr}
    .ip-member-photo{min-height:240px}
    .ip-team-row{grid-template-columns:1fr}
    .ip-hl-row{flex-wrap:wrap}
    .ip-hl-item{min-width:calc(33% - 8px)}
    .ip-hl-item + .ip-hl-item::before{display:none}
}

/* ==============================================================
   SZKOLENIE PAGE v2 — production quality
   ============================================================== */

/* ---- HERO ---- */
.sk-hero{position:relative;padding:calc(var(--header-h) + 32px) 0 56px;overflow:hidden;min-height:480px}
.sk-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0f1a24 0%,#1a3040 40%,#2c4a5e 100%)}
.sk-hero-bg-img{width:100%;height:100%;object-fit:cover;opacity:.2;filter:blur(8px) saturate(.5);transform:scale(1.05)}
.sk-hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(15,26,36,.88) 0%,rgba(15,26,36,.6) 55%,rgba(15,26,36,.3) 100%);z-index:1}
.sk-hero .container{position:relative;z-index:2}
.sk-hero .breadcrumbs,.sk-hero .breadcrumbs a,.sk-hero .breadcrumbs .sep{color:rgba(255,255,255,.35)}
.sk-hero .breadcrumbs a:hover{color:var(--primary)}

/* HERO GRID */
.sk-hero-grid{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start}
.sk-hero-info h1{font-size:38px;font-weight:800;color:#fff;line-height:1.08;letter-spacing:-.3px;margin:12px 0 0}
.sk-hero-sub{font-size:16px;color:rgba(255,255,255,.5);margin-top:8px}

/* HERO TAGS */
.sk-hero-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.sk-hero-tag{font-size:10px;font-weight:700;color:var(--primary);background:rgba(30,174,211,.12);padding:5px 14px;border-radius:5px;text-transform:uppercase;letter-spacing:.8px}

/* HERO PILLS */
.sk-hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.sk-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 18px;font-size:13px;color:rgba(255,255,255,.75);font-weight:500}
.sk-pill svg{color:var(--primary);flex-shrink:0}

/* HERO BUTTONS */
.sk-hero-btns{display:flex;gap:12px;margin-top:28px}

/* ---- PRICE CARD (floating in hero) ---- */
.sk-price-card{background:#fff;border-radius:12px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.2);position:relative}
.sk-price-top{text-align:center;padding-bottom:20px;border-bottom:1px solid var(--border-light);margin-bottom:16px}
.sk-price-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}
.sk-price-amount{font-size:42px;font-weight:800;color:var(--dark);line-height:1.1;margin-top:4px}
.sk-price-per{font-size:13px;color:var(--text-muted);margin-top:2px}

/* PRICE VARIANTS */
.sk-price-variants{margin-bottom:20px}
.sk-price-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:13px;color:var(--text)}
.sk-price-row:last-child{border-bottom:none}
.sk-price-row strong{color:var(--dark);font-weight:700;white-space:nowrap;margin-left:12px}
.sk-price-phone{text-align:center;margin-top:12px;font-size:13px;color:var(--text-muted)}
.sk-price-phone a{color:var(--primary);text-decoration:none}

/* PRICE DATES */
.sk-price-dates{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light)}
.sk-price-dates-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.sk-price-date{font-size:13px;color:var(--text);padding:4px 0;display:flex;justify-content:space-between;align-items:center}
.sk-date-hot{font-size:10px;font-weight:600;color:#c0392b;background:rgba(192,57,43,.08);padding:2px 8px;border-radius:3px}

/* ---- CONTENT LAYOUT ---- */
.sk-layout{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}
.sk-main{min-width:0}
.sk-section-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.sk-section-head h2{font-size:22px;font-weight:700;color:var(--dark);margin:0}
.sk-sidebar .sidebar-card{border-radius:12px}

/* ---- FAQ LAYOUT (2-col like fizjointouch) ---- */
.sk-faq-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;align-items:start}
.sk-faq-left{position:sticky;top:calc(var(--header-h) + 12px)}

/* ---- OFFER CARD EXTRAS ---- */
.offer-card-badge{display:inline-block;font-size:10px;font-weight:700;color:#fff;background:var(--primary);padding:5px 12px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.offer-card-price{font-size:18px;font-weight:700;color:#fff;margin-top:8px;text-shadow:0 1px 4px rgba(0,0,0,.3)}

/* ---- RESPONSIVE ---- */
@media(max-width:1024px){
    .sk-hero-grid{grid-template-columns:1fr 320px;gap:32px}
    .sk-layout{grid-template-columns:1fr 280px;gap:36px}
    .sk-faq-layout{grid-template-columns:1fr 1.2fr;gap:32px}
}
@media(max-width:768px){
    .sk-hero{padding:calc(var(--header-h) + 12px) 0 36px;min-height:auto}
    .sk-hero-grid{grid-template-columns:1fr;gap:24px}
    .sk-hero-info h1{font-size:30px}
    .sk-hero-btns{flex-direction:column}
    .sk-hero-btns .ip-btn-primary,.sk-hero-btns .ip-btn-ghost{justify-content:center}
    .sk-price-card{order:-1}
    .sk-price-amount{font-size:32px}
    .sk-layout{grid-template-columns:1fr;gap:24px}
    .sk-sidebar .sticky-sidebar{position:static}
    .sk-faq-layout{grid-template-columns:1fr}
    .sk-faq-left{position:static;margin-bottom:16px}
}

/* ==============================================================
   HEADER v2 — two-level: top bar + main nav
   ============================================================== */

/* ---- TOP BAR ---- */
.top-bar{background:#0f1a24;padding:0;height:36px;display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:1001;transition:transform .3s}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;height:100%}
.top-bar-left,.top-bar-right{display:flex;align-items:center;gap:20px}
.top-bar-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s}
a.top-bar-item:hover{color:var(--primary)}
.top-bar-item svg{color:var(--primary);flex-shrink:0;opacity:.6}
.top-bar-social{display:flex;gap:4px}
.top-bar-social a{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:rgba(255,255,255,.4);border-radius:3px;transition:color .2s}
.top-bar-social a:hover{color:var(--primary)}

/* ---- MAIN NAV (below top bar) ---- */
.nav{position:fixed;top:36px;left:0;right:0;z-index:1000;height:var(--nav-bar);transition:background .3s,box-shadow .3s,top .3s;background:rgba(255,255,255,.03);backdrop-filter:blur(2px)}
.nav.scrolled{background:rgba(255,255,255,.98);backdrop-filter:blur(16px);box-shadow:0 1px 20px rgba(0,0,0,.06);top:0}
.nav.scrolled + .top-bar-hidden{transform:translateY(-36px)}
.nav .container{display:flex;align-items:center;justify-content:space-between;height:100%}

/* LOGO */
.nav-logo{display:flex;align-items:center;flex-shrink:0}
.nav-logo-img{height:38px;width:auto;filter:brightness(0) invert(1);transition:filter .3s}
.nav.scrolled .nav-logo-img{filter:none}

/* CENTER LINKS */
.nav-center{flex:1;display:flex;justify-content:center}
.nav-links{display:flex;gap:4px}
.nav-links a{font-size:14px;font-weight:500;color:rgba(255,255,255,.75);padding:8px 14px;border-radius:6px;transition:all .2s;position:relative}
.nav.scrolled .nav-links a{color:var(--text)}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav.scrolled .nav-links a:hover{color:var(--primary);background:rgba(30,174,211,.06)}

/* RIGHT: PHONE + CTA */
.nav-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
.nav-phone-btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:rgba(255,255,255,.75);padding:8px 16px;border-radius:6px;border:1px solid rgba(255,255,255,.15);transition:all .2s;text-decoration:none}
.nav-phone-btn svg{color:var(--primary)}
.nav-phone-btn:hover{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.05)}
.nav.scrolled .nav-phone-btn{color:var(--dark);border-color:var(--border)}
.nav.scrolled .nav-phone-btn:hover{border-color:var(--primary);color:var(--primary)}
.nav-cta{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#fff;background:var(--primary);padding:9px 22px;border-radius:6px;transition:all .2s;text-decoration:none;white-space:nowrap}
.nav-cta:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(30,174,211,.3)}

/* HAMBURGER */
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.nav-hamburger span{display:block;width:22px;height:2px;background:#fff;transition:transform .3s,opacity .3s,background .3s}
.nav.scrolled .nav-hamburger span{background:var(--dark)}
.nav-hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.active span:nth-child(2){opacity:0}
.nav-hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* MOBILE MENU */
.nav-mobile{display:none;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;background:#fff;padding:24px 32px;z-index:999;flex-direction:column;overflow-y:auto}
.nav-mobile.active{display:flex}
.nav-mobile a{display:block;padding:14px 0;font-size:16px;font-weight:500;color:var(--dark);border-bottom:1px solid var(--border-light);text-decoration:none}
.nav-mobile-contact{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
.nav-mobile-phone{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:var(--primary);text-decoration:none}
.nav-mobile-email{font-size:14px;color:var(--text-muted);text-decoration:none}
.nav-mobile .nav-cta{text-align:center;display:flex;justify-content:center;padding:14px;font-size:15px;border-radius:8px}

/* Adjust hero padding for two-level header */
.hero{padding-top:0}
.hero .container,.hero-content{padding-top:0}
.hero--sub{padding-top:0}

/* On scroll: hide top bar, nav moves to top:0 */
body.scrolled-past .top-bar{transform:translateY(-100%)}
body.scrolled-past .nav{top:0}
body.scrolled-past .nav-mobile{top:var(--nav-bar)}

/* ---- RESPONSIVE ---- */
@media(max-width:1100px){
    .nav-links a{font-size:13px;padding:8px 10px}
    .nav-phone-btn span{display:none}
    .nav-phone-btn{padding:8px}
}
@media(max-width:768px){
    .top-bar{display:none}
    .nav{top:0}
    .nav-center,.nav-right{display:none}
    .nav-hamburger{display:flex}
    .nav-mobile{top:var(--nav-bar)}
}


/* ==============================================================
   HEADER v3 — three levels: top bar + logo bar + nav
   ============================================================== */

/* ---- LEVEL 1: TOP BAR ---- */
.hdr-top{background:#0c151e;height:34px;display:flex;align-items:center;position:relative;z-index:1002}
.hdr-top .container{display:flex;justify-content:space-between;align-items:center;height:100%}
.hdr-top-left,.hdr-top-right{display:flex;align-items:center;gap:20px}
.hdr-top-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
a.hdr-top-item:hover{color:var(--primary)}
.hdr-top-item svg{color:var(--primary);opacity:.6;flex-shrink:0}
.hdr-top-social{display:flex;gap:2px}
.hdr-top-social a{width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:rgba(255,255,255,.35);border-radius:4px;transition:all .2s;text-decoration:none}
.hdr-top-social a:hover{color:var(--primary);background:rgba(255,255,255,.05)}

/* ---- LEVEL 2: LOGO / MIDDLE BAR ---- */
.hdr-mid{background:rgba(255,255,255,.06);backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.06);padding:14px 0;position:relative;z-index:1001}
.hdr-mid .container{display:flex;align-items:center;justify-content:space-between}

/* LOGO */
.hdr-logo{display:flex;align-items:center}
.hdr-logo-img{height:44px;width:auto;filter:brightness(0) invert(1)}

/* BADGES */
.hdr-badges{display:flex;gap:24px}
.hdr-badge{display:flex;align-items:center;gap:10px}
.hdr-badge-icon{width:40px;height:40px;border-radius:8px;border:1.5px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--primary);flex-shrink:0;background:rgba(30,174,211,.06)}
.hdr-badge-title{display:block;font-size:12px;font-weight:600;color:rgba(255,255,255,.75);line-height:1.2}
.hdr-badge-sub{display:block;font-size:11px;color:rgba(255,255,255,.35);line-height:1.2}

/* CONTACT */
.hdr-contact{display:flex;align-items:center;gap:14px}
.hdr-phone{display:flex;align-items:center;gap:10px;text-decoration:none;transition:opacity .2s}
.hdr-phone:hover{opacity:.8}
.hdr-phone-icon{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hdr-phone-icon svg{color:var(--primary)}
.hdr-phone-label{display:block;font-size:11px;color:rgba(255,255,255,.4);line-height:1.2}
.hdr-phone-number{display:block;font-size:16px;font-weight:700;color:#fff;line-height:1.2}
.hdr-cta{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#fff;background:var(--primary);padding:12px 28px;border-radius:8px;text-decoration:none;transition:all .2s;white-space:nowrap}
.hdr-cta:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(30,174,211,.35)}
.hdr-cta--sm{font-size:13px;padding:8px 20px;border-radius:6px}

/* ---- LEVEL 3: NAV BAR ---- */
.hdr-nav{background:rgba(30,50,70,.5);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);height:48px;position:sticky;top:0;z-index:1000;transition:all .3s}
.hdr-nav .container{display:flex;align-items:center;justify-content:center;height:100%;position:relative}

/* NAV LOGO (hidden by default, shown on sticky) */
.hdr-nav-logo{display:none;align-items:center;position:absolute;left:32px}
.hdr-nav-logo img{height:30px;width:auto}

/* NAV LINKS */
.hdr-nav-links{display:flex;gap:0}
.hdr-nav-links a{font-size:14px;font-weight:500;color:rgba(255,255,255,.7);padding:12px 18px;transition:all .2s;text-decoration:none;position:relative}
.hdr-nav-links a:hover{color:#fff;background:rgba(255,255,255,.06)}
.hdr-nav-links a::after{content:'';position:absolute;bottom:0;left:18px;right:18px;height:2px;background:var(--primary);transform:scaleX(0);transition:transform .3s}
.hdr-nav-links a:hover::after{transform:scaleX(1)}
.hdr-nav-links a.is-active,.hdr-nav-links .current-menu-item a,.hdr-nav-links .current-menu-parent a{color:var(--cyan,#06B6D4)}
.hdr-nav-links a.is-active::after,.hdr-nav-links .current-menu-item a::after,.hdr-nav-links .current-menu-parent a::after{transform:scaleX(1);background:var(--cyan,#06B6D4)}

/* NAV RIGHT (hidden by default, shown on sticky) */
.hdr-nav-right{display:none;align-items:center;gap:12px;position:absolute;right:32px}
.hdr-nav-phone{font-size:13px;font-weight:600;color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s}
.hdr-nav-phone:hover{color:var(--primary)}

/* ---- STICKY STATE ---- */
.hdr-nav.stuck{background:rgba(255,255,255,.98);backdrop-filter:blur(16px);box-shadow:0 2px 20px rgba(0,0,0,.06);height:56px}
.hdr-nav.stuck .hdr-nav-logo{display:flex}
.hdr-nav.stuck .hdr-nav-logo img{filter:none}
.hdr-nav.stuck .hdr-nav-right{display:flex}
.hdr-nav.stuck .hdr-nav-links a{color:var(--text)}
.hdr-nav.stuck .hdr-nav-links a:hover{color:var(--primary);background:rgba(30,174,211,.04)}
.hdr-nav.stuck .hdr-nav-phone{color:var(--dark)}
.hdr-nav.stuck .nav-hamburger span{background:var(--dark)}

/* HAMBURGER */
.hdr-nav .nav-hamburger{display:none;position:absolute;right:32px}
.hdr-nav .nav-hamburger span{background:#fff}

/* MOBILE */
.nav-mobile{display:none;position:fixed;top:48px;left:0;right:0;bottom:0;background:#fff;padding:24px 32px;z-index:999;flex-direction:column;overflow-y:auto}
.hdr-nav.stuck ~ .nav-mobile{top:56px}
.nav-mobile.active{display:flex}
.nav-mobile a{display:block;padding:14px 0;font-size:16px;font-weight:500;color:var(--dark);border-bottom:1px solid var(--border-light);text-decoration:none}
.nav-mobile-contact{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
.nav-mobile-phone{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:var(--primary);text-decoration:none}
.nav-mobile-email{font-size:14px;color:var(--text-muted);text-decoration:none}

/* ---- RESPONSIVE ---- */
@media(max-width:1100px){
    .hdr-badges{display:none}
    .hdr-nav-links a{font-size:13px;padding:12px 14px}
}
@media(max-width:768px){
    .hdr-top{display:none}
    .hdr-mid{padding:10px 0}
    .hdr-logo-img{height:36px}
    .hdr-badges{display:none}
    .hdr-phone{display:none}
    .hdr-nav-links{display:none}
    .hdr-nav-right{display:none !important}
    .hdr-nav .nav-hamburger{display:flex}
    .hdr-nav .container{justify-content:space-between}
    .hdr-nav-logo{display:none !important}
}

/* ==== HEADER v3 FIXES ==== */

/* Make mid bar dark like top bar */
.hdr-mid{background:#0f1f2e;backdrop-filter:none;border-bottom:1px solid rgba(255,255,255,.08);padding:16px 0}

/* Logo should be visible (white on dark) */
.hdr-logo-img{height:44px;width:auto;filter:brightness(0) invert(1)}

/* Nav bar darker */
.hdr-nav{background:#1a3040;backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}

/* Make sure phone number is visible */
.hdr-phone-number{font-size:17px;font-weight:700;color:#fff}
.hdr-phone-label{color:rgba(255,255,255,.45)}

/* Badge text visible */
.hdr-badge-title{color:rgba(255,255,255,.8)}
.hdr-badge-sub{color:rgba(255,255,255,.4)}
.hdr-badge-icon{border-color:rgba(30,174,211,.3);color:var(--primary);background:rgba(30,174,211,.1)}

/* Top bar centered fix */
.hdr-top .container{display:flex;justify-content:space-between}
.hdr-top-left{justify-content:flex-start}
.hdr-top-right{justify-content:flex-end}

/* ==============================================================
   WYJAZD PAGE — specific styles (reuses sk- classes)
   ============================================================== */

/* STATUS BADGE */
.wj-status{text-align:center;padding:12px;border-radius:8px;font-size:14px;font-weight:700;margin-bottom:16px}
.wj-status--open{background:rgba(30,174,211,.08);color:var(--primary);border:1px solid rgba(30,174,211,.2)}
.wj-status--hot{background:rgba(231,76,60,.06);color:#e74c3c;border:1px solid rgba(231,76,60,.2)}
.wj-status--closed{background:var(--bg-alt);color:var(--text-muted);border:1px solid var(--border)}
.wj-spots{font-weight:500;opacity:.8}

/* CARD SECTIONS */
.wj-card-section{padding:10px 0;border-bottom:1px solid var(--border-light)}
.wj-card-section:last-of-type{border-bottom:none}
.wj-card-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px}
.wj-card-value{font-size:14px;font-weight:600;color:var(--dark);margin-top:2px}

/* INCLUDES GRID */
.wj-includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.wj-include-item{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text);transition:border-color .2s}
.wj-include-item:hover{border-color:var(--primary)}
.wj-include-item svg{flex-shrink:0;margin-top:2px}

@media(max-width:768px){
    .wj-includes-grid{grid-template-columns:1fr}
}

/* ==============================================================
   STYLED CONTENT SECTIONS (.cs-block)
   ============================================================== */
.cs-block{border-radius:12px;margin-bottom:20px;overflow:hidden;transition:all .3s}
.cs-block-inner{padding:32px 36px}

/* STYLES */
.cs-block--white{background:var(--bg);border:1px solid var(--border)}
.cs-block--gray{background:var(--bg-alt);border:1px solid var(--border)}
.cs-block--dark{background:#1a2a3a;border:1px solid rgba(255,255,255,.06)}
.cs-block--dark .cs-block-head h2{color:#fff}
.cs-block--dark .cs-block-head svg{stroke:var(--primary)}
.cs-block--dark .cs-block-content,.cs-block--dark .cs-block-content p,.cs-block--dark .cs-block-content li{color:rgba(255,255,255,.7)}
.cs-block--dark .cs-block-content h2,.cs-block--dark .cs-block-content h3{color:#fff}
.cs-block--dark .cs-block-content strong{color:rgba(255,255,255,.9)}
.cs-block--accent{background:linear-gradient(135deg,rgba(30,174,211,.06) 0%,rgba(68,97,135,.04) 100%);border:1px solid rgba(30,174,211,.15)}
.cs-block--accent .cs-block-head h2{color:var(--primary)}

/* HEAD */
.cs-block-head{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}
.cs-block--dark .cs-block-head{border-bottom-color:rgba(255,255,255,.08)}
.cs-block--accent .cs-block-head{border-bottom-color:rgba(30,174,211,.15)}
.cs-block-head h2{font-size:20px;font-weight:700;color:var(--dark);margin:0}
.cs-block-head svg,.cs-block-icon svg{color:var(--primary);flex-shrink:0}

/* CONTENT */
.cs-block-content{font-size:15px;line-height:1.75;color:var(--text)}
.cs-block-content h2{font-size:18px;font-weight:700;color:var(--dark);margin:28px 0 10px}
.cs-block-content h3{font-size:16px;font-weight:600;color:var(--dark);margin:24px 0 8px}
.cs-block-content p{margin-bottom:14px}
.cs-block-content ul,.cs-block-content ol{margin:12px 0;padding-left:0;list-style:none}
.cs-block-content li{position:relative;padding:8px 0 8px 28px;border-bottom:1px solid var(--border-light);font-size:14px}
.cs-block--dark .cs-block-content li{border-bottom-color:rgba(255,255,255,.06)}
.cs-block-content li::before{content:'';position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:2px;background:var(--primary);opacity:.6}
.cs-block-content li:last-child{border-bottom:none}
.cs-block-content strong{color:var(--dark);font-weight:600}

/* HOVER */
.cs-block--white:hover,.cs-block--gray:hover,.cs-block--accent:hover{border-color:var(--primary);box-shadow:0 4px 20px rgba(0,0,0,.04)}

/* HERO FIX — image visible on right, content compact on left */
.sk-hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(15,26,36,.92) 0%,rgba(15,26,36,.75) 45%,rgba(15,26,36,.4) 80%,rgba(15,26,36,.2) 100%);z-index:1}
.sk-hero-bg-img{opacity:.35;filter:blur(2px) saturate(.7);transform:scale(1.02)}
.sk-hero{min-height:auto;padding:calc(var(--header-h, 154px) + 32px) 0 48px}

/* SIDEBAR UPGRADE */
.sk-sidebar .sidebar-card{border-radius:12px;border:1px solid var(--border);padding:24px;background:var(--bg)}
.sidebar-heading{font-size:14px;font-weight:700;color:var(--dark);margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}

@media(max-width:768px){
    .cs-block-inner{padding:24px 20px}
    .cs-block-head h2{font-size:18px}
}

/* ==============================================================
   HOMEPAGE v2 — sportowy/dynamiczny (hp- prefix, scoped)
   ============================================================== */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --cyan: #06B6D4;
  --cyan-bright: #00E5FF;
  --navy: #0A1F35;
  --navy-2: #132D47;
  --navy-3: #1C3A56;
  --coral: #FF5E3A;
  --solar: #FFB800;
}

.hp-hero, .hp-marquee, .hp-trust, .hp-section-alt, .hp-cta-ribbon,
.hp-hero *, .hp-marquee *, .hp-trust *, .hp-section-alt *, .hp-cta-ribbon *,
[class^="hp-"] { font-family:'Manrope', system-ui, -apple-system, sans-serif; }

/* HERO */
.hp-hero { position:relative; min-height:92vh; background:var(--navy); overflow:hidden; display:flex; align-items:center; padding:60px 0 80px; color:#fff; }
.hp-hero-bg { position:absolute; inset:0; z-index:0; }
.hp-hero-bg img { width:100%; height:100%; object-fit:cover; opacity:.55; animation:hpSlowZoom 20s ease-in-out infinite alternate; }
@keyframes hpSlowZoom { from { transform:scale(1.02); } to { transform:scale(1.12); } }
.hp-hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(10,31,53,.95) 0%,rgba(10,31,53,.65) 45%,rgba(10,31,53,.85) 100%); }
.hp-hero-grid-overlay { position:absolute; inset:0; z-index:1; opacity:.08; background-image:linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px, transparent 1px); background-size:80px 80px; }
.hp-hero .container { position:relative; z-index:2; }
.hp-hero-content { max-width:840px; color:#fff; }
.hp-hero-eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); padding:8px 16px; border:1px solid rgba(6,182,212,.3); border-radius:100px; background:rgba(6,182,212,.08); margin-bottom:28px; animation:hpFadeInUp .8s .1s both; }
.hp-hero-eyebrow::before { content:''; width:8px; height:8px; background:var(--cyan); border-radius:50%; box-shadow:0 0 0 4px rgba(6,182,212,.2); animation:hpPulse 2s infinite; }
@keyframes hpPulse { 0%,100% { box-shadow:0 0 0 4px rgba(6,182,212,.2); } 50% { box-shadow:0 0 0 8px rgba(6,182,212,.05); } }
.hp-hero h1 { font-family:'Manrope', sans-serif; font-weight:800; font-size:clamp(38px, 5.2vw, 72px); line-height:1.05; letter-spacing:-.02em; margin:0 0 28px; color:#fff; }
.hp-accent { background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan-bright) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hp-hero-sub { font-size:19px; color:rgba(255,255,255,.75); line-height:1.6; max-width:600px; margin-bottom:40px; animation:hpFadeInUp 1s .65s both; }
.hp-hero-sub strong { color:#fff; font-weight:600; }
.hp-hero-btns { display:flex; gap:14px; animation:hpFadeInUp 1s .8s both; flex-wrap:wrap; }

.hp-btn-primary { background:var(--cyan); color:var(--navy); font-weight:700; padding:18px 34px; border-radius:10px; font-size:15px; display:inline-flex; align-items:center; gap:10px; transition:all .25s; box-shadow:0 12px 32px rgba(6,182,212,.3); text-decoration:none; justify-content:center; }
.hp-btn-primary:hover { background:var(--cyan-bright); transform:translateY(-2px); box-shadow:0 16px 40px rgba(6,182,212,.45); color:var(--navy); }
.hp-btn-ghost { color:#fff; font-weight:600; padding:18px 34px; border-radius:10px; font-size:15px; border:1px solid rgba(255,255,255,.2); display:inline-flex; align-items:center; gap:10px; transition:all .25s; background:rgba(255,255,255,.02); text-decoration:none; }
.hp-btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.08); color:#fff; }

.hp-hero-stats { position:absolute; right:32px; bottom:60px; z-index:3; display:flex; flex-direction:column; gap:16px; animation:hpFadeInUp 1s 1s both; }
.hp-hero-stat { background:rgba(255,255,255,.04); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:20px 24px; min-width:200px; transition:all .3s; }
.hp-hero-stat:hover { border-color:var(--cyan); background:rgba(6,182,212,.05); transform:translateX(-6px); }
.hp-hero-stat-num { font-family:'Manrope', sans-serif; font-size:36px; font-weight:800; color:#fff; line-height:1; letter-spacing:-.02em; }
.hp-hero-stat-num em { color:var(--cyan); font-style:normal; }
.hp-hero-stat-label { font-size:12px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.1em; margin-top:6px; }

/* MARQUEE */
.hp-marquee { background:var(--navy); color:#fff; padding:22px 0; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); overflow:hidden; position:relative; }
.hp-marquee-track { display:flex; gap:48px; white-space:nowrap; animation:hpMarquee 50s linear infinite; font-family:'Manrope', sans-serif; font-weight:700; font-size:16px; letter-spacing:.04em; text-transform:uppercase; }
@keyframes hpMarquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.hp-marquee-item { display:inline-flex; align-items:center; gap:48px; color:rgba(255,255,255,.85); }
.hp-marquee-item::after { content:'✦'; color:var(--cyan); font-size:14px; }

/* TRUST BAR */
.hp-trust { background:#F5F7FA; padding:56px 0; border-bottom:1px solid rgba(0,0,0,.04); }
.hp-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.hp-trust-item { text-align:center; padding:20px; }
.hp-trust-num { font-family:'Manrope', sans-serif; font-size:44px; font-weight:800; color:var(--navy); line-height:1; letter-spacing:-.02em; margin-bottom:10px; }
.hp-trust-num em { color:var(--cyan); font-style:normal; }
.hp-trust-label { font-size:13px; color:#475569; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }

/* SECTION HEADERS */
.hp-section-alt { background:#F5F7FA; }
.hp-section-header { margin-bottom:56px; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px; }
.hp-section-header > div { max-width:640px; }
.hp-section-tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); margin-bottom:16px; }
.hp-section-tag::before { content:'— '; }
.hp-section-title { font-family:'Manrope', sans-serif; font-size:clamp(32px,3.8vw,48px); font-weight:800; line-height:1.1; letter-spacing:-.02em; color:var(--navy); margin:0 0 16px; }
.hp-section-desc { font-size:17px; color:#475569; line-height:1.5; margin:0; }
.hp-section-link { color:var(--cyan); font-weight:700; font-size:14px; display:inline-flex; align-items:center; gap:8px; transition:gap .2s; text-decoration:none; }
.hp-section-link:hover { gap:12px; color:var(--cyan); }

/* OFFER CARDS */
.hp-offer-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.hp-offer-card { position:relative; border-radius:24px; overflow:hidden; aspect-ratio:1.35/1; cursor:pointer; isolation:isolate; text-decoration:none; color:#fff; display:block; }
.hp-offer-bg { position:absolute; inset:0; z-index:0; transition:transform .6s cubic-bezier(.22,1,.36,1); }
.hp-offer-bg img { width:100%; height:100%; object-fit:cover; display:block; }
.hp-offer-card::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(10,31,53,.25) 0%,rgba(10,31,53,.55) 60%,rgba(10,31,53,.85) 100%); transition:all .4s; }
.hp-offer-card:hover .hp-offer-bg { transform:scale(1.08); }
.hp-offer-card:hover::after { background:linear-gradient(180deg,rgba(10,31,53,.15) 0%,rgba(10,31,53,.5) 60%,rgba(10,31,53,.85) 100%); }
.hp-offer-content { position:absolute; inset:0; z-index:2; padding:28px; display:flex; flex-direction:column; justify-content:space-between; color:#fff; }
.hp-offer-tag { align-self:flex-start; font-family:'Manrope', sans-serif; font-size:11px; font-weight:800; letter-spacing:.15em; color:var(--navy); background:var(--cyan); padding:8px 14px; border-radius:6px; text-transform:uppercase; }
.hp-offer-panel { background:rgba(10,31,53,.72); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:24px 26px; }
.hp-offer-duration { font-size:12px; color:rgba(255,255,255,.85); margin-bottom:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.hp-offer-title { font-family:'Manrope', sans-serif; font-size:26px; font-weight:800; line-height:1.15; letter-spacing:-.01em; margin:0 0 10px; color:#fff; }
.hp-offer-desc { font-size:14px; color:rgba(255,255,255,.88); margin:0 0 18px; max-width:420px; line-height:1.55; }
.hp-offer-footer { display:flex; justify-content:space-between; align-items:center; padding-top:16px; border-top:1px solid rgba(255,255,255,.15); }
.hp-offer-price { font-family:'Manrope', sans-serif; font-size:26px; font-weight:800; color:#fff; letter-spacing:-.01em; }
.hp-offer-arrow { width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.15); display:inline-flex; align-items:center; justify-content:center; transition:all .3s; color:#fff; }
.hp-offer-card:hover .hp-offer-arrow { background:var(--cyan); border-color:var(--cyan); color:var(--navy); transform:rotate(-45deg); }

/* CALENDAR */
.hp-cal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.hp-cal-card { position:relative; background:#fff; border-radius:20px; overflow:hidden; border:1px solid rgba(0,0,0,.06); transition:all .3s; display:flex; flex-direction:column; }
.hp-cal-card:hover { transform:translateY(-4px); border-color:var(--cyan); box-shadow:0 20px 40px rgba(10,31,53,.08); }
.hp-cal-card.featured { grid-column:span 2; border:2px solid var(--cyan); box-shadow:0 12px 32px rgba(6,182,212,.12); display:grid; grid-template-columns:1.2fr 1fr; grid-template-rows:1fr auto; }
.hp-cal-card.featured .hp-cal-hero { aspect-ratio:auto; height:100%; min-height:280px; grid-row:1; }
.hp-cal-card.featured .hp-cal-body { padding:32px; gap:14px; justify-content:center; grid-row:1; }
.hp-cal-card.featured .hp-cal-title { font-size:28px; }
.hp-cal-card.featured .hp-cal-dates { font-size:16px; }
.hp-cal-card.featured .hp-cal-foot { grid-column:1 / -1; grid-row:2; }
.hp-cal-featured-badge { position:absolute; top:16px; left:50%; transform:translateX(-50%); background:var(--cyan); color:var(--navy); padding:6px 16px; border-radius:100px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; z-index:3; box-shadow:0 4px 16px rgba(6,182,212,.4); }
.hp-cal-hero { position:relative; aspect-ratio:16/9; overflow:hidden; }
.hp-cal-hero img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.hp-cal-card:hover .hp-cal-hero img { transform:scale(1.05); }
.hp-cal-month { position:absolute; top:16px; left:16px; background:var(--navy); color:#fff; padding:8px 14px; border-radius:6px; font-family:'Manrope', sans-serif; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.hp-cal-status { position:absolute; top:16px; right:16px; padding:6px 12px; border-radius:6px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.hp-cal-status.open { background:var(--cyan); color:var(--navy); }
.hp-cal-status.hot { background:var(--coral); color:#fff; animation:hpHotPulse 2s infinite; }
@keyframes hpHotPulse { 0%,100% { box-shadow:0 0 0 0 rgba(255,94,58,.5); } 50% { box-shadow:0 0 0 8px rgba(255,94,58,0); } }
.hp-cal-status.closed { background:rgba(0,0,0,.4); color:#fff; backdrop-filter:blur(8px); }
.hp-cal-body { padding:24px; flex:1; display:flex; flex-direction:column; gap:10px; }
.hp-cal-dates { font-family:'Manrope', sans-serif; font-size:14px; font-weight:700; color:var(--cyan); letter-spacing:.02em; }
.hp-cal-title { font-family:'Manrope', sans-serif; font-size:22px; font-weight:800; color:var(--navy); line-height:1.2; letter-spacing:-.01em; margin:0; }
.hp-cal-meta { font-size:13px; color:#475569; line-height:1.55; }
.hp-cal-foot { padding:16px 24px; border-top:1px solid rgba(0,0,0,.05); display:flex; justify-content:space-between; align-items:center; }
.hp-cal-level { font-size:12px; color:#64748B; font-weight:600; }
.hp-cal-link { font-size:13px; color:var(--cyan); font-weight:700; display:inline-flex; align-items:center; gap:6px; text-decoration:none; }

/* SERVICE */
.hp-service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.hp-service-card { position:relative; border-radius:24px; overflow:hidden; padding:48px 44px; color:#fff; min-height:340px; display:flex; flex-direction:column; justify-content:space-between; isolation:isolate; text-decoration:none; }
.hp-service-card::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(135deg,var(--navy-2) 0%,var(--navy) 100%); }
.hp-service-card::after { content:''; position:absolute; top:-40%; right:-20%; width:400px; height:400px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); z-index:-1; transition:transform .8s; }
.hp-service-card:hover::after { transform:scale(1.3); }
.hp-service-icon { width:56px; height:56px; border-radius:12px; background:rgba(6,182,212,.1); border:1px solid rgba(6,182,212,.2); display:flex; align-items:center; justify-content:center; color:var(--cyan); margin-bottom:20px; }
.hp-service-card h3 { font-family:'Manrope', sans-serif; font-size:28px; font-weight:800; line-height:1.2; letter-spacing:-.01em; margin:0 0 14px; color:#fff; }
.hp-service-card p { color:rgba(255,255,255,.7); font-size:15px; line-height:1.6; margin:0 0 24px; }
.hp-service-link { color:var(--cyan); font-weight:700; font-size:14px; display:inline-flex; align-items:center; gap:10px; padding-top:16px; border-top:1px solid rgba(255,255,255,.1); transition:gap .2s; }
.hp-service-card:hover .hp-service-link { gap:14px; }

/* TEAM */
.hp-team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.hp-team-card { position:relative; border-radius:20px; overflow:hidden; aspect-ratio:3/4; cursor:pointer; text-decoration:none; display:block; }
.hp-team-img { position:absolute; inset:0; z-index:0; background:linear-gradient(135deg,var(--navy-2),var(--navy-3)); }
.hp-team-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s; display:block; }
.hp-team-card:hover .hp-team-img img { transform:scale(1.06); }
.hp-team-placeholder { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.12); font-family:'Manrope', sans-serif; font-size:140px; font-weight:800; letter-spacing:-.05em; }
.hp-team-card::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,transparent 45%,rgba(10,31,53,.95) 100%); }
.hp-team-info { position:absolute; bottom:0; left:0; right:0; z-index:2; padding:28px; color:#fff; }
.hp-team-role { font-size:11px; font-weight:700; color:var(--cyan); text-transform:uppercase; letter-spacing:.15em; margin-bottom:8px; }
.hp-team-name { font-family:'Manrope', sans-serif; font-size:24px; font-weight:800; letter-spacing:-.01em; line-height:1.1; margin:0 0 6px; color:#fff; }
.hp-team-name em { color:var(--cyan); font-style:normal; }
.hp-team-bio { font-size:13px; color:rgba(255,255,255,.7); line-height:1.5; margin:0 0 16px; }
.hp-team-link { font-size:12px; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.1em; display:inline-flex; align-items:center; gap:6px; opacity:.7; transition:opacity .2s; }
.hp-team-card:hover .hp-team-link { opacity:1; color:var(--cyan); }
.hp-team-founder { position:absolute; top:16px; left:16px; z-index:2; background:var(--solar); color:var(--navy); font-family:'Manrope', sans-serif; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:6px 12px; border-radius:5px; }

/* BLOG HUB */
.hp-hub-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:24px; }
.hp-hub-card { background:#fff; border-radius:20px; overflow:hidden; border:1px solid rgba(0,0,0,.06); transition:all .3s; display:flex; flex-direction:column; text-decoration:none; color:var(--navy); }
.hp-hub-card:hover { transform:translateY(-4px); border-color:var(--cyan); box-shadow:0 20px 40px rgba(10,31,53,.06); }
.hp-hub-card.large { grid-row:span 2; }
.hp-hub-img { aspect-ratio:16/10; overflow:hidden; position:relative; background:var(--navy); }
.hp-hub-card.large .hp-hub-img { aspect-ratio:4/5; }
.hp-hub-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; display:block; }
.hp-hub-card:hover .hp-hub-img img { transform:scale(1.05); }
.hp-hub-cat { position:absolute; top:14px; left:14px; background:rgba(255,255,255,.95); color:var(--navy); font-size:11px; font-weight:700; padding:6px 12px; border-radius:5px; text-transform:uppercase; letter-spacing:.1em; }
.hp-hub-body { padding:24px; flex:1; display:flex; flex-direction:column; gap:8px; }
.hp-hub-body.lg { padding:32px; }
.hp-hub-meta { font-size:12px; color:#64748B; font-weight:600; display:flex; gap:12px; }
.hp-hub-title { font-family:'Manrope', sans-serif; font-weight:800; color:var(--navy); line-height:1.25; letter-spacing:-.01em; margin:0; font-size:18px; }
.hp-hub-card.large .hp-hub-title { font-size:26px; }
.hp-hub-desc { font-size:14px; color:#475569; line-height:1.5; margin:0; }
.hp-hub-card.large .hp-hub-desc { font-size:15px; }
.hp-hub-arrow { margin-top:auto; padding-top:16px; font-size:13px; color:var(--cyan); font-weight:700; display:inline-flex; align-items:center; gap:6px; }

/* CTA RIBBON */
.hp-cta-ribbon { background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%); padding:80px 0; position:relative; overflow:hidden; }
.hp-cta-ribbon::before { content:''; position:absolute; top:-50%; right:-10%; width:600px; height:600px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); }
.hp-cta-ribbon::after { content:'2026'; position:absolute; bottom:-100px; left:-20px; font-family:'Manrope', sans-serif; font-size:400px; font-weight:800; color:rgba(255,255,255,.02); line-height:.8; letter-spacing:-.03em; pointer-events:none; }
.hp-cta-ribbon .container { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; }
.hp-cta-content h2 { font-family:'Manrope', sans-serif; font-size:clamp(32px,4vw,56px); font-weight:800; color:#fff; line-height:1.05; letter-spacing:-.02em; max-width:720px; margin:0; }
.hp-cta-content h2 em { color:var(--cyan); font-style:normal; }
.hp-cta-content p { font-size:16px; color:rgba(255,255,255,.6); margin:16px 0 0; max-width:540px; }
.hp-cta-actions { display:flex; flex-direction:column; gap:12px; min-width:280px; }
.hp-cta-actions .hp-btn-primary { padding:20px 32px; font-size:16px; justify-content:space-between; }
.hp-cta-phone { color:rgba(255,255,255,.9); font-family:'Manrope', sans-serif; font-weight:700; font-size:24px; padding:18px 0; display:flex; align-items:center; gap:12px; border-top:1px solid rgba(255,255,255,.1); text-decoration:none; }
.hp-cta-phone:hover { color:var(--cyan); }

/* REVEAL */
[class^="hp-"] .reveal, [class*=" hp-"] .reveal { opacity:0; transform:translateY(30px); transition:opacity .9s, transform .9s; }
[class^="hp-"] .reveal.in, [class*=" hp-"] .reveal.in { opacity:1; transform:translateY(0); }

@keyframes hpFadeInUp { from { opacity:0; transform:translateY(40px); } to { opacity:1; transform:translateY(0); } }

/* RESPONSIVE */
@media (max-width:1100px) {
  .hp-offer-grid, .hp-service-grid { grid-template-columns:1fr; }
  .hp-cal-grid { grid-template-columns:repeat(2,1fr); }
  .hp-cal-card.featured { grid-template-columns:1fr; grid-column:span 2; }
  .hp-team-grid { grid-template-columns:repeat(2,1fr); }
  .hp-hub-grid { grid-template-columns:1fr 1fr; }
  .hp-hub-card.large { grid-row:auto; }
  .hp-hub-card.large .hp-hub-img { aspect-ratio:16/10; }
  .hp-trust-grid { grid-template-columns:repeat(2,1fr); }
  .hp-hero-stats { position:static; margin-top:48px; flex-direction:row; flex-wrap:wrap; }
  .hp-hero-stat { flex:1 1 200px; }
}
@media (max-width:768px) {
  .hp-cal-grid, .hp-team-grid, .hp-hub-grid { grid-template-columns:1fr; }
  .hp-cal-card.featured { grid-column:auto; }
  .hp-trust-grid { grid-template-columns:1fr 1fr; }
  .hp-trust-num { font-size:36px; }
  .hp-offer-card { aspect-ratio:1.1/1; }
  .hp-offer-title { font-size:22px; }
  .hp-service-card { padding:32px 28px; min-height:auto; }
  .hp-cta-ribbon::after { font-size:200px; }
  .hp-section-header { flex-direction:column; align-items:flex-start; }
  .hp-hero-stat { flex:1 1 100%; }
}

/* ==============================================================
   v1.8.1 PATCHES — clickable cal cards, badge in body, team readability
   ============================================================== */

/* Calendar cards — clickable whole card */
a.hp-cal-card { text-decoration:none; color:inherit; display:flex; flex-direction:column; }
a.hp-cal-card.featured { display:grid; }
.hp-cal-card .hp-cal-link { cursor:pointer; }

/* Featured badge — now INSIDE body, not absolute overlay */
.hp-cal-featured-badge {
  position:static; transform:none; left:auto; top:auto; box-shadow:none;
  display:inline-block; align-self:flex-start;
  background:var(--cyan); color:var(--navy);
  padding:6px 14px; border-radius:6px;
  font-size:10px; font-weight:800;
  text-transform:uppercase; letter-spacing:.15em;
  margin-bottom:4px;
}
.hp-cal-card.featured .hp-cal-featured-badge {
  box-shadow:0 4px 14px rgba(6,182,212,.25);
}

/* Team cards — better readability */
.hp-team-card::after {
  background:linear-gradient(180deg, transparent 25%, rgba(10,31,53,.55) 50%, rgba(10,31,53,.95) 78%, rgba(10,31,53,1) 100%);
}
.hp-team-info { padding:26px 26px 28px; }
.hp-team-role { font-size:12px; margin-bottom:10px; }
.hp-team-name { font-size:23px; margin-bottom:10px; font-weight:800; }
.hp-team-bio { font-size:14px; color:rgba(255,255,255,.88); font-weight:500; line-height:1.5; margin-bottom:16px; }
.hp-team-link {
  opacity:1; color:var(--cyan);
  padding-top:14px; border-top:1px solid rgba(255,255,255,.15);
  display:flex; font-weight:800;
}
.hp-team-card:hover .hp-team-link { color:#fff; }
.hp-team-card:hover .hp-team-link::after {
  content:''; display:inline-block; width:0;
}

/* ==============================================================
   SINGLE SZKOLENIE v2 — sportowy/dynamiczny (sz- prefix)
   ============================================================== */

/* HERO */
.sz-hero { position:relative; background:var(--navy); overflow:hidden; padding:60px 0 80px; color:#fff; }
.sz-hero-bg { position:absolute; inset:0; z-index:0; }
.sz-hero-bg img { width:100%; height:100%; object-fit:cover; opacity:.45; animation:szSlowZoom 22s ease-in-out infinite alternate; }
@keyframes szSlowZoom { from { transform:scale(1.02); } to { transform:scale(1.12); } }
.sz-hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(10,31,53,.96) 0%,rgba(10,31,53,.72) 50%,rgba(10,31,53,.92) 100%); }
.sz-hero-overlay { position:absolute; inset:0; z-index:1; opacity:.08; background-image:linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px, transparent 1px); background-size:80px 80px; }
.sz-hero .container { position:relative; z-index:2; }
.sz-hero-grid { display:grid; grid-template-columns:1fr 420px; gap:48px; align-items:start; }

.sz-breadcrumb, .sz-breadcrumb-wrap { font-size:13px; color:rgba(255,255,255,.5); margin-bottom:28px; display:flex; gap:10px; align-items:center; }
.sz-breadcrumb a, .sz-breadcrumb-wrap a { color:rgba(255,255,255,.7); }
.sz-breadcrumb a:hover, .sz-breadcrumb-wrap a:hover { color:var(--cyan); }
.sz-breadcrumb .sep { opacity:.4; }
.sz-breadcrumb-wrap .breadcrumbs { color:rgba(255,255,255,.5); }

.sz-hero-tags { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
.sz-hero-tag { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); padding:8px 14px; border:1px solid rgba(6,182,212,.3); border-radius:100px; background:rgba(6,182,212,.08); }
.sz-hero-tag.pp { color:var(--navy); background:var(--cyan); border-color:var(--cyan); }
.sz-hero-tag.dot::before { content:''; width:6px; height:6px; background:currentColor; border-radius:50%; animation:hpPulse 2s infinite; }

.sz-hero h1 { font-family:'Manrope', sans-serif; font-weight:800; font-size:clamp(36px, 5vw, 64px); line-height:1.05; letter-spacing:-.02em; margin:0 0 24px; color:#fff; animation:szFadeUp .8s .15s both; }
.sz-hero h1 .accent { background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan-bright) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sz-hero-sub { font-size:18px; color:rgba(255,255,255,.75); line-height:1.6; max-width:580px; margin:0 0 32px; animation:szFadeUp 1s .4s both; }
.sz-hero-sub strong { color:#fff; font-weight:600; }

.sz-hero-pills { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; animation:szFadeUp 1s .55s both; }
.sz-pill { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:rgba(255,255,255,.85); padding:10px 16px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:10px; }
.sz-pill svg { color:var(--cyan); flex-shrink:0; }

.sz-hero-btns { display:flex; gap:12px; flex-wrap:wrap; animation:szFadeUp 1s .7s both; }
.sz-hero-btns .btn-primary { background:var(--cyan); color:var(--navy); font-weight:700; padding:18px 34px; border-radius:10px; font-size:15px; display:inline-flex; align-items:center; gap:10px; transition:all .25s; box-shadow:0 12px 32px rgba(6,182,212,.3); text-decoration:none; }
.sz-hero-btns .btn-primary:hover { background:var(--cyan-bright); transform:translateY(-2px); box-shadow:0 16px 40px rgba(6,182,212,.45); color:var(--navy); }
.sz-hero-btns .btn-ghost { color:#fff; font-weight:600; padding:18px 34px; border-radius:10px; font-size:15px; border:1px solid rgba(255,255,255,.2); display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.02); text-decoration:none; }
.sz-hero-btns .btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.08); color:#fff; }

/* PRICE CARD */
.sz-price-card { background:#fff; color:var(--text); border-radius:20px; padding:28px; box-shadow:0 24px 60px rgba(0,0,0,.3); position:sticky; top:180px; animation:szFadeUp 1s .9s both; }
.sz-price-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--text-muted); text-align:center; margin-bottom:8px; }
.sz-price-main { text-align:center; padding:8px 0 16px; border-bottom:1px solid rgba(0,0,0,.06); }
.sz-price-big { font-family:'Manrope', sans-serif; font-size:56px; font-weight:800; color:var(--navy); letter-spacing:-.03em; line-height:1; }
.sz-price-big small { font-size:20px; font-weight:600; color:var(--text-muted); margin-left:4px; }
.sz-price-desc { font-size:13px; color:var(--text-muted); margin-top:6px; }
.sz-price-table { display:flex; flex-direction:column; padding:14px 0 18px; border-bottom:1px solid rgba(0,0,0,.06); }
.sz-price-row { display:flex; justify-content:space-between; align-items:center; padding:8px 0; font-size:14px; gap:12px; }
.sz-price-row-label { color:var(--text-muted); }
.sz-price-row-value { font-weight:700; color:var(--navy); font-family:'Manrope', sans-serif; white-space:nowrap; }
.sz-price-row.featured { background:rgba(6,182,212,.06); margin:4px -10px; padding:10px; border-radius:8px; }
.sz-price-row.featured .sz-price-row-label { color:var(--navy); font-weight:600; }
.sz-price-row.featured .sz-price-row-value { color:var(--cyan); }
.sz-price-cta { display:block; width:100%; text-align:center; background:var(--cyan); color:var(--navy); font-weight:800; padding:16px; border-radius:10px; margin:20px 0 12px; transition:all .2s; font-size:15px; text-decoration:none; }
.sz-price-cta:hover { background:var(--cyan-bright); transform:translateY(-1px); color:var(--navy); }
.sz-price-phone { text-align:center; font-size:13px; color:var(--text-muted); margin-bottom:20px; }
.sz-price-phone a { color:var(--navy); font-weight:700; }
.sz-price-dates-head { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--text-muted); margin-bottom:10px; }
.sz-price-dates { display:flex; flex-direction:column; }
.sz-price-date { display:flex; justify-content:space-between; align-items:center; padding:8px 0; font-size:14px; border-bottom:1px solid rgba(0,0,0,.04); transition:color .2s; }
.sz-price-date:last-child { border-bottom:none; }
.sz-price-date-label { font-weight:600; color:var(--navy); font-family:'Manrope', sans-serif; }
.sz-price-date-status { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; padding:3px 8px; border-radius:4px; background:rgba(6,182,212,.1); color:var(--cyan); }
.sz-price-date-status.hot { background:rgba(255,94,58,.12); color:var(--coral); }

/* HIGHLIGHTS STRIP */
.sz-strip { background:var(--navy); color:#fff; padding:28px 0; border-top:1px solid rgba(255,255,255,.06); }
.sz-strip .container { display:grid; grid-template-columns:repeat(5,1fr); gap:28px; }
.sz-strip-item { display:flex; align-items:center; gap:14px; }
.sz-strip-icon { width:44px; height:44px; border-radius:10px; background:rgba(6,182,212,.1); border:1px solid rgba(6,182,212,.2); display:flex; align-items:center; justify-content:center; color:var(--cyan); flex-shrink:0; }
.sz-strip-text { display:flex; flex-direction:column; }
.sz-strip-label { font-size:11px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
.sz-strip-value { font-size:15px; color:#fff; font-weight:700; }

/* LAYOUT */
.sz-layout { display:grid; grid-template-columns:1fr 340px; gap:60px; align-items:start; }
.sz-main { min-width:0; }
.sz-sidebar { position:sticky; top:180px; }

/* CONTENT BLOCKS (cs-block) — override/enhance existing */
.sz-main .cs-block { background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:20px; padding:36px 40px; margin-bottom:20px; transition:all .3s; }
.sz-main .cs-block:hover { border-color:rgba(6,182,212,.3); box-shadow:0 12px 32px rgba(10,31,53,.06); }
.sz-main .cs-block--gray { background:var(--bg-alt); }
.sz-main .cs-block--dark { background:var(--navy); color:#fff; border-color:rgba(255,255,255,.08); }
.sz-main .cs-block--dark .cs-block-head h2, .sz-main .cs-block--dark h2 { color:#fff; }
.sz-main .cs-block--dark .cs-block-content, .sz-main .cs-block--dark .cs-block-content p { color:rgba(255,255,255,.75); }
.sz-main .cs-block--dark .cs-block-content strong { color:#fff; }
.sz-main .cs-block--dark .cs-block-content li { border-color:rgba(255,255,255,.08); }
.sz-main .cs-block--accent { background:linear-gradient(135deg, rgba(6,182,212,.04) 0%, rgba(6,182,212,.08) 100%); border-color:rgba(6,182,212,.2); }
.sz-main .cs-block--accent .cs-block-head h2 { color:var(--navy); }
.sz-main .cs-block-head { display:flex; align-items:center; gap:14px; margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid rgba(0,0,0,.06); }
.sz-main .cs-block--dark .cs-block-head { border-color:rgba(255,255,255,.1); }
.sz-main .cs-block--accent .cs-block-head { border-color:rgba(6,182,212,.15); }
.sz-main .cs-block-icon { width:40px; height:40px; border-radius:10px; background:rgba(6,182,212,.1); color:var(--cyan); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sz-main .cs-block--dark .cs-block-icon { background:rgba(6,182,212,.15); }
.sz-main .cs-block-head h2 { font-family:'Manrope', sans-serif; font-size:24px; font-weight:800; color:var(--navy); letter-spacing:-.01em; margin:0; }
.sz-main .cs-block-content { font-size:15px; line-height:1.7; color:var(--text); }
.sz-main .cs-block--dark .cs-block-content { color:rgba(255,255,255,.75); }
.sz-main .cs-block-content p { margin-bottom:14px; }
.sz-main .cs-block-content p:last-child { margin-bottom:0; }
.sz-main .cs-block-content strong { color:var(--navy); font-weight:700; }
.sz-main .cs-block--dark .cs-block-content strong { color:#fff; }
.sz-main .cs-block-content ul { list-style:none; padding:0; margin:16px 0; display:flex; flex-direction:column; gap:2px; }
.sz-main .cs-block-content li { padding:10px 0 10px 28px; border-bottom:1px solid rgba(0,0,0,.05); position:relative; font-size:14px; }
.sz-main .cs-block-content li:last-child { border-bottom:none; }
.sz-main .cs-block-content li::before { content:''; position:absolute; left:0; top:15px; width:14px; height:14px; background:var(--cyan); border-radius:4px; transform:rotate(45deg); opacity:.2; }
.sz-main .cs-block-content li::after { content:'✓'; position:absolute; left:2px; top:8px; color:var(--cyan); font-weight:800; font-size:14px; }

/* SIDEBAR CARDS */
.sz-sidebar-card { background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:24px; margin-bottom:16px; }
.sz-sidebar-card h3 { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--text-muted); margin:0 0 14px; }
.sz-sidebar-phone { display:block; font-family:'Manrope', sans-serif; font-size:22px; font-weight:800; color:var(--navy); margin-bottom:4px; text-decoration:none; }
.sz-sidebar-phone:hover { color:var(--cyan); }
.sz-sidebar-email { display:block; font-size:14px; color:var(--cyan); margin-bottom:16px; text-decoration:none; }
.sz-sidebar-card--cta { background:var(--navy); color:#fff; border:none; position:relative; overflow:hidden; }
.sz-sidebar-card--cta::after { content:''; position:absolute; top:-30%; right:-20%; width:200px; height:200px; background:radial-gradient(circle,rgba(6,182,212,.2) 0%, transparent 70%); }
.sz-sidebar-card--cta h3 { color:rgba(255,255,255,.6); }
.sz-sidebar-card--cta .sz-sidebar-cta-title { font-family:'Manrope', sans-serif; font-size:18px; font-weight:800; color:#fff; margin-bottom:8px; line-height:1.25; }
.sz-sidebar-card--cta .sz-sidebar-cta-desc { font-size:13px; color:rgba(255,255,255,.7); margin-bottom:16px; line-height:1.5; position:relative; z-index:2; }
.sz-sidebar-card--cta .btn-primary { position:relative; z-index:2; background:var(--cyan); color:var(--navy); font-weight:700; padding:14px; border-radius:10px; display:flex; align-items:center; justify-content:center; gap:8px; transition:all .2s; text-decoration:none; }
.sz-sidebar-card--cta .btn-primary:hover { background:var(--cyan-bright); color:var(--navy); }

/* FAQ */
.sz-faq { display:grid; grid-template-columns:300px 1fr; gap:60px; align-items:start; }
.sz-faq-head h2 { font-family:'Manrope', sans-serif; font-size:36px; font-weight:800; color:var(--navy); line-height:1.1; letter-spacing:-.02em; margin:0 0 14px; }
.sz-faq-head p { font-size:15px; color:var(--text-muted); line-height:1.6; margin:0 0 20px; }
.sz-faq-call { display:inline-flex; align-items:center; gap:8px; padding:12px 18px; border:1px solid rgba(10,31,53,.1); border-radius:10px; font-weight:700; color:var(--navy); font-size:14px; text-decoration:none; }
.sz-faq-call svg { color:var(--cyan); }
.sz-faq-call:hover { border-color:var(--cyan); background:rgba(6,182,212,.04); color:var(--navy); }
.sz-faq-list { display:flex; flex-direction:column; gap:10px; }
.sz-faq-item { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:12px; overflow:hidden; transition:all .2s; }
.sz-faq-item:hover { border-color:rgba(6,182,212,.4); }
.sz-faq-item[open] { border-color:var(--cyan); background:rgba(6,182,212,.02); box-shadow:0 8px 24px rgba(10,31,53,.04); }
.sz-faq-q { list-style:none; cursor:pointer; padding:20px 24px; display:flex; justify-content:space-between; align-items:center; gap:16px; font-weight:700; color:var(--navy); font-size:16px; }
.sz-faq-q::-webkit-details-marker { display:none; }
.sz-faq-q::after { content:'+'; width:32px; height:32px; border-radius:50%; background:rgba(6,182,212,.08); color:var(--cyan); display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:400; flex-shrink:0; transition:all .3s; }
.sz-faq-item[open] .sz-faq-q::after { content:'−'; background:var(--cyan); color:var(--navy); }
.sz-faq-a { padding:0 24px 24px; font-size:15px; color:var(--text-muted); line-height:1.7; }
.sz-faq-a p { margin-bottom:10px; }
.sz-faq-a p:last-child { margin-bottom:0; }

/* RELATED */
.sz-section-header { margin-bottom:48px; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px; }
.sz-section-tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); margin-bottom:14px; }
.sz-section-tag::before { content:'— '; }
.sz-section-title { font-family:'Manrope', sans-serif; font-size:clamp(30px,3.5vw,42px); font-weight:800; line-height:1.1; color:var(--navy); letter-spacing:-.02em; margin:0; }
.sz-section-link-btn { padding:12px 20px; border:1px solid rgba(10,31,53,.1); border-radius:10px; color:var(--navy); font-weight:700; font-size:14px; text-decoration:none; transition:all .2s; }
.sz-section-link-btn:hover { border-color:var(--cyan); background:rgba(6,182,212,.04); color:var(--navy); }
.sz-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sz-related-card { position:relative; border-radius:20px; overflow:hidden; aspect-ratio:1.3/1; isolation:isolate; text-decoration:none; color:#fff; display:block; }
.sz-related-bg { position:absolute; inset:0; z-index:0; }
.sz-related-bg img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.sz-related-card::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(10,31,53,.25) 0%,rgba(10,31,53,.55) 60%,rgba(10,31,53,.9) 100%); transition:all .4s; }
.sz-related-card:hover .sz-related-bg img { transform:scale(1.08); }
.sz-related-content { position:absolute; inset:0; z-index:2; padding:24px; display:flex; flex-direction:column; justify-content:space-between; color:#fff; }
.sz-related-tag { align-self:flex-start; font-size:10px; font-weight:800; letter-spacing:.15em; color:var(--navy); background:var(--cyan); padding:7px 12px; border-radius:6px; text-transform:uppercase; }
.sz-related-panel { background:rgba(10,31,53,.72); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:18px 20px; }
.sz-related-title { font-family:'Manrope', sans-serif; font-size:20px; font-weight:800; line-height:1.2; margin:0 0 10px; color:#fff; }
.sz-related-meta { display:flex; justify-content:space-between; align-items:center; padding-top:12px; border-top:1px solid rgba(255,255,255,.15); }
.sz-related-price { font-family:'Manrope', sans-serif; font-size:22px; font-weight:800; color:#fff; }
.sz-related-arrow { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; color:#fff; transition:all .3s; }
.sz-related-card:hover .sz-related-arrow { background:var(--cyan); border-color:var(--cyan); color:var(--navy); transform:rotate(-45deg); }

/* CTA RIBBON */
.sz-cta { background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%); padding:72px 0; position:relative; overflow:hidden; }
.sz-cta::before { content:''; position:absolute; top:-30%; right:-5%; width:500px; height:500px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); }
.sz-cta-watermark { position:absolute; bottom:-120px; left:-40px; font-family:'Manrope', sans-serif; font-size:clamp(200px,28vw,360px); font-weight:800; color:rgba(255,255,255,.03); line-height:.8; pointer-events:none; letter-spacing:-.03em; }
.sz-cta .container { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; }
.sz-cta-content h2 { font-family:'Manrope', sans-serif; font-size:clamp(28px,3.5vw,44px); font-weight:800; color:#fff; line-height:1.1; letter-spacing:-.02em; max-width:640px; margin:0; }
.sz-cta-content h2 em { color:var(--cyan); font-style:normal; }
.sz-cta-content p { color:rgba(255,255,255,.6); margin:14px 0 0; }
.sz-cta-actions { display:flex; flex-direction:column; gap:10px; min-width:260px; }
.sz-cta-actions .btn-primary { background:var(--cyan); color:var(--navy); font-weight:700; padding:18px 28px; border-radius:10px; display:flex; align-items:center; justify-content:space-between; gap:10px; transition:all .25s; box-shadow:0 12px 32px rgba(6,182,212,.3); text-decoration:none; }
.sz-cta-actions .btn-primary:hover { background:var(--cyan-bright); transform:translateY(-2px); color:var(--navy); }
.sz-cta-phone { font-family:'Manrope', sans-serif; color:rgba(255,255,255,.9); font-weight:700; font-size:22px; padding:16px 0 0; display:flex; align-items:center; gap:12px; border-top:1px solid rgba(255,255,255,.1); text-decoration:none; }
.sz-cta-phone:hover { color:var(--cyan); }

/* RESPONSIVE */
@media (max-width:1100px) {
  .sz-hero-grid { grid-template-columns:1fr; gap:32px; }
  .sz-price-card { position:static; }
  .sz-strip .container { grid-template-columns:repeat(2,1fr); gap:20px; }
  .sz-layout { grid-template-columns:1fr; }
  .sz-sidebar { position:static; }
  .sz-faq { grid-template-columns:1fr; gap:32px; }
  .sz-related-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
  .sz-strip .container { grid-template-columns:1fr; }
  .sz-main .cs-block { padding:28px 24px; }
  .sz-main .cs-block-head h2 { font-size:20px; }
  .sz-related-grid { grid-template-columns:1fr; }
  .sz-price-big { font-size:44px; }
}

@keyframes szFadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }

/* ==============================================================
   SINGLE WYJAZD v2 — sportowy/dynamiczny (wj- prefix)
   ============================================================== */

/* HERO */
.wj-hero { position:relative; background:var(--navy); overflow:hidden; padding:60px 0 80px; color:#fff; }
.wj-hero-bg { position:absolute; inset:0; z-index:0; }
.wj-hero-bg img { width:100%; height:100%; object-fit:cover; opacity:.55; animation:wjZoom 24s ease-in-out infinite alternate; }
@keyframes wjZoom { from { transform:scale(1.04); } to { transform:scale(1.14); } }
.wj-hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(10,31,53,.92) 0%,rgba(10,31,53,.55) 45%,rgba(10,31,53,.85) 100%); }
.wj-hero-overlay { position:absolute; inset:0; z-index:1; opacity:.08; background-image:linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px, transparent 1px); background-size:80px 80px; }
.wj-hero .container { position:relative; z-index:2; }
.wj-hero-grid { display:grid; grid-template-columns:1fr 420px; gap:48px; align-items:start; }

.wj-breadcrumb, .wj-breadcrumb-wrap { font-size:13px; color:rgba(255,255,255,.5); margin-bottom:28px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.wj-breadcrumb a, .wj-breadcrumb-wrap a { color:rgba(255,255,255,.7); }
.wj-breadcrumb a:hover, .wj-breadcrumb-wrap a:hover { color:var(--cyan); }
.wj-breadcrumb .sep { opacity:.4; }

.wj-hero-tags { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
.wj-hero-tag { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); padding:8px 14px; border:1px solid rgba(6,182,212,.3); border-radius:100px; background:rgba(6,182,212,.08); }
.wj-hero-tag.type { color:var(--navy); background:var(--cyan); border-color:var(--cyan); }
.wj-hero-tag.hot { color:#fff; background:var(--coral); border-color:var(--coral); }
.wj-hero-tag.hot::before { content:''; width:6px; height:6px; background:#fff; border-radius:50%; animation:wjPulse 1.4s infinite; }
.wj-hero-tag.dot::before { content:''; width:6px; height:6px; background:currentColor; border-radius:50%; }
@keyframes wjPulse { 0%,100% { opacity:1; } 50% { opacity:.4; } }

.wj-hero h1 { font-family:'Manrope', sans-serif; font-weight:800; font-size:clamp(40px, 5vw, 64px); line-height:1.05; letter-spacing:-.02em; margin:0 0 20px; color:#fff; animation:wjFade .8s .15s both; }
.wj-hero h1 .accent { background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan-bright) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.wj-hero-sub { font-size:18px; color:rgba(255,255,255,.75); line-height:1.6; max-width:620px; margin:0 0 28px; animation:wjFade 1s .35s both; }
.wj-hero-sub strong { color:#fff; font-weight:600; }

.wj-hero-date { font-family:'Manrope', sans-serif; display:inline-flex; align-items:center; gap:12px; font-size:18px; font-weight:700; color:#fff; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); padding:14px 22px; border-radius:12px; margin-bottom:32px; animation:wjFade 1s .5s both; }
.wj-hero-date svg { color:var(--cyan); flex-shrink:0; }
.wj-hero-date .sep { opacity:.3; margin:0 4px; }
.wj-hero-date em { font-style:normal; color:rgba(255,255,255,.65); font-weight:500; font-size:15px; }

.wj-hero-pills { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; animation:wjFade 1s .65s both; }
.wj-pill { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:rgba(255,255,255,.85); padding:10px 16px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:10px; }
.wj-pill svg { color:var(--cyan); flex-shrink:0; }

.wj-hero-btns { display:flex; gap:12px; flex-wrap:wrap; animation:wjFade 1s .8s both; }
.wj-hero-btns .btn-primary { background:var(--cyan); color:var(--navy); font-weight:700; padding:18px 34px; border-radius:10px; font-size:15px; display:inline-flex; align-items:center; gap:10px; transition:all .25s; box-shadow:0 12px 32px rgba(6,182,212,.3); text-decoration:none; }
.wj-hero-btns .btn-primary:hover { background:var(--cyan-bright); transform:translateY(-2px); color:var(--navy); }
.wj-hero-btns .btn-ghost { color:#fff; font-weight:600; padding:18px 34px; border-radius:10px; font-size:15px; border:1px solid rgba(255,255,255,.2); display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.02); text-decoration:none; }
.wj-hero-btns .btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.08); color:#fff; }

/* RESERVATION CARD */
.wj-res-card { background:#fff; color:var(--text); border-radius:20px; padding:26px; box-shadow:0 24px 60px rgba(0,0,0,.3); position:sticky; top:180px; animation:wjFade 1s .9s both; }
.wj-res-status { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-radius:10px; margin-bottom:20px; font-weight:700; gap:10px; }
.wj-res-status.open { background:rgba(6,182,212,.08); color:var(--cyan); }
.wj-res-status.hot { background:rgba(255,94,58,.1); color:var(--coral); }
.wj-res-status.closed { background:rgba(0,0,0,.05); color:var(--text-light); }
.wj-res-status-label { display:flex; align-items:center; gap:8px; font-size:13px; }
.wj-res-status-spots { font-size:13px; }
.wj-res-status-spots strong { font-family:'Manrope', sans-serif; font-size:16px; }
.wj-res-rows { display:flex; flex-direction:column; margin-bottom:22px; border-top:1px solid rgba(0,0,0,.06); }
.wj-res-row { display:flex; justify-content:space-between; align-items:flex-start; padding:14px 0; border-bottom:1px solid rgba(0,0,0,.06); gap:16px; }
.wj-res-row-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--text-muted); padding-top:2px; flex-shrink:0; min-width:90px; }
.wj-res-row-value { font-size:14px; font-weight:700; color:var(--navy); text-align:right; font-family:'Manrope', sans-serif; line-height:1.4; }
.wj-res-row-value.price { font-size:20px; color:var(--cyan); font-weight:800; }
.wj-res-cta { display:block; width:100%; text-align:center; background:var(--cyan); color:var(--navy); font-weight:800; padding:16px; border-radius:10px; transition:all .2s; font-size:15px; margin-bottom:12px; text-decoration:none; }
.wj-res-cta:hover { background:var(--cyan-bright); transform:translateY(-1px); color:var(--navy); }
.wj-res-phone { text-align:center; font-size:13px; color:var(--text-muted); }
.wj-res-phone a { color:var(--navy); font-weight:700; }

/* STRIP */
.wj-strip { background:var(--navy); color:#fff; padding:28px 0; border-top:1px solid rgba(255,255,255,.06); }
.wj-strip .container { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.wj-strip-item { display:flex; align-items:center; gap:14px; }
.wj-strip-icon { width:44px; height:44px; border-radius:10px; background:rgba(6,182,212,.1); border:1px solid rgba(6,182,212,.2); display:flex; align-items:center; justify-content:center; color:var(--cyan); flex-shrink:0; }
.wj-strip-text { display:flex; flex-direction:column; }
.wj-strip-label { font-size:11px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
.wj-strip-value { font-size:15px; color:#fff; font-weight:700; }

/* LAYOUT */
.wj-layout { display:grid; grid-template-columns:1fr 340px; gap:60px; align-items:start; }
.wj-main { min-width:0; }
.wj-sidebar { position:sticky; top:180px; }

/* INCLUDES */
.wj-includes { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.wj-include-item { display:flex; align-items:flex-start; gap:10px; padding:14px 18px; background:var(--bg-alt); border:1px solid rgba(0,0,0,.04); border-radius:10px; font-size:14px; color:var(--text); transition:all .2s; }
.wj-include-item:hover { border-color:rgba(6,182,212,.3); background:rgba(6,182,212,.04); }
.wj-include-item svg { color:var(--cyan); flex-shrink:0; margin-top:3px; }

/* ITINERARY */
.wj-itin { display:flex; flex-direction:column; gap:16px; }
.wj-itin-day { display:grid; grid-template-columns:80px 1fr; gap:24px; padding:20px; background:var(--bg-alt); border-radius:14px; border:1px solid rgba(0,0,0,.04); transition:all .2s; position:relative; }
.wj-itin-day:hover { border-color:rgba(6,182,212,.3); transform:translateX(4px); }
.wj-itin-day::before { content:''; position:absolute; left:62px; top:50px; bottom:-20px; width:1px; background:linear-gradient(180deg, var(--cyan), transparent); opacity:.3; }
.wj-itin-day:last-child::before { display:none; }
.wj-itin-num { display:flex; flex-direction:column; align-items:flex-start; }
.wj-itin-num-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--text-muted); }
.wj-itin-num-big { font-family:'Manrope', sans-serif; font-size:42px; font-weight:800; color:var(--navy); line-height:1; letter-spacing:-.02em; }
.wj-itin-num-big em { color:var(--cyan); font-style:normal; font-size:20px; font-weight:700; margin:0 2px; }
.wj-itin-content h3 { font-family:'Manrope', sans-serif; font-size:17px; font-weight:800; color:var(--navy); margin:6px 0; }
.wj-itin-content p { font-size:14px; color:var(--text-muted); line-height:1.6; margin:0; }

/* GALLERY */
.wj-gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.wj-gallery a { display:block; aspect-ratio:1/1; border-radius:12px; overflow:hidden; position:relative; }
.wj-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.wj-gallery a:hover img { transform:scale(1.08); }
.wj-gallery a::after { content:''; position:absolute; inset:0; background:rgba(10,31,53,0); transition:background .3s; }
.wj-gallery a:hover::after { background:rgba(10,31,53,.15); }
.wj-gallery a.large { grid-column:span 2; grid-row:span 2; aspect-ratio:auto; }

/* SIDEBAR */
.wj-sidebar-card { background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:24px; margin-bottom:16px; }
.wj-sidebar-card h3 { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--text-muted); margin:0 0 14px; }
.wj-sidebar-phone { display:block; font-family:'Manrope', sans-serif; font-size:22px; font-weight:800; color:var(--navy); margin-bottom:4px; text-decoration:none; }
.wj-sidebar-phone:hover { color:var(--cyan); }
.wj-sidebar-email { display:block; font-size:14px; color:var(--cyan); margin-bottom:16px; text-decoration:none; }
.wj-sidebar-card--cta { background:var(--navy); color:#fff; border:none; position:relative; overflow:hidden; }
.wj-sidebar-card--cta::after { content:''; position:absolute; top:-30%; right:-20%; width:200px; height:200px; background:radial-gradient(circle,rgba(6,182,212,.2) 0%, transparent 70%); pointer-events:none; }
.wj-sidebar-card--cta h3 { color:rgba(255,255,255,.6); }
.wj-sidebar-spots { font-family:'Manrope', sans-serif; font-size:36px; font-weight:800; color:#fff; line-height:1; margin-bottom:8px; position:relative; z-index:2; }
.wj-sidebar-spots span { font-size:16px; font-weight:600; color:var(--cyan); }
.wj-sidebar-cta-title { font-family:'Manrope', sans-serif; font-size:20px; font-weight:800; color:#fff; line-height:1.2; margin-bottom:10px; position:relative; z-index:2; }
.wj-sidebar-cta-desc { font-size:13px; color:rgba(255,255,255,.7); margin:0 0 16px; line-height:1.5; position:relative; z-index:2; }
.wj-sidebar-card--cta .btn-primary { display:flex; align-items:center; justify-content:center; gap:8px; background:var(--cyan); color:var(--navy); font-weight:700; padding:14px; border-radius:10px; transition:all .2s; text-decoration:none; position:relative; z-index:2; }
.wj-sidebar-card--cta .btn-primary:hover { background:var(--cyan-bright); color:var(--navy); }

/* SECTIONS */
.wj-section-header { margin-bottom:48px; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px; }
.wj-section-tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); margin-bottom:14px; }
.wj-section-tag::before { content:'— '; }
.wj-section-title { font-family:'Manrope', sans-serif; font-size:clamp(30px,3.5vw,42px); font-weight:800; line-height:1.1; color:var(--navy); letter-spacing:-.02em; margin:0; }
.wj-section-link-btn { padding:12px 20px; border:1px solid rgba(10,31,53,.1); border-radius:10px; color:var(--navy); font-weight:700; font-size:14px; text-decoration:none; transition:all .2s; }
.wj-section-link-btn:hover { border-color:var(--cyan); background:rgba(6,182,212,.04); color:var(--navy); }

/* RELATED */
.wj-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.wj-related-card { position:relative; background:#fff; border-radius:20px; overflow:hidden; border:1px solid rgba(0,0,0,.06); transition:all .3s; display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.wj-related-card:hover { transform:translateY(-4px); border-color:var(--cyan); box-shadow:0 20px 40px rgba(10,31,53,.08); }
.wj-related-hero { position:relative; aspect-ratio:16/9; overflow:hidden; }
.wj-related-hero img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.wj-related-card:hover .wj-related-hero img { transform:scale(1.05); }
.wj-related-month { position:absolute; top:16px; left:16px; background:var(--navy); color:#fff; padding:8px 14px; border-radius:6px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.wj-related-status { position:absolute; top:16px; right:16px; padding:6px 12px; border-radius:6px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; background:var(--cyan); color:var(--navy); }
.wj-related-status.hot { background:var(--coral); color:#fff; }
.wj-related-status.closed { background:rgba(0,0,0,.5); color:#fff; }
.wj-related-body { padding:24px; flex:1; display:flex; flex-direction:column; gap:10px; }
.wj-related-dates { font-size:14px; font-weight:700; color:var(--cyan); }
.wj-related-title { font-family:'Manrope', sans-serif; font-size:22px; font-weight:800; color:var(--navy); line-height:1.2; letter-spacing:-.01em; margin:0; }
.wj-related-meta { font-size:13px; color:var(--text-muted); }

/* CTA */
.wj-cta { background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%); padding:72px 0; position:relative; overflow:hidden; }
.wj-cta::before { content:''; position:absolute; top:-30%; right:-5%; width:500px; height:500px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); }
.wj-cta-watermark { position:absolute; bottom:-100px; left:-40px; font-family:'Manrope', sans-serif; font-size:clamp(200px,24vw,320px); font-weight:800; color:rgba(255,255,255,.03); line-height:.8; pointer-events:none; letter-spacing:-.03em; white-space:nowrap; }
.wj-cta .container { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; }
.wj-cta-content h2 { font-family:'Manrope', sans-serif; font-size:clamp(28px,3.5vw,42px); font-weight:800; color:#fff; line-height:1.1; letter-spacing:-.02em; max-width:640px; margin:0; }
.wj-cta-content h2 em { color:var(--cyan); font-style:normal; }
.wj-cta-content p { color:rgba(255,255,255,.6); margin:14px 0 0; }
.wj-cta-actions { display:flex; flex-direction:column; gap:10px; min-width:260px; }
.wj-cta-actions .btn-primary { background:var(--cyan); color:var(--navy); font-weight:700; padding:18px 28px; border-radius:10px; display:flex; align-items:center; justify-content:space-between; gap:10px; transition:all .25s; box-shadow:0 12px 32px rgba(6,182,212,.3); text-decoration:none; }
.wj-cta-actions .btn-primary:hover { background:var(--cyan-bright); transform:translateY(-2px); color:var(--navy); }
.wj-cta-phone { font-family:'Manrope', sans-serif; color:rgba(255,255,255,.9); font-weight:700; font-size:22px; padding:16px 0 0; display:flex; align-items:center; gap:12px; border-top:1px solid rgba(255,255,255,.1); text-decoration:none; }
.wj-cta-phone:hover { color:var(--cyan); }

/* RESPONSIVE */
@media (max-width:1100px) {
  .wj-hero-grid { grid-template-columns:1fr; gap:32px; }
  .wj-res-card { position:static; }
  .wj-strip .container { grid-template-columns:repeat(2,1fr); }
  .wj-layout { grid-template-columns:1fr; }
  .wj-sidebar { position:static; }
  .wj-includes { grid-template-columns:1fr; }
  .wj-gallery { grid-template-columns:repeat(3,1fr); }
  .wj-related-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
  .wj-strip .container { grid-template-columns:1fr; }
  .wj-gallery { grid-template-columns:repeat(2,1fr); }
  .wj-related-grid { grid-template-columns:1fr; }
  .wj-itin-day { grid-template-columns:60px 1fr; gap:16px; padding:16px; }
  .wj-itin-num-big { font-size:32px; }
}
@keyframes wjFade { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }

/* ==============================================================
   ARCHIVES v2 — szkolenia + wyjazdy (ar- prefix)
   ============================================================== */

/* HERO */
.ar-hero { background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%); color:#fff; padding:80px 0 60px; position:relative; overflow:hidden; }
.ar-hero::before { content:''; position:absolute; top:-40%; right:-10%; width:600px; height:600px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); }
.ar-hero::after { content:attr(data-watermark); position:absolute; bottom:-120px; left:-40px; font-family:'Manrope', sans-serif; font-size:clamp(200px,28vw,360px); font-weight:800; color:rgba(255,255,255,.03); line-height:.8; pointer-events:none; letter-spacing:-.03em; white-space:nowrap; }
.ar-hero .container { position:relative; z-index:2; }
.ar-hero-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:48px; align-items:center; }

.ar-breadcrumb, .ar-breadcrumb-wrap { font-size:13px; color:rgba(255,255,255,.5); margin-bottom:20px; display:flex; gap:10px; align-items:center; }
.ar-breadcrumb a, .ar-breadcrumb-wrap a { color:rgba(255,255,255,.7); }
.ar-breadcrumb a:hover, .ar-breadcrumb-wrap a:hover { color:var(--cyan); }
.ar-breadcrumb .sep { opacity:.4; }

.ar-tag { display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); padding:8px 16px; border:1px solid rgba(6,182,212,.3); border-radius:100px; background:rgba(6,182,212,.08); margin-bottom:24px; }
.ar-tag::before { content:''; width:8px; height:8px; background:var(--cyan); border-radius:50%; }
.ar-hero h1 { font-family:'Manrope', sans-serif; font-weight:800; font-size:clamp(40px, 5.5vw, 68px); line-height:1.05; letter-spacing:-.02em; margin:0 0 20px; color:#fff; }
.ar-hero h1 .accent { background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan-bright) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ar-hero-sub { font-size:18px; color:rgba(255,255,255,.75); line-height:1.6; margin:0; max-width:560px; }

.ar-hero-stats { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ar-hero-stat { background:rgba(255,255,255,.04); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:20px 22px; transition:all .2s; }
.ar-hero-stat:hover { border-color:var(--cyan); background:rgba(6,182,212,.05); }
.ar-hero-stat-num { font-family:'Manrope', sans-serif; font-size:32px; font-weight:800; color:#fff; line-height:1; letter-spacing:-.02em; }
.ar-hero-stat-num em { color:var(--cyan); font-style:normal; }
.ar-hero-stat-label { font-size:12px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.1em; margin-top:8px; font-weight:600; }

/* FILTER BAR */
.ar-filter { background:rgba(255,255,255,.95); border-bottom:1px solid rgba(0,0,0,.05); padding:20px 0; position:sticky; top:0; z-index:50; backdrop-filter:blur(12px); }
.ar-filter .container { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.ar-filter-tabs { display:flex; gap:6px; flex-wrap:wrap; }
.ar-filter-tab { padding:10px 18px; font-size:14px; font-weight:700; color:var(--text-muted); background:transparent; border:1px solid rgba(0,0,0,.06); border-radius:100px; transition:all .2s; cursor:pointer; text-decoration:none; }
.ar-filter-tab:hover { border-color:var(--cyan); color:var(--navy); }
.ar-filter-tab.active { background:var(--navy); color:#fff; border-color:var(--navy); }
.ar-filter-tab-count { margin-left:6px; font-size:11px; opacity:.6; }
.ar-filter-sort { display:flex; gap:12px; align-items:center; font-size:13px; color:var(--text-muted); font-weight:600; }
.ar-filter-sort select { background:var(--bg-alt); border:1px solid rgba(0,0,0,.08); border-radius:8px; padding:8px 14px; font-size:13px; font-weight:600; color:var(--navy); cursor:pointer; font-family:inherit; }

/* OFFER CARDS (szkolenia) */
.ar-offers { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.ar-offer-card { position:relative; border-radius:24px; overflow:hidden; aspect-ratio:1.35/1; isolation:isolate; text-decoration:none; color:#fff; display:block; }
.ar-offer-bg { position:absolute; inset:0; z-index:0; transition:transform .6s cubic-bezier(.22,1,.36,1); }
.ar-offer-bg img { width:100%; height:100%; object-fit:cover; }
.ar-offer-card::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(10,31,53,.25) 0%,rgba(10,31,53,.55) 60%,rgba(10,31,53,.85) 100%); transition:all .4s; }
.ar-offer-card:hover .ar-offer-bg { transform:scale(1.08); }
.ar-offer-content { position:absolute; inset:0; z-index:2; padding:28px; display:flex; flex-direction:column; justify-content:space-between; }
.ar-offer-tag { align-self:flex-start; font-size:11px; font-weight:800; letter-spacing:.15em; color:var(--navy); background:var(--cyan); padding:8px 14px; border-radius:6px; text-transform:uppercase; }
.ar-offer-panel { background:rgba(10,31,53,.72); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:24px 26px; }
.ar-offer-duration { font-size:12px; color:rgba(255,255,255,.85); margin-bottom:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.ar-offer-title { font-family:'Manrope', sans-serif; font-size:26px; font-weight:800; line-height:1.15; margin:0 0 10px; color:#fff; }
.ar-offer-desc { font-size:14px; color:rgba(255,255,255,.88); margin:0 0 18px; line-height:1.55; }
.ar-offer-footer { display:flex; justify-content:space-between; align-items:center; padding-top:16px; border-top:1px solid rgba(255,255,255,.15); }
.ar-offer-price { font-family:'Manrope', sans-serif; font-size:26px; font-weight:800; color:#fff; }
.ar-offer-arrow { width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; transition:all .3s; color:#fff; }
.ar-offer-card:hover .ar-offer-arrow { background:var(--cyan); border-color:var(--cyan); color:var(--navy); transform:rotate(-45deg); }

/* CALENDAR CARDS (wyjazdy) */
.ar-cal { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ar-cal-card { position:relative; background:#fff; border-radius:20px; overflow:hidden; border:1px solid rgba(0,0,0,.06); transition:all .3s; display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.ar-cal-card:hover { transform:translateY(-4px); border-color:var(--cyan); box-shadow:0 20px 40px rgba(10,31,53,.08); }
.ar-cal-card.featured { grid-column:span 2; border:2px solid var(--cyan); box-shadow:0 12px 32px rgba(6,182,212,.12); display:grid; grid-template-columns:1.2fr 1fr; grid-template-rows:1fr auto; }
.ar-cal-card.featured .ar-cal-hero { aspect-ratio:auto; height:100%; min-height:260px; grid-row:1; }
.ar-cal-card.featured .ar-cal-body { padding:28px; gap:12px; justify-content:center; grid-row:1; }
.ar-cal-card.featured .ar-cal-title { font-size:26px; }
.ar-cal-card.featured .ar-cal-foot { grid-column:1 / -1; grid-row:2; }
.ar-cal-featured-badge { display:inline-block; align-self:flex-start; background:var(--cyan); color:var(--navy); padding:6px 14px; border-radius:6px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; margin-bottom:4px; box-shadow:0 4px 14px rgba(6,182,212,.25); }
.ar-cal-hero { position:relative; aspect-ratio:16/9; overflow:hidden; }
.ar-cal-hero img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.ar-cal-card:hover .ar-cal-hero img { transform:scale(1.05); }
.ar-cal-month { position:absolute; top:16px; left:16px; background:var(--navy); color:#fff; padding:8px 14px; border-radius:6px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.ar-cal-status { position:absolute; top:16px; right:16px; padding:6px 12px; border-radius:6px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.ar-cal-status.open { background:var(--cyan); color:var(--navy); }
.ar-cal-status.hot { background:var(--coral); color:#fff; }
.ar-cal-status.closed { background:rgba(0,0,0,.4); color:#fff; }
.ar-cal-body { padding:24px; flex:1; display:flex; flex-direction:column; gap:10px; }
.ar-cal-type { display:inline-block; align-self:flex-start; font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; color:var(--cyan); }
.ar-cal-type.tur { color:var(--solar); }
.ar-cal-dates { font-family:'Manrope', sans-serif; font-size:14px; font-weight:700; color:var(--cyan); }
.ar-cal-title { font-family:'Manrope', sans-serif; font-size:20px; font-weight:800; color:var(--navy); line-height:1.2; letter-spacing:-.01em; margin:0; }
.ar-cal-meta { font-size:13px; color:var(--text-muted); line-height:1.5; }
.ar-cal-foot { padding:14px 24px; border-top:1px solid rgba(0,0,0,.05); display:flex; justify-content:space-between; align-items:center; }
.ar-cal-level { font-size:12px; color:var(--text-light); font-weight:600; }
.ar-cal-link { font-size:13px; color:var(--cyan); font-weight:700; }

/* PAGINATION */
.ar-pagination { display:flex; justify-content:center; gap:6px; margin-top:56px; flex-wrap:wrap; }
.ar-pagination a, .ar-pagination span { padding:10px 16px; font-size:14px; font-weight:700; border-radius:8px; color:var(--text-muted); border:1px solid rgba(0,0,0,.08); background:#fff; text-decoration:none; }
.ar-pagination span.current { background:var(--navy); color:#fff; border-color:var(--navy); }
.ar-pagination a:hover { border-color:var(--cyan); color:var(--cyan); }
.ar-pagination .page-numbers.dots { border:none; background:transparent; }

/* CTA */
.ar-cta { background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%); padding:60px 0; color:#fff; position:relative; overflow:hidden; }
.ar-cta::before { content:''; position:absolute; top:-30%; right:-5%; width:500px; height:500px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); }
.ar-cta .container { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; }
.ar-cta h2 { font-family:'Manrope', sans-serif; font-size:clamp(26px,3vw,36px); font-weight:800; line-height:1.15; max-width:640px; margin:0; color:#fff; }
.ar-cta h2 em { color:var(--cyan); font-style:normal; }
.ar-cta-actions { display:flex; gap:10px; flex-wrap:wrap; }
.ar-cta-actions .btn-primary { background:var(--cyan); color:var(--navy); font-weight:700; padding:16px 28px; border-radius:10px; font-size:15px; display:inline-flex; align-items:center; gap:10px; box-shadow:0 12px 32px rgba(6,182,212,.3); text-decoration:none; }
.ar-cta-actions .btn-primary:hover { background:var(--cyan-bright); color:var(--navy); transform:translateY(-2px); }
.ar-cta-actions .btn-ghost { color:#fff; font-weight:600; padding:16px 28px; border-radius:10px; font-size:15px; border:1px solid rgba(255,255,255,.2); display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.02); text-decoration:none; }
.ar-cta-actions .btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.08); color:#fff; }

/* RESPONSIVE */
@media (max-width:1100px) {
  .ar-hero-grid { grid-template-columns:1fr; gap:32px; }
  .ar-offers { grid-template-columns:1fr; }
  .ar-cal { grid-template-columns:repeat(2,1fr); }
  .ar-cal-card.featured { grid-template-columns:1fr; grid-column:span 2; }
  .ar-filter .container { flex-direction:column; align-items:flex-start; }
}
@media (max-width:768px) {
  .ar-cal { grid-template-columns:1fr; }
  .ar-cal-card.featured { grid-column:auto; }
  .ar-filter-tabs { overflow-x:auto; width:100%; padding-bottom:4px; flex-wrap:nowrap; }
  .ar-filter-tab { flex-shrink:0; }
  .ar-hero-stats { grid-template-columns:1fr 1fr; }
}

/* ==============================================================
   INSTRUKTOR v2 — sportowy/dynamiczny (in- prefix)
   ============================================================== */

/* HERO */
.in-hero { position:relative; background:var(--navy); overflow:hidden; padding:60px 0 80px; color:#fff; }
.in-hero-bg { position:absolute; inset:0; z-index:0; }
.in-hero-bg img { width:100%; height:100%; object-fit:cover; opacity:.25; filter:blur(18px); transform:scale(1.08); }
.in-hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(10,31,53,.96) 0%,rgba(10,31,53,.8) 50%,rgba(10,31,53,.95) 100%); }
.in-hero-overlay { position:absolute; inset:0; z-index:1; opacity:.08; background-image:linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px, transparent 1px); background-size:80px 80px; }
.in-hero .container { position:relative; z-index:2; }
.in-hero-grid { display:grid; grid-template-columns:420px 1fr; gap:56px; align-items:center; }

/* PHOTO (left) */
.in-hero-photo { position:relative; border-radius:24px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 24px 60px rgba(0,0,0,.4); animation:inFade .8s .1s both; }
.in-hero-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.in-hero-placeholder { width:100%; height:100%; background:linear-gradient(135deg,var(--navy-2),var(--navy-3)); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.2); font-family:'Manrope', sans-serif; font-size:180px; font-weight:800; letter-spacing:-.05em; }
.in-founder-badge { position:absolute; top:16px; left:16px; background:var(--solar); color:var(--navy); font-family:'Manrope', sans-serif; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:8px 14px; border-radius:6px; box-shadow:0 4px 14px rgba(255,184,0,.3); }

/* INFO (right) */
.in-hero-info { animation:inFade 1s .3s both; }
.in-breadcrumb, .in-breadcrumb-wrap { font-size:13px; color:rgba(255,255,255,.5); margin-bottom:24px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.in-breadcrumb a, .in-breadcrumb-wrap a { color:rgba(255,255,255,.7); }
.in-breadcrumb a:hover, .in-breadcrumb-wrap a:hover { color:var(--cyan); }
.in-breadcrumb .sep { opacity:.4; }

.in-role-tags { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.in-role-tag { display:inline-flex; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--cyan); padding:7px 14px; border:1px solid rgba(6,182,212,.3); border-radius:100px; background:rgba(6,182,212,.08); }

.in-hero h1 { font-family:'Manrope', sans-serif; font-weight:800; font-size:clamp(40px, 5vw, 60px); line-height:1.05; letter-spacing:-.02em; margin:0 0 20px; color:#fff; }
.in-hero h1 em { font-style:normal; background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan-bright) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.in-hero-sub { font-size:17px; color:rgba(255,255,255,.75); line-height:1.55; margin:0 0 28px; }

.in-hero-pills { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:32px; }
.in-pill { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:rgba(255,255,255,.85); padding:10px 16px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:10px; }
.in-pill svg { color:var(--cyan); flex-shrink:0; }

.in-hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
.in-btn-primary { background:var(--cyan); color:var(--navy); font-weight:700; padding:16px 28px; border-radius:10px; font-size:14px; display:inline-flex; align-items:center; gap:10px; transition:all .25s; box-shadow:0 12px 32px rgba(6,182,212,.3); text-decoration:none; }
.in-btn-primary:hover { background:var(--cyan-bright); transform:translateY(-2px); color:var(--navy); }
.in-btn-ghost { color:#fff; font-weight:600; padding:16px 28px; border-radius:10px; font-size:14px; border:1px solid rgba(255,255,255,.2); display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.02); text-decoration:none; }
.in-btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.08); color:#fff; }

/* HIGHLIGHTS STRIP */
.in-strip { background:var(--navy); color:#fff; padding:28px 0; border-top:1px solid rgba(255,255,255,.06); }
.in-strip .container { display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:28px; }
.in-strip-item { text-align:center; }
.in-strip-val { font-family:'Manrope', sans-serif; font-size:36px; font-weight:800; color:var(--cyan); line-height:1; letter-spacing:-.02em; margin-bottom:6px; }
.in-strip-label { font-size:12px; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:.1em; font-weight:600; }

/* LAYOUT */
.in-layout { display:grid; grid-template-columns:1fr 340px; gap:60px; align-items:start; }
.in-main { min-width:0; }
.in-sidebar { position:sticky; top:180px; }

/* EQUIPMENT */
.in-equip-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.in-equip-card { padding:20px 22px; background:var(--bg); border:1px solid rgba(0,0,0,.06); border-radius:12px; }
.in-equip-type { display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--text-muted); margin-bottom:8px; }
.in-equip-name { display:block; font-family:'Manrope', sans-serif; font-size:18px; font-weight:800; color:var(--navy); }

/* SIDEBAR */
.in-sidebar-card { background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:24px; margin-bottom:16px; }
.in-sidebar-card h3 { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--text-muted); margin:0 0 14px; }
.in-sidebar-phone { display:block; font-family:'Manrope', sans-serif; font-size:22px; font-weight:800; color:var(--navy); margin-bottom:4px; text-decoration:none; }
.in-sidebar-phone:hover { color:var(--cyan); }
.in-sidebar-email { display:block; font-size:14px; color:var(--cyan); margin-bottom:16px; text-decoration:none; }
.in-sidebar-card--cta { background:var(--navy); color:#fff; border:none; position:relative; overflow:hidden; }
.in-sidebar-card--cta::after { content:''; position:absolute; top:-30%; right:-20%; width:200px; height:200px; background:radial-gradient(circle,rgba(6,182,212,.2) 0%, transparent 70%); pointer-events:none; }
.in-sidebar-card--cta h3 { color:rgba(255,255,255,.6); position:relative; z-index:2; }
.in-sidebar-cta-desc { font-size:13px; color:rgba(255,255,255,.7); margin:0 0 16px; line-height:1.5; position:relative; z-index:2; }
.in-sidebar-card--cta .in-btn-primary { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; position:relative; z-index:2; padding:14px; }

/* SECTIONS */
.in-section-header { margin-bottom:48px; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px; }
.in-section-tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); margin-bottom:14px; }
.in-section-tag::before { content:'— '; }
.in-section-title { font-family:'Manrope', sans-serif; font-size:clamp(30px,3.5vw,42px); font-weight:800; line-height:1.1; color:var(--navy); letter-spacing:-.02em; margin:0; }
.in-section-link-btn { padding:12px 20px; border:1px solid rgba(10,31,53,.1); border-radius:10px; color:var(--navy); font-weight:700; font-size:14px; text-decoration:none; transition:all .2s; }
.in-section-link-btn:hover { border-color:var(--cyan); background:rgba(6,182,212,.04); }

/* TEAM GRID (related + archive) */
.in-team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.in-archive-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.in-team-card { position:relative; border-radius:20px; overflow:hidden; aspect-ratio:3/4; cursor:pointer; text-decoration:none; display:block; }
.in-team-img { position:absolute; inset:0; z-index:0; background:linear-gradient(135deg,var(--navy-2),var(--navy-3)); }
.in-team-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s; display:block; }
.in-team-card:hover .in-team-img img { transform:scale(1.06); }
.in-team-placeholder { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.12); font-family:'Manrope', sans-serif; font-size:140px; font-weight:800; letter-spacing:-.05em; }
.in-team-card::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,transparent 25%,rgba(10,31,53,.55) 50%,rgba(10,31,53,.95) 78%,rgba(10,31,53,1) 100%); }
.in-team-info { position:absolute; bottom:0; left:0; right:0; z-index:2; padding:26px 26px 28px; color:#fff; }
.in-team-role { font-size:11px; font-weight:700; color:var(--cyan); text-transform:uppercase; letter-spacing:.15em; margin-bottom:10px; }
.in-team-name { font-family:'Manrope', sans-serif; font-size:23px; font-weight:800; letter-spacing:-.01em; line-height:1.1; margin:0 0 10px; color:#fff; }
.in-team-name em { color:var(--cyan); font-style:normal; }
.in-team-bio { font-size:14px; color:rgba(255,255,255,.88); font-weight:500; line-height:1.5; margin:0 0 6px; }
.in-team-spec { font-size:12px; color:rgba(255,255,255,.6); margin:0 0 14px; font-style:italic; }
.in-team-link { font-size:12px; font-weight:800; color:var(--cyan); text-transform:uppercase; letter-spacing:.1em; display:flex; padding-top:14px; border-top:1px solid rgba(255,255,255,.15); }
.in-team-card:hover .in-team-link { color:#fff; }
.in-team-founder { position:absolute; top:16px; left:16px; z-index:2; background:var(--solar); color:var(--navy); font-family:'Manrope', sans-serif; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:6px 12px; border-radius:5px; }

/* CTA */
.in-cta { background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%); padding:72px 0; position:relative; overflow:hidden; }
.in-cta::before { content:''; position:absolute; top:-30%; right:-5%; width:500px; height:500px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); }
.in-cta .container { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; }
.in-cta-content h2 { font-family:'Manrope', sans-serif; font-size:clamp(28px,3.5vw,44px); font-weight:800; color:#fff; line-height:1.1; letter-spacing:-.02em; max-width:640px; margin:0; }
.in-cta-content h2 em { color:var(--cyan); font-style:normal; }
.in-cta-content p { color:rgba(255,255,255,.6); margin:14px 0 0; }
.in-cta-actions { display:flex; flex-direction:column; gap:10px; min-width:260px; }
.in-cta-actions .in-btn-primary { padding:18px 28px; justify-content:space-between; }
.in-cta-phone { font-family:'Manrope', sans-serif; color:rgba(255,255,255,.9); font-weight:700; font-size:22px; padding:16px 0 0; display:flex; align-items:center; gap:12px; border-top:1px solid rgba(255,255,255,.1); text-decoration:none; }
.in-cta-phone:hover { color:var(--cyan); }

/* RESPONSIVE */
@media (max-width:1100px) {
  .in-hero-grid { grid-template-columns:1fr; gap:40px; }
  .in-hero-photo { max-width:400px; margin:0 auto; }
  .in-layout { grid-template-columns:1fr; }
  .in-sidebar { position:static; }
  .in-team-grid, .in-archive-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
  .in-team-grid, .in-archive-grid { grid-template-columns:1fr; }
  .in-equip-grid { grid-template-columns:1fr; }
  .in-strip .container { grid-template-columns:1fr 1fr; }
}
@keyframes inFade { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }

/* ==============================================================
   KONTAKT (kn- prefix)
   ============================================================== */

/* HERO */
.kn-hero { position:relative; background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%); color:#fff; padding:80px 0 60px; overflow:hidden; }
.kn-hero-bg { position:absolute; inset:0; z-index:0; opacity:.08; background-image:linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px, transparent 1px); background-size:80px 80px; }
.kn-hero::before { content:''; position:absolute; top:-30%; right:-5%; width:500px; height:500px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); z-index:0; }
.kn-hero::after { content:'HELLO.'; position:absolute; bottom:-80px; left:-40px; font-family:'Manrope', sans-serif; font-size:clamp(160px,24vw,300px); font-weight:800; color:rgba(255,255,255,.03); line-height:.8; pointer-events:none; letter-spacing:-.03em; white-space:nowrap; z-index:0; }
.kn-hero .container { position:relative; z-index:2; }
.kn-hero-grid { max-width:820px; }
.kn-breadcrumb, .kn-breadcrumb-wrap { font-size:13px; color:rgba(255,255,255,.5); margin-bottom:20px; display:flex; gap:10px; align-items:center; }
.kn-breadcrumb a, .kn-breadcrumb-wrap a { color:rgba(255,255,255,.7); }
.kn-breadcrumb a:hover, .kn-breadcrumb-wrap a:hover { color:var(--cyan); }
.kn-breadcrumb .sep { opacity:.4; }
.kn-tag { display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); padding:8px 16px; border:1px solid rgba(6,182,212,.3); border-radius:100px; background:rgba(6,182,212,.08); margin-bottom:24px; }
.kn-tag::before { content:''; width:8px; height:8px; background:var(--cyan); border-radius:50%; animation:hpPulse 2s infinite; }
.kn-hero h1 { font-family:'Manrope', sans-serif; font-weight:800; font-size:clamp(40px, 5.5vw, 68px); line-height:1.05; letter-spacing:-.02em; margin:0 0 20px; color:#fff; }
.kn-hero h1 .accent { background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan-bright) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.kn-hero-sub { font-size:18px; color:rgba(255,255,255,.75); line-height:1.6; margin:0; max-width:620px; }

/* CARDS STRIP */
.kn-cards { padding:60px 0; position:relative; margin-top:-40px; z-index:10; }
.kn-cards-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.kn-card { background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:28px 24px; transition:all .3s; text-decoration:none; color:inherit; position:relative; box-shadow:0 12px 32px rgba(10,31,53,.06); display:flex; flex-direction:column; gap:4px; cursor:pointer; }
.kn-card:hover { transform:translateY(-4px); border-color:var(--cyan); box-shadow:0 20px 40px rgba(10,31,53,.12); }
.kn-card--hours { cursor:default; }
.kn-card--hours:hover { transform:none; border-color:rgba(0,0,0,.06); box-shadow:0 12px 32px rgba(10,31,53,.06); }
.kn-card-icon { width:48px; height:48px; border-radius:12px; background:rgba(6,182,212,.1); border:1px solid rgba(6,182,212,.2); color:var(--cyan); display:flex; align-items:center; justify-content:center; margin-bottom:14px; transition:all .3s; }
.kn-card:hover .kn-card-icon { background:var(--cyan); color:#fff; }
.kn-card-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--text-muted); }
.kn-card-value { font-family:'Manrope', sans-serif; font-size:20px; font-weight:800; color:var(--navy); letter-spacing:-.01em; line-height:1.2; margin-top:4px; }
.kn-card--phone .kn-card-value { color:var(--cyan); }
.kn-card-sub { font-size:13px; color:var(--text-muted); margin-top:6px; }

/* FORM LAYOUT */
.kn-form-layout { display:grid; grid-template-columns:1fr 340px; gap:60px; align-items:start; }
.kn-section-tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); margin-bottom:14px; }
.kn-section-tag::before { content:'— '; }
.kn-section-title { font-family:'Manrope', sans-serif; font-size:clamp(30px,3.5vw,42px); font-weight:800; line-height:1.1; color:var(--navy); letter-spacing:-.02em; margin:0 0 16px; }
.kn-section-desc { font-size:15px; color:var(--text-muted); line-height:1.6; margin:0 0 32px; max-width:520px; }

/* FORM */
.kn-form-wrap { background:#fff; padding:40px; border-radius:20px; border:1px solid rgba(0,0,0,.06); box-shadow:0 12px 32px rgba(10,31,53,.04); }
.kn-form { display:flex; flex-direction:column; gap:18px; }
.kn-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.kn-form-field { display:flex; flex-direction:column; gap:8px; }
.kn-form-field label { font-size:12px; font-weight:700; color:var(--text-muted); text-transform:uppercase; letter-spacing:.1em; }
.kn-form-field input, .kn-form-field select, .kn-form-field textarea, .kn-form-wrap input[type="text"], .kn-form-wrap input[type="email"], .kn-form-wrap input[type="tel"], .kn-form-wrap select, .kn-form-wrap textarea { width:100%; padding:14px 16px; border:1px solid rgba(0,0,0,.08); border-radius:10px; font-size:15px; font-family:inherit; color:var(--navy); background:var(--bg-alt); transition:all .2s; }
.kn-form-field input:focus, .kn-form-field select:focus, .kn-form-field textarea:focus, .kn-form-wrap input:focus, .kn-form-wrap select:focus, .kn-form-wrap textarea:focus { outline:none; border-color:var(--cyan); background:#fff; box-shadow:0 0 0 4px rgba(6,182,212,.08); }
.kn-form-field textarea { resize:vertical; min-height:120px; line-height:1.5; }
.kn-form-submit { background:var(--cyan); color:var(--navy); font-weight:800; padding:18px 32px; border-radius:10px; font-size:15px; border:none; cursor:pointer; transition:all .25s; display:inline-flex; align-items:center; justify-content:center; gap:10px; margin-top:8px; box-shadow:0 12px 32px rgba(6,182,212,.3); }
.kn-form-submit:hover { background:var(--cyan-bright); transform:translateY(-2px); box-shadow:0 16px 40px rgba(6,182,212,.45); }
.kn-form-note { font-size:12px; color:var(--text-light); margin:4px 0 0; text-align:center; }
.kn-form-note a { color:var(--cyan); }

/* Contact Form 7 overrides (if CF7 used) */
.kn-form-content .wpcf7 form.wpcf7-form { display:flex; flex-direction:column; gap:18px; }
.kn-form-content label { font-size:12px; font-weight:700; color:var(--text-muted); text-transform:uppercase; letter-spacing:.1em; display:flex; flex-direction:column; gap:8px; }
.kn-form-content input[type="submit"] { background:var(--cyan); color:var(--navy); font-weight:800; padding:18px 32px; border-radius:10px; font-size:15px; border:none; cursor:pointer; transition:all .25s; box-shadow:0 12px 32px rgba(6,182,212,.3); }
.kn-form-content input[type="submit"]:hover { background:var(--cyan-bright); transform:translateY(-2px); }

/* INFO ASIDE */
.kn-info-aside { display:flex; flex-direction:column; gap:16px; position:sticky; top:180px; }
.kn-info-card { background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:24px; }
.kn-info-card h3 { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--text-muted); margin:0 0 14px; }
.kn-info-card--dark { background:var(--navy); color:#fff; border:none; position:relative; overflow:hidden; }
.kn-info-card--dark::after { content:''; position:absolute; top:-30%; right:-20%; width:200px; height:200px; background:radial-gradient(circle,rgba(6,182,212,.2) 0%, transparent 70%); pointer-events:none; }
.kn-info-card--dark h3 { color:rgba(255,255,255,.6); position:relative; z-index:2; }
.kn-info-card--dark p { font-size:13px; color:rgba(255,255,255,.7); line-height:1.6; margin:0 0 16px; position:relative; z-index:2; }
.kn-info-phone { font-family:'Manrope', sans-serif; font-size:24px; font-weight:800; color:#fff; text-decoration:none; display:flex; align-items:center; gap:12px; padding:14px 18px; background:rgba(255,255,255,.04); border:1px solid rgba(6,182,212,.2); border-radius:10px; position:relative; z-index:2; transition:all .2s; }
.kn-info-phone:hover { background:rgba(6,182,212,.08); border-color:var(--cyan); color:#fff; }

/* SOCIALS */
.kn-socials { display:flex; flex-direction:column; gap:8px; }
.kn-social { display:flex; align-items:center; gap:14px; padding:10px 12px; border-radius:10px; text-decoration:none; color:inherit; transition:all .2s; border:1px solid transparent; }
.kn-social:hover { background:var(--bg-alt); border-color:rgba(6,182,212,.2); }
.kn-social-icon { width:40px; height:40px; border-radius:10px; background:var(--navy); color:var(--cyan); display:flex; align-items:center; justify-content:center; font-family:'Manrope', sans-serif; font-size:13px; font-weight:800; flex-shrink:0; }
.kn-social div { display:flex; flex-direction:column; gap:2px; }
.kn-social strong { font-size:14px; font-weight:700; color:var(--navy); }
.kn-social em { font-size:12px; color:var(--text-muted); font-style:normal; }

.kn-info-row { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid rgba(0,0,0,.05); font-size:13px; }
.kn-info-row:last-child { border-bottom:none; }
.kn-info-row-label { color:var(--text-muted); font-weight:600; }
.kn-info-row-value { font-family:'Manrope', sans-serif; color:var(--navy); font-weight:700; }

/* MAP */
.kn-map-section { position:relative; background:var(--navy); color:#fff; overflow:hidden; }
.kn-map-header { position:absolute; top:0; left:0; right:0; z-index:10; pointer-events:none; padding:60px 0; }
.kn-map-header .container { pointer-events:none; }
.kn-map-info { max-width:440px; background:rgba(10,31,53,.88); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.08); border-radius:20px; padding:32px; pointer-events:auto; }
.kn-map-info .kn-section-tag { color:var(--cyan); margin-bottom:14px; }
.kn-map-title { font-family:'Manrope', sans-serif; font-size:clamp(26px,3vw,36px); font-weight:800; line-height:1.15; letter-spacing:-.02em; margin:0 0 12px; color:#fff; }
.kn-map-info p { font-size:14px; color:rgba(255,255,255,.7); line-height:1.6; margin:0 0 20px; }
.kn-map-actions { display:flex; gap:10px; flex-wrap:wrap; }
.kn-map-actions .btn-primary { background:var(--cyan); color:var(--navy); font-weight:700; padding:14px 22px; border-radius:10px; font-size:14px; display:inline-flex; align-items:center; gap:8px; transition:all .25s; text-decoration:none; box-shadow:0 12px 32px rgba(6,182,212,.3); }
.kn-map-actions .btn-primary:hover { background:var(--cyan-bright); transform:translateY(-2px); color:var(--navy); }
.kn-map-actions .btn-ghost { color:#fff; font-weight:700; padding:14px 22px; border-radius:10px; font-size:14px; border:1px solid rgba(255,255,255,.2); display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.04); text-decoration:none; }
.kn-map-actions .btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.1); }
.kn-map-embed { width:100%; line-height:0; }
.kn-map-embed iframe { width:100%; display:block; filter:grayscale(.2) contrast(1.02); }

/* RESPONSIVE */
@media (max-width:1100px) {
  .kn-cards-grid { grid-template-columns:repeat(2,1fr); }
  .kn-form-layout { grid-template-columns:1fr; }
  .kn-info-aside { position:static; }
  .kn-map-header { position:static; padding:40px 0; background:var(--navy); }
  .kn-map-info { max-width:none; background:transparent; border:none; padding:0; backdrop-filter:none; }
}
@media (max-width:768px) {
  .kn-cards-grid { grid-template-columns:1fr; }
  .kn-form-row { grid-template-columns:1fr; }
  .kn-form-wrap { padding:28px 24px; }
}

/* ==============================================================
   SERWIS (sr- prefix)
   ============================================================== */

/* HERO */
.sr-hero { position:relative; background:var(--navy); color:#fff; padding:80px 0 60px; overflow:hidden; }
.sr-hero::before { content:''; position:absolute; top:-30%; right:-5%; width:600px; height:600px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); z-index:0; }
.sr-hero-bg-img { position:absolute; inset:0; z-index:0; opacity:.15; object-fit:cover; width:100%; height:100%; }
.sr-hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(10,31,53,.95) 0%,rgba(10,31,53,.8) 50%,rgba(10,31,53,.95) 100%); z-index:0; }
.sr-hero::after { content:'SERVICE'; position:absolute; bottom:-100px; left:-40px; font-family:'Manrope', sans-serif; font-size:clamp(180px,24vw,320px); font-weight:800; color:rgba(255,255,255,.03); line-height:.8; pointer-events:none; letter-spacing:-.03em; white-space:nowrap; z-index:0; }
.sr-hero .container { position:relative; z-index:2; }
.sr-hero-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:48px; align-items:center; }
.sr-breadcrumb, .sr-breadcrumb-wrap { font-size:13px; color:rgba(255,255,255,.5); margin-bottom:20px; display:flex; gap:10px; align-items:center; }
.sr-breadcrumb a, .sr-breadcrumb-wrap a { color:rgba(255,255,255,.7); }
.sr-breadcrumb a:hover, .sr-breadcrumb-wrap a:hover { color:var(--cyan); }
.sr-breadcrumb .sep { opacity:.4; }
.sr-tag { display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); padding:8px 16px; border:1px solid rgba(6,182,212,.3); border-radius:100px; background:rgba(6,182,212,.08); margin-bottom:24px; }
.sr-tag::before { content:''; width:8px; height:8px; background:var(--cyan); border-radius:50%; }
.sr-hero h1 { font-family:'Manrope', sans-serif; font-weight:800; font-size:clamp(40px, 5.5vw, 64px); line-height:1.05; letter-spacing:-.02em; margin:0 0 20px; color:#fff; }
.sr-hero h1 .accent { background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan-bright) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sr-hero-sub { font-size:18px; color:rgba(255,255,255,.75); line-height:1.6; margin:0 0 32px; max-width:580px; }
.sr-hero-stats { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sr-hero-stat { background:rgba(255,255,255,.04); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:20px 22px; }
.sr-hero-stat-num { font-family:'Manrope', sans-serif; font-size:32px; font-weight:800; color:#fff; line-height:1; letter-spacing:-.02em; }
.sr-hero-stat-num em { color:var(--cyan); font-style:normal; }
.sr-hero-stat-label { font-size:12px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.1em; margin-top:8px; font-weight:600; }

/* SECTION HEADERS */
.sr-section-header { margin-bottom:48px; }
.sr-section-tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); margin-bottom:14px; }
.sr-section-tag::before { content:'— '; }
.sr-section-title { font-family:'Manrope', sans-serif; font-size:clamp(30px,3.5vw,44px); font-weight:800; line-height:1.1; color:var(--navy); letter-spacing:-.02em; margin:0 0 12px; max-width:680px; }
.sr-section-desc { font-size:15px; color:var(--text-muted); line-height:1.6; max-width:640px; margin:0; }

/* SERVICE CARDS */
.sr-services { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sr-service-card { position:relative; background:#fff; border-radius:20px; overflow:hidden; border:1px solid rgba(0,0,0,.06); transition:all .3s; display:flex; flex-direction:column; }
.sr-service-card:hover { transform:translateY(-4px); border-color:var(--cyan); box-shadow:0 20px 40px rgba(10,31,53,.08); }
.sr-service-hero { position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--navy); }
.sr-service-hero img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.sr-service-card:hover .sr-service-hero img { transform:scale(1.08); }
.sr-service-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(10,31,53,.6) 100%); }
.sr-service-badge { position:absolute; top:16px; left:16px; background:var(--cyan); color:var(--navy); padding:6px 12px; border-radius:6px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; z-index:2; }
.sr-service-time { position:absolute; bottom:16px; right:16px; background:rgba(10,31,53,.88); backdrop-filter:blur(10px); color:#fff; padding:8px 14px; border-radius:8px; font-size:12px; font-weight:700; display:flex; align-items:center; gap:6px; z-index:2; }
.sr-service-time svg { color:var(--cyan); }
.sr-service-body { padding:28px 26px; flex:1; display:flex; flex-direction:column; }
.sr-service-title { font-family:'Manrope', sans-serif; font-size:24px; font-weight:800; color:var(--navy); line-height:1.15; letter-spacing:-.01em; margin:0 0 12px; }
.sr-service-desc { font-size:14px; color:var(--text-muted); line-height:1.65; margin:0 0 20px; }
.sr-service-list { list-style:none; display:flex; flex-direction:column; gap:0; margin:0 0 24px; padding:0; }
.sr-service-list li { position:relative; padding:10px 0 10px 26px; font-size:13px; color:var(--text); border-bottom:1px solid rgba(0,0,0,.04); }
.sr-service-list li:last-child { border-bottom:none; }
.sr-service-list li::before { content:''; position:absolute; left:0; top:14px; width:12px; height:12px; border-radius:3px; background:var(--cyan); opacity:.15; transform:rotate(45deg); }
.sr-service-list li::after { content:'✓'; position:absolute; left:2px; top:9px; color:var(--cyan); font-weight:800; font-size:12px; }
.sr-service-foot { margin-top:auto; padding-top:20px; border-top:1px solid rgba(0,0,0,.06); display:flex; justify-content:space-between; align-items:center; gap:12px; }
.sr-service-price { font-family:'Manrope', sans-serif; color:var(--navy); font-weight:800; }
.sr-service-price strong { font-size:22px; color:var(--cyan); display:block; line-height:1; }
.sr-service-price span { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--text-muted); font-weight:600; }
.sr-service-btn { background:var(--cyan); color:var(--navy); font-weight:700; font-size:13px; padding:12px 18px; border-radius:8px; display:inline-flex; align-items:center; gap:8px; transition:all .2s; text-decoration:none; white-space:nowrap; }
.sr-service-btn:hover { background:var(--cyan-bright); transform:translateX(2px); color:var(--navy); }

/* BRANDS */
.sr-brands { background:var(--navy); color:#fff; padding:40px 0; }
.sr-brands .container { display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; }
.sr-brands-label { font-size:12px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.15em; font-weight:700; flex-shrink:0; }
.sr-brands-list { display:flex; gap:28px; align-items:center; flex-wrap:wrap; font-family:'Manrope', sans-serif; color:rgba(255,255,255,.8); font-weight:700; font-size:15px; letter-spacing:.03em; }
.sr-brands-list span { opacity:.7; transition:opacity .2s; cursor:default; }
.sr-brands-list span:hover { opacity:1; color:var(--cyan); }
.sr-brands-list::after { content:'+ więcej'; font-size:12px; font-weight:600; color:var(--cyan); padding:6px 12px; border:1px solid rgba(6,182,212,.3); border-radius:100px; background:rgba(6,182,212,.08); letter-spacing:0; }

/* PROCESS */
.sr-process { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; position:relative; }
.sr-process::before { content:''; position:absolute; top:36px; left:40px; right:40px; height:2px; background:linear-gradient(90deg, transparent 0%, rgba(6,182,212,.4) 15%, rgba(6,182,212,.4) 85%, transparent 100%); z-index:0; }
.sr-step { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 8px; }
.sr-step-num { width:72px; height:72px; border-radius:50%; background:#fff; border:2px solid var(--cyan); color:var(--cyan); font-family:'Manrope', sans-serif; font-size:28px; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:18px; box-shadow:0 8px 24px rgba(6,182,212,.15); transition:all .3s; }
.sr-step:hover .sr-step-num { background:var(--cyan); color:var(--navy); transform:scale(1.05); }
.sr-step h3 { font-family:'Manrope', sans-serif; font-size:15px; font-weight:800; color:var(--navy); margin:0 0 8px; letter-spacing:-.01em; }
.sr-step p { font-size:13px; color:var(--text-muted); line-height:1.55; margin:0; }

/* PRICING */
.sr-pricing { background:#fff; border-radius:24px; border:1px solid rgba(0,0,0,.06); overflow:hidden; box-shadow:0 12px 40px rgba(10,31,53,.04); }
.sr-pricing-head { background:var(--navy); color:#fff; padding:28px 32px; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:20px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }
.sr-pricing-head > span { color:rgba(255,255,255,.6); }
.sr-pricing-row { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:20px; padding:20px 32px; border-bottom:1px solid rgba(0,0,0,.05); align-items:center; transition:background .2s; }
.sr-pricing-row:last-child { border-bottom:none; }
.sr-pricing-row:hover { background:var(--bg-alt); }
.sr-pricing-service { display:flex; flex-direction:column; gap:4px; }
.sr-pricing-service strong { font-family:'Manrope', sans-serif; font-size:15px; font-weight:800; color:var(--navy); }
.sr-pricing-service em { font-size:12px; font-style:normal; color:var(--text-muted); }
.sr-pricing-time { font-size:13px; color:var(--text-muted); }
.sr-pricing-price { font-family:'Manrope', sans-serif; font-weight:800; font-size:18px; color:var(--cyan); text-align:right; }
.sr-pricing-price em { font-size:11px; font-style:normal; color:var(--text-muted); font-weight:600; text-transform:uppercase; letter-spacing:.1em; margin-left:4px; }

/* FORM SECTION */
.sr-form-section { background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%); color:#fff; padding:80px 0; position:relative; overflow:hidden; }
.sr-form-section::before { content:''; position:absolute; top:-30%; left:-5%; width:500px; height:500px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); }
.sr-form-layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; position:relative; z-index:2; }
.sr-form-layout .sr-section-tag { color:var(--cyan); }
.sr-form-layout h2 { color:#fff; font-family:'Manrope', sans-serif; font-size:clamp(28px,3.5vw,42px); font-weight:800; line-height:1.1; letter-spacing:-.02em; margin:0 0 16px; }
.sr-form-layout h2 em { color:var(--cyan); font-style:normal; }
.sr-form-layout > div > p { color:rgba(255,255,255,.7); font-size:15px; line-height:1.65; margin:0 0 28px; }
.sr-form-info { display:flex; flex-direction:column; gap:16px; }
.sr-form-info-item { display:flex; gap:14px; padding:18px 20px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:12px; }
.sr-form-info-icon { width:44px; height:44px; border-radius:10px; background:rgba(6,182,212,.1); border:1px solid rgba(6,182,212,.2); color:var(--cyan); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sr-form-info-text strong { display:block; font-family:'Manrope', sans-serif; font-size:15px; font-weight:800; color:#fff; margin-bottom:4px; }
.sr-form-info-text span { font-size:13px; color:rgba(255,255,255,.65); line-height:1.5; }

.sr-form { background:#fff; border-radius:20px; padding:36px; color:var(--text); }
.sr-form-title { font-family:'Manrope', sans-serif; font-size:20px; font-weight:800; color:var(--navy); margin:0 0 22px; }
.sr-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.sr-form-field { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.sr-form-field label { font-size:11px; font-weight:700; color:var(--text-muted); text-transform:uppercase; letter-spacing:.1em; }
.sr-form-field input, .sr-form-field select, .sr-form-field textarea, .sr-form input, .sr-form select, .sr-form textarea { width:100%; padding:13px 15px; border:1px solid rgba(0,0,0,.08); border-radius:10px; font-size:14px; font-family:inherit; color:var(--navy); background:var(--bg-alt); }
.sr-form-field input:focus, .sr-form-field select:focus, .sr-form-field textarea:focus, .sr-form input:focus, .sr-form select:focus, .sr-form textarea:focus { outline:none; border-color:var(--cyan); background:#fff; box-shadow:0 0 0 4px rgba(6,182,212,.08); }
.sr-form-field textarea { resize:vertical; min-height:90px; line-height:1.5; }
.sr-form-submit, .sr-form input[type="submit"] { width:100%; background:var(--cyan); color:var(--navy); font-weight:800; padding:16px; border-radius:10px; font-size:15px; border:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:10px; margin-top:8px; box-shadow:0 12px 32px rgba(6,182,212,.3); transition:all .25s; font-family:inherit; }
.sr-form-submit:hover, .sr-form input[type="submit"]:hover { background:var(--cyan-bright); transform:translateY(-2px); }
.sr-form-note { font-size:11px; color:var(--text-light); margin:12px 0 0; text-align:center; }

/* FAQ */
.sr-faq-grid { display:grid; grid-template-columns:300px 1fr; gap:48px; }
.sr-faq-list { display:flex; flex-direction:column; gap:10px; }
.sr-faq-item { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:12px; overflow:hidden; transition:all .2s; }
.sr-faq-item:hover { border-color:rgba(6,182,212,.4); }
.sr-faq-item[open] { border-color:var(--cyan); background:rgba(6,182,212,.02); box-shadow:0 8px 24px rgba(10,31,53,.04); }
.sr-faq-q { list-style:none; cursor:pointer; padding:18px 22px; display:flex; justify-content:space-between; align-items:center; gap:16px; font-weight:700; color:var(--navy); font-size:15px; }
.sr-faq-q::-webkit-details-marker { display:none; }
.sr-faq-q::after { content:'+'; width:28px; height:28px; border-radius:50%; background:rgba(6,182,212,.08); color:var(--cyan); display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:400; flex-shrink:0; transition:all .3s; }
.sr-faq-item[open] .sr-faq-q::after { content:'−'; background:var(--cyan); color:var(--navy); }
.sr-faq-a { padding:0 22px 20px; font-size:14px; color:var(--text-muted); line-height:1.65; }
.sr-faq-a p { margin:0 0 10px; }
.sr-faq-a p:last-child { margin:0; }

/* RESPONSIVE */
@media (max-width:1100px) {
  .sr-hero-grid { grid-template-columns:1fr; gap:32px; }
  .sr-services { grid-template-columns:1fr; }
  .sr-process { grid-template-columns:repeat(3,1fr); }
  .sr-process::before { display:none; }
  .sr-form-layout { grid-template-columns:1fr; gap:40px; }
  .sr-faq-grid { grid-template-columns:1fr; gap:32px; }
}
@media (max-width:768px) {
  .sr-process { grid-template-columns:1fr 1fr; }
  .sr-pricing-head { display:none; }
  .sr-pricing-row { grid-template-columns:1fr; gap:6px; padding:16px 20px; }
  .sr-pricing-price { text-align:left; }
  .sr-form-row { grid-template-columns:1fr; }
  .sr-hero-stats { grid-template-columns:1fr 1fr; }
  .sr-brands .container { flex-direction:column; align-items:flex-start; gap:16px; }
}

/* ==============================================================
   HEADER v2 (ipg- prefix) — 2-level: topbar + sticky nav
   Matches all page mockups from v2 redesign
   ============================================================== */

/* TOPBAR */
.ipg-topbar { background:#050E1B; color:rgba(255,255,255,.6); font-size:13px; padding:10px 0; }
.ipg-topbar .container { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.ipg-topbar-left { display:flex; gap:24px; flex-wrap:wrap; }
.ipg-topbar-left a { color:rgba(255,255,255,.6); text-decoration:none; display:inline-flex; align-items:center; gap:6px; transition:color .2s; }
.ipg-topbar-left a:hover { color:var(--cyan, #06B6D4); }
.ipg-topbar-left a svg { opacity:.7; flex-shrink:0; }
.ipg-topbar-right { display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.ipg-topbar-cert { color:var(--cyan, #06B6D4); font-weight:600; letter-spacing:.04em; }
.ipg-topbar-social { display:flex; gap:6px; }
.ipg-topbar-social a { font-size:10px; font-weight:800; letter-spacing:.08em; color:rgba(255,255,255,.7); background:rgba(255,255,255,.06); padding:4px 8px; border-radius:4px; text-decoration:none; transition:all .2s; }
.ipg-topbar-social a:hover { background:var(--cyan, #06B6D4); color:#0A1F35; }

/* MAIN NAV (sticky) */
.ipg-nav-wrap { position:sticky; top:0; z-index:100; background:rgba(10,31,53,.98); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom:1px solid rgba(255,255,255,.06); }
.ipg-nav { display:flex; justify-content:space-between; align-items:center; padding:18px 0; gap:24px; }

.ipg-logo { flex-shrink:0; display:block; }
.ipg-logo img { height:40px; width:auto; display:block; }

.ipg-nav-menu { display:flex; gap:2px; flex:1; justify-content:center; }
.ipg-nav-menu a { color:rgba(255,255,255,.75); font-size:14px; font-weight:500; padding:10px 16px; border-radius:8px; text-decoration:none; transition:all .2s; position:relative; }
.ipg-nav-menu a:hover { color:#fff; background:rgba(255,255,255,.06); }
.ipg-nav-menu a.is-active, .ipg-nav-menu .current-menu-item > a, .ipg-nav-menu .current-menu-parent > a, .ipg-nav-menu .current-menu-ancestor > a { color:var(--cyan, #06B6D4); }
.ipg-nav-menu a.is-active::after, .ipg-nav-menu .current-menu-item > a::after, .ipg-nav-menu .current-menu-parent > a::after { content:''; position:absolute; bottom:-22px; left:16px; right:16px; height:2px; background:var(--cyan, #06B6D4); }

.ipg-nav-right { display:flex; gap:12px; align-items:center; flex-shrink:0; }
.ipg-nav-phone { color:rgba(255,255,255,.85); font-weight:600; font-size:14px; padding:10px 16px; border:1px solid rgba(255,255,255,.12); border-radius:8px; text-decoration:none; transition:all .2s; }
.ipg-nav-phone:hover { border-color:var(--cyan, #06B6D4); color:var(--cyan, #06B6D4); }
.ipg-nav-cta { background:var(--cyan, #06B6D4); color:#0A1F35; font-weight:700; font-size:14px; padding:12px 24px; border-radius:8px; text-decoration:none; transition:all .25s; box-shadow:0 8px 24px rgba(6,182,212,.25); }
.ipg-nav-cta:hover { background:var(--cyan-bright, #00E5FF); transform:translateY(-1px); box-shadow:0 12px 32px rgba(6,182,212,.35); color:#0A1F35; }

/* Hamburger (hidden on desktop) */
.ipg-nav-burger { display:none; background:transparent; border:0; width:40px; height:40px; padding:0; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:5px; border-radius:8px; }
.ipg-nav-burger:hover { background:rgba(255,255,255,.06); }
.ipg-nav-burger span { display:block; width:22px; height:2px; background:#fff; border-radius:2px; transition:all .3s; }
.ipg-nav-burger.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.ipg-nav-burger.is-open span:nth-child(2) { opacity:0; }
.ipg-nav-burger.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* MOBILE MENU */
.ipg-mobile { position:fixed; top:0; left:0; right:0; bottom:0; background:#0A1F35; z-index:200; padding:80px 28px 40px; overflow-y:auto; transform:translateX(100%); transition:transform .35s cubic-bezier(.22,1,.36,1); visibility:hidden; }
.ipg-mobile.is-open { transform:translateX(0); visibility:visible; }
.ipg-mobile-inner { display:flex; flex-direction:column; gap:4px; max-width:500px; margin:0 auto; }
.ipg-mobile-inner > a { display:block; padding:18px 20px; color:#fff; font-size:18px; font-weight:700; border-bottom:1px solid rgba(255,255,255,.08); text-decoration:none; transition:all .2s; }
.ipg-mobile-inner > a:hover, .ipg-mobile-inner > a.is-active { color:var(--cyan, #06B6D4); }
.ipg-mobile-contact { margin-top:32px; padding-top:24px; border-top:1px solid rgba(255,255,255,.08); display:flex; flex-direction:column; gap:10px; }
.ipg-mobile-contact a { display:inline-flex; align-items:center; gap:10px; color:rgba(255,255,255,.85); font-size:16px; font-weight:600; text-decoration:none; padding:12px 0; }
.ipg-mobile-contact a svg { color:var(--cyan, #06B6D4); }
.ipg-mobile-cta { display:block; background:var(--cyan, #06B6D4); color:#0A1F35; font-weight:800; padding:18px; border-radius:10px; text-align:center; text-decoration:none; margin-top:24px; font-size:15px; }
.ipg-mobile-cta:hover { background:var(--cyan-bright, #00E5FF); color:#0A1F35; }

body.ipg-no-scroll { overflow:hidden; }

/* RESPONSIVE */
@media (max-width:960px) {
  .ipg-nav-menu, .ipg-nav-phone { display:none; }
  .ipg-nav-burger { display:flex; }
  .ipg-nav-cta { display:none; }
}
@media (max-width:640px) {
  .ipg-topbar { display:none; }
  .ipg-nav { padding:14px 0; }
  .ipg-logo img { height:34px; }
}

/* ==============================================================
   SKLEP (sk- prefix) — dealerski layout: sidebar + grid
   ============================================================== */

/* PAGE HEAD */
.sk-pagehead { background:linear-gradient(135deg,var(--navy, #0A1F35) 0%,var(--navy-2, #132D47) 100%); color:#fff; padding:36px 0 28px; position:relative; overflow:hidden; }
.sk-pagehead::before { content:''; position:absolute; top:-30%; right:-5%; width:500px; height:500px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); }
.sk-pagehead .container { position:relative; z-index:2; }
.sk-breadcrumb, .sk-breadcrumb-wrap { font-size:13px; color:rgba(255,255,255,.5); margin-bottom:14px; display:flex; gap:10px; }
.sk-breadcrumb a, .sk-breadcrumb-wrap a { color:rgba(255,255,255,.7); }
.sk-breadcrumb a:hover, .sk-breadcrumb-wrap a:hover { color:var(--cyan, #06B6D4); }
.sk-pagehead-row { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.sk-pagehead-left { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.sk-tag { display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan, #06B6D4); padding:7px 14px; border:1px solid rgba(6,182,212,.3); border-radius:100px; background:rgba(6,182,212,.08); }
.sk-tag::before { content:''; width:7px; height:7px; background:var(--cyan, #06B6D4); border-radius:50%; }
.sk-pagehead-title { font-family:'Manrope', sans-serif; font-weight:800; font-size:clamp(26px, 3vw, 36px); line-height:1.1; letter-spacing:-.02em; margin:0; color:#fff; }
.sk-pagehead-title .accent { background:linear-gradient(90deg,var(--cyan, #06B6D4) 0%,#00E5FF 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sk-pagehead-meta { display:flex; gap:18px; align-items:center; font-size:13px; color:rgba(255,255,255,.7); flex-wrap:wrap; }
.sk-pagehead-meta-item { display:inline-flex; align-items:center; gap:8px; }
.sk-pagehead-meta-item svg { color:var(--cyan, #06B6D4); }
.sk-pagehead-meta strong { color:#fff; font-weight:700; }

/* CATEGORY HERO */
.sk-cats-hero { padding:24px 0; background:#fff; }
.sk-cats-hero-grid { display:grid; grid-template-columns:2fr 2fr 1fr 1fr 1fr 1fr; grid-template-rows:180px 180px; gap:10px; }
.sk-cat-card { position:relative; border-radius:14px; overflow:hidden; isolation:isolate; display:flex; align-items:flex-end; padding:22px; color:#fff; transition:all .3s; background:var(--navy-2, #132D47); text-decoration:none; }
.sk-cat-card:hover { transform:translateY(-2px); box-shadow:0 16px 40px rgba(10,31,53,.15); color:#fff; }
.sk-cat-card-bg { position:absolute; inset:0; z-index:0; }
.sk-cat-card-bg img { width:100%; height:100%; object-fit:cover; transition:transform .8s; }
.sk-cat-card:hover .sk-cat-card-bg img { transform:scale(1.08); }
.sk-cat-card::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(10,31,53,.15) 0%,rgba(10,31,53,.45) 50%,rgba(10,31,53,.88) 100%); }
.sk-cat-card-content { position:relative; z-index:2; width:100%; }
.sk-cat-card-count { font-size:11px; font-weight:700; color:var(--cyan, #06B6D4); text-transform:uppercase; letter-spacing:.15em; margin-bottom:6px; }
.sk-cat-card-title { font-family:'Manrope', sans-serif; font-weight:800; line-height:1.1; letter-spacing:-.01em; margin:0; color:#fff; }
.sk-cat-card--large { grid-column:span 2; grid-row:span 1; }
.sk-cat-card--large .sk-cat-card-title { font-size:30px; }
.sk-cat-card--large .sk-cat-card-sub { font-size:13px; color:rgba(255,255,255,.75); margin-top:6px; max-width:280px; line-height:1.5; }
.sk-cat-card--small .sk-cat-card-title { font-size:18px; }

/* BRANDS BAR */
.sk-brands { background:var(--navy, #0A1F35); color:#fff; padding:32px 0; border-top:1px solid rgba(255,255,255,.06); }
.sk-brands .container { display:flex; align-items:center; gap:32px; flex-wrap:wrap; }
.sk-brands-label { font-size:11px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.18em; font-weight:700; flex-shrink:0; }
.sk-brands-list { display:flex; gap:0; align-items:stretch; flex:1; justify-content:space-around; flex-wrap:wrap; }
.sk-brand { display:flex; flex-direction:column; gap:3px; align-items:center; padding:0 22px; position:relative; cursor:pointer; text-decoration:none; color:#fff; }
.sk-brand:not(:last-child)::after { content:''; position:absolute; right:0; top:25%; bottom:25%; width:1px; background:rgba(255,255,255,.1); }
.sk-brand-logo { font-family:'Manrope', sans-serif; font-size:22px; font-weight:800; color:#fff; letter-spacing:.02em; transition:color .2s; }
.sk-brand-sub { font-size:10px; color:rgba(255,255,255,.45); text-transform:uppercase; letter-spacing:.14em; font-weight:600; }
.sk-brand:hover .sk-brand-logo { color:var(--cyan, #06B6D4); }

/* MAIN */
.sk-main { padding:40px 0 80px; background:var(--bg-alt, #F5F7FA); }
.sk-layout { display:grid; grid-template-columns:280px 1fr; gap:32px; align-items:start; }

/* SIDEBAR */
.sk-sidebar { position:sticky; top:20px; background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:14px; padding:0; overflow:hidden; max-height:calc(100vh - 40px); overflow-y:auto; }
.sk-filter-section { border-bottom:1px solid rgba(0,0,0,.05); }
.sk-filter-section:last-child { border-bottom:none; }
.sk-filter-header { padding:16px 22px; display:flex; justify-content:space-between; align-items:center; user-select:none; }
.sk-filter-header h3 { font-size:12px; font-weight:800; color:var(--navy, #0A1F35); text-transform:uppercase; letter-spacing:.12em; margin:0; }
.sk-filter-options { padding:0 22px 18px; display:flex; flex-direction:column; gap:4px; }
.sk-filter-option { display:flex; align-items:center; padding:7px 0; font-size:13.5px; color:var(--text, #0F172A); transition:color .15s; text-decoration:none; }
.sk-filter-option:hover { color:var(--cyan, #06B6D4); }
.sk-filter-option-label { flex:1; }
.sk-filter-option-count { color:var(--text-light, #64748B); font-size:12px; font-weight:600; }
.sk-filter-active { padding:14px 22px; background:rgba(6,182,212,.06); display:flex; flex-wrap:wrap; gap:6px; border-bottom:1px solid rgba(6,182,212,.15); align-items:center; }
.sk-filter-chip { display:inline-flex; align-items:center; gap:6px; padding:5px 10px; background:#fff; border:1px solid rgba(6,182,212,.3); border-radius:100px; font-size:11px; font-weight:700; color:var(--navy, #0A1F35); text-decoration:none; }
.sk-filter-chip:hover { background:rgba(6,182,212,.1); color:var(--navy, #0A1F35); }
.sk-filter-chip-close { color:var(--text-muted, #475569); cursor:pointer; font-weight:400; font-size:14px; line-height:1; }
.sk-filter-clear { font-size:11px; font-weight:700; color:var(--cyan, #06B6D4); cursor:pointer; text-transform:uppercase; letter-spacing:.1em; margin-left:auto; text-decoration:none; }

/* PRODUCTS HEAD */
.sk-products-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; flex-wrap:wrap; gap:14px; }
.sk-products-count { font-size:14px; color:var(--text-muted, #475569); }
.sk-products-count strong { color:var(--navy, #0A1F35); font-family:'Manrope', sans-serif; font-weight:800; font-size:18px; }
.sk-sort { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--text-muted, #475569); }
.sk-sort select { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:8px; padding:8px 14px; font-size:13px; font-weight:600; color:var(--navy, #0A1F35); cursor:pointer; font-family:inherit; }

/* GRID */
.sk-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sk-card { position:relative; background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:14px; overflow:hidden; transition:all .25s; display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.sk-card:hover { border-color:var(--cyan, #06B6D4); box-shadow:0 12px 28px rgba(10,31,53,.08); transform:translateY(-2px); }
.sk-card-img { position:relative; aspect-ratio:1.2/1; background:var(--bg-alt, #F5F7FA); overflow:hidden; }
.sk-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.sk-card:hover .sk-card-img img { transform:scale(1.04); }
.sk-card-condition { position:absolute; top:10px; left:10px; padding:4px 10px; border-radius:4px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; z-index:2; }
.sk-card-condition.new { background:var(--cyan, #06B6D4); color:var(--navy, #0A1F35); }
.sk-card-condition.used { background:#FFB800; color:var(--navy, #0A1F35); }
.sk-card-flag { position:absolute; top:10px; right:10px; padding:4px 10px; border-radius:4px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; z-index:2; }
.sk-card-flag.sale, .sk-card-flag.hot { background:#FF5E3A; color:#fff; }
.sk-card-flag.new_arrival { background:var(--cyan, #06B6D4); color:var(--navy, #0A1F35); }
.sk-card-flag.sold { background:rgba(0,0,0,.7); color:#fff; }
.sk-card-body { padding:18px 20px 16px; flex:1; display:flex; flex-direction:column; gap:4px; }
.sk-card-brand { font-size:11px; font-weight:800; color:var(--text-muted, #475569); text-transform:uppercase; letter-spacing:.15em; }
.sk-card-title { font-family:'Manrope', sans-serif; font-size:17px; font-weight:800; color:var(--navy, #0A1F35); line-height:1.25; letter-spacing:-.005em; margin:0; }
.sk-card-variant { font-size:12px; color:var(--text-muted, #475569); margin-top:2px; }
.sk-card-specs { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.sk-card-spec { display:inline-flex; align-items:center; font-size:11px; font-weight:700; padding:4px 9px; background:var(--bg-alt, #F5F7FA); border-radius:4px; color:var(--navy, #0A1F35); }
.sk-card-spec.cert { background:rgba(6,182,212,.08); color:var(--cyan, #06B6D4); }
.sk-card-foot { margin-top:auto; padding-top:14px; display:flex; justify-content:space-between; align-items:flex-end; gap:8px; }
.sk-card-price-block { display:flex; flex-direction:column; gap:2px; }
.sk-card-price { font-family:'Manrope', sans-serif; font-size:20px; font-weight:800; color:var(--navy, #0A1F35); line-height:1; letter-spacing:-.01em; }
.sk-card-price small { font-size:12px; font-weight:600; color:var(--text-muted, #475569); margin-left:2px; }
.sk-card-price-note { font-size:11px; color:var(--text-muted, #475569); font-weight:600; }
.sk-card-price.inquiry { font-size:14px; color:var(--cyan, #06B6D4); font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.sk-card-availability { display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; padding:5px 10px; border-radius:100px; white-space:nowrap; }
.sk-card-availability::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.sk-card-availability.instock { background:rgba(16,185,129,.1); color:#10B981; }
.sk-card-availability.order { background:rgba(6,182,212,.1); color:var(--cyan, #06B6D4); }
.sk-card-availability.used { background:rgba(255,184,0,.12); color:#A36E00; }
.sk-card-availability.sold { background:rgba(0,0,0,.08); color:var(--text-muted, #475569); }

/* PAGINATION */
.sk-pagination { display:flex; justify-content:center; gap:6px; margin-top:48px; flex-wrap:wrap; }
.sk-pagination a, .sk-pagination span { padding:10px 16px; font-size:14px; font-weight:700; border-radius:8px; color:var(--text-muted, #475569); border:1px solid rgba(0,0,0,.08); background:#fff; text-decoration:none; }
.sk-pagination span.current, .sk-pagination .page-numbers.current { background:var(--navy, #0A1F35); color:#fff; border-color:var(--navy, #0A1F35); }
.sk-pagination a:hover { border-color:var(--cyan, #06B6D4); color:var(--cyan, #06B6D4); }

.sk-filter-mobile-toggle { display:none; }

/* ABOUT */
.sk-about { background:var(--navy, #0A1F35); color:#fff; padding:60px 0; position:relative; overflow:hidden; }
.sk-about::before { content:''; position:absolute; top:-30%; left:-5%; width:500px; height:500px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); }
.sk-about .container { position:relative; z-index:2; display:grid; grid-template-columns:1.5fr 1fr; gap:48px; align-items:center; }
.sk-about h2 { font-family:'Manrope', sans-serif; font-size:clamp(28px,3.5vw,40px); font-weight:800; line-height:1.1; letter-spacing:-.02em; margin:0 0 16px; color:#fff; }
.sk-about h2 em { color:var(--cyan, #06B6D4); font-style:normal; }
.sk-about p { color:rgba(255,255,255,.7); font-size:15px; line-height:1.7; margin:0 0 12px; }
.sk-about-actions { display:flex; flex-direction:column; gap:10px; }
.sk-about-actions .btn-primary { background:var(--cyan, #06B6D4); color:var(--navy, #0A1F35); font-weight:700; padding:16px 28px; border-radius:10px; font-size:14px; display:inline-flex; align-items:center; gap:10px; justify-content:center; box-shadow:0 12px 32px rgba(6,182,212,.3); text-decoration:none; }
.sk-about-actions .btn-ghost { color:#fff; font-weight:600; padding:16px 28px; border-radius:10px; font-size:14px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.02); display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; }

/* SINGLE PRODUCT */
.pr-wrap { background:var(--bg-alt, #F5F7FA); padding:40px 0 80px; }
.pr-breadcrumb { font-size:13px; color:var(--text-muted, #475569); margin-bottom:28px; display:flex; gap:10px; }
.pr-breadcrumb a { color:var(--text-muted, #475569); text-decoration:none; }
.pr-breadcrumb a:hover { color:var(--cyan, #06B6D4); }
.pr-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:start; }
.pr-gallery { display:flex; flex-direction:column; gap:10px; }
.pr-gallery-main { aspect-ratio:4/3; border-radius:14px; overflow:hidden; background:#fff; border:1px solid rgba(0,0,0,.06); position:relative; }
.pr-gallery-main img { width:100%; height:100%; object-fit:cover; }
.pr-gallery-main .sk-card-condition { top:14px; left:14px; }
.pr-gallery-main .sk-card-flag { top:14px; right:14px; }
.pr-gallery-thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.pr-gallery-thumb { aspect-ratio:1/1; border-radius:10px; overflow:hidden; cursor:pointer; border:2px solid transparent; opacity:.7; transition:all .2s; background:#fff; }
.pr-gallery-thumb.active, .pr-gallery-thumb:hover { opacity:1; border-color:var(--cyan, #06B6D4); }
.pr-gallery-thumb img { width:100%; height:100%; object-fit:cover; }
.pr-info { position:sticky; top:100px; }
.pr-info-brand { font-size:11px; font-weight:800; color:var(--cyan, #06B6D4); text-transform:uppercase; letter-spacing:.2em; margin-bottom:10px; }
.pr-info-title { font-family:'Manrope', sans-serif; font-size:clamp(26px,3vw,36px); font-weight:800; color:var(--navy, #0A1F35); line-height:1.1; letter-spacing:-.02em; margin:0 0 10px; }
.pr-info-variant { font-size:14px; color:var(--text-muted, #475569); margin-bottom:20px; }
.pr-info-badges { display:flex; gap:8px; margin-bottom:20px; flex-wrap:wrap; }
.pr-info-badge { padding:5px 12px; border-radius:4px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.pr-info-badge.used { background:#FFB800; color:var(--navy, #0A1F35); }
.pr-info-badge.new { background:var(--cyan, #06B6D4); color:var(--navy, #0A1F35); }
.pr-info-badge.en { background:rgba(6,182,212,.1); color:var(--cyan, #06B6D4); }
.pr-price-box { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:24px 26px; margin-bottom:16px; }
.pr-price-label { font-size:11px; font-weight:700; color:var(--text-muted, #475569); text-transform:uppercase; letter-spacing:.15em; margin-bottom:8px; }
.pr-price-big { font-family:'Manrope', sans-serif; font-size:40px; font-weight:800; color:var(--navy, #0A1F35); line-height:1; letter-spacing:-.02em; }
.pr-price-big small { font-size:20px; color:var(--text-muted, #475569); margin-left:4px; }
.pr-price-big.inquiry { font-size:24px; color:var(--cyan, #06B6D4); }
.pr-price-old { font-size:15px; color:var(--text-light, #64748B); text-decoration:line-through; margin-left:12px; }
.pr-price-note { font-size:13px; color:var(--text-muted, #475569); margin-top:8px; }
.pr-availability { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; padding:6px 12px; border-radius:100px; margin-top:14px; }
.pr-availability::before { content:''; width:7px; height:7px; border-radius:50%; background:currentColor; }
.pr-availability.instock { background:rgba(16,185,129,.1); color:#10B981; }
.pr-availability.order { background:rgba(6,182,212,.1); color:var(--cyan, #06B6D4); }
.pr-availability.used { background:rgba(255,184,0,.12); color:#A36E00; }
.pr-availability.sold { background:rgba(0,0,0,.08); color:var(--text-muted, #475569); }
.pr-price-cta { display:flex; gap:10px; margin-top:20px; }
.pr-price-cta .btn-primary { flex:1; background:var(--cyan, #06B6D4); color:var(--navy, #0A1F35); font-weight:800; padding:15px; border-radius:10px; font-size:14px; display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; transition:all .25s; border:none; cursor:pointer; }
.pr-price-cta .btn-primary:hover { background:#00E5FF; color:var(--navy, #0A1F35); }
.pr-price-cta .btn-phone { padding:15px 22px; border:1px solid rgba(0,0,0,.1); border-radius:10px; font-weight:700; color:var(--navy, #0A1F35); font-size:14px; display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.pr-price-cta .btn-phone svg { color:var(--cyan, #06B6D4); }
.pr-specs { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:24px 26px; }
.pr-specs h3 { font-size:11px; font-weight:800; color:var(--text-muted, #475569); text-transform:uppercase; letter-spacing:.15em; margin:0 0 14px; }
.pr-specs-row { display:flex; justify-content:space-between; padding:10px 0; font-size:14px; border-bottom:1px solid rgba(0,0,0,.05); }
.pr-specs-row:last-child { border-bottom:none; }
.pr-specs-row-label { color:var(--text-muted, #475569); }
.pr-specs-row-value { font-weight:700; color:var(--navy, #0A1F35); font-family:'Manrope', sans-serif; }
.pr-description { margin-top:40px; padding-top:40px; border-top:1px solid rgba(0,0,0,.08); }
.pr-description h2 { font-family:'Manrope', sans-serif; font-size:22px; font-weight:800; color:var(--navy, #0A1F35); margin:0 0 16px; }
.pr-description p { color:var(--text, #0F172A); line-height:1.7; margin-bottom:14px; }

/* INQUIRY FORM SECTION */
.pr-inquiry-section { background:linear-gradient(135deg,var(--navy, #0A1F35) 0%,var(--navy-2, #132D47) 100%); color:#fff; padding:60px 0; margin-top:60px; position:relative; overflow:hidden; }
.pr-inquiry-section::before { content:''; position:absolute; top:-30%; left:-5%; width:500px; height:500px; background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%); }
.pr-inquiry-layout { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; position:relative; z-index:2; }
.pr-inquiry-layout h2 { font-family:'Manrope', sans-serif; font-size:clamp(26px,3vw,36px); font-weight:800; line-height:1.1; margin:0 0 14px; color:#fff; }
.pr-inquiry-layout p { color:rgba(255,255,255,.7); font-size:15px; line-height:1.6; margin:0 0 24px; }
.pr-inquiry-form { background:#fff; border-radius:14px; padding:32px; color:var(--text, #0F172A); }
.pr-inquiry-form .sk-form-field { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.pr-inquiry-form label { font-size:11px; font-weight:700; color:var(--text-muted, #475569); text-transform:uppercase; letter-spacing:.1em; }
.pr-inquiry-form input, .pr-inquiry-form textarea, .pr-inquiry-form select { width:100%; padding:13px 15px; border:1px solid rgba(0,0,0,.08); border-radius:10px; font-size:14px; font-family:inherit; color:var(--navy, #0A1F35); background:var(--bg-alt, #F5F7FA); }
.pr-inquiry-form input:focus, .pr-inquiry-form textarea:focus, .pr-inquiry-form select:focus { outline:none; border-color:var(--cyan, #06B6D4); background:#fff; box-shadow:0 0 0 4px rgba(6,182,212,.08); }
.pr-inquiry-form textarea { resize:vertical; min-height:90px; line-height:1.5; }
.pr-inquiry-form button[type="submit"] { width:100%; background:var(--cyan, #06B6D4); color:var(--navy, #0A1F35); font-weight:800; padding:16px; border-radius:10px; font-size:15px; border:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:10px; margin-top:8px; }

/* RESPONSIVE */
@media (max-width:1200px) {
  .sk-cats-hero-grid { grid-template-columns:2fr 2fr; grid-template-rows:160px 160px 140px; }
  .sk-cat-card--small { grid-column:span 1; }
  .sk-layout { grid-template-columns:240px 1fr; }
  .sk-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  .sk-cats-hero-grid { grid-template-columns:1fr 1fr; grid-template-rows:140px 140px 120px 120px; gap:8px; }
  .sk-cat-card--large { grid-column:span 2; }
  .sk-cat-card--large .sk-cat-card-title { font-size:24px; }
  .sk-layout { grid-template-columns:1fr; }
  .sk-sidebar { position:static; max-height:none; display:none; }
  .sk-sidebar.is-open { display:block; }
  .sk-filter-mobile-toggle { display:inline-flex; align-items:center; gap:8px; padding:12px 18px; background:var(--navy, #0A1F35); color:#fff; border:0; border-radius:10px; font-weight:700; font-size:13px; cursor:pointer; }
  .sk-brands .container { flex-direction:column; align-items:flex-start; gap:12px; }
  .sk-brand { padding:0 12px; }
  .sk-brand-logo { font-size:16px; }
  .sk-about .container { grid-template-columns:1fr; gap:24px; }
  .pr-layout { grid-template-columns:1fr; }
  .pr-info { position:static; }
  .pr-inquiry-layout { grid-template-columns:1fr; gap:32px; }
}
@media (max-width:640px) {
  .sk-grid { grid-template-columns:1fr; }
  .sk-cats-hero-grid { grid-template-columns:1fr; grid-template-rows:repeat(6,120px); }
  .sk-cat-card { grid-column:span 1 !important; }
  .pr-price-cta { flex-direction:column; }
}

/* ==============================================================
   v1.12.1 — MOBILE FIXES
   1) Mobile menu: close (X) button + open-state controls
   2) Homepage hp-* responsive overflow fixes (statsy, cal featured, team, cta)
   3) Footer + floating-cta on mobile
   ============================================================== */

/* ---- 1) MOBILE MENU: CLOSE BUTTON ---- */
.ipg-mobile-close {
    position:fixed;
    top:14px;
    right:14px;
    width:44px;
    height:44px;
    border-radius:10px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    display:none;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:210;
    transition:background .2s, border-color .2s, color .2s, transform .2s;
    padding:0;
}
.ipg-mobile.is-open ~ .ipg-mobile-close,
.ipg-mobile.is-open .ipg-mobile-close { display:inline-flex; }
.ipg-mobile-close:hover {
    background:var(--cyan, #06B6D4);
    border-color:var(--cyan, #06B6D4);
    color:#0A1F35;
    transform:rotate(90deg);
}
.ipg-mobile-close:focus-visible { outline:2px solid var(--cyan, #06B6D4); outline-offset:2px; }
.ipg-mobile-close svg { display:block; }
/* Reduce top padding so close button doesn't overlap first menu item visually */
.ipg-mobile { padding-top:72px; }

/* ---- 2) FLOATING CTA — hide while mobile menu is open ---- */
body.ipg-menu-open .floating-cta { opacity:0 !important; pointer-events:none !important; transform:translateY(80px) !important; }

/* ---- 3) HOMEPAGE HERO — stats below content on mobile (no overflow) ---- */
@media (max-width:960px) {
    .hp-hero { min-height:auto; padding:48px 0 56px; }
    .hp-hero h1 { font-size:clamp(30px, 7.5vw, 44px); margin-bottom:20px; }
    .hp-hero-sub { font-size:15px; margin-bottom:28px; }
    .hp-hero-eyebrow { font-size:10px; padding:6px 12px; margin-bottom:20px; letter-spacing:.15em; }
    .hp-hero-btns { flex-direction:column; gap:10px; width:100%; }
    .hp-hero-btns .hp-btn-primary, .hp-hero-btns .hp-btn-ghost { width:100%; padding:16px 24px; font-size:14px; }
    .hp-hero-stats {
        position:static !important;
        right:auto !important; bottom:auto !important;
        margin-top:36px;
        flex-direction:column;
        gap:10px;
        width:100%;
    }
    .hp-hero-stat { min-width:0 !important; padding:16px 18px; flex:none; width:100%; }
    .hp-hero-stat-num { font-size:28px; }
    .hp-hero-stat-label { font-size:11px; }
}

/* ---- HOMEPAGE TRUST BAR — 2 columns on tablet, 2 still on phone (compact) ---- */
@media (max-width:640px) {
    .hp-trust { padding:36px 0; }
    .hp-trust-grid { gap:12px; }
    .hp-trust-item { padding:12px 8px; }
    .hp-trust-num { font-size:30px; margin-bottom:6px; }
    .hp-trust-label { font-size:11px; letter-spacing:.05em; }
}

/* ---- HOMEPAGE SECTIONS — proper section header stacking ---- */
@media (max-width:768px) {
    .section { padding:48px 0 !important; }
    .hp-section-header { margin-bottom:32px; gap:14px; }
    .hp-section-header > div { max-width:100%; }
    .hp-section-title { font-size:clamp(26px, 6.5vw, 34px); margin-bottom:12px; }
    .hp-section-desc { font-size:15px; }
    .hp-section-link { font-size:13px; }
}

/* ---- HOMEPAGE OFFER CARDS — readable on mobile ---- */
@media (max-width:768px) {
    .hp-offer-card { aspect-ratio:auto; min-height:340px; }
    .hp-offer-content { padding:18px; }
    .hp-offer-panel { padding:18px 18px; border-radius:12px; }
    .hp-offer-tag { font-size:10px; padding:6px 10px; }
    .hp-offer-title { font-size:20px; line-height:1.18; }
    .hp-offer-desc { font-size:13px; margin-bottom:14px; }
    .hp-offer-price { font-size:20px; }
    .hp-offer-arrow { width:36px; height:36px; }
}

/* ---- HOMEPAGE CALENDAR — full reset for featured card on mobile ---- */
@media (max-width:1100px) {
    .hp-cal-card.featured {
        display:flex !important;
        flex-direction:column;
        grid-column:auto !important;
    }
    .hp-cal-card.featured .hp-cal-hero {
        aspect-ratio:16/9 !important;
        height:auto !important;
        min-height:0 !important;
        grid-row:auto !important;
    }
    .hp-cal-card.featured .hp-cal-body {
        padding:24px;
        grid-row:auto !important;
        gap:10px;
    }
    .hp-cal-card.featured .hp-cal-foot {
        grid-column:auto !important;
        grid-row:auto !important;
    }
    .hp-cal-card.featured .hp-cal-title { font-size:22px; }
    .hp-cal-card.featured .hp-cal-dates { font-size:14px; }
}
@media (max-width:768px) {
    .hp-cal-card.featured .hp-cal-body { padding:20px; }
    .hp-cal-card.featured .hp-cal-title { font-size:20px; }
    .hp-cal-title { font-size:18px; }
    .hp-cal-foot { padding:14px 20px; flex-wrap:wrap; gap:8px; }
    .hp-cal-level { font-size:11px; }
    .hp-cal-link { font-size:12px; }
    .hp-cal-month, .hp-cal-status { font-size:10px; padding:5px 10px; }
}

/* ---- HOMEPAGE SERVICE CARDS ---- */
@media (max-width:768px) {
    .hp-service-card { padding:28px 22px; min-height:auto; border-radius:18px; }
    .hp-service-card h3 { font-size:22px; margin-bottom:10px; }
    .hp-service-card p { font-size:14px; margin-bottom:18px; }
    .hp-service-icon { width:44px; height:44px; margin-bottom:14px; }
}

/* ---- HOMEPAGE TEAM CARDS — readable info block ---- */
@media (max-width:768px) {
    .hp-team-card { aspect-ratio:4/5; max-width:100%; }
    .hp-team-info { padding:20px; }
    .hp-team-name { font-size:20px; line-height:1.15; }
    .hp-team-role { font-size:10px; letter-spacing:.1em; margin-bottom:6px; }
    .hp-team-bio { font-size:12px; margin-bottom:12px; }
    .hp-team-link { font-size:11px; }
    .hp-team-founder { font-size:9px; padding:5px 10px; top:12px; left:12px; }
    .hp-team-placeholder { font-size:90px; }
}

/* ---- HOMEPAGE BLOG HUB ---- */
@media (max-width:768px) {
    .hp-hub-card.large .hp-hub-img { aspect-ratio:16/10; }
    .hp-hub-body, .hp-hub-body.lg { padding:18px; }
    .hp-hub-card.large .hp-hub-title, .hp-hub-title { font-size:18px; }
    .hp-hub-card.large .hp-hub-desc, .hp-hub-desc { font-size:13px; }
}

/* ---- HOMEPAGE CTA RIBBON — stack on mobile + reset min-width ---- */
@media (max-width:1100px) {
    .hp-cta-ribbon .container { flex-direction:column; align-items:flex-start; gap:28px; }
    .hp-cta-actions { min-width:0; width:100%; }
}
@media (max-width:768px) {
    .hp-cta-ribbon { padding:56px 0; }
    .hp-cta-ribbon::after { font-size:160px; bottom:-40px; }
    .hp-cta-content h2 { font-size:clamp(28px, 7vw, 36px); }
    .hp-cta-content p { font-size:14px; }
    .hp-cta-actions .hp-btn-primary { padding:16px 22px; font-size:14px; }
    .hp-cta-phone { font-size:18px; padding:14px 0; }
}

/* ---- FOOTER — extra padding for floating CTA + readable on mobile ---- */
@media (max-width:768px) {
    .footer { padding:40px 0 90px; } /* extra bottom space so floating CTA doesn't cover copy */
    .footer-top { gap:28px; padding-bottom:24px; }
    .footer-bottom { flex-direction:column; gap:16px; align-items:flex-start; padding-top:20px; }
    .footer-copy { font-size:11px; line-height:1.6; }
    .floating-cta { bottom:16px; right:16px; padding:10px 18px; font-size:12px; }
}

/* ---- GLOBAL MOBILE OVERFLOW PROTECTION ---- */
@media (max-width:768px) {
    .container { padding:0 18px; }
    .hp-hero .container { padding:0 18px; }
    img, video, iframe { max-width:100%; height:auto; }
    /* Defensive: anything inside hp-* should never overflow viewport */
    [class^="hp-"], [class*=" hp-"] { max-width:100%; }
}

/* ---- MAIN NAV — better mobile sizing ---- */
@media (max-width:640px) {
    .ipg-nav { padding:12px 0; gap:12px; }
    .ipg-nav-right { gap:6px; }
    .ipg-nav-burger { width:44px; height:44px; }
    .ipg-logo img { height:30px; }
    .ipg-nav-wrap .container { padding:0 14px; }
}

/* ---- MOBILE MENU — better spacing on small screens ---- */
@media (max-width:640px) {
    .ipg-mobile { padding:64px 20px 32px; }
    .ipg-mobile-inner > a { font-size:17px; padding:16px 16px; }
    .ipg-mobile-cta { padding:16px; font-size:14px; }
    .ipg-mobile-contact a { font-size:15px; }
}

/* ==============================================================
   v1.12.2 — Mobile menu logo, video button + modal, dates fix
   ============================================================== */

/* ---- 1) MOBILE MENU HEADER (logo + close button at the top) ---- */
.ipg-mobile-header {
    position:absolute;
    top:0; left:0; right:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 20px;
    border-bottom:1px solid rgba(255,255,255,.06);
    background:rgba(5,14,27,.6);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    z-index:5;
}
.ipg-mobile-logo {
    display:flex;
    align-items:center;
    text-decoration:none;
    transition:opacity .2s;
}
.ipg-mobile-logo:hover { opacity:.85; }
.ipg-mobile-logo img {
    height:34px;
    width:auto;
    display:block;
    /* Force white logo on dark menu background regardless of source PNG color */
    filter:brightness(0) invert(1);
}

/* Mobile menu — push content below the header bar */
.ipg-mobile { padding:80px 28px 40px; }

/* Reposition close button: now lives INSIDE .ipg-mobile-header on the right */
.ipg-mobile-close {
    position:static;        /* override the v1.12.1 fixed positioning */
    top:auto; right:auto;
    width:42px; height:42px;
    border-radius:10px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:background .2s, border-color .2s, color .2s, transform .2s;
    padding:0;
    flex-shrink:0;
}
.ipg-mobile-close:hover {
    background:var(--cyan, #06B6D4);
    border-color:var(--cyan, #06B6D4);
    color:#0A1F35;
    transform:rotate(90deg);
}
.ipg-mobile-close:focus-visible { outline:2px solid var(--cyan, #06B6D4); outline-offset:2px; }
.ipg-mobile-close svg { display:block; }

/* Cancel the v1.12.1 ".ipg-mobile.is-open ~ .ipg-mobile-close" selector — close button is now inside */
.ipg-mobile.is-open ~ .ipg-mobile-close { display:none !important; }

@media (max-width:640px) {
    .ipg-mobile { padding:74px 20px 32px; }
    .ipg-mobile-header { padding:12px 16px; }
    .ipg-mobile-logo img { height:30px; }
    .ipg-mobile-close { width:40px; height:40px; }
}

/* ---- 2) WJ HERO DATE — fix wrapping of "· N dni" ---- */
.wj-hero-date { flex-wrap:wrap; row-gap:6px; }
.wj-hero-date em { white-space:nowrap; }
.wj-hero-date .sep { white-space:nowrap; }

@media (max-width:640px) {
    .wj-hero-date {
        font-size:15px;
        padding:12px 16px;
        gap:8px;
        border-radius:10px;
    }
    .wj-hero-date em { font-size:13px; }
    .wj-hero-date svg { width:16px; height:16px; }
}

/* Pills (lokalizacja, dni, typ) — fix tight mobile wrapping */
@media (max-width:640px) {
    .wj-hero-pills { gap:6px; margin-bottom:24px; }
    .wj-pill { padding:8px 12px; font-size:12px; gap:6px; }
    .wj-pill svg { width:14px; height:14px; }
}

/* Related card dates — keep on one line where possible */
.wj-related-dates { white-space:normal; }
@media (max-width:640px) {
    .wj-related-dates { font-size:13px; }
}

/* ---- 3) VIDEO BUTTON IN HERO ---- */
.wj-btn-video {
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    font-family:'Manrope', sans-serif;
    font-weight:700;
    font-size:15px;
    padding:16px 26px 16px 18px;
    border-radius:10px;
    cursor:pointer;
    transition:all .25s;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    text-decoration:none;
    letter-spacing:-.005em;
}
.wj-btn-video:hover {
    background:rgba(6,182,212,.12);
    border-color:var(--cyan, #06B6D4);
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 12px 32px rgba(6,182,212,.18);
}
.wj-btn-video-play {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:var(--cyan, #06B6D4);
    color:#0A1F35;
    flex-shrink:0;
    transition:transform .25s, background .25s;
    box-shadow:0 4px 14px rgba(6,182,212,.35);
}
.wj-btn-video:hover .wj-btn-video-play {
    background:var(--cyan-bright, #00E5FF);
    transform:scale(1.08);
}
.wj-btn-video-play svg { margin-left:2px; } /* optical centering for play triangle */

@media (max-width:640px) {
    .wj-btn-video {
        width:100%;
        justify-content:center;
        padding:14px 20px;
        font-size:14px;
    }
}

/* ---- 4) VIDEO MODAL (lightbox) ---- */
.wj-video-modal {
    position:fixed;
    inset:0;
    background:rgba(5,14,27,.92);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
    animation:wjVideoFadeIn .25s ease-out;
}
.wj-video-modal.is-open { display:flex; }
@keyframes wjVideoFadeIn { from { opacity:0; } to { opacity:1; } }

.wj-video-modal-inner {
    width:100%;
    max-width:1100px;
    aspect-ratio:16/9;
    background:#000;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 30px 100px rgba(0,0,0,.6);
    position:relative;
    animation:wjVideoZoomIn .35s cubic-bezier(.22,1,.36,1);
}
@keyframes wjVideoZoomIn { from { transform:scale(.94); opacity:0; } to { transform:scale(1); opacity:1; } }

.wj-video-frame { position:absolute; inset:0; }
.wj-video-frame iframe {
    width:100%;
    height:100%;
    border:0;
    display:block;
}

.wj-video-close {
    position:absolute;
    top:24px; right:24px;
    width:48px; height:48px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:10000;
    transition:all .25s;
    padding:0;
}
.wj-video-close:hover {
    background:var(--cyan, #06B6D4);
    border-color:var(--cyan, #06B6D4);
    color:#0A1F35;
    transform:rotate(90deg);
}
.wj-video-close svg { display:block; }

@media (max-width:640px) {
    .wj-video-modal { padding:12px; }
    .wj-video-modal-inner { border-radius:8px; }
    .wj-video-close {
        top:14px; right:14px;
        width:42px; height:42px;
    }
}

/* ==============================================================
   v1.12.3 — Color/layout patches
   1) Video button → orange (was cyan)
   2) cs-block padding fix (Co obejmuje cena, Wymagania, Program — they didn't have inner padding)
   3) wj-res-row layout — value below label (no awkward right-align wrap)
   4) Featured calendar card — full-height image left, all info incl. footer in right column
   ============================================================== */

/* Theme orange tokens (reused below) */
:root {
    --ipg-orange: #FF7A2D;
    --ipg-orange-bright: #FF9656;
    --ipg-orange-dark: #E5651A;
    --ipg-orange-shadow: rgba(255,122,45,.35);
    --ipg-orange-shadow-soft: rgba(255,122,45,.18);
}

/* ---- 1) VIDEO BUTTON — orange palette ---- */
.wj-btn-video {
    background:rgba(255,122,45,.08);
    border-color:rgba(255,122,45,.35);
    color:#fff;
}
.wj-btn-video:hover {
    background:rgba(255,122,45,.16);
    border-color:var(--ipg-orange);
    color:#fff;
    box-shadow:0 12px 32px var(--ipg-orange-shadow-soft);
}
.wj-btn-video-play {
    background:var(--ipg-orange);
    color:#fff;
    box-shadow:0 4px 14px var(--ipg-orange-shadow);
}
.wj-btn-video:hover .wj-btn-video-play {
    background:var(--ipg-orange-bright);
}

/* Modal close keeps cyan accent (consistent with other modals) — leave it */

/* ---- 2) cs-block PADDING FIX (single-wyjazd sections that don't use cs-block-inner) ---- */
/* Sekcje "O wyprawie", "Co obejmuje cena", "Wymagania", "Program dzień po dniu" w single-wyjazd.php
   nie używają wrappera .cs-block-inner — przez to ich content i header siedział na samej krawędzi.
   Używamy :has() z fallbackiem: bezpośrednie children dostają padding. */

.cs-block:not(:has(> .cs-block-inner)) {
    padding:32px 36px;
}

/* Header inside such cs-block — inner spacing */
.cs-block:not(:has(> .cs-block-inner)) > .cs-block-head {
    margin-bottom:24px;
    padding-bottom:18px;
}

/* Includes grid / itinerary / content always sit cleanly inside */
.cs-block:not(:has(> .cs-block-inner)) > .wj-includes,
.cs-block:not(:has(> .cs-block-inner)) > .wj-itin,
.cs-block:not(:has(> .cs-block-inner)) > .cs-block-content {
    margin:0;
}

/* :has() fallback — older browsers (~6% globally) get padding directly on the elements */
@supports not selector(:has(*)) {
    .cs-block { padding:32px 36px; }
    .cs-block > .cs-block-inner { padding:0; margin:-32px -36px; padding:32px 36px; }
}

@media (max-width:768px) {
    .cs-block:not(:has(> .cs-block-inner)) { padding:24px 22px; }
    .cs-block-head h2 { font-size:18px; }
}
@media (max-width:480px) {
    .cs-block:not(:has(> .cs-block-inner)) { padding:20px 18px; }
    .cs-block-head { gap:10px; }
    .cs-block-head h2 { font-size:17px; }
}

/* ---- 3) RESERVATION CARD ROWS — column layout (label above value, left-aligned) ---- */
/* Naprawa "Piloci samodzielni — skrzydła klasy B,\nC" które wpadało na 2 linie z C samotnie. */
.wj-res-row {
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    padding:14px 0;
}
.wj-res-row-label {
    padding-top:0;
    min-width:0;
}
.wj-res-row-value {
    text-align:left;
    width:100%;
    word-break:normal;
    overflow-wrap:break-word;
}

/* ---- 4) FEATURED CALENDAR CARD — full-height left image, full info in right column ---- */
@media (min-width:1101px) {
    .hp-cal-card.featured {
        grid-template-columns:1fr 1fr;        /* równe kolumny zamiast 1.2:1 */
        grid-template-rows:1fr auto;
        min-height:420px;
    }
    .hp-cal-card.featured .hp-cal-hero {
        grid-column:1;
        grid-row:1 / span 2;                  /* pełna wysokość — przez oba wiersze */
        aspect-ratio:auto;
        height:100%;
        min-height:420px;
    }
    .hp-cal-card.featured .hp-cal-body {
        grid-column:2;
        grid-row:1;
        padding:36px 36px 24px;
        gap:14px;
        justify-content:center;
    }
    .hp-cal-card.featured .hp-cal-foot {
        grid-column:2;                         /* TYLKO prawa kolumna (było 1 / -1) */
        grid-row:2;
        padding:18px 36px 24px;
        border-top:1px solid rgba(0,0,0,.06);
    }
}

/* ==============================================================
   v1.12.4 — White header logo, orange accents on wyjazd, service pages
   ============================================================== */

/* ---- 1) HEADER LOGO — force white on dark nav ---- */
.ipg-logo img { filter:brightness(0) invert(1); }

/* ---- 2) WYJAZD ORANGE ACCENTS (główne CTA + sticky card) ---- */

/* Sticky reservation card — pomarańczowy akcent na górze */
.wj-res-card { position:relative; }
.wj-res-card::before {
    content:'';
    position:absolute; top:0; left:0; right:0;
    height:4px;
    background:linear-gradient(90deg, var(--ipg-orange) 0%, var(--ipg-orange-bright) 100%);
    border-radius:14px 14px 0 0;
}

/* Główne CTA "Zarezerwuj miejsce" w sticky card → pomarańczowy */
.wj-res-cta {
    background:var(--ipg-orange) !important;
    color:#fff !important;
    box-shadow:0 8px 22px var(--ipg-orange-shadow);
}
.wj-res-cta:hover {
    background:var(--ipg-orange-bright) !important;
    color:#fff !important;
    box-shadow:0 12px 28px var(--ipg-orange-shadow);
}

/* CTA "Zarezerwuj miejsce" w hero buttons → też pomarańczowy (spójność) */
.wj-hero-btns .btn-primary {
    background:var(--ipg-orange);
    color:#fff;
    box-shadow:0 12px 32px var(--ipg-orange-shadow);
}
.wj-hero-btns .btn-primary:hover {
    background:var(--ipg-orange-bright);
    color:#fff;
}

/* Strip ikony (Czas trwania / Destynacja / Termin / Typ) — pomarańczowy akcent */
.wj-strip-icon {
    background:rgba(255,122,45,.1);
    border-color:rgba(255,122,45,.25);
    color:var(--ipg-orange);
}

/* Bottom CTA section (wj-cta) — ramka i CTA pomarańczowe */
.wj-cta .btn-primary {
    background:var(--ipg-orange);
    color:#fff;
    box-shadow:0 12px 32px var(--ipg-orange-shadow);
}
.wj-cta .btn-primary:hover {
    background:var(--ipg-orange-bright);
    color:#fff;
}

/* ---- 3) SERVICE DETAIL PAGE (sd- prefix) ---- */

.sd-hero {
    position:relative;
    padding:calc(var(--header-h, 154px) + 40px) 0 60px;
    background:linear-gradient(135deg, var(--navy, #0A1F35) 0%, var(--navy-2, #132D47) 50%, #1a3a5e 100%);
    overflow:hidden;
    color:#fff;
}
.sd-hero::before {
    content:''; position:absolute; inset:0;
    background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:60px 60px;
    pointer-events:none;
}
.sd-hero::after {
    content:''; position:absolute; top:-30%; right:-10%;
    width:600px; height:600px;
    background:radial-gradient(circle, rgba(255,122,45,.12) 0%, transparent 70%);
    pointer-events:none;
}
.sd-hero .container { position:relative; z-index:2; }
.sd-hero-tag {
    display:inline-block;
    font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase;
    color:var(--ipg-orange);
    background:rgba(255,122,45,.1);
    border:1px solid rgba(255,122,45,.25);
    padding:8px 16px; border-radius:6px;
    margin-bottom:20px;
}
.sd-hero h1 {
    font-family:'Manrope', sans-serif;
    font-size:clamp(34px, 5vw, 56px);
    font-weight:800; line-height:1.05; letter-spacing:-.02em;
    color:#fff; margin:0 0 20px;
    max-width:820px;
}
.sd-hero h1 em { color:var(--ipg-orange); font-style:normal; }
.sd-hero-lead {
    font-size:18px; line-height:1.6;
    color:rgba(255,255,255,.78);
    max-width:680px;
    margin:0 0 32px;
}
.sd-hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.sd-hero-actions .btn-primary,
.sd-hero-actions .btn-ghost {
    padding:16px 28px; font-size:15px; font-weight:700;
    border-radius:10px; display:inline-flex; align-items:center; gap:10px;
    text-decoration:none;
}
.sd-hero-actions .btn-primary {
    background:var(--ipg-orange); color:#fff;
    box-shadow:0 12px 32px var(--ipg-orange-shadow);
    transition:all .25s;
}
.sd-hero-actions .btn-primary:hover {
    background:var(--ipg-orange-bright); transform:translateY(-2px);
}
.sd-hero-actions .btn-ghost {
    color:#fff; border:1px solid rgba(255,255,255,.2);
    background:rgba(255,255,255,.04);
    transition:all .25s;
}
.sd-hero-actions .btn-ghost:hover {
    border-color:#fff; background:rgba(255,255,255,.1);
}

/* SERVICES — 4 cards grid */
.sd-services {
    background:var(--bg-alt, #F5F7FA);
    padding:72px 0;
}
.sd-services-grid {
    display:grid; grid-template-columns:repeat(2, 1fr); gap:20px;
    margin-top:40px;
}
.sd-service-card {
    background:#fff;
    border:1px solid rgba(0,0,0,.05);
    border-radius:14px;
    padding:28px 30px;
    transition:all .25s;
}
.sd-service-card:hover {
    border-color:rgba(255,122,45,.4);
    transform:translateY(-3px);
    box-shadow:0 18px 40px rgba(10,31,53,.06);
}
.sd-service-icon {
    width:48px; height:48px; border-radius:10px;
    background:rgba(255,122,45,.1);
    border:1px solid rgba(255,122,45,.2);
    display:flex; align-items:center; justify-content:center;
    color:var(--ipg-orange);
    margin-bottom:16px;
}
.sd-service-card h3 {
    font-family:'Manrope', sans-serif;
    font-size:20px; font-weight:800; color:var(--navy, #0A1F35);
    margin:0 0 10px; letter-spacing:-.01em;
}
.sd-service-card p {
    font-size:14px; line-height:1.6; color:#475569; margin:0 0 14px;
}
.sd-service-card ul {
    list-style:none; padding:0; margin:0;
    border-top:1px solid rgba(0,0,0,.05);
    padding-top:14px;
}
.sd-service-card li {
    font-size:13px; color:#334155;
    padding:6px 0 6px 22px;
    position:relative;
}
.sd-service-card li::before {
    content:'✓';
    position:absolute; left:0; top:6px;
    color:var(--ipg-orange); font-weight:800;
}

/* PROCESS / FAQ */
.sd-info {
    padding:72px 0;
    background:#fff;
}
.sd-info-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start;
    margin-top:40px;
}
.sd-info-block h3 {
    font-family:'Manrope', sans-serif;
    font-size:22px; font-weight:800; color:var(--navy, #0A1F35);
    margin:0 0 18px;
}
.sd-info-list { list-style:none; padding:0; margin:0; counter-reset:sdstep; }
.sd-info-list li {
    counter-increment:sdstep;
    padding:16px 0 16px 56px;
    border-bottom:1px solid rgba(0,0,0,.05);
    position:relative;
    font-size:15px; line-height:1.55;
    color:#334155;
}
.sd-info-list li::before {
    content:counter(sdstep);
    position:absolute; left:0; top:14px;
    width:36px; height:36px; border-radius:50%;
    background:var(--ipg-orange); color:#fff;
    font-family:'Manrope', sans-serif;
    font-weight:800; font-size:14px;
    display:flex; align-items:center; justify-content:center;
}
.sd-info-list li strong { color:var(--navy, #0A1F35); display:block; margin-bottom:2px; }

.sd-faq { display:flex; flex-direction:column; gap:8px; }
.sd-faq details {
    background:var(--bg-alt, #F5F7FA);
    border:1px solid rgba(0,0,0,.04);
    border-radius:10px;
    padding:0;
    transition:border-color .2s;
}
.sd-faq details[open] { border-color:rgba(255,122,45,.3); }
.sd-faq summary {
    padding:16px 20px;
    cursor:pointer;
    font-weight:700; color:var(--navy, #0A1F35);
    font-size:15px;
    list-style:none;
    display:flex; justify-content:space-between; align-items:center;
}
.sd-faq summary::-webkit-details-marker { display:none; }
.sd-faq summary::after {
    content:'+'; font-size:22px; color:var(--ipg-orange);
    font-weight:300; line-height:1;
    transition:transform .2s;
}
.sd-faq details[open] summary::after { transform:rotate(45deg); }
.sd-faq-content {
    padding:0 20px 18px;
    font-size:14px; line-height:1.7; color:#475569;
}

/* CTA strip */
.sd-cta {
    background:linear-gradient(135deg, var(--navy, #0A1F35) 0%, var(--navy-2, #132D47) 100%);
    padding:60px 0;
    color:#fff;
    position:relative; overflow:hidden;
}
.sd-cta::after {
    content:''; position:absolute; top:-30%; right:-5%;
    width:500px; height:500px;
    background:radial-gradient(circle, rgba(255,122,45,.15) 0%, transparent 70%);
}
.sd-cta .container {
    position:relative; z-index:2;
    display:flex; justify-content:space-between; align-items:center;
    gap:32px; flex-wrap:wrap;
}
.sd-cta-text h2 {
    font-family:'Manrope', sans-serif;
    font-size:clamp(26px, 3vw, 38px); font-weight:800;
    color:#fff; margin:0; line-height:1.1; letter-spacing:-.01em;
}
.sd-cta-text h2 em { color:var(--ipg-orange); font-style:normal; }
.sd-cta-text p {
    font-size:15px; color:rgba(255,255,255,.65); margin:10px 0 0; max-width:540px;
}
.sd-cta-actions { display:flex; gap:12px; flex-direction:column; min-width:260px; }
.sd-cta-actions .btn-primary {
    background:var(--ipg-orange); color:#fff;
    padding:18px 28px; border-radius:10px; font-weight:700; font-size:15px;
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    text-decoration:none; transition:all .25s;
}
.sd-cta-actions .btn-primary:hover { background:var(--ipg-orange-bright); transform:translateY(-2px); }
.sd-cta-phone {
    color:rgba(255,255,255,.9); font-family:'Manrope', sans-serif; font-weight:700;
    font-size:20px; padding:14px 0;
    display:flex; align-items:center; gap:10px;
    border-top:1px solid rgba(255,255,255,.1);
    text-decoration:none;
}
.sd-cta-phone:hover { color:var(--ipg-orange); }

@media (max-width:1024px) {
    .sd-services-grid { grid-template-columns:1fr; }
    .sd-info-grid { grid-template-columns:1fr; gap:48px; }
    .sd-cta .container { flex-direction:column; align-items:flex-start; }
    .sd-cta-actions { width:100%; min-width:0; }
}
@media (max-width:640px) {
    .sd-hero { padding:120px 0 48px; }
    .sd-services, .sd-info, .sd-cta { padding:48px 0; }
    .sd-service-card { padding:22px 22px; }
    .sd-info-list li { padding:14px 0 14px 50px; font-size:14px; }
    .sd-info-list li::before { width:32px; height:32px; font-size:13px; top:12px; }
    .sd-hero-actions { flex-direction:column; }
    .sd-hero-actions .btn-primary, .sd-hero-actions .btn-ghost { width:100%; justify-content:center; }
}
