/* =========================================================
   Akademia NVC — strona główna (2026)

   Arkusz ładowany PO global.css i page.css. Wszystkie reguły
   sekcji są scope'owane pod .nvcHome i mają podbitą
   specyficzność, żeby pewnie nadpisać style motywu
   (m.in. .BoxOffered, p.pDsc, p.Subtitle, a{color}).
   Poza .nvcHome działają style nagłówka, okruszków (breadcrumbs),
   sekcji opinii i stopki.
   ========================================================= */

.nvcHome{
  --paper:#ffffff;
  --mist:#f7f9fc;
  --mist-2:#eef3f9;
  --line:#e0e8f1;
  --line-soft:#edf1f6;
  --ink:#1f2933;
  --ink-soft:#5a6b7a;
  --blue:#2f5675;
  --blue-2:#4b7fa6;
  --sage:#6f8f3f;
  --sage-2:#83a74e;
  --shadow:0 24px 50px -34px rgba(31,41,51,.45);
  --shadow-soft:0 14px 32px -26px rgba(31,41,51,.4);
  --radius:20px;

  background:var(--paper);
  color:var(--ink);
  font-family:'Karla', "Plus Jakarta Sans", sans-serif;
  font-size:17px;
  line-height:1.68;
  overflow-x:hidden;
}

/* ---------- reset lokalny ---------- */
.nvcHome *{ box-sizing:border-box; }
.nvcHome h1,
.nvcHome h2,
.nvcHome h3{
  font-family:'Fraunces', Georgia, serif;
  color:var(--ink);
  margin:0; padding:0;
  font-weight:600;
  letter-spacing:-.015em;
  text-transform:none;
  text-wrap:balance;
}
.nvcHome p{ margin:0 0 18px; padding:0; color:inherit; font-size:inherit; line-height:inherit; }
.nvcHome a{ color:inherit; text-decoration:none; }
.nvcHome a:hover{ text-decoration:none; }
.nvcHome img{ max-width:100%; height:auto; display:block; }
.nvcHome ul{ margin:0; padding:0; list-style:none; }
.nvcHome button{ font-family:inherit; }

/* ---------- siatka ---------- */
/* .nvc-wrap jest używany razem z .container motywu, żeby sekcje
   trzymały tę samą szerokość i oś co nagłówek strony. */
.nvcHome .nvc-wrap{ width:100%; }
.nvcHome .nvc-sec{ padding:92px 0; margin:0; }
.nvcHome .nvc-sec--mist{ background:var(--mist); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
@media (max-width:640px){ .nvcHome .nvc-sec{ padding:58px 0; } }

/* ---------- nadtytuł (Subtitle) ---------- */
.nvcHome p.Subtitle,
.nvcHome .nvc-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Karla', sans-serif; font-size:12px; font-weight:700; line-height:1;
  text-transform:uppercase; letter-spacing:.16em;
  color:var(--blue);
  margin:0 0 16px; padding:0;
  position:static;
}
.nvcHome p.Subtitle::before,
.nvcHome .nvc-eyebrow::before{
  content:''; position:static; display:inline-block;
  width:26px; height:2px; min-width:26px;
  background:var(--blue); border-radius:2px; top:auto; left:auto;
}
.nvcHome .nvc-eyebrow--center{ display:flex; width:100%; justify-content:center; }

.nvcHome .nvc-h2{ font-size:clamp(1.75rem,3.1vw,2.5rem); line-height:1.12; }
.nvcHome .nvc-lead{ font-size:19px; color:var(--ink); }
.nvcHome .nvc-prose p{ color:var(--ink-soft); font-size:17px; }
.nvcHome .nvc-prose p:last-child{ margin-bottom:0; }
.nvcHome .nvc-measure{ max-width:66ch; }

