
*,:before,:after{box-sizing:border-box}
:root{--navy:#092a4c;--navy2:#123f6a;--red:#ed3f36;--red2:#c92925;--yellow:#ffc928;--cream:#fffaf2;--sand:#f3e5ce;--white:#fff;--text:#13233d;--muted:#677386;--line:rgba(9,42,76,.1);--shadow:0 20px 60px rgba(9,42,76,.12);--radius:28px;--container:1200px}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--cream);line-height:1.6}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}
.skip-link{position:fixed;z-index:9999;left:12px;top:12px;padding:10px 14px;background:var(--yellow);color:var(--navy);border-radius:10px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.section-pad{padding:110px 0}.section-header{max-width:760px;margin-bottom:48px}.section-kicker{color:var(--red);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em}.section-kicker.light{color:var(--yellow)}.section-title{margin:.12em 0 0;color:var(--navy);font-size:clamp(2.35rem,5vw,4.75rem);line-height:.98;letter-spacing:-.055em}.section-lead{margin:20px 0 0;color:var(--muted);font-size:1.08rem;max-width:690px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 25px;border:1px solid transparent;border-radius:999px;font-weight:850;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease,color .22s ease}
.btn:hover{transform:translateY(-3px)}.btn:active{transform:translateY(-1px) scale(.99)}.btn span{transition:transform .2s ease}.btn:hover span{transform:translateX(4px)}
.btn-primary{color:#fff;background:var(--red);box-shadow:0 12px 30px rgba(237,63,54,.28)}.btn-primary:hover{background:var(--red2);box-shadow:0 18px 40px rgba(237,63,54,.34)}
.btn-secondary{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}.btn-secondary:hover{background:rgba(255,255,255,.16)}
.btn-outline{color:var(--navy);border-color:rgba(9,42,76,.18);background:transparent}.btn-outline:hover{background:var(--navy);color:#fff}
:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}

.site-header{position:fixed;z-index:1000;inset:0 0 auto;transition:background .25s ease,box-shadow .25s ease}.site-header.scrolled{background:rgba(6,31,57,.96);box-shadow:0 10px 30px rgba(0,0,0,.15);backdrop-filter:blur(10px)}
.navbar{min-height:86px;display:flex;align-items:center;gap:28px}.logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:950;letter-spacing:-.03em}.logo-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--yellow);color:var(--navy)}.logo-copy{line-height:1}.logo-copy small{display:block;margin-top:5px;color:var(--yellow);font-size:.62rem;letter-spacing:.19em}
.nav-links{display:flex;align-items:center;gap:24px;margin-left:auto}.nav-links>a:not(.btn){color:rgba(255,255,255,.92);font-size:.9rem;font-weight:750}.nav-links>a:not(.btn):hover{color:var(--yellow)}
.menu-toggle{display:none;margin-left:auto;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.08)}.menu-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:#fff;transition:.2s}

