@font-face{font-family:'Apropal';src:url('../fonts/Apropal-Bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap;}

/* =========================================================
   BENG — strona główna (nowy, czysty arkusz)
   Paleta i typografia w jednym miejscu = łatwa zmiana
   ========================================================= */
:root{
  --coral:#ED6A50;
  --coral-dark:#D6543B;
  --coral-soft:#FCEBE6;
  --pink:#F6D9D3;
  --mint:#6FE0C4;
  --hotpink:#FF74A8;
  --ink:#2B2B2B;
  --muted:#8C8C8C;
  --line:#ECECEC;
  --gray:#F4F4F4;
  --white:#FFFFFF;
  --wrap:1140px;
  --radius:0;
  --font: "Montserrat", -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: "Apropal", "Montserrat", sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:var(--font);color:var(--ink);
  background:var(--white);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
/* Nadpisanie globalnego ograniczenia szerokości body (np. wstrzykniętego przez wtyczkę) */
body.beng-home,body.beng-page{max-width:none !important;width:auto !important;margin-left:auto !important;margin-right:auto !important;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{margin:0;line-height:1.15;font-weight:800;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.section{padding:80px 0;}

/* placeholder na zdjęcia (w WordPress podmienimy na realne) */
.ph{
  background:linear-gradient(135deg,var(--pink),var(--coral-soft));
  position:relative;overflow:hidden;border-radius:var(--radius);
}
.ph::after{
  content:"foto";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:rgba(214,84,59,.45);font-size:13px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;
}
.ph:has(img)::after{display:none;}
.ph--gray{background:linear-gradient(135deg,#e9e9e9,#f6f6f6);}
.ph--gray::after{color:rgba(0,0,0,.22);}

/* przyciski */
.btn{display:inline-block;font-weight:700;font-size:14px;letter-spacing:.02em;
  padding:14px 30px;border-radius:var(--radius);cursor:pointer;border:2px solid var(--coral);
  transition:.2s ease;text-align:center;}
.btn--fill{background:var(--coral);color:#fff;}
.btn--fill:hover{background:var(--coral-dark);border-color:var(--coral-dark);}
.btn--ghost{background:transparent;color:var(--coral);}
.btn--ghost:hover{background:var(--coral);color:#fff;}
.btn--white{background:#fff;color:var(--coral);border-color:#fff;}
.btn--white:hover{background:transparent;color:#fff;}

/* serce - motyw przewodni */
.heart{width:26px;height:26px;fill:var(--coral);display:inline-block;vertical-align:middle;}
.heart--white{fill:#fff;}

.eyebrow{color:var(--coral);font-weight:800;font-size:30px;margin-bottom:14px;}
@media(min-width:768px){.eyebrow{font-size:36px;}}
.eyebrow,.banner h2,.welcome__txt h2,.reviews h2,.cta h2{font-family:var(--font-display);letter-spacing:.01em;}

/* =================== TOP BAR =================== */
.topbar{background:var(--gray);font-size:12px;color:var(--muted);}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;gap:16px;}
.topbar a{font-weight:600;}
.topbar .right{display:flex;gap:18px;align-items:center;}

/* =================== HEADER =================== */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;}
.logo{display:flex;align-items:center;}
.logo img{height:48px;width:auto;display:block;}
.nav{display:flex;align-items:center;gap:26px;}
.nav a{font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);}
.nav a:hover{color:var(--coral);}
.nav .pill{background:var(--coral);color:#fff;padding:9px 20px;border-radius:var(--radius);}
.nav .pill:hover{background:var(--coral-dark);color:#fff;}
.nav .soc{color:var(--coral);display:inline-flex;align-items:center;}
.soc svg{width:18px;height:18px;fill:currentColor;display:block;transition:.2s;}
.nav .soc:hover{color:var(--coral-dark);}
.footer__bottom .soc a{display:inline-flex;align-items:center;color:#fff;}
.footer__bottom .soc a:hover{opacity:.75;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:0;padding:8px;}
.burger span{width:26px;height:2px;background:var(--ink);display:block;}

/* =================== HERO =================== */
.hero{display:grid;grid-template-columns:1fr 1fr;}
.hero__text{background:var(--gray);padding:70px 6% 70px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;}
.hero__text .heart{width:34px;height:34px;margin-bottom:8px;}
.hero__brand{position:relative;display:inline-block;margin:0 0 14px;line-height:1;}
.hero__heart{position:absolute;top:50%;left:50%;width:210px;height:auto;transform:translate(-50%,-50%);opacity:.6;z-index:0;pointer-events:none;}
.hero__word{position:relative;z-index:1;font-family:var(--font-display);font-weight:700;font-size:84px;color:var(--coral);letter-spacing:.01em;}
.hero__sub{font-size:17px;font-weight:600;color:var(--ink);margin:48px 0 30px;max-width:360px;}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero__img{min-height:440px;}
.hero__img img{width:100%;height:100%;object-fit:cover;display:block;}

/* =================== KATEGORIE =================== */
.cats{border-bottom:1px solid var(--line);}
.cats .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:26px;padding-bottom:26px;}
.cats a{color:var(--coral);font-weight:700;font-size:16px;}
.cats a:hover{color:var(--coral-dark);text-decoration:underline;}

/* =================== BANNER KORALOWY =================== */
.banner{background:var(--coral);color:#fff;text-align:center;padding:60px 24px;}
.banner .heart{width:30px;height:30px;margin-bottom:8px;}
.banner h2{font-size:42px;font-weight:900;}
.banner p{font-size:20px;margin:6px 0 0;font-weight:400;opacity:.95;}

/* =================== WYBIERZ ZAJĘCIA =================== */
.intro-row{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-bottom:44px;}
.intro-row p{color:var(--muted);margin:0;}
/* Elastyczna siatka: 3, 4 albo 5 kart zawsze w jednym rzędzie, pełna szerokość */
.cards3{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:28px;padding:0 24px;}
.class-card{border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.06);background:#fff;display:flex;flex-direction:column;}
.class-card .ph{aspect-ratio:1/1;border-radius:0;}
.class-card .ph img{width:100%;height:100%;object-fit:cover;display:block;}
.class-card__body{background:var(--coral);color:#fff;padding:26px 24px 28px;flex:1;display:flex;flex-direction:column;}
.class-card__body h3{font-size:24px;margin-bottom:10px;}
.class-card__body p{font-size:14px;opacity:.95;margin:0 0 22px;}
.class-card__body .btn{margin-top:auto;align-self:flex-start;background:#fff;color:var(--coral);border-color:#fff;}
.class-card__body .btn:hover{background:transparent;color:#fff;}
.center{text-align:center;margin-top:44px;}

/* =================== WITAJ =================== */
.welcome{background:var(--gray);}
.welcome__row{display:grid;grid-template-columns:1fr 1fr;}
.welcome__row .ph{aspect-ratio:1/1;border-radius:0;}
.welcome__row .ph img{width:100%;height:100%;object-fit:cover;display:block;}
.welcome__txt{padding:70px 8%;display:flex;flex-direction:column;justify-content:center;}
.welcome__txt h2{font-size:34px;color:var(--coral);margin-bottom:6px;}
.welcome__txt h3{font-size:22px;font-weight:700;color:var(--ink);margin-bottom:18px;}
.welcome__txt p{color:var(--muted);font-size:15px;margin:0;}
.welcome__row--alt .welcome__txt h2{color:var(--coral);}
.welcome__row--alt .ph{background:linear-gradient(135deg,var(--pink),#f3c9d6);}

/* =================== DLACZEGO =================== */
.why{text-align:center;}
.why > .eyebrow{margin-bottom:44px;}
.why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.why__card{background:var(--coral);color:#fff;padding:34px 30px;border-radius:var(--radius);text-align:left;}
.why__card h3{font-size:22px;margin-bottom:12px;}
.why__card p{font-size:14px;opacity:.95;margin:0;}

/* =================== PASEK FOTO =================== */
.band{min-height:360px;}
.band img{width:100%;height:360px;object-fit:cover;display:block;}
.room .ph img{width:100%;height:100%;object-fit:cover;display:block;}

/* =================== TEAM =================== */
.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:16px;}
.member{background:var(--coral);border-radius:var(--radius);overflow:hidden;color:#fff;}
.member .ph{height:210px;border-radius:0;background:linear-gradient(135deg,#f0cfd8,#f7e3e9);}
.member .ph img{width:100%;height:100%;object-fit:cover;display:block;}
.member__body{padding:20px 20px 24px;}
.member__body h4{font-size:18px;margin-bottom:8px;}
.member__body p{font-size:13px;opacity:.9;margin:0 0 16px;}
.member__body a{font-size:12px;font-weight:800;letter-spacing:.08em;border-bottom:2px solid rgba(255,255,255,.6);padding-bottom:3px;}
.carousel-nav{display:flex;justify-content:space-between;align-items:center;margin-top:6px;}
.arrow{width:44px;height:44px;border:2px solid var(--coral);color:var(--coral);background:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:.2s;}
.arrow:hover{background:var(--coral);color:#fff;}

/* =================== SALE =================== */
.rooms{display:grid;grid-template-columns:repeat(3,1fr);}
.room{position:relative;min-height:320px;}
.room .ph{position:absolute;inset:0;border-radius:0;background:linear-gradient(135deg,#cfcfcf,#efefef);}
.room span{position:absolute;left:0;bottom:34px;background:var(--coral);color:#fff;font-weight:700;
  padding:10px 22px;font-size:14px;z-index:2;}

/* =================== OPINIE =================== */
.reviews{background:var(--coral);color:#fff;text-align:center;padding:80px 24px;position:relative;overflow:hidden;}
.reviews h2{font-size:34px;margin-bottom:22px;}
.reviews p{max-width:620px;margin:0 auto 10px;font-size:16px;opacity:.95;}
.reviews .who{font-weight:800;letter-spacing:.06em;margin:22px 0 26px;}

/* =================== INSTAGRAM =================== */
.insta{text-align:center;}
.insta > .eyebrow{margin-bottom:40px;}
.insta__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.insta__grid .ph{height:300px;}
.dots{display:flex;gap:8px;justify-content:center;margin:28px 0 8px;}
.dots i{width:9px;height:9px;border-radius:50%;background:var(--pink);display:block;}
.dots i.on{background:var(--coral);}

/* =================== CTA =================== */
.cta{background:var(--coral);color:#fff;text-align:center;padding:70px 24px;}
.cta h2{font-size:38px;margin-bottom:12px;}
.cta p{max-width:560px;margin:0 auto 28px;opacity:.95;}

/* =================== FOOTER =================== */
.footer{background:var(--coral-dark);color:#fff;padding:64px 0 30px;font-size:14px;}
.footer__grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:36px;}
.footer h4{font-size:16px;margin-bottom:16px;font-weight:800;}
.footer .loc b{display:block;font-size:15px;margin-bottom:6px;}
.footer .loc p{margin:2px 0;opacity:.92;}
.footer ul{list-style:none;padding:0;margin:0;}
.footer ul li{margin:8px 0;opacity:.92;}
.footer ul li a:hover{text-decoration:underline;}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;
  margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.25);opacity:.85;font-size:12px;}
.footer__bottom .soc{display:flex;gap:14px;order:-1;}

/* =================== RESPONSYWNOŚĆ =================== */
@media(max-width:900px){
  .hero,.welcome__row,.rooms{grid-template-columns:1fr;}
  .why__grid,.team__grid,.insta__grid,.footer__grid{grid-template-columns:1fr 1fr;}
  .hero__img{min-height:320px;order:-1;}
  .welcome__row--alt .welcome__txt{order:-1;}
}
@media(max-width:640px){
  .section{padding:56px 0;}
  .nav{display:none;}
  .burger{display:flex;}
  .hero__word{font-size:60px;}
  .hero__heart{width:160px;}
  .intro-row,.why__grid,.team__grid,.insta__grid,.footer__grid{grid-template-columns:1fr;}
  .cards3{grid-auto-flow:row;grid-template-columns:repeat(2,1fr);padding:0 16px;}
  .banner h2{font-size:30px;}
  .cats .wrap{justify-content:center;gap:16px 22px;}
  .topbar .wrap > span{display:none;}
  .topbar .wrap{justify-content:center;}
}

/* ---- menu WordPress w naglowku ---- */
.nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;}
.nav li{list-style:none;}
.nav li.pill a{background:var(--coral);color:#fff;padding:9px 20px;}
.nav li.pill a:hover{background:var(--coral-dark);color:#fff;}
.nav__soc{display:inline-flex;align-items:center;gap:14px;margin-left:6px;}
.topbar__menu{display:flex;gap:18px;list-style:none;margin:0;padding:0;}
.topbar__menu li{list-style:none;}
.topbar__menu a{font-weight:600;color:var(--muted);}
.topbar__menu a:hover{color:var(--coral);}
/* menu mobilne (rozwijane pod naglowkiem) */
@media(max-width:640px){
  .nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
       flex-direction:column;gap:0;padding:14px 24px 20px;display:none;box-shadow:0 12px 24px rgba(0,0,0,.08);align-items:flex-start;}
  .nav.nav--open{display:flex;}
  .nav ul{flex-direction:column;align-items:flex-start;gap:16px;width:100%;}
  .nav__soc{margin:14px 0 0;}
}

/* =================== LINKI W TREŚCI (FAQ, bloki, opisy) =================== */
.page-content a,
.faq-answer a,
.content-cols a,
.contact-map address a {
  color: var(--coral);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}
.page-content a:hover,
.faq-answer a:hover,
.content-cols a:hover,
.contact-map address a:hover {
  color: var(--coral-dark);
}

/* =================== PODSTRONY (FAQ itd.) =================== */
.page-hero{background:var(--gray);text-align:center;padding:64px 24px;}
.page-hero h1{font-family:var(--font-display);color:var(--coral);font-size:44px;letter-spacing:.01em;}
.page-body{max-width:820px;margin:0 auto;padding:60px 24px 80px;}
.page-content{margin-bottom:36px;}
.page-content h2,.page-content h3{color:var(--ink);margin:26px 0 10px;}
.page-content p{margin:0 0 16px;}
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{cursor:pointer;font-weight:700;font-size:17px;padding:20px 34px 20px 0;list-style:none;position:relative;color:var(--ink);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--coral);font-size:24px;font-weight:700;line-height:1;}
.faq-item[open] summary::after{content:"\2013";}
.faq-item .faq-answer{padding:0 0 22px;color:var(--muted);font-size:15px;}
@media(max-width:640px){
  .page-hero h1{font-size:34px;}
  .page-body{padding:40px 20px 56px;}
}

/* =================== KONTAKT =================== */
.page-body--wide{max-width:1140px;}
.contact-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;align-items:start;}
.content-cols{display:grid;gap:24px;margin-bottom:20px;}
.content-cols--2{grid-template-columns:1fr 1fr;}
.content-cols--3{grid-template-columns:repeat(3,1fr);}
.content-cols--4{grid-template-columns:repeat(4,1fr);}
.contact-map{margin-top:36px;}
.contact-map h3{color:var(--coral);font-size:20px;margin-bottom:16px;}
.contact-map__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.contact-map__label{font-weight:700;font-size:14px;margin:0 0 8px;color:var(--ink);}
.contact-map__frame{border:1px solid var(--line);}
.contact-map__frame iframe{width:100%;height:260px;border:0;display:block;}
@media(max-width:640px){.contact-map__grid{grid-template-columns:1fr;}}
.contact-form-box{background:var(--gray);padding:32px;}
.contact-form-box input:not([type=submit]),.contact-form-box textarea,.contact-form-box select{
  width:100%;border:1px solid var(--line);background:#fff;padding:12px 14px;margin-bottom:14px;font-family:var(--font);font-size:14px;border-radius:var(--radius);}
.contact-form-box input[type=submit]{background:var(--coral);color:#fff;border:2px solid var(--coral);
  padding:12px 26px;font-weight:700;cursor:pointer;border-radius:var(--radius);}
.contact-form-box input[type=submit]:hover{background:var(--coral-dark);border-color:var(--coral-dark);}
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr;}
  .content-cols--3,.content-cols--4{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .content-cols--2,.content-cols--3,.content-cols--4{grid-template-columns:1fr;}
}

/* Dopieszczenie typografii treści na podstronach (np. Kontakt) */
.page-content{line-height:1.75;}
.page-content p{margin:0 0 6px;}
.page-content p:empty{display:none;}
.page-content strong{color:var(--coral-dark);}
.page-content h3,.page-content h4{color:var(--coral);margin-top:30px;}
.page-content hr{border:0;border-top:1px solid var(--line);margin:32px 0;}
.contact-form-box p{margin:0 0 14px;}
.contact-form-box label{font-size:14px;color:var(--muted);}
.contact-form-box .wpcf7-form-control-wrap{display:block;}
.contact-form-box textarea{min-height:110px;resize:vertical;}

/* =================== ARCHIWUM TANCERZY (/tancerze/) =================== */
.team__grid--archive{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:48px;}
.archive-pagination{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.archive-pagination__link{padding:10px 18px;font-size:13px;}
.archive-pagination span.btn{background:var(--coral);color:#fff;}
@media(max-width:900px){.team__grid--archive{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.team__grid--archive{grid-template-columns:1fr;}}

/* =========================================================
   Kontakt — nowy uklad (dwie kolumny)
   ========================================================= */
.contact-layout{
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;
}
.contact-col > * + *{ margin-top:36px; }

/* Lokalizacje w dwoch kolumnach (Ordona / Sokolska) */
.contact-locations{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.contact-locations__loc b{ display:block; font-family:var(--font-display); color:var(--ink); font-size:18px; margin-bottom:8px; }
.contact-locations__loc p{ margin:0 0 8px; font-size:15px; line-height:1.55; }
.contact-locations__loc a{ color:var(--coral); text-decoration:none; }
.contact-locations__loc a:hover{ color:var(--coral-dark); }
.contact-locations__loc b a{ color:var(--ink); }
.contact-locations__loc b a:hover{ color:var(--coral); }

/* Statyczna mapka (obraz + link) */
.contact-map-static{ position:relative; display:block; overflow:hidden; }
.contact-map-static img{ width:100%; height:auto; display:block; transition:transform .3s ease; }
.contact-map-static:hover img{ transform:scale(1.02); }
.contact-map-static__hint{
  position:absolute; inset:auto 12px 12px auto;
  background:var(--coral); color:#fff; font-size:13px; font-weight:700;
  padding:8px 14px; letter-spacing:.02em; text-transform:uppercase;
  opacity:0; transition:opacity .25s ease; pointer-events:none;
}
.contact-map-static:hover .contact-map-static__hint,
.contact-map-static:focus-visible .contact-map-static__hint{ opacity:1; }

/* Sekcja po prawej pod mapa (mail recepcja, manager itd.) */
.contact-side p{ margin:0 0 14px; font-size:15px; line-height:1.55; }
.contact-side a{ color:var(--coral); }
.contact-side a:hover{ color:var(--coral-dark); }

/* Fotka na dole po prawej + placeholder */
.contact-photo img{ width:100%; height:auto; display:block; }
.contact-photo__ph{
  aspect-ratio:4/5;
  background:linear-gradient(135deg,var(--coral-soft),var(--pink));
  display:flex; align-items:center; justify-content:center;
}
.contact-photo__ph span{
  font-family:var(--font-display); color:var(--coral); font-size:22px;
  letter-spacing:.15em; text-transform:uppercase;
}

.contact-content-blocks{ margin-top:64px; }

@media(max-width:900px){
  .page-body--wide{ padding-left:0; padding-right:0; }
  .contact-layout{ grid-template-columns:1fr; gap:32px; }
  .contact-col{ display:contents; }
  .contact-col > * + *{ margin-top:0; }
  .contact-locations{ order:1; grid-template-columns:1fr 1fr; }
  .contact-map-static{ order:2; }
  .contact-side{ order:3; }
  .contact-photo{ order:4; }
  .contact-form-box{ order:5; }
  .contact-content-blocks{ margin-top:32px; }
}
@media(max-width:520px){
  .contact-locations{ grid-template-columns:1fr; }
}
/* =========================================================
   Kontakt — sekcja platnosci
   ========================================================= */
.payment-block{ max-width:900px; margin:0 auto; }
.payment-block h2{
  font-family:var(--font-display); color:var(--coral); font-size:32px;
  margin:0 0 20px; letter-spacing:.01em;
}
.payment-block > p{ font-size:16px; line-height:1.65; margin:0 0 28px; }

/* Karta z numerem konta */
.account-card{
  background:var(--gray);
  border-left:4px solid var(--coral);
  padding:28px 32px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  margin:0 0 4px;
}
.account-card__info{ min-width:0; }
.account-card__label{
  display:block; font-size:12px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--muted); margin:0 0 10px; font-weight:700;
}
.account-card__owner{ margin:0 0 4px; font-weight:700; color:var(--ink); font-size:16px; }
.account-card__addr{ margin:0 0 16px; color:var(--muted); font-size:14px; }
.account-card__number{
  font-family:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size:22px; font-weight:700; color:var(--ink);
  letter-spacing:.05em; word-spacing:.15em;
  user-select:all; margin:0; word-break:keep-all;
}
.account-card__copy{
  background:var(--coral); color:#fff; border:0;
  font-family:var(--font); font-size:13px; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase;
  padding:14px 22px; cursor:pointer;
  transition:background .2s ease, transform .1s ease;
  white-space:nowrap;
}
.account-card__copy:hover{ background:var(--coral-dark); }
.account-card__copy:active{ transform:translateY(1px); }
.account-card__copy--ok{ background:var(--mint); color:var(--ink); }

/* Tytul przelewu */
.payment-title{
  margin:0 0 28px; padding:16px 22px;
  background:var(--coral-soft); border-left:4px solid var(--coral);
  font-size:15px; line-height:1.55; color:var(--ink);
}
.payment-title strong{ display:block; margin-bottom:4px; color:var(--coral-dark); }

/* Uwaga */
.payment-notice{
  margin:0 0 36px; padding:18px 22px;
  background:#fff; border:2px solid var(--coral);
  font-weight:700; color:var(--coral-dark);
  font-size:15px; line-height:1.55;
}

/* Kroki */
.payment-steps{ margin:0 0 36px; }
.payment-steps__title{
  font-family:var(--font-display); color:var(--ink); font-size:22px;
  margin:0 0 20px;
}
.payment-steps ol{ list-style:none; counter-reset:step; padding:0; margin:0; }
.payment-steps ol li{
  counter-increment:step;
  position:relative; padding:4px 0 20px 52px;
  font-size:15px; line-height:1.65; color:var(--ink);
}
.payment-steps ol li::before{
  content:counter(step);
  position:absolute; left:0; top:0;
  width:36px; height:36px;
  background:var(--coral); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font); font-size:16px; font-weight:800;
  border-radius:50%;
}
.payment-steps ol li a{ color:var(--coral); font-weight:600; }
.payment-steps ol li a:hover{ color:var(--coral-dark); }
.payment-steps ol li em{ font-style:italic; color:var(--muted); font-size:14px; }

/* Podziekowanie */
.payment-thanks{
  margin:0 0 28px; padding:22px 28px;
  background:var(--coral); color:#fff;
  font-weight:700; font-size:16px; line-height:1.5;
  text-align:center;
}

/* Disclaimer */
.payment-disclaimer{
  font-size:13px; color:var(--muted); line-height:1.65;
  margin:0; padding:20px 0 0; border-top:1px solid var(--line);
}
.payment-disclaimer a{ color:var(--coral); }
.payment-disclaimer a:hover{ color:var(--coral-dark); text-decoration:underline; }

@media(max-width:640px){
  .payment-block h2{ font-size:26px; }
  .account-card{ grid-template-columns:1fr; padding:22px 24px; }
  .account-card__number{ font-size:18px; }
  .account-card__copy{ justify-self:stretch; text-align:center; }
  .payment-steps__title{ font-size:19px; }
}

/* =============== ZAPISY NA KURSY =============== */
.page-intro{padding:56px 0 8px;}
.page-intro h1{font-family:var(--font-display);font-size:42px;color:var(--coral);margin:0 0 14px;line-height:1.05;}
.page-intro__content{color:var(--muted);font-size:16px;max-width:760px;}
.page-intro__content p{margin:0 0 10px;}
.page-intro__content h2,.page-intro__content h3,.page-intro__content h4{color:var(--ink);font-family:var(--font-display);margin:18px 0 8px;}

.courses{padding-top:40px;}
.courses__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.course-cat{background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.06);display:flex;flex-direction:column;}
.course-cat__ph{aspect-ratio:4/3;display:block;overflow:hidden;}
.course-cat__ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.course-cat__ph:hover img{transform:scale(1.04);}
.course-cat__body{padding:24px 24px 26px;flex:1;display:flex;flex-direction:column;}
.course-cat__body h2{font-family:var(--font-display);font-size:24px;color:var(--coral);margin:0 0 14px;letter-spacing:.01em;}
.course-cat__list{list-style:none;margin:0 0 22px;padding:0;}
.course-cat__list li{padding:8px 0;border-bottom:1px solid var(--line);}
.course-cat__list li:last-child{border-bottom:0;}
.course-cat__list a{color:var(--ink);font-weight:600;font-size:14px;}
.course-cat__list a:hover{color:var(--coral);text-decoration:underline;}
.course-cat__body .btn{margin-top:auto;align-self:flex-start;}

@media(max-width:960px){.courses__grid{grid-template-columns:repeat(2,1fr);gap:24px;}}
@media(max-width:640px){
  .page-intro h1{font-size:34px;}
  .courses__grid{grid-template-columns:1fr;gap:20px;}
  .course-cat__ph{aspect-ratio:16/10;}
}

/* =============== KATEGORIA ZAJĘĆ /grupy/ =============== */
.cat-hero{display:grid;grid-template-columns:1fr 1fr;min-height:420px;}
.cat-hero__text{background:var(--gray);padding:60px 8%;display:flex;flex-direction:column;justify-content:center;}
.cat-hero__text h1{font-family:var(--font-display);font-size:52px;color:var(--coral);margin:0 0 18px;line-height:1.02;}
.cat-hero__desc{color:var(--ink);font-size:16px;line-height:1.6;}
.cat-hero__desc p{margin:0 0 12px;}
.cat-hero__desc p:last-child{margin-bottom:0;}
.cat-hero__img{aspect-ratio:auto;min-height:420px;}
.cat-hero__img img{width:100%;height:100%;object-fit:cover;display:block;}

.classes-in-cat .eyebrow{text-align:center;margin-bottom:36px;}
.classes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}

@media(max-width:960px){
  .cat-hero{grid-template-columns:1fr;}
  .cat-hero__img{min-height:300px;}
  .cat-hero__text h1{font-size:42px;}
  .classes-grid{grid-template-columns:repeat(2,1fr);gap:24px;}
}
@media(max-width:640px){
  .cat-hero__text{padding:44px 24px;}
  .cat-hero__text h1{font-size:36px;}
  .classes-grid{grid-template-columns:1fr;}
}

/* =============== POJEDYNCZE ZAJĘCIA /taniec/ v2 =============== */
/* HERO — dwie warianty: z listą kursów po prawej albo ze zdjęciem */
.class-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--gray);align-items:stretch;}
.class-hero__text{padding:70px 8%;display:flex;flex-direction:column;justify-content:center;}
.class-hero__eyebrow{display:inline-block;color:var(--coral);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;margin-bottom:14px;}
.class-hero__eyebrow:hover{color:var(--coral-dark);text-decoration:underline;}
.class-hero__text h1{font-family:var(--font-display);font-size:52px;color:var(--coral);margin:0 0 18px;line-height:1.02;}
.class-hero__desc{color:var(--ink);font-size:16px;line-height:1.65;}
.class-hero__desc p{margin:0 0 12px;}
.class-hero__desc p:last-child{margin-bottom:0;}
.class-hero__success{background:#e5f6e9;color:#1e6b32;padding:14px 18px;border-left:4px solid #1e6b32;margin-bottom:22px;font-weight:600;}
.class-hero__img{min-height:460px;}
.class-hero__img img{width:100%;height:100%;object-fit:cover;display:block;}

/* Prawa kolumna z listą kursów (zamiast zdjęcia) */
.class-hero__courses{background:#fff;padding:60px 8%;display:flex;flex-direction:column;}
.class-hero__courses-title{font-family:var(--font-display);color:var(--coral);font-size:30px;margin:0 0 24px;letter-spacing:.01em;}
.class-hero__courses-list{display:flex;flex-direction:column;gap:16px;}

/* Kafel pojedynczego kursu (partial dance-course-rectangle) */
.dance-course-rectangle{background:#fff;padding:22px 24px;border:1px solid var(--line);box-shadow:0 4px 18px rgba(0,0,0,.04);}
.dance-course-rectangle h5{font-family:var(--font-display);font-size:20px;color:var(--coral);margin:0 0 14px;letter-spacing:.01em;}
.dance-course-rectangle .definition-list{margin:0 0 14px;padding:0;font-size:14px;line-height:1.5;}
.dance-course-rectangle .definition-list dt{display:inline;font-weight:700;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
.dance-course-rectangle .definition-list dd{display:inline;margin:0 0 0 4px;color:var(--ink);font-weight:600;}
.dance-course-rectangle .definition-list dd::after{content:"";display:block;margin-bottom:6px;}
.dance-course-rectangle p{margin:0 0 14px;color:var(--ink);font-size:14px;line-height:1.5;}
.dance-course-rectangle p strong{color:var(--coral);}
.dance-course-rectangle .btn-white,
.dance-course-rectangle a.btn{background:var(--coral);color:#fff;border:2px solid var(--coral);padding:10px 22px;font-size:13px;font-weight:700;letter-spacing:.02em;display:inline-block;text-decoration:none;cursor:pointer;transition:background .2s;}
.dance-course-rectangle .btn-white:hover,
.dance-course-rectangle a.btn:hover{background:var(--coral-dark);border-color:var(--coral-dark);}

.class-info{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;}
.class-info__list{margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;}
.class-info__row{margin:0;}
.class-info__row dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.class-info__row dd{margin:0;color:var(--ink);font-size:15px;font-weight:600;line-height:1.4;}

.instructors .eyebrow{text-align:center;margin-bottom:36px;}

.mailing{background:var(--gray);}
.mailing .eyebrow{margin-bottom:14px;}
.mailing__lead{color:var(--muted);font-size:16px;margin:0 0 24px;max-width:640px;}
.mailing__form{max-width:640px;}
.mailing__form .abs-req{position:absolute;left:-9999px;}
.mailing__label{display:block;font-weight:600;font-size:14px;margin-bottom:8px;color:var(--ink);}
.mailing__row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;}
.mailing__input{flex:1;min-width:220px;padding:12px 14px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:14px;}
.mailing__input:focus{outline:none;border-color:var(--coral);}
.mailing__submit{padding:12px 24px;cursor:pointer;}
.mailing__rodo{display:block;font-size:11px;color:var(--muted);margin-top:14px;line-height:1.5;}
.mailing__rodo input[type=checkbox]{margin-right:6px;vertical-align:top;}

/* Formularz zapisu — tuning wizualny */
.section-strap-course-booking{padding:60px 0;background:var(--gray);}
.section-strap-course-booking.hidden{display:none;}
.section-strap-course-booking .container{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.section-strap-course-booking h2{font-family:var(--font-display);color:var(--coral);font-size:26px;margin:0 0 18px;letter-spacing:.01em;}
.section-strap-course-booking .row{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.section-strap-course-booking .row .row{grid-template-columns:1fr 1fr;gap:16px;}
.section-strap-course-booking .col-md-6,.section-strap-course-booking .col-md-12{min-width:0;}
.section-strap-course-booking .col-md-12{grid-column:1/-1;}
.section-strap-course-booking label{display:block;font-weight:600;font-size:13px;margin-bottom:4px;color:var(--ink);}
.section-strap-course-booking .form-control{width:100%;padding:10px 12px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:14px;}
.section-strap-course-booking .form-control:focus{outline:none;border-color:var(--coral);}
.section-strap-course-booking .btn-blue{background:var(--coral);color:#fff;border:2px solid var(--coral);padding:14px 30px;font-weight:700;font-size:14px;letter-spacing:.02em;cursor:pointer;}
.section-strap-course-booking .btn-blue:hover{background:var(--coral-dark);border-color:var(--coral-dark);}
.section-strap-course-booking .errors{background:#f8e4e0;color:#9a2b1a;padding:14px 18px;border-left:4px solid #c33;margin:14px 0;}
.section-strap-course-booking .errors p{margin:0 0 6px;}

@media(max-width:960px){
  .class-hero{grid-template-columns:1fr;}
  .class-hero__text{padding:44px 24px;}
  .class-hero__text h1{font-size:38px;}
  .class-hero__img{min-height:280px;}
  .class-hero__courses{padding:40px 24px;}
  .section-strap-course-booking .row{grid-template-columns:1fr;gap:32px;}
  .section-strap-course-booking .row .row{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .section-strap-course-booking .row .row{grid-template-columns:1fr;}
}
/* =============== POJEDYNCZE ZAJĘCIA /taniec/ v3 - dodatki =============== */

/* Ukrywanie tab-ów i adnotacji w sekcji zapisu (theme'owy conditionizr nie działa) */
.section-strap-course-booking .tab.hidden,
.section-strap-course-booking [data-form-conditionizr].hidden{display:none;}

/* Natywny select po Beng (chosen.js nie ładuje się) */
.section-strap-course-booking select.chosen,
.section-strap-course-booking select.form-group,
.section-strap-course-booking select{
	display:block;
	width:100%;
	max-width:100%;
	padding:12px 40px 12px 14px;
	border:1px solid var(--line);
	background:#fff;
	font-family:inherit;
	font-size:14px;
	font-weight:600;
	color:var(--ink);
	margin:0 0 24px;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23ED6A50' d='M6 8L0 0h12z'/></svg>");
	background-repeat:no-repeat;
	background-position:right 14px center;
	cursor:pointer;
	transition:border-color .15s;
}
.section-strap-course-booking select:focus{outline:none;border-color:var(--coral);}

/* Tab pojedynczego kursu */
.section-strap-course-booking .tab{background:#fff;padding:24px;border:1px solid var(--line);margin-bottom:20px;}
.section-strap-course-booking .tab .definition-list{margin:0 0 16px;font-size:14px;line-height:1.7;}
.section-strap-course-booking .tab .definition-list dt{display:inline;font-weight:700;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-right:4px;}
.section-strap-course-booking .tab .definition-list dd{display:inline;margin:0;color:var(--ink);font-weight:600;}
.section-strap-course-booking .tab .definition-list dd::after{content:"";display:block;margin-bottom:8px;}
.section-strap-course-booking .tab .definition-list:last-child{margin-bottom:0;}

/* Radio buttons dla cen i regulaminu */
.section-strap-course-booking .radios{display:flex;flex-direction:column;gap:6px;margin-top:4px;}
.section-strap-course-booking .radios.rodo{gap:12px;font-size:11px;color:var(--muted);line-height:1.5;}
.section-strap-course-booking .custom-radio,
.section-strap-course-booking .custom-checkbox{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-size:14px;color:var(--ink);cursor:pointer;padding:4px 0;line-height:1.4;}
.section-strap-course-booking .custom-radio input,
.section-strap-course-booking .custom-checkbox input{margin-top:3px;flex-shrink:0;accent-color:var(--coral);}
.section-strap-course-booking .radios.rodo .custom-radio,
.section-strap-course-booking .radios.rodo .custom-checkbox{font-size:11px;color:var(--muted);}

/* Adnotacje przy cenach (partner card / karnet) */
.section-strap-course-booking [data-form-conditionizr]:not(.tab):not(select){
	background:#fff8f5;
	border-left:3px solid var(--coral);
	padding:14px 18px;
	margin:14px 0;
	font-size:13px;
	color:var(--ink);
	line-height:1.5;
}
.section-strap-course-booking [data-form-conditionizr]:not(.tab):not(select) hr{display:none;}

/* =============== MAILING - coralowy banner (nadpisuje wcześniejsze reguły .mailing) =============== */
.mailing{background:var(--coral);color:#fff;text-align:center;padding:80px 24px;}
.mailing .wrap{max-width:720px;}
.mailing__heart{width:36px;height:auto;display:block;margin:0 auto 12px;}
.mailing__title{
	font-family:var(--font-display);
	color:#fff;
	font-size:44px;
	font-weight:900;
	line-height:1.05;
	letter-spacing:.01em;
	margin:0 0 14px;
}
.mailing__lead{
	color:#fff;
	opacity:.92;
	font-size:18px;
	font-weight:400;
	margin:0 auto 32px;
	max-width:560px;
}
.mailing__form{max-width:520px;margin:0 auto;}
.mailing__form .abs-req{position:absolute;left:-9999px;}
/* Etykieta wizualnie ukryta, ale nadal dostępna dla screen readerów */
.mailing__label{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.mailing__row{
	display:flex;
	gap:0;
	align-items:stretch;
	flex-wrap:nowrap;
	max-width:520px;
	margin:0 auto;
	box-shadow:0 6px 20px rgba(0,0,0,.1);
}
.mailing__input{
	flex:1;
	min-width:0;
	padding:16px 20px;
	border:0;
	background:#fff;
	font-family:inherit;
	font-size:15px;
	color:var(--ink);
}
.mailing__input:focus{outline:2px solid #fff;outline-offset:-2px;}
.mailing__input::placeholder{color:#b0b0b0;}
.mailing__submit{
	padding:16px 28px;
	cursor:pointer;
	background:#fff;
	color:var(--coral);
	border:0;
	font-family:inherit;
	font-weight:800;
	letter-spacing:.03em;
	font-size:14px;
	text-transform:uppercase;
	transition:background .2s, color .2s;
	white-space:nowrap;
}
.mailing__submit:hover{background:var(--gray);color:var(--coral-dark);}
.mailing__rodo{
	display:block;
	font-size:11px;
	color:#fff;
	opacity:.8;
	margin:20px auto 0;
	line-height:1.5;
	max-width:520px;
	text-align:left;
}
.mailing__rodo input[type=checkbox]{margin-right:6px;vertical-align:top;accent-color:#fff;}
.mailing__rodo a{color:#fff;text-decoration:underline;}

@media(max-width:640px){
	.mailing{padding:56px 20px;}
	.mailing__title{font-size:30px;}
	.mailing__lead{font-size:16px;}
	.mailing__row{flex-wrap:wrap;box-shadow:none;gap:10px;}
	.mailing__input{box-shadow:0 4px 14px rgba(0,0,0,.08);}
	.mailing__submit{width:100%;box-shadow:0 4px 14px rgba(0,0,0,.08);}
}
/* =============== LINKI W TREŚCI (opisy kategorii, zajęć, page-intro) =============== */
.cat-hero__desc a,
.class-hero__desc a,
.class-info__row dd a,
.page-intro__content a,
.blog-post-content a{
	color:var(--coral);
	text-decoration:underline;
	text-decoration-thickness:1px;
	text-underline-offset:3px;
	font-weight:600;
	transition:color .15s;
}
.cat-hero__desc a:hover,
.class-hero__desc a:hover,
.class-info__row dd a:hover,
.page-intro__content a:hover,
.blog-post-content a:hover{
	color:var(--coral-dark);
	text-decoration-thickness:2px;
}
/* =============== SALE - grid auto-fit (obsługuje 3, 4, 5+ sal) =============== */
.rooms{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
@media(max-width:640px){.rooms{grid-template-columns:1fr;}}
/* =============== PRINT / SAVE AS PDF (strona grafiku) =============== */
.print-only-day{display:none;}

@media print {
	/* ukrywamy wszystko poza grafikiem */
	.site-header,
	.footer,
	.reviews,
	.mailing,
	.cta,
	.band,
	.insta,
	.contact-map,
	.rooms,
	.welcome,
	.hero,
	.cats,
	.banner,
	.schedule-timetable > .navigation,
	.download-pdf,
	.mobile__courses,
	iframe,
	.m-messenger,
	#trustindex-widget-container,
	[class*="chat"],
	[id*="chat"]{
		display:none !important;
	}

	body{margin:0;padding:0;background:#fff;color:#000;}
	.page-content.page-schedule{padding:0;margin:0;}
	.page-schedule .page-title{padding:0;margin:0 0 8px;}
	.page-schedule .page-title h2{
		text-align:center;
		font-size:28px;
		margin:12px 0 4px;
		color:#000;
		font-family:var(--font-display),serif;
	}

	.print-only-day{
		display:block;
		text-align:center;
		font-size:16px;
		font-weight:700;
		margin:0 0 12px;
		color:#000;
		text-transform:uppercase;
		letter-spacing:.05em;
	}

	.container,.page-boxed,.page-boxed-full{
		max-width:100% !important;
		width:100% !important;
		padding:0 !important;
		margin:0 !important;
	}

	.schedule-timetable .table{overflow:visible;}
	.schedule-timetable table{
		width:100% !important;
		border-collapse:collapse;
		page-break-inside:avoid;
		font-size:11px;
	}
	.schedule-timetable table th,
	.schedule-timetable table td{
		border:1px solid #999;
		padding:4px;
		vertical-align:top;
	}
	.schedule-timetable table th.room{
		font-size:13px;
		padding:8px 4px;
	}
	.schedule-timetable .slot{padding:4px;}

	/* wymuszamy druk kolorów (bez tego Chrome zdejmuje tła) */
	*,*::before,*::after{
		-webkit-print-color-adjust:exact !important;
		print-color-adjust:exact !important;
		color-adjust:exact !important;
	}

	/* orientacja pozioma A4 */
	@page{size:A4 landscape;margin:10mm;}

	/* nie łamiemy tabeli między stronami */
	tr,td,th{page-break-inside:avoid !important;}
}

/* =============== GRAFIK ZAJĘĆ (schedule) =============== */
.page-schedule{background:#fff;padding:60px 0 100px;}
.page-schedule .page-title{position:relative;max-width:1180px;margin:0 auto 24px;padding:0 24px;}
.page-schedule .page-title h2{
	font-family:var(--font-display);
	color:var(--coral);
	font-size:64px;
	font-weight:900;
	text-align:center;
	letter-spacing:.02em;
	margin:0;
	line-height:1;
}
.page-schedule .download-pdf{position:absolute;top:8px;right:24px;}
.page-schedule .download-pdf a{display:inline-block;padding:6px;background:var(--coral);transition:background .15s;}
.page-schedule .download-pdf a:hover{background:var(--coral-dark);}
.page-schedule .download-pdf img{width:40px;height:auto;display:block;}

.page-schedule .page-boxed{max-width:1180px;margin:0 auto;padding:0 24px;}

/* nawigacja dni tygodnia */
.schedule-timetable{background:#fff;}
.schedule-timetable > .navigation{margin:0 0 24px;}
.schedule-timetable > .navigation ul{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	background:#F7DCD5;
	flex-wrap:wrap;
}
.schedule-timetable > .navigation li{flex:1;text-align:center;min-width:0;}
.schedule-timetable > .navigation li a{
	display:block;
	padding:18px 8px;
	font-family:var(--font-display);
	color:var(--coral);
	font-size:22px;
	font-weight:700;
	text-decoration:none;
	letter-spacing:.02em;
	transition:background .15s, color .15s;
}
.schedule-timetable > .navigation li a:hover{background:#EFCDC4;}
.schedule-timetable > .navigation li.active a{background:var(--coral);color:#fff;}

/* KOLORY SAL (mapowanie ze starych klas) */
/* Sala 1 - jasny róż */
.schedule-timetable .text-blue2{--room-bg:#F5C7C7;--room-fg:#fff;}
/* Sala 2 - mocny coral */
.schedule-timetable .text-purple2{--room-bg:#E56B4A;--room-fg:#fff;}
/* Sala 3 - róż */
.schedule-timetable .text-violet{--room-bg:#F0D0CC;--room-fg:#fff;}
/* Fallbacki dla kolejnych sal */
.schedule-timetable .text-red{--room-bg:#D85A3E;--room-fg:#fff;}
.schedule-timetable .text-coral{--room-bg:var(--coral);--room-fg:#fff;}

/* nagłówki sal (w tabeli i mobile) */
.schedule-timetable table th.room,
.schedule-timetable .mobile__courses .room h2{
	font-family:var(--font-display);
	font-size:24px;
	font-weight:900;
	color:var(--room-bg);
	text-align:center;
	padding:20px 8px;
	background:#F5F5F5;
	border:0;
	letter-spacing:.02em;
	margin:0;
}
.schedule-timetable table th.hour{background:#F5F5F5;border:0;padding:20px 8px;}

/* tabela desktopowa */
.schedule-timetable .table{width:100%;overflow-x:auto;}
.schedule-timetable table{width:100%;border-collapse:collapse;table-layout:fixed;}
.schedule-timetable td.hour{
	background:#F5F5F5;
	color:var(--ink);
	font-family:var(--font-display);
	font-weight:700;
	font-size:20px;
	text-align:left;
	padding:8px 16px;
	vertical-align:middle;
	border:0;
	white-space:nowrap;
}
.schedule-timetable td.hour.even{background:#EDEDED;}
.schedule-timetable td{border:0;padding:0;vertical-align:top;position:relative;}

/* pojedynczy slot kursu */
.schedule-timetable .slot{
	background:var(--room-bg,var(--coral));
	color:var(--room-fg,#fff);
	padding:14px 16px;
	margin:0;
	min-height:60px;
	position:relative;
}
.schedule-timetable .slot-half{width:50%;display:inline-block;vertical-align:top;}
.schedule-timetable .slot-1-lines{min-height:60px;}
.schedule-timetable .slot-2-lines{min-height:75px;}
.schedule-timetable .slot-3-lines{min-height:95px;}
.schedule-timetable .slot-4-lines{min-height:120px;}
.schedule-timetable .slot-5-lines{min-height:150px;}
.schedule-timetable .slot-6-lines{min-height:180px;}
.schedule-timetable .slot-7-lines{min-height:210px;}
.schedule-timetable .slot-8-lines{min-height:240px;}
.schedule-timetable .slot-topspace-1-lines{margin-top:15px;}
.schedule-timetable .slot-topspace-2-lines{margin-top:30px;}
.schedule-timetable .slot-topspace-3-lines{margin-top:45px;}
.schedule-timetable .slot-topspace-4-lines{margin-top:60px;}

/* zawartość slotu (partial dance-course-schedule-event) */
.schedule-timetable .slot h4,
.schedule-timetable .slot h5,
.schedule-timetable .mobile__courses > *:not(.room){
	color:inherit;
}
.schedule-timetable .slot h4,
.schedule-timetable .slot h5{
	font-family:var(--font-display);
	font-size:20px;
	font-weight:900;
	color:#fff;
	margin:0 0 6px;
	text-transform:uppercase;
	letter-spacing:.02em;
	line-height:1.05;
}
.schedule-timetable .slot h4 a,
.schedule-timetable .slot h5 a{color:#fff;text-decoration:none;}
.schedule-timetable .slot h4 a:hover,
.schedule-timetable .slot h5 a:hover{text-decoration:underline;}
.schedule-timetable .slot p{margin:2px 0;font-size:13px;line-height:1.35;color:#fff;}
.schedule-timetable .slot p strong,
.schedule-timetable .slot strong{color:#fff;font-weight:700;}
.schedule-timetable .slot a{color:#fff;}

/* WIDOK MOBILNY - grupy sal jedna pod drugą */
.schedule-timetable .mobile__courses{display:none;}
.schedule-timetable .mobile__courses .room{
	margin:24px 0 8px;
	padding:16px;
	background:#F5F5F5;
	text-align:center;
}
.schedule-timetable .mobile__courses > article,
.schedule-timetable .mobile__courses > div:not(.room){
	background:var(--room-bg,var(--coral));
	color:#fff;
	padding:14px 16px;
	margin-bottom:8px;
}

@media(max-width:900px){
	.page-schedule .page-title h2{font-size:44px;}
	.page-schedule .download-pdf{position:static;text-align:right;margin-bottom:12px;}
	.schedule-timetable .table{display:none;}
	.schedule-timetable .mobile__courses{display:block;}
	.schedule-timetable > .navigation ul{flex-direction:row;}
	.schedule-timetable > .navigation li a{font-size:14px;padding:12px 4px;}
}
@media(max-width:640px){
	.schedule-timetable > .navigation ul{flex-direction:column;}
	.schedule-timetable > .navigation li{flex:none;width:100%;}
}
/* =============== /zapisy - h2 nazwa kategorii jako link =============== */
.course-cat__body h2{margin:0 0 14px;}
.course-cat__body h2 .course-cat__title-link,
.course-cat__body h2 a{
	color:var(--coral);
	text-decoration:none;
	font:inherit;
	display:inline-block;
	transition:color .15s;
}
.course-cat__body h2 .course-cat__title-link:hover,
.course-cat__body h2 a:hover{
	color:var(--coral-dark);
	text-decoration:underline;
}

/* =============== HERO uniwersalny (Beng, na szarym tle) =============== */
.page-hero{
	background:var(--gray, #F3F0EE);
	padding:60px 24px;
	text-align:center;
}
.page-hero .wrap{
	max-width:1180px;
	margin:0 auto;
	padding:0;
}
.page-hero h1{
	font-family:var(--font-display, 'Zadok', Georgia, serif);
	color:var(--coral, #E56B4A);
	font-size:64px;
	font-weight:900;
	line-height:1;
	margin:0;
	letter-spacing:.02em;
	text-transform:none;
}
@media(max-width:640px){
	.page-hero{padding:44px 20px;}
	.page-hero h1{font-size:44px;}
}

/* =============== TREŚĆ DOMYŚLNEJ STRONY =============== */
.page-default{padding:60px 0 100px;}
.page-default .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.page-default__content{
	max-width:800px;
	margin:0 auto;
	color:var(--ink);
	font-size:16px;
	line-height:1.7;
}
.page-default__content h2{
	font-family:var(--font-display);
	color:var(--coral);
	font-size:32px;
	margin:36px 0 14px;
	line-height:1.1;
	letter-spacing:.01em;
}
.page-default__content h3{
	font-family:var(--font-display);
	color:var(--coral);
	font-size:24px;
	margin:28px 0 12px;
	line-height:1.15;
}
.page-default__content h4{
	font-family:var(--font-display);
	color:var(--ink);
	font-size:18px;
	margin:22px 0 10px;
}
.page-default__content p{margin:0 0 16px;}
.page-default__content a{
	color:var(--coral);
	text-decoration:underline;
	font-weight:600;
	transition:color .15s;
}
.page-default__content a:hover{color:var(--coral-dark);}
.page-default__content ul,
.page-default__content ol{margin:0 0 18px 24px;padding:0;}
.page-default__content li{margin-bottom:6px;}
.page-default__content strong{font-weight:700;color:var(--ink);}
.page-default__content em{font-style:italic;}
.page-default__content blockquote{
	border-left:3px solid var(--coral);
	padding:8px 0 8px 20px;
	margin:22px 0;
	font-style:italic;
	color:var(--muted);
}
.page-default__content img{max-width:100%;height:auto;margin:16px 0;}
.page-default__content hr{border:0;border-top:1px solid var(--line);margin:32px 0;}
.page-default__content table{
	width:100%;
	border-collapse:collapse;
	margin:20px 0;
	font-size:14px;
}
.page-default__content table th,
.page-default__content table td{
	padding:10px 14px;
	border:1px solid var(--line);
	text-align:left;
}
.page-default__content table th{
	background:var(--gray);
	font-weight:700;
	color:var(--ink);
}

/* =============== STRONA IMPREZY =============== */
.parts{padding:0;}
.parts__row{padding:80px 0;}
.parts__row + .parts__row{border-top:1px solid var(--line);}
.parts__row .wrap{
	max-width:1180px;
	margin:0 auto;
	padding:0 24px;
}

/* Wiersz z obrazkiem: dwie kolumny 1:1 */
.parts__row--with-image .wrap{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:60px;
	align-items:center;
}
.parts__row--with-image.parts__row--alt .wrap{
	direction:rtl; /* zamiana kolumn */
}
.parts__row--with-image.parts__row--alt .wrap > *{
	direction:ltr; /* przywracamy kierunek tekstu wewnątrz */
}

/* Wiersz bez obrazka: pełna szerokość, centrum */
.parts__row--text-only .parts__text{
	max-width:800px;
	margin:0 auto;
	text-align:center;
}

.parts__text h2{
	font-family:var(--font-display);
	color:var(--coral);
	font-size:38px;
	font-weight:900;
	line-height:1.05;
	margin:0 0 20px;
	letter-spacing:.01em;
}

.parts__body{
	color:var(--ink);
	font-size:16px;
	line-height:1.7;
}
.parts__body p{margin:0 0 14px;}
.parts__body p:last-child{margin-bottom:0;}
.parts__body h3{
	font-family:var(--font-display);
	color:var(--coral);
	font-size:22px;
	margin:22px 0 10px;
}
.parts__body h4{
	font-family:var(--font-display);
	color:var(--ink);
	font-size:18px;
	margin:18px 0 8px;
}
.parts__body a{
	color:var(--coral);
	text-decoration:underline;
	font-weight:600;
	transition:color .15s;
}
.parts__body a:hover{color:var(--coral-dark);}
.parts__body ul,
.parts__body ol{margin:0 0 16px 24px;padding:0;}
.parts__body li{margin-bottom:6px;}
.parts__body strong{font-weight:700;}
.parts__body em{font-style:italic;}
.parts__body img{max-width:100%;height:auto;margin:12px 0;}

.parts__img{
	aspect-ratio:4/3;
	overflow:hidden;
}
.parts__img img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

@media(max-width:900px){
	.parts__row{padding:50px 0;}
	.parts__row--with-image .wrap{
		grid-template-columns:1fr;
		gap:30px;
		direction:ltr !important;
	}
	.parts__row--with-image.parts__row--alt .wrap{
		direction:ltr;
	}
	/* Na mobile obrazek zawsze pod tekstem */
	.parts__row--with-image .parts__text{order:1;}
	.parts__row--with-image .parts__img{order:2;}
	.parts__text h2{font-size:30px;}
}
@media(max-width:640px){
	.parts__row{padding:40px 0;}
	.parts__row .wrap{padding:0 20px;}
	.parts__text h2{font-size:26px;}
}

/* =============== SINGLE TANCERKA =============== */
.dancer-hero{
	display:grid;
	grid-template-columns:1fr 1fr;
	background:var(--gray);
	min-height:520px;
	align-items:stretch;
}
.dancer-hero__img{min-height:520px;}
.dancer-hero__img img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.dancer-hero__text{
	padding:70px 8%;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.dancer-hero__back{
	display:inline-block;
	color:var(--coral);
	font-weight:700;
	font-size:12px;
	letter-spacing:.08em;
	text-transform:uppercase;
	text-decoration:none;
	margin-bottom:16px;
}
.dancer-hero__back:hover{color:var(--coral-dark);text-decoration:underline;}

.dancer-hero__text h1{
	font-family:var(--font-display);
	color:var(--coral);
	font-size:56px;
	font-weight:900;
	line-height:1;
	letter-spacing:.01em;
	margin:0 0 22px;
}

.dancer-hero__body{
	color:var(--ink);
	font-size:16px;
	line-height:1.65;
	margin-bottom:24px;
}
.dancer-hero__body p{margin:0 0 12px;}
.dancer-hero__body p:last-child{margin-bottom:0;}
.dancer-hero__body a{color:var(--coral);text-decoration:underline;font-weight:600;}
.dancer-hero__body a:hover{color:var(--coral-dark);}
.dancer-hero__body ul,
.dancer-hero__body ol{margin:0 0 12px 22px;}
.dancer-hero__body strong{font-weight:700;}
.dancer-hero__body em{font-style:italic;}
.dancer-hero__body--empty{color:var(--muted);font-style:italic;}

/* Instagram button */
.dancer-hero__ig{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:12px 22px;
	background:var(--coral);
	color:#fff !important;
	border:2px solid var(--coral);
	font-weight:700;
	font-size:14px;
	letter-spacing:.03em;
	text-transform:uppercase;
	text-decoration:none !important;
	transition:background .2s, border-color .2s;
	align-self:flex-start;
	margin-bottom:26px;
}
.dancer-hero__ig:hover{
	background:var(--coral-dark);
	border-color:var(--coral-dark);
	color:#fff !important;
}
.dancer-hero__ig-icon{
	width:18px;
	height:18px;
	flex-shrink:0;
	color:currentColor;
}

/* Lista zajęć */
.dancer-hero__classes{
	border-top:1px solid var(--line);
	padding-top:20px;
	margin-top:6px;
}
.dancer-hero__classes-label{
	display:block;
	font-size:12px;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
	color:var(--muted);
	margin-bottom:10px;
}
.dancer-hero__classes-list{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:8px 14px;
}
.dancer-hero__classes-list li{margin:0;padding:0;}
.dancer-hero__classes-list a{
	display:inline-block;
	padding:6px 14px;
	background:#fff;
	color:var(--coral);
	border:1px solid var(--coral);
	text-decoration:none;
	font-weight:600;
	font-size:14px;
	transition:background .2s, color .2s;
}
.dancer-hero__classes-list a:hover{
	background:var(--coral);
	color:#fff;
}

@media(max-width:900px){
	.dancer-hero{
		grid-template-columns:1fr;
		min-height:0;
	}
	.dancer-hero__img{min-height:320px;}
	.dancer-hero__text{padding:44px 24px;}
	.dancer-hero__text h1{font-size:38px;}
}