/* ---------- przyciski ---------- */
.nvcHome .nvc-btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Karla',sans-serif; font-size:15px; font-weight:700; line-height:1;
  padding:17px 30px; border-radius:999px; text-decoration:none;
  border:1.5px solid transparent; cursor:pointer;
  transition:transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
}
.nvcHome .nvc-btn:hover{ transform:translateY(-2px); text-decoration:none; }
.nvcHome .nvc-btn--primary,
.nvcHome .nvc-btn--primary:visited{ background:var(--sage); color:#fbfdf7; box-shadow:var(--shadow-soft); }
.nvcHome .nvc-btn--primary:hover{ background:var(--sage-2); color:#fbfdf7; }
.nvcHome .nvc-btn--ghost,
.nvcHome .nvc-btn--ghost:visited{ background:rgba(255,255,255,.74); border-color:var(--line); color:var(--ink); }
.nvcHome .nvc-btn--ghost:hover{ border-color:var(--sage); color:var(--sage); }

/* ---------- hero ---------- */
.nvcHome .nvc-hero{
  background-size:cover; background-position:center 58%; background-repeat:no-repeat;
  border-bottom:1px solid var(--line-soft);
  padding:96px 0 104px; text-align:center; margin:0;
}
@media (max-width:640px){ .nvcHome .nvc-hero{ padding:56px 0 64px; } }
.nvcHome .nvc-hero__inner{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; align-items:center; }
.nvcHome .nvc-hero__mark{    height: 160px;
    width: auto;
    max-width: 80%;
    margin: 0 auto 5px;
}
@media (max-width:640px){ .nvcHome .nvc-hero__mark{ height:96px; margin-bottom:22px; } }
.nvcHome .nvc-hero h1{ font-size:clamp(2.2rem,5vw,3.7rem); line-height:1.05; margin:0; }
.nvcHome .nvc-hero h1 em{ font-style:normal; color:var(--sage); }
.nvcHome .nvc-hero__lead{ font-size:19.5px; color:var(--ink-soft); max-width:56ch; margin:24px auto 34px; }
.nvcHome .nvc-hero__ctas{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }

/* ---------- tekst + zdjęcie ---------- */
.nvcHome .nvc-split{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media (max-width:920px){ .nvcHome .nvc-split{ grid-template-columns:1fr; gap:36px; } }
.nvcHome .nvc-figure{ position:relative; isolation:isolate; margin:0; }
.nvcHome .nvc-figure img{
  position:relative; z-index:1; width:100%; height:auto; max-width:100%; aspect-ratio:4/3;
  object-fit:cover; border-radius:26px; box-shadow:var(--shadow); padding:0;
}
.nvcHome .nvc-figure::after{
  content:''; position:absolute; inset:auto -18px -18px auto; width:58%; height:58%;
  border:1.5px solid var(--blue); border-radius:26px; z-index:0;
}
.nvcHome .nvc-figure--flip::after{ inset:-18px auto auto -18px; }

/* ---------- układ redakcyjny ---------- */
.nvcHome .nvc-editorial{ display:grid; grid-template-columns:.75fr 1.25fr; gap:56px; align-items:start; }
@media (max-width:900px){ .nvcHome .nvc-editorial{ grid-template-columns:1fr; gap:28px; } }
/* Układ dwukolumnowy (CSS columns) tworzył "prostokątny" blok tekstu odbijający
   się od reszty strony. Jedna kolumna + ta sama miara co akapit wiodący. */
.nvcHome .nvc-cols{ columns:auto; column-gap:0; max-width:66ch; }
.nvcHome .nvc-cols p{ break-inside:auto; }

/* ---------- zespół ---------- */
.nvcHome .nvc-team{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px; align-items:start; }
@media (max-width:900px){ .nvcHome .nvc-team{ grid-template-columns:1fr; gap:40px; max-width:520px; } }
.nvcHome .nvc-member{ text-align:left; }
.nvcHome .nvc-member__photo{
  width:100%; max-width:250px; aspect-ratio:1/1; object-fit:cover; padding:0;
  border-radius:20px; box-shadow:var(--shadow-soft); margin:0 0 22px;
}
.nvcHome .nvc-member__name{ font-family:'Fraunces',serif; font-size:23px; font-weight:600; line-height:1.2; color:var(--ink); margin-bottom:6px; }
.nvcHome .nvc-member__role{
  font-family:'Karla',sans-serif; font-size:11.5px; font-weight:700; line-height:1.5;
  text-transform:uppercase; letter-spacing:.11em; color:var(--blue); margin-bottom:16px;
}
.nvcHome .nvc-bio{ position:relative; max-height:11.2em; overflow:hidden; transition:max-height .45s ease; }
.nvcHome .nvc-bio p{ color:var(--ink-soft); font-size:15.2px; line-height:1.62; margin:0 0 14px; }
.nvcHome .nvc-bio p:last-child{ margin-bottom:0; }
.nvcHome .nvc-bio::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:4.5em; pointer-events:none;
  background:linear-gradient(to bottom, rgba(247,249,252,0), var(--mist)); transition:opacity .3s ease;
}
.nvcHome .nvc-bio.is-open{ max-height:220em; }
.nvcHome .nvc-bio.is-open::after{ opacity:0; }
.nvcHome .nvc-more-btn{
  margin-top:14px; background:none; border:0; padding:0; cursor:pointer; box-shadow:none;
  font-family:'Karla',sans-serif; font-size:13.5px; font-weight:700; color:var(--blue);
  display:inline-flex; align-items:center; gap:7px;
}
.nvcHome .nvc-more-btn svg{ width:13px; height:13px; transition:transform .25s ease; }
.nvcHome .nvc-more-btn[aria-expanded="true"] svg{ transform:rotate(180deg); }
.nvcHome .nvc-more-btn:hover{ color:var(--blue-2); background:none; }

/* ---------- kafelki oferty ---------- */
.nvcHome .nvc-sec__head{ margin-bottom:46px; }
.nvcHome .nvc-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.nvcHome .nvc-cards--3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:1000px){ .nvcHome .nvc-cards{ grid-template-columns:1fr 1fr; } }
@media (max-width:860px){ .nvcHome .nvc-cards--3{ grid-template-columns:1fr; } }
@media (max-width:560px){ .nvcHome .nvc-cards{ grid-template-columns:1fr; } }

.nvcHome .BoxOffered{
  height:100%; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px 26px; margin:0; text-align:left;
  display:flex; flex-direction:column; gap:16px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.nvcHome .BoxOffered:hover{ transform:translateY(-5px); box-shadow:var(--shadow); border-color:var(--blue); }
.nvcHome .BoxOffered img.offerIcon{
  width:48px; height:48px; max-width:48px; object-fit:contain; padding:10px; margin:0;
  border-radius:14px; background:var(--mist-2);
}
.nvcHome .BoxOffered p.pHeader{
  font-family:'Fraunces',serif; font-size:18.5px; font-weight:600; line-height:1.25;
  color:var(--ink); margin:0; padding:0; text-align:left;
}
.nvcHome .BoxOffered p.pHeader a{ color:inherit; text-decoration:none; }
.nvcHome .BoxOffered:hover p.pHeader a{ color:var(--blue); }
.nvcHome .BoxOffered p.pDsc{
  margin:0; padding:0; color:var(--ink-soft); font-size:14.8px; line-height:1.62;
  text-align:left; flex-grow:1;
}
.nvcHome .BoxOffered .read-more{
  display:inline-block; margin:12px 0 0;
  font-family:'Karla',sans-serif; font-size:13.5px; font-weight:700;
  color:var(--blue) !important; text-decoration:none;
}
.nvcHome .BoxOffered .read-more:hover{ color:var(--blue-2) !important; }
.nvcHome .BoxOffered--linked{ cursor:pointer; }
.nvcHome .BoxOffered--linked:focus-within{ outline:2px solid var(--blue); outline-offset:3px; }

/* ---------- kontakt ---------- */
.nvcHome .nvc-contact{ text-align:center; max-width:720px; margin:0 auto; }
.nvcHome .nvc-contact p{ color:var(--ink-soft); }
.nvcHome .nvc-contact__actions{ display:flex; gap:16px; justify-content:center; align-items:center; flex-wrap:wrap; margin-top:8px; }
.nvcHome .nvc-contact__tel{ font-family:'Fraunces',serif; font-size:22px; font-weight:600; text-decoration:none; color:var(--ink); }
.nvcHome .nvc-contact__tel:hover{ color:var(--sage); }

/* ---------- znak wodny ---------- */
.nvcHome .nvc-sec--mark{ position:relative; overflow:hidden; }
.nvcHome .nvc-sec__mark{
  /* było right:-70px — przy overflow:hidden na sekcji logo było ucięte z prawej.
     Teraz mieści się w całości. */
  position:absolute; right:24px; top:50%; transform:translateY(-50%);
  width:400px; max-width:28vw; opacity:.06; pointer-events:none; margin:0;
}
@media (max-width:1400px){ .nvcHome .nvc-sec__mark{ width:320px; right:12px; } }
@media (max-width:900px){ .nvcHome .nvc-sec__mark{ display:none; } }

/* ---------- animacja wejścia ---------- */
.js .nvcHome .nvc-reveal{ opacity:0; transform:translateY(16px); transition:opacity .65s ease, transform .65s ease; }
.js .nvcHome .nvc-reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .js .nvcHome .nvc-reveal{ opacity:1; transform:none; transition:none; }
  .nvcHome .nvc-bio{ transition:none; }
}

/* =========================================================
   NAGŁÓWEK (globalnie, poza .nvcHome)
   Większe logo, więcej powietrza.
   Selektory z #customNav, żeby pewnie nadpisać global.css.
   ========================================================= */

#customNav{
  padding:18px 20px;
  border-bottom:1px solid #edf1f6;
  transition:padding .2s ease;
}
#customNav .container{
  display:flex; align-items:center; justify-content:space-between; gap:28px;
}