.hero{position:relative;isolation:isolate;min-height:100svh;display:flex;align-items:center;overflow:hidden;color:#fff;background:#061f39}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,45,.96),rgba(4,24,45,.78) 45%,rgba(4,24,45,.25) 78%,rgba(4,24,45,.14))}
.hero .container{position:relative;z-index:2}.hero-content{max-width:780px;padding:130px 0 80px}.eyebrow{color:var(--yellow);font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.hero h1{margin:.2em 0 0;font-size:clamp(3.2rem,7vw,6.7rem);line-height:.93;letter-spacing:-.065em}.hero h1 span{display:block;color:var(--yellow)}.hero-description{max-width:650px;margin:26px 0 0;color:rgba(255,255,255,.86);font-size:clamp(1.05rem,1.8vw,1.25rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.hero-benefits{display:flex;flex-wrap:wrap;gap:16px 28px;margin:38px 0 0;padding:0;list-style:none}.hero-benefits li{font-size:.9rem;font-weight:700;color:rgba(255,255,255,.88)}.hero-benefits li:before{content:"✓";display:inline-grid;place-items:center;width:25px;height:25px;margin-right:8px;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:.72rem}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.reveal-sequence>*{opacity:0;animation:fadeUp .75s cubic-bezier(.2,.7,.2,1) forwards}.reveal-sequence>*:nth-child(1){animation-delay:.12s}.reveal-sequence>*:nth-child(2){animation-delay:.24s}.reveal-sequence>*:nth-child(3){animation-delay:.38s}.reveal-sequence>*:nth-child(4){animation-delay:.52s}.reveal-sequence>*:nth-child(5){animation-delay:.66s}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}

.dance-section{background:var(--cream)}.dance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.dance-card{position:relative;isolation:isolate;min-height:430px;display:flex;align-items:flex-end;padding:32px;overflow:hidden;border-radius:34px;color:#fff;box-shadow:var(--shadow)}.dance-card:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(to top,rgba(4,25,47,.95),rgba(4,25,47,.55) 45%,rgba(4,25,47,.08)),var(--img);background-size:cover;background-position:center;transition:transform .55s ease}.dance-card:hover:before{transform:scale(1.055)}.card-kicker{color:var(--yellow);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.dance-card h3{margin:.35em 0 0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1}.dance-card p{color:rgba(255,255,255,.78)}.text-link{font-weight:850}.text-link span{display:inline-block;transition:transform .2s}.text-link:hover span{transform:translateX(4px)}

.courses-section,.pricing-section{background:linear-gradient(180deg,#fffaf2,#f7ead5)}.courses-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.course-card,.pricing-card,.testimonial-card{padding:34px;border:1px solid var(--line);border-radius:30px;background:rgba(255,255,255,.9);box-shadow:0 18px 50px rgba(9,42,76,.08);transition:transform .26s ease,box-shadow .26s ease}.course-card:hover,.pricing-card:hover,.testimonial-card:hover{transform:translateY(-6px);box-shadow:0 28px 65px rgba(9,42,76,.13)}.featured-course{background:linear-gradient(145deg,var(--navy),var(--navy2));color:#fff}.featured-course h3,.featured-course .course-info strong{color:#fff}.featured-course p{color:rgba(255,255,255,.76)}.course-top{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.8rem}.featured-course .course-top{color:rgba(255,255,255,.65)}.pill{display:inline-flex;align-items:center;min-height:27px;padding:0 11px;border-radius:999px;background:var(--yellow);color:var(--navy);font-size:.65rem;font-weight:900;letter-spacing:.06em}.course-card h3,.pricing-card h3{margin:20px 0 8px;color:var(--navy);font-size:1.8rem;line-height:1.1}.course-info{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:24px 0}.course-info>div{padding:13px;border-radius:13px;background:rgba(9,42,76,.05)}.featured-course .course-info>div{background:rgba(255,255,255,.08)}.course-info small{display:block;color:var(--muted);font-size:.66rem;text-transform:uppercase}.featured-course .course-info small{color:rgba(255,255,255,.55)}.course-info strong{font-size:.8rem}.check-list{display:grid;gap:10px;padding:0;margin:0 0 28px;list-style:none}.check-list li:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:9px;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:.68rem;font-weight:900}

.about-section,.schedule-section,.testimonials-section,.faq-section,.contact-section{background:#fff}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,100px);align-items:center}.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:34px;box-shadow:0 25px 65px rgba(9,42,76,.17)}.about-copy p{color:var(--muted)}.about-lead{font-size:1.25rem!important;font-weight:750;color:var(--navy)!important}.signature{padding-left:18px;border-left:4px solid var(--yellow)}.signature strong,.signature span{display:block}.signature strong{color:var(--navy)}

.schedule-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.schedule-filter{min-height:42px;padding:0 17px;border:1px solid rgba(9,42,76,.14);border-radius:999px;background:#fff;font-weight:850;cursor:pointer}.schedule-filter:hover{border-color:var(--navy)}.schedule-filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}.schedule-grid{display:grid;gap:14px}.schedule-item{display:grid;grid-template-columns:180px 1fr auto;gap:22px;align-items:center;padding:22px 25px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(9,42,76,.05)}.schedule-item[hidden]{display:none}.schedule-time{font-weight:900;color:var(--navy)}.tag{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.62rem;font-weight:900;text-transform:uppercase}.salsa-tag{background:var(--red);color:#fff}.bachata-tag{background:var(--yellow);color:var(--navy)}.solo-tag{background:#9e55b8;color:#fff}.rueda-tag{background:var(--navy2);color:#fff}.schedule-class h3{margin:6px 0 0}.schedule-class p{margin:3px 0 0;color:var(--muted);font-size:.84rem}.schedule-cta{color:var(--red);font-weight:900}.empty-state{padding:20px;border-radius:18px;background:var(--cream);color:var(--muted)}

.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.pricing-card{display:flex;flex-direction:column}.pricing-featured{background:linear-gradient(145deg,var(--navy),var(--navy2));color:#fff;transform:translateY(-12px)}.pricing-featured:hover{transform:translateY(-18px)}.pricing-featured h3{color:#fff}.pricing-price{margin:25px 0;font-size:1.15rem;font-weight:950;color:var(--red)}.pricing-featured .pricing-price{color:var(--yellow)}.pricing-card .btn{margin-top:auto}

.testimonials-section{background:#fff}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.quote-mark{display:block;color:var(--yellow);font-size:4rem;line-height:.7}.testimonial-card p{color:var(--muted)}.testimonial-card strong{display:block;margin-top:20px;color:var(--navy)}

.gallery-section{background:var(--navy);color:#fff}.gallery-section .section-title{color:#fff}.gallery-section .section-lead{color:rgba(255,255,255,.7)}.gallery-section code{color:var(--yellow)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px}.gallery-item{margin:0;overflow:hidden;border-radius:22px;background:#123f6a}.gallery-wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.04)}

.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-list{display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.faq-item summary{cursor:pointer;list-style:none;padding:20px 22px;font-weight:900;color:var(--navy)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";float:right;color:var(--red);font-size:1.35rem}.faq-item[open] summary:after{content:"–"}.faq-item p{padding:0 22px 20px;margin:0;color:var(--muted)}

.final-cta{background:var(--cream)}.final-cta-box{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px;border-radius:32px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;box-shadow:0 30px 80px rgba(9,42,76,.22)}.final-cta-box h2{margin:5px 0 0;font-size:clamp(2rem,4vw,3.6rem);line-height:1}.final-cta-box p{margin:14px 0 0;color:rgba(255,255,255,.72)}

.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:25px}.contact-info{padding:38px;border-radius:30px;background:linear-gradient(145deg,var(--navy),var(--navy2));color:#fff;box-shadow:var(--shadow)}.contact-small-label{color:var(--yellow);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.contact-info h3{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.05}.contact-info>p{color:rgba(255,255,255,.72)}.contact-details{display:grid;gap:11px;margin-top:25px}.contact-detail{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.05)}a.contact-detail:hover{background:rgba(255,255,255,.09)}.contact-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--yellow);color:var(--navy);font-weight:900}.contact-detail small,.contact-detail strong{display:block}.contact-detail small{color:rgba(255,255,255,.5);font-size:.64rem;text-transform:uppercase}.socials{display:flex;gap:9px;margin-top:24px}.socials a{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:50%;font-size:.72rem;font-weight:900}.socials a:hover{background:var(--yellow);color:var(--navy)}
.contact-form-wrap{padding:38px;border:1px solid var(--line);border-radius:30px;background:var(--cream);box-shadow:var(--shadow)}.contact-form-wrap h3{margin-top:0;color:var(--navy);font-size:1.8rem}.contact-form{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group{display:grid;gap:7px}.form-group label{font-size:.8rem;font-weight:850;color:var(--navy)}.form-group label span{color:var(--muted);font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 14px;border:1px solid rgba(9,42,76,.15);border-radius:13px;background:#fff;color:var(--navy);outline:0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(237,63,54,.08)}.form-checkbox{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:.77rem}.form-checkbox input{margin-top:4px;accent-color:var(--red)}.contact-submit{width:100%}.contact-form-note,.form-status{margin:0;text-align:center;color:var(--muted);font-size:.76rem}.form-status.error{color:#a1241e}.form-status.success{color:#267342}

.site-footer{padding:60px 0 25px;background:#061f39;color:rgba(255,255,255,.7)}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:35px}.footer-logo{width:max-content}.footer-grid strong{display:block;margin-bottom:12px;color:#fff}.footer-nav,.footer-contact,.footer-legal{display:grid;align-content:start;gap:8px}.footer-grid a:hover{color:var(--yellow)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem}

.mobile-sticky-cta{display:none}

@media(max-width:980px){
  .nav-links{position:fixed;inset:0 0 0 auto;width:min(82vw,380px);padding:105px 28px 35px;display:flex;flex-direction:column;align-items:stretch;gap:10px;background:#061f39;transform:translateX(105%);transition:transform .28s ease;box-shadow:-20px 0 50px rgba(0,0,0,.2)}
  .nav-links.open{transform:none}.nav-links>a:not(.btn){padding:10px 0;font-size:1.05rem}.menu-toggle{display:block;z-index:1001}.menu-toggle.active span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .dance-grid,.courses-grid,.pricing-grid,.testimonial-grid,.about-grid,.faq-layout,.contact-grid{grid-template-columns:1fr}
  .pricing-featured,.pricing-featured:hover{transform:none}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .container{width:min(calc(100% - 28px),var(--container))}.section-pad{padding:76px 0}.navbar{min-height:74px}.logo-mark{width:36px;height:36px}.hero{align-items:flex-end;background-position:62% center}.hero-overlay{background:linear-gradient(to top,rgba(4,24,45,.98),rgba(4,24,45,.88) 48%,rgba(4,24,45,.35))}.hero-content{padding:125px 0 100px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-benefits{display:grid;grid-template-columns:1fr 1fr}.dance-grid{grid-template-columns:1fr}.dance-card{min-height:390px;padding:26px}.course-info,.form-row{grid-template-columns:1fr}.schedule-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;scrollbar-width:none}.schedule-filters::-webkit-scrollbar{display:none}.schedule-filter{flex:0 0 auto}.schedule-item{grid-template-columns:1fr;gap:12px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-wide{grid-column:span 1}.final-cta-box{flex-direction:column;align-items:flex-start;padding:30px}.contact-info,.contact-form-wrap{padding:26px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.mobile-sticky-cta{display:flex;position:fixed;z-index:900;left:12px;right:12px;bottom:12px;min-height:52px;align-items:center;justify-content:center;gap:8px;border-radius:999px;background:var(--red);color:#fff;font-weight:900;box-shadow:0 16px 40px rgba(237,63,54,.38)}body{padding-bottom:76px}
}
@media(max-width:430px){.hero-benefits{grid-template-columns:1fr}.section-title{font-size:2.35rem}.header-cta{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-sequence>*{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}*{scroll-behavior:auto!important}}


/* =========================================================
   FORMULARZ ZAPISU — wersja 1.1
========================================================== */
.contact-form-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:28px}
.contact-form-head h3{margin:0 0 7px}.contact-form-head p{margin:0;color:var(--muted);font-size:.9rem}
.contact-form-step{display:grid;place-items:center;min-width:58px;height:34px;padding:0 10px;border-radius:999px;background:var(--yellow);color:var(--navy);font-size:.67rem;font-weight:950;letter-spacing:.08em}
.form-section{display:grid;gap:16px;margin:0;padding:0 0 22px;border:0;border-bottom:1px solid var(--line)}
.form-section:last-of-type{padding-bottom:4px;border-bottom:0}
.form-section legend{margin-bottom:12px;padding:0;color:var(--navy);font-weight:950;font-size:.92rem}
.contact-preference{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.contact-preference>span{width:100%;font-size:.8rem;font-weight:850;color:var(--navy)}
.choice-chip{position:relative;cursor:pointer}
.choice-chip input{position:absolute;opacity:0;pointer-events:none}
.choice-chip span{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border:1px solid rgba(9,42,76,.15);border-radius:999px;background:#fff;color:var(--navy);font-size:.8rem;font-weight:850;transition:.2s}
.choice-chip input:checked+span{border-color:var(--navy);background:var(--navy);color:#fff}
.choice-chip input:focus-visible+span{outline:3px solid var(--yellow);outline-offset:3px}
.form-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;color:var(--muted);font-size:.72rem;font-weight:700}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form-wrap.prefilled{animation:formPulse .7s ease}
@keyframes formPulse{0%{box-shadow:0 22px 60px rgba(9,42,76,.09)}45%{box-shadow:0 22px 70px rgba(255,201,40,.48)}100%{box-shadow:0 22px 60px rgba(9,42,76,.09)}}
@media(max-width:520px){.contact-form-head{flex-direction:column}.contact-form-step{min-width:0}.form-trust{justify-content:flex-start}}


.dance-card{min-height:360px;background:none;isolation:isolate}
.dance-card::before{content:"";position:absolute;z-index:-2;inset:0;transition:transform .5s ease;background:linear-gradient(135deg,var(--card-a),var(--card-b))}
.dance-card::after{content:"";position:absolute;z-index:-1;inset:0;background:
  radial-gradient(circle at 85% 15%,rgba(255,201,40,.38) 0 7%,transparent 7.5%),
  radial-gradient(circle at 75% 28%,rgba(255,255,255,.08) 0 14%,transparent 14.5%),
  linear-gradient(to top,rgba(4,25,47,.72),rgba(4,25,47,.08));}
.dance-card:hover::before{transform:scale(1.03)}
.salsa{--card-a:#a51f25;--card-b:#092a4c}
.bachata{--card-a:#d9752a;--card-b:#5d1834}
.rueda{--card-a:#0a5d68;--card-b:#092a4c}
.solo{--card-a:#8a3f7f;--card-b:#1d2d50}
.kizomba{--card-a:#6b2838;--card-b:#211f35}
.la{--card-a:#b04a2b;--card-b:#173b55}

.courses-grid-4{grid-template-columns:repeat(2,1fr)}
.section-center{display:flex;justify-content:center;margin-top:34px}

.schedule-time strong,.schedule-time span{display:block}
.schedule-time span{margin-top:3px;color:var(--muted);font-size:.82rem}
.schedule-status{display:inline-flex;margin-top:8px;padding:4px 9px;border-radius:999px;background:rgba(53,183,101,.1);color:#267342;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.kizomba-tag{background:#6b2838;color:#fff}
.inne-tag{background:#5b6573;color:#fff}

.pricing-grid-five{grid-template-columns:repeat(5,1fr)}
.pricing-grid-five .pricing-card{padding:27px}
.pricing-grid-five .pricing-card h3{font-size:1.35rem}
.pricing-grid-five .pricing-price{font-size:1.8rem}
.pricing-grid-five .pricing-card p{color:var(--muted);font-size:.88rem}
.private-pricing{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:22px;align-items:center;margin-top:34px;padding:30px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 45px rgba(9,42,76,.07)}
.private-pricing h3{margin:4px 0 5px;color:var(--navy)}
.private-pricing p{margin:0;color:var(--muted);font-size:.84rem}
.private-price{display:grid;gap:2px;padding:18px;border-radius:18px;background:var(--cream);text-align:center}
.private-price span{font-size:.75rem;color:var(--muted);font-weight:800}
.private-price strong{font-size:1.8rem;color:var(--red)}
.private-price del{color:var(--muted);font-size:.85rem}

.stars{color:#f7b500;letter-spacing:.08em;font-size:1rem;margin-bottom:10px}
.review-source{display:block;margin-top:2px;color:var(--muted);font-size:.78rem}

.gallery-grid-three{grid-template-columns:2fr 1fr 1fr;grid-auto-rows:360px}
.gallery-grid-three .gallery-wide{grid-column:span 1}
.gallery-grid-three .gallery-item img{object-position:center}
.address-note{display:inline-block;margin-top:3px;color:rgba(255,255,255,.6);font-size:.7rem;font-weight:600}

@media(max-width:1150px){
  .pricing-grid-five{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){
  .hero::after{width:100%;opacity:.52;background-position:75% center}
  .hero::before{background:linear-gradient(to right,rgba(6,31,57,.96),rgba(6,31,57,.7))}
  .courses-grid-4{grid-template-columns:1fr}
  .pricing-grid-five{grid-template-columns:1fr 1fr}
  .private-pricing{grid-template-columns:1fr 1fr}
  .private-pricing>div:first-child{grid-column:1/-1}
  .gallery-grid-three{grid-template-columns:1fr 1fr;grid-auto-rows:300px}
  .gallery-grid-three .gallery-item:first-child{grid-column:1/-1}
}
@media(max-width:680px){
  .hero::after{opacity:.34;background-position:70% center}
  .pricing-grid-five,.private-pricing,.gallery-grid-three{grid-template-columns:1fr}
  .private-pricing>div:first-child,.gallery-grid-three .gallery-item:first-child{grid-column:auto}
  .gallery-grid-three{grid-auto-rows:280px}
}


/* =========================================================
   v1.4 RELEASE CANDIDATE — dostępność / wydajność
========================================================== */
.menu-backdrop{
  position:fixed;
  z-index:999;
  inset:0;
  background:rgba(2,13,25,.58);
  backdrop-filter:blur(2px);
}
.menu-backdrop[hidden]{display:none}
.form-checkbox a{
  color:var(--navy);
  font-weight:850;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.contact-info .address-note{color:rgba(255,255,255,.62)}
.btn:disabled{cursor:wait;opacity:.72;transform:none}
img{height:auto}
.gallery-item img{content-visibility:auto}

/* Dokument informacyjny */
.legal-page{background:var(--cream)}
.legal-header{background:#061f39}
.legal-nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.legal-main{padding:72px 0 100px}
.legal-content{max-width:880px}
.legal-content h1{margin:.15em 0 .35em;color:var(--navy);font-size:clamp(2.6rem,6vw,5rem);line-height:1;letter-spacing:-.05em}
.legal-content h2{margin:2em 0 .45em;color:var(--navy);font-size:1.35rem}
.legal-content p{color:var(--muted)}
.legal-content a:not(.btn){color:var(--red);text-decoration:underline;text-underline-offset:3px}
.legal-lead{font-size:1.15rem}
.legal-back{margin-top:42px}

/* =========================================================
   v1.4.1 — poprawki zaakceptowane przez użytkownika
========================================================== */

/* Wyróżniona karta kursu ma konsekwentnie jasną typografię. */
.featured-course,
.featured-course h3,
.featured-course p,
.featured-course .course-top,
.featured-course .course-top > span:not(.pill),
.featured-course .course-info strong {
    color: #ffffff !important;
}

.featured-course .course-info small {
    color: rgba(255, 255, 255, 0.68) !important;
}

.featured-course .course-info > div {
    background: rgba(255, 255, 255, 0.10) !important;
}

/* Stary portret jest mniejszym źródłem, więc nie powiększamy go agresywnie. */
.about-photo img {
    object-position: center top;
}


/* v1.4.2 — finalna korekta kontrastu karty wyróżnionej */
.courses-section .course-card.featured-course,
.courses-section .course-card.featured-course h3,
.courses-section .course-card.featured-course p,
.courses-section .course-card.featured-course strong,
.courses-section .course-card.featured-course .course-top,
.courses-section .course-card.featured-course .course-top > span:not(.pill) {
  color: #fff !important;
}

.courses-section .course-card.featured-course small {
  color: rgba(255,255,255,.72) !important;
}


/* v1.4.3 — sekcja "O mnie": dokładnie zaakceptowane zdjęcie, bez kadrowania */
.about-photo{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
}

.about-photo img{
    width:100%;
    height:auto;
    max-height:760px;
    aspect-ratio:auto;
    object-fit:contain !important;
    object-position:center center !important;
}


/* =========================================================
   v1.4.5 — Grafik: przełącznik i kompaktowy plan tygodnia
========================================================== */
.schedule-viewbar{
  display:flex;
  justify-content:flex-end;
  margin:-8px 0 18px;
}

.schedule-viewtoggle{
  display:inline-flex;
  gap:5px;
  padding:5px;
  border:1px solid rgba(9,42,76,.10);
  border-radius:999px;
  background:#fffaf2;
}

.schedule-viewtoggle-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  padding:0 17px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--navy);
  font-size:.82rem;
  font-weight:900;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}

.schedule-viewtoggle-btn:hover{
  transform:translateY(-1px);
}

.schedule-viewtoggle-btn.active{
  background:var(--navy);
  color:#fff;
  box-shadow:0 7px 18px rgba(9,42,76,.14);
}

.schedule-viewtoggle-btn:focus-visible,
.schedule-mobile-tab:focus-visible{
  outline:3px solid var(--yellow);
  outline-offset:3px;
}

.schedule-cards-view[hidden],
.schedule-week-view[hidden]{
  display:none !important;
}

/* Desktop: tygodniowy planer. Każdy dzień to osobna kolumna,
   a zajęcia układają się chronologicznie bez pustych komórek. */
.schedule-week-desktop{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}

.schedule-week-day{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(9,42,76,.09);
  border-radius:19px;
  background:#fff;
  box-shadow:0 12px 32px rgba(9,42,76,.055);
}

.schedule-week-day > header{
  padding:13px 10px;
  background:var(--navy);
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  text-align:center;
}

.schedule-week-day-list{
  display:grid;
  gap:8px;
  padding:9px;
}

.schedule-week-lesson{
  display:block;
  min-width:0;
  padding:10px;
  border:1px solid rgba(9,42,76,.07);
  border-left:4px solid var(--navy);
  border-radius:13px;
  background:#fffaf2;
  color:var(--navy);
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.schedule-week-lesson:hover{
  transform:translateY(-2px);
  background:#fff;
  box-shadow:0 9px 22px rgba(9,42,76,.09);
}

.schedule-week-time{
  margin-bottom:6px;
  color:var(--red);
  font-size:.72rem;
  font-weight:950;
  line-height:1.1;
}

.schedule-week-info strong,
.schedule-week-info span,
.schedule-week-info em{
  display:block;
}

.schedule-week-info strong{
  overflow-wrap:anywhere;
  font-size:.76rem;
  line-height:1.2;
}

.schedule-week-info span{
  margin-top:4px;
  color:var(--muted);
  font-size:.65rem;
  line-height:1.25;
}

.schedule-week-info em{
  width:max-content;
  max-width:100%;
  margin-top:6px;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(53,183,101,.10);
  color:#267342;
  font-size:.58rem;
  font-style:normal;
  font-weight:900;
  text-transform:uppercase;
}

.schedule-week-lesson[data-style="salsa"]{border-left-color:var(--red)}
.schedule-week-lesson[data-style="bachata"]{border-left-color:#d5a500}
.schedule-week-lesson[data-style="solo"]{border-left-color:#9e55b8}
.schedule-week-lesson[data-style="rueda"]{border-left-color:var(--navy-light)}
.schedule-week-lesson[data-style="kizomba"]{border-left-color:#6b2838}
.schedule-week-lesson[data-style="inne"]{border-left-color:#5b6573}

.schedule-week-no-lessons{
  padding:16px 8px;
  color:#a4abb4;
  font-size:.72rem;
  text-align:center;
}

.schedule-week-mobile{
  display:none;
}

.schedule-mobile-tabs{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:2px 0 8px;
  scrollbar-width:none;
}

.schedule-mobile-tabs::-webkit-scrollbar{
  display:none;
}

.schedule-mobile-tab{
  flex:0 0 auto;
  min-height:40px;
  padding:0 14px;
  border:1px solid rgba(9,42,76,.13);
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  font-size:.76rem;
  font-weight:850;
  cursor:pointer;
}

.schedule-mobile-tab[aria-selected="true"]{
  border-color:var(--navy);
  background:var(--navy);
  color:#fff;
}

.schedule-mobile-list{
  display:grid;
  gap:9px;
  margin-top:10px;
}

.schedule-mobile-list .schedule-week-lesson{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:11px;
  align-items:start;
  padding:14px;
}

.schedule-mobile-list .schedule-week-time{
  margin:1px 0 0;
  font-size:.82rem;
}

.schedule-mobile-list .schedule-week-info strong{
  font-size:.9rem;
}

.schedule-mobile-list .schedule-week-info span{
  font-size:.74rem;
}

@media(max-width:1050px) and (min-width:681px){
  .schedule-week-desktop{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:680px){
  .schedule-viewbar{
    justify-content:stretch;
    margin-bottom:14px;
  }

  .schedule-viewtoggle{
    width:100%;
  }

  .schedule-viewtoggle-btn{
    flex:1;
    padding:0 10px;
  }

  .schedule-week-desktop{
    display:none;
  }

  .schedule-week-mobile{
    display:block;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule-viewtoggle-btn,
  .schedule-week-lesson{
    transition:none !important;
  }
}

/* v1.4.8 — informacja prawna przy formularzu */
.form-privacy-note{
  margin:4px 0 18px;
  padding:14px 16px;
  border:1px solid rgba(9,42,76,.10);
  border-radius:14px;
  background:#fffaf2;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.55;
}
.form-privacy-note p{margin:0}
.form-privacy-note p+p{margin-top:8px}
.form-privacy-note strong{color:var(--navy)}
.form-privacy-note a{font-weight:800;text-decoration:underline}


/* =========================================================
   v1.6.2 — HERO 1:1 Z GOTOWEJ GRAFIKI
   - bez niebieskiej zasłony
   - bez blur
   - bez tekstów HTML na obrazie
   - cała grafika widoczna i ostra
   - dwa aktywne hotspoty na przyciskach z grafiki
========================================================== */

.hero.hero-v162{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:none !important;
  background-image:none !important;
  filter:none !important;
  opacity:1 !important;
}

.hero.hero-v162::before,
.hero.hero-v162::after{
  content:none !important;
  display:none !important;
  background:none !important;
  background-image:none !important;
  filter:none !important;
  opacity:0 !important;
}

/* H1 pozostaje semantycznie dla SEO i dostępności,
   ale nie jest widoczny — tekst widoczny jest częścią grafiki. */
.hero-v162-title{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.hero-v162-stage{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  line-height:0 !important;
  background:#000 !important;
  overflow:hidden !important;
}

.hero-v162-image{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center top !important;
  filter:none !important;
  transform:none !important;
  opacity:1 !important;
  image-rendering:auto !important;
}

/* Przezroczyste linki dokładnie na narysowanych przyciskach. */
/* "ZAPISZ SIĘ NA ZAJĘCIA" */
/* "ZOBACZ GRAFIK" */
/* Mobile nadal pokazuje CAŁĄ grafikę — bez cropowania. */
@media(max-width:680px){
  .hero.hero-v162,
  .hero-v162-stage,
  .hero-v162-image{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
  }

  .hero-v162-image{
    object-fit:contain !important;
    object-position:center top !important;
  }
}


/* =========================================================
   v1.6.4 — HOTFIX HERO
   Oryginalna grafika v1.6.2 pozostaje 1:1.
   Bez maskowania, retuszu i nowych widocznych przycisków.
   Poprawione tylko responsywne zakończenie Hero.
========================================================== */
.hero.hero-v162{
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
}

.hero-v162-stage{
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  overflow:visible !important;
  line-height:0 !important;
}

.hero-v162-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center top !important;
  filter:none !important;
  transform:none !important;
  opacity:1 !important;
}


@media(max-width:680px){
  .hero.hero-v162,
  .hero-v162-stage,
  .hero-v162-image{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
  }

  .hero-v162-image{
    object-fit:contain !important;
    object-position:center top !important;
  }
}


/* =========================================================
   v1.6.13 — przełącznik #kursy spójny wizualnie z Grafikiem
   Funkcjonalność pozostaje bez zmian.
========================================================== */
#kursy .joinable-viewtoggle{
  display:flex;
  justify-content:flex-end;
  margin:-8px 0 18px;
}

#kursy .joinable-viewtoggle{
  width:max-content;
  margin-left:auto;
  gap:5px;
  padding:5px;
  border:1px solid rgba(9,42,76,.10);
  border-radius:999px;
  background:#fffaf2;
}

#kursy .joinable-viewtoggle-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  padding:0 17px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--navy);
  font-size:.82rem;
  font-weight:900;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}

#kursy .joinable-viewtoggle-btn:hover{
  transform:translateY(-1px);
}

#kursy .joinable-viewtoggle-btn.is-active{
  background:var(--navy);
  color:#fff;
  box-shadow:0 7px 18px rgba(9,42,76,.14);
}

#kursy .joinable-viewtoggle-btn:focus-visible{
  outline:3px solid var(--yellow);
  outline-offset:3px;
}

@media(max-width:680px){
  #kursy .joinable-viewtoggle{
    width:100%;
    justify-content:stretch;
    margin:0 0 14px;
  }

  #kursy .joinable-viewtoggle-btn{
    flex:1;
    padding:0 10px;
  }
}

@media(prefers-reduced-motion:reduce){
  #kursy .joinable-viewtoggle-btn{
    transition:none !important;
  }
}


/* =========================================================
   v1.6.14 — tabela dostępnych grup w stylistyce Salsa Cubana
   Zmiana wyłącznie wizualna. Dane i funkcjonalność bez zmian.
========================================================== */
#kursy .joinable-table-wrap{
  width:100%;
  overflow:hidden;
  border:1px solid rgba(9,42,76,.09);
  border-radius:20px;
  background:#fffaf2;
  box-shadow:0 16px 38px rgba(9,42,76,.08);
}

#kursy .joinable-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  text-align:left;
  color:var(--navy);
}

#kursy .joinable-table thead{
  background:var(--navy);
  color:#fff;
}

#kursy .joinable-table th{
  padding:15px 14px;
  border:0;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:nowrap;
}

#kursy .joinable-table th:first-child{
  padding-left:20px;
}

#kursy .joinable-table th:last-child{
  padding-right:20px;
}

#kursy .joinable-table tbody tr{
  background:rgba(255,255,255,.70);
  transition:background-color .18s ease, transform .18s ease;
}

#kursy .joinable-table tbody tr:nth-child(even){
  background:rgba(255,255,255,.38);
}

#kursy .joinable-table tbody tr:hover{
  background:#fff;
}

#kursy .joinable-table td{
  padding:14px;
  border:0;
  border-bottom:1px solid rgba(9,42,76,.075);
  vertical-align:middle;
  font-size:.88rem;
}

#kursy .joinable-table tbody tr:last-child td{
  border-bottom:0;
}

#kursy .joinable-table td:first-child{
  padding-left:20px;
}

#kursy .joinable-table td:last-child{
  padding-right:20px;
}

#kursy .joinable-table td strong{
  color:var(--navy);
  font-size:.94rem;
  font-weight:900;
}

#kursy .joinable-table td[data-label="Poziom"]{
  font-weight:850;
}

#kursy .joinable-table td[data-label="Poziom"]::after{
  content:"";
}

#kursy .joinable-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(223,7,21,.10);
  color:var(--red);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.025em;
  text-transform:uppercase;
  white-space:nowrap;
}

#kursy .joinable-table-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(9,42,76,.15);
  background:#fff;
  color:var(--navy);
  font-size:.76rem;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}

#kursy .joinable-table-cta:hover{
  transform:translateY(-1px);
  border-color:var(--red);
  background:var(--red);
  color:#fff;
}

#kursy .joinable-table-cta:focus-visible{
  outline:3px solid var(--yellow);
  outline-offset:3px;
}

@media(max-width:680px){
  #kursy .joinable-table-wrap{
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  #kursy .joinable-table,
  #kursy .joinable-table tbody,
  #kursy .joinable-table tr,
  #kursy .joinable-table td{
    display:block;
    width:100%;
  }

  #kursy .joinable-table thead{
    display:none;
  }

  #kursy .joinable-table tbody{
    display:grid;
    gap:10px;
  }

  #kursy .joinable-table tbody tr,
  #kursy .joinable-table tbody tr:nth-child(even){
    padding:13px 15px;
    border:1px solid rgba(9,42,76,.09);
    border-radius:16px;
    background:#fffaf2;
    box-shadow:0 9px 24px rgba(9,42,76,.055);
  }

  #kursy .joinable-table td,
  #kursy .joinable-table td:first-child,
  #kursy .joinable-table td:last-child{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:7px 0;
    border:0;
    text-align:right;
  }

  #kursy .joinable-table td::before{
    content:attr(data-label);
    flex:0 0 auto;
    color:var(--muted);
    font-size:.72rem;
    font-weight:850;
    text-align:left;
  }

  #kursy .joinable-table td:first-child{
    padding-bottom:10px;
    border-bottom:1px solid rgba(9,42,76,.07);
  }

  #kursy .joinable-table td:first-child::before{
    content:"Zajęcia";
  }

  #kursy .joinable-table td:last-child{
    justify-content:flex-end;
    padding-top:12px;
  }

  #kursy .joinable-table td:last-child::before{
    display:none;
  }

  #kursy .joinable-table-cta{
    min-height:38px;
    padding:0 15px;
  }
}