/* logo — pozycjonowane absolutnie, dzięki czemu może być duże,
   a wysokość paska wyznacza min-height kontenera (bez przeskoków) */
#customNav .container{ position:relative; min-height:112px; padding-left:190px; }
#customNav a.site-logo{
  position:absolute; left:15px; top:50%; transform:translateY(-50%);
  display:flex; align-items:center; margin:0; z-index:2;
}
#customNav a.site-logo img{
  max-width:none; max-height:112px; width:auto; height:auto;
  transition:max-height .2s ease;
}

/* menu */
#customNav .navbar-collapse{ flex:1 1 auto; }
#customNav ul.navbar-nav{
  display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap;
  gap:34px; margin:0; padding:0; list-style:none;
}
#customNav ul.navbar-nav > li{ margin:0; padding:0; }
#customNav ul.navbar-nav > li::after{ content:none !important; }
#customNav ul.navbar-nav > li > a{
  font-family:'Karla', "Plus Jakarta Sans", sans-serif;
  font-size:16.5px; font-weight:600; color:#1f2933; text-decoration:none;
  transition:color .16s ease;
}
#customNav ul.navbar-nav > li > a:hover{ color:#6f8f3f; }
#customNav ul.navbar-nav .sub-menu li a{ font-size:15px; }


/* stan przyklejony — nagłówek lekko się spłaszcza */
#customNav.sticky{ padding:8px 20px; box-shadow:0 10px 30px -24px rgba(31,41,51,.5); }
#customNav.sticky .container{ min-height:68px; padding-left:130px; }
#customNav.sticky a.site-logo img{ max-height:68px; }

/* wyłączenie reguły .menu-item-1618 a{font-weight:400!important}
   (dodanej poza motywem — najpewniej w Wygląd → Dodatkowy CSS) */
#customNav ul.navbar-nav > li.menu-item-1618 > a{ font-weight:600 !important; }

@media (max-width:1200px){
  #customNav ul.navbar-nav{ gap:24px; }
  #customNav ul.navbar-nav > li > a{ font-size:15px; }
  #customNav .container{ min-height:96px; padding-left:165px; }
  #customNav a.site-logo img{ max-height:96px; }
}

/* mobile: logo → hamburger → menu */
@media (max-width:991px){
  #customNav{ padding:14px 16px; }
  /* na mobile logo wraca do normalnego przepływu */
  #customNav .container{ flex-wrap:wrap; gap:12px; min-height:0; padding-left:15px; position:relative; }
  #customNav a.site-logo{ position:static; transform:none; }
  #customNav.sticky .container{ min-height:0; padding-left:15px; }
  #customNav a.site-logo{ order:1; }
  #customNav .navbar-toggler{ order:3; margin-left:auto; }
  #customNav .navbar-collapse{ order:4; }
  #customNav a.site-logo img{ max-height:66px; }
  /* menu w panelu offcanvas — pionowa lista z większymi polami klikalnymi */
  #customNav .offcanvas-collapse ul.navbar-nav{
    flex-direction:column; align-items:stretch; justify-content:flex-start;
    gap:4px; padding-top:96px;
  }
  #customNav .offcanvas-collapse ul.navbar-nav > li{ width:100%; }
  #customNav .offcanvas-collapse ul.navbar-nav > li > a{
    display:block; width:100%; flex:1 1 auto; padding:14px 4px; font-size:18px;
    border-bottom:1px solid #edf1f6;
  }
}
@media (max-width:575px){
  #customNav a.site-logo img{ max-height:54px; }
}

/* =========================================================
   STOPKA (nowa, wspólna dla całej strony)
   Selektory z #colophon, żeby nadpisać global.css.
   ========================================================= */

#colophon.nvc-footer{
  background:#f7f9fc;
  border-top:1px solid #e0e8f1;
  padding:66px 0 0;
  font-family:'Karla', "Plus Jakarta Sans", sans-serif;
  color:#5a6b7a;
  font-size:15px;
  line-height:1.7;
}
#colophon.nvc-footer .nvc-footer__top{
  display:grid; grid-template-columns:1.7fr 1fr 1.3fr 1fr; gap:48px;
  padding-bottom:48px;
}
@media (max-width:992px){
  #colophon.nvc-footer .nvc-footer__top{ grid-template-columns:1fr 1fr; gap:40px; }
}
@media (max-width:600px){
  #colophon.nvc-footer{ padding-top:48px; }
  #colophon.nvc-footer .nvc-footer__top{ grid-template-columns:1fr; gap:32px; }
}

#colophon.nvc-footer .nvc-footer__logo{ display:inline-flex; margin-bottom:20px; }
#colophon.nvc-footer .nvc-footer__logo img{
  max-width:none; max-height:84px; width:auto; height:auto; margin:0; display:block;
}
#colophon.nvc-footer .nvc-footer__brand p{
  margin:0; max-width:40ch; color:#5a6b7a; font-size:15px; line-height:1.75;
}

#colophon.nvc-footer h4{
  font-family:'Karla', sans-serif; font-size:12px; font-weight:700; line-height:1;
  text-transform:uppercase; letter-spacing:.13em; color:#2f5675;
  margin:0 0 20px; padding:0;
}
#colophon.nvc-footer h4::after{ content:none; }