@media(prefers-reduced-motion:reduce){
  #kursy .joinable-table tbody tr,
  #kursy .joinable-table-cta{
    transition:none !important;
  }
}


/* v1.6.17 HOTFIX — mobile menu only
   Gdy nagłówek jest w stanie .scrolled, backdrop-filter tworzy na części
   przeglądarek mobilnych containing block dla position:fixed w menu.
   Wyłączamy go wyłącznie na czas otwartego menu. */
@media(max-width:980px){
  body.menu-open .site-header.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* v1.7.0 VIDEO CONCEPT */
.video-gallery-section{background:radial-gradient(circle at 88% 10%,rgba(237,63,54,.1),transparent 28%),linear-gradient(180deg,#071f38,#0a2c4d);color:#fff}
.video-gallery-section .section-title{color:#fff}.video-gallery-section .section-lead{color:rgba(255,255,255,.72)}.video-gallery-section .section-kicker{color:var(--yellow)}
.video-featured{margin-top:8px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.video-card{appearance:none;position:relative;width:100%;min-height:270px;padding:0;overflow:hidden;border:0;border-radius:24px;background:#061f39;color:#fff;text-align:left;cursor:pointer;box-shadow:0 18px 46px rgba(0,0,0,.24);isolation:isolate}
.video-card-featured{min-height:clamp(360px,52vw,610px)}.video-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.video-card:hover img{transform:scale(1.035)}
.video-card-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(3,16,30,.96),rgba(3,16,30,.22) 58%,rgba(3,16,30,.04));z-index:1}
.video-card-copy{position:absolute;z-index:3;left:24px;right:24px;bottom:22px;display:grid;gap:4px}.video-card-copy small{color:var(--yellow);font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.video-card-copy strong{font-size:clamp(1.15rem,2.2vw,1.65rem);line-height:1.08}.video-card-copy>span{color:rgba(255,255,255,.72);font-size:.92rem}
.video-play{position:absolute;z-index:4;left:50%;top:50%;display:grid;place-items:center;width:78px;height:78px;padding-left:5px;border:2px solid rgba(255,255,255,.82);border-radius:50%;background:rgba(237,63,54,.88);color:#fff;font-size:1.6rem;transform:translate(-50%,-50%);box-shadow:0 12px 30px rgba(0,0,0,.25);transition:transform .2s ease,background-color .2s ease}.video-play-small{width:58px;height:58px;font-size:1.15rem}.video-card:hover .video-play{transform:translate(-50%,-50%) scale(1.07);background:var(--red)}.video-card:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.video-demo-note{max-width:820px;margin:22px 0 0;color:rgba(255,255,255,.58);font-size:.82rem}
.video-modal{position:fixed;z-index:3000;inset:0;display:grid;place-items:center;padding:22px}.video-modal[hidden]{display:none}.video-modal-backdrop{position:absolute;inset:0;background:rgba(1,10,18,.86);backdrop-filter:blur(10px)}
.video-modal-dialog{position:relative;z-index:1;width:min(1100px,96vw);overflow:hidden;border-radius:22px;background:#000;box-shadow:0 30px 100px rgba(0,0,0,.55)}.video-modal-dialog video{display:block;width:100%;max-height:82vh;background:#000}
.video-modal-close{position:absolute;z-index:3;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(3,16,30,.76);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}.video-modal-close:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}body.video-modal-open{overflow:hidden}
@media(max-width:820px){.video-grid{grid-template-columns:1fr}.video-card{min-height:300px}.video-card-featured{min-height:56vw}}
@media(max-width:560px){.video-card,.video-card-featured{min-height:260px;border-radius:18px}.video-card-copy{left:18px;right:18px;bottom:17px}.video-play{width:60px;height:60px;font-size:1.15rem}.video-play-small{width:52px;height:52px}.video-modal{padding:10px}.video-modal-dialog{border-radius:15px}}
@media(prefers-reduced-motion:reduce){.video-card img,.video-play{transition:none !important}}


/* v1.7.2 — REAL VIDEO TEST
   Wygląd galerii v1.7.0 zachowany; dopasowanie tylko do 2 prawdziwych filmów 9:16. */
.video-grid-two{
  grid-template-columns:minmax(0,1fr);
  max-width:760px;
}

.video-card-portrait img{
  object-position:center center;
}

.video-card-featured.video-card-portrait{
  min-height:clamp(430px,56vw,650px);
}

@media(max-width:820px){
  .video-grid-two{
    max-width:none;
  }
}

/* v1.7.4 — 1 film wyróżniony + 2 prawdziwe materiały */
.video-grid-two-real{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:680px){.video-grid-two-real{grid-template-columns:1fr}}