#colophon.nvc-footer ul.nvc-footer__menu{
  list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;
}
#colophon.nvc-footer ul.nvc-footer__menu li{ margin:0; padding:0; list-style:none; }
#colophon.nvc-footer ul.nvc-footer__menu li::after{ content:none !important; }
#colophon.nvc-footer ul.nvc-footer__menu li a{
  color:#5a6b7a; font-size:15px; text-decoration:none; transition:color .16s ease;
}
#colophon.nvc-footer ul.nvc-footer__menu li a:hover{ color:#1f2933; }
#colophon.nvc-footer ul.nvc-footer__menu .sub-menu{ display:none; }

/* link do Facebooka w pasku dolnym stopki */
#colophon.nvc-footer .nvc-footer__social{
  display:inline-flex; align-items:center; gap:8px;
  text-decoration:none; transition:opacity .16s ease;
}
#colophon.nvc-footer .nvc-footer__social:hover{ opacity:.7; }
#colophon.nvc-footer .nvc-footer__social svg{ flex:none; }

#colophon.nvc-footer .nvc-footer__tel{
  display:block; margin-bottom:18px;
  font-family:'Fraunces', Georgia, serif; font-size:23px; font-weight:600;
  color:#1f2933; text-decoration:none;
}
#colophon.nvc-footer .nvc-footer__tel:hover{ color:#6f8f3f; }
#colophon.nvc-footer .nvc-footer__btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:'Karla',sans-serif; font-size:14.5px; font-weight:700; line-height:1;
  padding:15px 26px; border-radius:999px; background:#6f8f3f; color:#fbfdf7;
  text-decoration:none; transition:background .16s ease, transform .16s ease;
}
#colophon.nvc-footer .nvc-footer__btn:hover{ background:#83a74e; color:#fbfdf7; transform:translateY(-2px); }

#colophon.nvc-footer .nvc-footer__bottom{
  border-top:1px solid #e0e8f1; padding:22px 0;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:13.5px; color:#5a6b7a;
}
#colophon.nvc-footer .nvc-footer__bottom a{ color:#2f5675; text-decoration:none; }
#colophon.nvc-footer .nvc-footer__bottom a:hover{ color:#1f2933; }

/* =========================================================
   PODSTRONY w nowym stylu (.nvcPage) — np. Kontakt
   ========================================================= */

.nvcHome.nvcPage .nvc-pagehead{
  background:var(--mist); border-bottom:1px solid var(--line-soft);
  padding:72px 0 76px; text-align:center;
}
@media (max-width:640px){ .nvcHome.nvcPage .nvc-pagehead{ padding:48px 0 52px; } }
.nvcHome .nvc-pagehead__inner{ max-width:760px; margin:0 auto; }
.nvcHome .nvc-pagehead h1{
  font-family:'Fraunces', Georgia, serif; font-size:clamp(2.1rem,4.4vw,3.1rem);
  font-weight:600; line-height:1.08; color:var(--ink); margin:0; text-align:center;
}
.nvcHome .nvc-pagehead__lead{
  font-size:18px; color:var(--ink-soft); max-width:62ch; margin:20px auto 0;
}
.nvcHome .nvc-pagehead #breadcrumbs{ font-size:13px; color:var(--ink-soft); margin:22px 0 0; }
.nvcHome .nvc-pagehead #breadcrumbs a{ color:var(--blue); }

/* karty kontaktowe */
.nvcHome .nvc-contact-cards{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:840px; margin:0 auto;
}
@media (max-width:700px){ .nvcHome .nvc-contact-cards{ grid-template-columns:1fr; } }
.nvcHome .nvc-contact-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
  padding:34px 30px; text-decoration:none; color:var(--ink);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.nvcHome .nvc-contact-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow); border-color:var(--blue); }
.nvcHome .nvc-contact-card__ico{
  width:52px; height:52px; border-radius:15px; background:var(--mist-2); color:var(--blue);
  display:flex; align-items:center; justify-content:center; margin-bottom:6px;
}
.nvcHome .nvc-contact-card__ico svg{ width:26px; height:26px; }
.nvcHome .nvc-contact-card__label{
  font-family:'Karla',sans-serif; font-size:11.5px; font-weight:700;
  text-transform:uppercase; letter-spacing:.13em; color:var(--blue);
}
.nvcHome .nvc-contact-card__value{
  font-family:'Fraunces',serif; font-size:23px; font-weight:600; line-height:1.25; color:var(--ink);
  word-break:break-word;
}
.nvcHome .nvc-contact-card__more{
  font-family:'Karla',sans-serif; font-size:13.5px; font-weight:700; color:var(--blue); margin-top:4px;
}
.nvcHome .nvc-contact-card:hover .nvc-contact-card__more{ color:var(--blue-2); }

/* formularz — selektory niezależne od wtyczki (CF7, WPForms itp.) */
.nvcHome .nvc-formbox{ max-width:760px; margin:0 auto; }
.nvcHome .nvc-formbox p{ margin:0; }
.nvcHome .nvc-formbox label{ display:block; width:100%; font-family:'Karla',sans-serif; font-size:14.5px; font-weight:600; color:var(--ink); margin-bottom:18px; }
.nvcHome .nvc-formbox .wpcf7-form-control-wrap{ display:block; width:100%; margin-top:6px; }
.nvcHome .nvc-formbox input[type="text"],
.nvcHome .nvc-formbox input[type="email"],
.nvcHome .nvc-formbox input[type="tel"],
.nvcHome .nvc-formbox input[type="url"],
.nvcHome .nvc-formbox input[type="number"],
.nvcHome .nvc-formbox select,
.nvcHome .nvc-formbox textarea{
  display:block; width:100%; max-width:100%;
  background:var(--paper); border:1px solid var(--line); border-radius:14px;
  padding:15px 18px; font-family:'Karla',sans-serif; font-size:15.5px; font-weight:400; color:var(--ink);
  margin:0 0 16px;
}
.nvcHome .nvc-formbox textarea{ min-height:170px; resize:vertical; }
.nvcHome .nvc-formbox input:focus,
.nvcHome .nvc-formbox select:focus,
.nvcHome .nvc-formbox textarea:focus{ outline:2px solid var(--blue); outline-offset:1px; border-color:var(--blue); }
.nvcHome .nvc-formbox input[type="submit"],
.nvcHome .nvc-formbox button[type="submit"]{
  display:inline-flex; align-items:center; justify-content:center; width:auto; max-width:none;
  background:var(--sage); color:#fbfdf7; border:0; border-radius:999px; margin:8px 0 0;
  padding:16px 34px; font-family:'Karla',sans-serif; font-size:15px; font-weight:700; cursor:pointer;
  transition:background .16s ease, transform .16s ease;
}
.nvcHome .nvc-formbox input[type="submit"]:hover,
.nvcHome .nvc-formbox button[type="submit"]:hover{ background:var(--sage-2); transform:translateY(-2px); }
.nvcHome .nvc-formbox .wpcf7-not-valid-tip{ color:#b3261e; font-size:13.5px; margin:-10px 0 14px; }
.nvcHome .nvc-formbox .wpcf7-response-output{
  border:1px solid var(--line) !important; border-radius:14px; padding:14px 18px !important;
  margin:18px 0 0 !important; font-size:14.5px; background:var(--paper);
}

/* =========================================================
   FORMULARZE (Contact Form 7) — globalnie, dla każdego formularza
   Stare reguły div#wpcf7-f176-o1 … zostały usunięte z page.css,
   te selektory nie zależą od ID formularza.
   ========================================================= */

.wpcf7 .wpcf7-form p{ margin:0 0 4px; }
.wpcf7 .wpcf7-form label{
  display:block; width:100%;
  font-family:'Karla', "Plus Jakarta Sans", sans-serif; font-size:14.5px; font-weight:600;
  color:#1f2933; margin-bottom:18px;
}
.wpcf7 .wpcf7-form-control-wrap{ display:block; width:100%; margin-top:6px; }

.wpcf7 input.wpcf7-form-control[type="text"],
.wpcf7 input.wpcf7-form-control[type="email"],
.wpcf7 input.wpcf7-form-control[type="tel"],
.wpcf7 input.wpcf7-form-control[type="url"],
.wpcf7 input.wpcf7-form-control[type="number"],
.wpcf7 input.wpcf7-text,
.wpcf7 select.wpcf7-form-control,
.wpcf7 textarea.wpcf7-form-control{
  display:block; width:100%; max-width:100%;
  background:#fff; border:1px solid #e0e8f1; border-radius:14px;
  padding:15px 18px;
  font-family:'Karla', "Plus Jakarta Sans", sans-serif; font-size:15.5px; font-weight:400; color:#1f2933;
  margin:0 0 16px; box-shadow:none;
  transition:border-color .16s ease, box-shadow .16s ease;
}
.wpcf7 textarea.wpcf7-form-control{ min-height:170px; resize:vertical; }
.wpcf7 input.wpcf7-form-control:focus,
.wpcf7 select.wpcf7-form-control:focus,
.wpcf7 textarea.wpcf7-form-control:focus{
  outline:none; border-color:#2f5675; box-shadow:0 0 0 3px rgba(47,86,117,.14);
}
.wpcf7 ::placeholder{ color:#8b98a6; opacity:1; }

/* przycisk wysyłki */
.wpcf7 .wpcf7-submit,
.wpcf7 input[type="submit"].wpcf7-form-control{
  display:inline-flex; align-items:center; justify-content:center;
  width:auto; max-width:none; margin:10px 0 0;
  background:#6f8f3f; color:#fbfdf7; border:0; border-radius:999px;
  padding:16px 34px;
  font-family:'Karla', "Plus Jakarta Sans", sans-serif; font-size:15px; font-weight:700; line-height:1;
  letter-spacing:.01em; cursor:pointer;
  box-shadow:0 14px 28px -20px rgba(31,41,51,.55);
  transition:background .16s ease, transform .16s ease;
}
.wpcf7 .wpcf7-submit:hover,
.wpcf7 input[type="submit"].wpcf7-form-control:hover{ background:#83a74e; color:#fbfdf7; transform:translateY(-2px); }
.wpcf7 .wpcf7-submit:focus-visible{ outline:2.5px solid #2f5675; outline-offset:3px; }
.wpcf7 .wpcf7-spinner{ margin:0 0 0 12px; vertical-align:middle; }

/* zgody / checkboxy */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item{ margin:0; }
.wpcf7 .wpcf7-list-item label{ display:flex; align-items:flex-start; gap:10px; font-weight:400; font-size:13.5px; color:#5a6b7a; }
.wpcf7 .wpcf7-list-item input[type="checkbox"]{ margin-top:3px; width:auto; }

/* komunikaty */
.wpcf7 .wpcf7-not-valid-tip{ color:#b3261e; font-size:13.5px; margin:-10px 0 14px; }
.wpcf7 .wpcf7-response-output{
  border:1px solid #e0e8f1 !important; border-radius:14px; background:#f7f9fc;
  padding:14px 18px !important; margin:20px 0 0 !important;
  font-family:'Karla', sans-serif; font-size:14.5px; color:#1f2933;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{ border-color:#e7b7b2 !important; background:#fdf4f3; }
.wpcf7 form.sent .wpcf7-response-output{ border-color:#bcd3a6 !important; background:#f2f7ec; }

/* =========================================================
   BREADCRUMBS (Yoast) — pasek pod menu na podstronach
   ========================================================= */
.nvc-crumbs{
  background:#f7f9fc;
  border-bottom:1px solid #edf1f6;
  font-family:'Karla', "Plus Jakarta Sans", sans-serif;
}
.nvc-crumbs p.nvc-crumbs__trail{
  margin:0; padding:13px 0;
  font-size:13.5px; line-height:1.5; color:#5a6b7a; text-align:left;
  white-space:nowrap; overflow-x:auto; scrollbar-width:none;
}
.nvc-crumbs p.nvc-crumbs__trail::-webkit-scrollbar{ display:none; }
.nvc-crumbs p.nvc-crumbs__trail a{ color:#2f5675; text-decoration:none; transition:color .16s ease; }
.nvc-crumbs p.nvc-crumbs__trail a:hover{ color:#6f8f3f; text-decoration:underline; }
.nvc-crumbs .breadcrumb_last{ color:#1f2933; font-weight:600; }

/* =========================================================
   OPINIE — sekcja wspólna (template-parts/opinie.php)
   ========================================================= */
.nvcHome .nvc-opinie{ border-top:1px solid var(--line-soft); }
.nvcHome .nvc-opinie__head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  margin-bottom:42px;
}
.nvcHome .nvc-opinie__nav{ display:flex; gap:10px; flex:0 0 auto; }
.nvcHome .nvc-opinie__arrow{
  width:50px; height:50px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--paper); color:var(--ink); border:1.5px solid var(--line); cursor:pointer; padding:0;
  transition:border-color .16s ease, color .16s ease, opacity .16s ease, transform .16s ease;
}
.nvcHome .nvc-opinie__arrow svg{ width:20px; height:20px; }
.nvcHome .nvc-opinie__arrow:hover:not(:disabled){ border-color:var(--sage); color:var(--sage); transform:translateY(-2px); }
.nvcHome .nvc-opinie__arrow:disabled{ opacity:.35; cursor:default; }
.nvcHome .nvc-opinie__arrow:focus-visible{ outline:2.5px solid var(--blue); outline-offset:3px; }

/* slider (Swiper) — 3 karty na desktopie, 2 na tablecie, 1 na telefonie */
.nvcHome .nvc-opinie__slider{ position:relative; }
.nvcHome .nvc-opinie__swiper{ overflow:hidden; padding:4px 2px; margin:0 -2px; }
.nvcHome .nvc-opinie__swiper .swiper-wrapper{ align-items:stretch; }
.nvcHome .nvc-opinie__swiper .swiper-slide{ height:auto; display:flex; }
.nvcHome .nvc-opinie__swiper .swiper-slide > .nvc-opinia{ width:100%; }

/* Kafelek wypełnia slajd — razem z align-items:stretch wyżej daje to równą
   wysokość także wtedy, gdyby skrypt slidera się nie uruchomił. */
.nvcHome .nvc-opinie__swiper .swiper-slide > .nvc-opinia{ flex:1 1 auto; }
.nvcHome .nvc-opinie__arrow.swiper-button-disabled{ opacity:.35; cursor:default; }
.nvcHome .nvc-opinie__arrow.swiper-button-lock{ display:none; }

.nvcHome .nvc-opinie__dots{
  position:static; display:flex; justify-content:center; gap:8px; margin-top:30px;
}
.nvcHome .nvc-opinie__dots.swiper-pagination-lock{ display:none; }
.nvcHome .nvc-opinie__dots .swiper-pagination-bullet{
  width:9px; height:9px; margin:0 !important; opacity:1;
  background:var(--line); transition:background .2s ease, width .2s ease;
}
.nvcHome .nvc-opinie__dots .swiper-pagination-bullet-active{ width:26px; border-radius:6px; background:var(--sage); }
@media (max-width:640px){
  .nvcHome .nvc-opinie__head{ margin-bottom:28px; }
  .nvcHome .nvc-opinie__arrow{ width:44px; height:44px; }
}

.nvcHome .nvc-opinia{
  display:flex; flex-direction:column;
  margin:0; padding:34px 30px 30px;
  background:var(--mist); border:1px solid var(--line-soft); border-radius:var(--radius);
}
.nvcHome .nvc-opinia__quote{ width:34px; height:26px; color:var(--sage); margin-bottom:18px; flex:0 0 auto; }
.nvcHome .nvc-opinia__text{ margin:0 0 26px; padding:0; border:0; flex:1 1 auto; }

/* Reguły przycinające długie opinie („Czytaj więcej”) celowo NIE są w tym pliku.
   Wstawiamy je bezpośrednio w kod strony (functions.php → cyberiusz_style_opinii),
   bo arkusze bywają łączone i buforowane przez wtyczki optymalizujące, przez co
   poprawki potrafią nie docierać do przeglądarki. Styl wstawiony w kod HTML
   trafia tam zawsze. */

.nvcHome .nvc-opinia__more{
  align-self:flex-start; background:none; border:0; padding:0 0 20px;
  margin:0 0 auto;                      /* podpis autora zostaje na dole kafelka */
  font:inherit; font-size:14.5px; font-weight:600; color:var(--sage);
  cursor:pointer; text-decoration:underline; text-underline-offset:3px;
}
.nvcHome .nvc-opinia__more:hover{ opacity:.75; }
.nvcHome .nvc-opinia__more:focus-visible{ outline:2.5px solid var(--blue); outline-offset:3px; border-radius:3px; }
.nvcHome .nvc-opinia__text p{ color:var(--ink); font-size:16.5px; line-height:1.7; margin:0 0 12px; }
.nvcHome .nvc-opinia__text p:last-child{ margin-bottom:0; }
.nvcHome .nvc-opinia__author{
  display:flex; align-items:center; gap:14px;
  padding-top:20px; border-top:1px solid var(--line);
}
.nvcHome .nvc-opinia__photo,
.nvcHome .nvc-opinia__initial{
  width:48px; height:48px; min-width:48px; border-radius:50%; object-fit:cover; margin:0;
}
.nvcHome .nvc-opinia__initial{
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--mist-2); color:var(--blue);
  font-family:'Fraunces', Georgia, serif; font-size:20px; font-weight:600;
}
.nvcHome .nvc-opinia__name{ display:block; font-family:'Fraunces', Georgia, serif; font-size:18px; font-weight:600; line-height:1.25; color:var(--ink); }
.nvcHome .nvc-opinia__role{ display:block; font-size:14px; line-height:1.4; color:var(--ink-soft); margin-top:3px; }

/* =========================================================
   KOTWICE sekcji strony głównej
   Płynne przewijanie + odstęp na przyklejone menu,
   żeby nagłówek sekcji nie chował się pod paskiem.
   ========================================================= */
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
.nvcHome section[id]{ scroll-margin-top:100px; }
@media (max-width:991px){ .nvcHome section[id]{ scroll-margin-top:90px; } }

/* =========================================================
   MENU — podkreślenie linków do sekcji strony głównej
   Reguła .current-menu-item a::before{width:100%!important}
   podkreślała też wszystkie linki w podmenu bieżącej pozycji
   („Strona główna” → #o-nas, #zespol …), więc na stronie głównej
   były podkreślone na stałe. Linki z kotwicą (#) oraz linki
   w podmenu bieżącej pozycji podkreślają się tylko po najechaniu.
   ========================================================= */
#customNav .current-menu-item .sub-menu a::before,
#customNav .current-menu-ancestor .sub-menu a[href*="#"]::before,
#customNav .menu-item > a[href*="#"]::before{
  width:0 !important;
}
#customNav .current-menu-item .sub-menu .current-menu-item > a:not([href*="#"])::before{
  width:100% !important;
}
#customNav .menu-item > a:hover::before,
#customNav .menu-item > a:focus-visible::before,
#customNav .current-menu-item .sub-menu a:hover::before,
#customNav .current-menu-item .sub-menu a:focus-visible::before,
#customNav .menu-item > a[href*="#"]:hover::before,
#customNav .menu-item > a[href*="#"]:focus-visible::before{
  width:100% !important;
}
