/*
Theme Name: Wave Tax
Theme URI: https://wavetax.pl
Author: Semidea / Fabryka stron
Description: Lekki motyw blokowy (FSE) dla Wave Tax - biuro rachunkowe dla spółek. Granat + złoto, Cormorant Garamond + Libre Franklin. Zbudowany na starterze fabryka-base, priorytet PageSpeed.
Version: 1.0.8
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: wave-tax
*/

/* ---- Baza (reszta wyglądu = theme.json + style inline w treści) ---- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { display: block; max-width: 100%; height: auto; }
a { text-decoration: none; }
::selection { background: #C8A063; color: #fff; }

/* Treść strony pełnej szerokości - sekcje same zarządzają szerokością/paddingiem */
.wt-page .wp-block-post-content { max-width: none; }
.wt-page .entry-content > * { margin-block: 0; }

/* Reveal on scroll (odpowiednik data-reveal z projektu).
   Ukryte domyslnie TYLKO na froncie (.wt-page na <body>) - JS ktory dodaje klase .in
   laduje sie wylacznie na froncie, wiec w edytorze blokow (.wt-page nie wystepuje
   na body iframe'a edytora) elementy maja zostac od razu widoczne, inaczej podglad
   bloku wyglada na pusty/rozwalony. */
.wt-page [data-reveal], .wt-page .wt-reveal { opacity: 0; transform: translateY(30px); transition: opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1); }
.wt-page [data-reveal].in, .wt-page .wt-reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .wt-page [data-reveal], .wt-page .wt-reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

/* Sticky na WRAPPERZE template-part (nie na wewnętrznym div — inaczej odkleja się
   po przewinięciu poza wysokość nagłówka). z-index nad treścią. */
.wt-page header.wp-block-template-part { position: sticky; top: 0; z-index: 60; }

/* Mega-menu (hover, sterowane JS) w nagłówku */
.wt-mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 55; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .25s, transform .25s, visibility .25s; }
.wt-mega.open { opacity: 1; visibility: visible; transform: none; }
.wt-mega-item:hover { background: #f5f1e8; }
@media (max-width: 900px) { .wt-mega { display: none !important; } }

/* Mobile menu */
.wt-mobile { position: fixed; inset: 0; z-index: 70; background: #0D1B2A; display: none; flex-direction: column; padding: 26px 26px 40px; overflow-y: auto; }
.wt-mobile.open { display: flex; }
body.wt-noscroll { overflow: hidden; }

/* FAQ accordion */
.wt-faq-a { overflow: hidden; max-height: 0; transition: max-height .4s ease; }
.wt-faq-item.open .wt-faq-a { max-height: 480px; }

/* ---- Responsywność (port z projektu) ---- */
@media (max-width: 900px) {
  .wt-nav, .wt-nav-core, .wt-cta-wrap { display: none !important; }
  .wt-burger { display: flex !important; }
  .wt-sec { padding: 72px 22px !important; }
  .wt-grid-4 { grid-template-columns: 1fr 1fr !important; }
  .wt-grid-3 { grid-template-columns: 1fr !important; }
  .wt-services { grid-template-columns: 1fr !important; }
  .wt-services-big { grid-row: auto !important; }
  .wt-2col { grid-template-columns: 1fr !important; }
  .wt-hero-grid { grid-template-columns: 1fr !important; gap: 44px !important; }
  .wt-two-photo { grid-template-columns: 1fr !important; gap: 44px !important; }
  .wt-two-photo .wt-photo-side { min-height: 340px !important; order: -1; }
  .wt-h2 { font-size: 38px !important; }
  .wt-hero-h1 { font-size: 52px !important; }
  .wt-hide-m { display: none !important; }
  .wt-foot-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
  .wt-grid-4 { grid-template-columns: 1fr !important; }
  .wt-hero-h1 { font-size: 38px !important; }
  .wt-h2 { font-size: 30px !important; }
  .wt-foot-grid { grid-template-columns: 1fr !important; }
  .wt-ctas { flex-direction: column !important; align-items: stretch !important; }
}

/* ---- Stopka złożona z bloków core (parts/footer.html) ---- */
.wt-foot { background: #08111c; color: rgba(230,233,238,.72); padding: 80px 40px 34px; }
.wt-foot-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 44px; padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,.1); margin: 0; }
.wt-foot-grid.is-layout-flex { display: grid; }               /* nadpisz flex bloku core/columns */
.wt-foot-grid > .wp-block-column { flex-basis: auto; }        /* grid rządzi szerokościami */
.wt-foot .wt-logo-white { margin: 0 0 22px; }
.wt-foot .wt-logo-white img { height: 64px; width: auto; filter: brightness(0) invert(1); }
.wt-foot .wt-foot-desc { font-size: 13.5px; line-height: 1.7; max-width: 300px; font-weight: 300; margin: 0; color: rgba(230,233,238,.72); }
.wt-foot .wt-foot-h { font-family: 'Libre Franklin', system-ui, sans-serif; color: #fff; font-size: 12px; letter-spacing: .16em; font-weight: 600; margin: 0 0 20px; text-transform: uppercase; }
.wt-foot .wt-foot-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; font-size: 14px; }
.wt-foot .wt-foot-links a { color: rgba(230,233,238,.72); }
.wt-foot .wt-foot-links a:hover { color: #fff; }
.wt-foot .wt-news-form { display: flex; border-bottom: 1px solid rgba(255,255,255,.25); margin: 0; }
.wt-foot .wt-foot-note { margin: 14px 0 0; font-size: 11px; color: rgba(230,233,238,.4); }
.wt-foot-bottom { padding-top: 26px; font-size: 12px; color: rgba(230,233,238,.45); gap: 14px; }
.wt-foot-bottom .wt-foot-copy { margin: 0; font-size: 12px; color: rgba(230,233,238,.45); }
.wt-foot-bottom .wt-foot-legal { list-style: none; margin: 0; padding: 0; display: flex; gap: 26px; font-size: 12px; }
.wt-foot-bottom .wt-foot-legal a { color: rgba(230,233,238,.55); }
.wt-foot-bottom .wt-foot-legal a:hover { color: #fff; }

/* ---- Belka nagłówka z bloków core (parts/header.html) ---- */
.wt-head { position: relative; padding: 18px 0; background: rgba(246,247,249,0); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: padding .35s, background .35s, box-shadow .35s; }
.wt-head-in { max-width: 1240px; margin: 0 auto; padding: 0 40px; gap: 24px; align-items: center; flex-wrap: nowrap; }
.wt-head-right { align-items: center; gap: 28px; flex-wrap: nowrap; }
.wt-head .wt-logo { margin: 0; line-height: 0; }
.wt-head .wt-logo img { height: 60px; width: auto; display: block; filter: brightness(0) invert(1); }
.wt-head .wt-nav-core .wp-block-navigation__container { gap: 30px; flex-wrap: nowrap; align-items: center; }
.wt-head .wt-nav-core .wp-block-navigation-item__content { color: #fff; font-size: 13px; letter-spacing: .06em; font-weight: 500; padding: 0; transition: color .35s; }
.wt-head .wt-nav-core a[href*="#mega-"]::after { content: "▾"; font-size: 9px; margin-left: 6px; display: inline-block; }
.wt-head .wt-cta-wrap { margin: 0; }
.wt-head .wt-cta .wp-block-button__link { background: #C8A063; color: #0D1B2A; padding: 12px 22px; font-size: 12px; letter-spacing: .14em; font-weight: 600; border-radius: 0; transition: background .25s; }
.wt-head .wt-cta .wp-block-button__link:hover { background: #b7904f; }

/* ---- Treść stron z bloków core (wp_pages/wave-tax/*.html) ---- */
.wt-page .wp-block-post-content > * { margin-block: 0; }
.wt-sec { padding: 120px 40px; }
.wt-sec > * { margin-block: 0; }
.wt-eyebrow { color: #C8A063; font-size: 12px; letter-spacing: .28em; font-weight: 600; margin: 0; }
.wt-h2 { font-size: clamp(38px, 4.4vw, 52px); line-height: 1.08; margin: 18px 0 0; }
.wt-lead { font-size: 16px; line-height: 1.75; color: #55617a; font-weight: 300; margin: 20px 0 0; max-width: 520px; }
.wt-lead-sm { max-width: 340px; font-size: 14.5px; margin: 0; }
.wt-lead-center { max-width: 600px; margin: 20px auto 0; }
/* dwie kolumny tekst+zdjęcie */
.wt-two-photo, .wt-2col { gap: 70px; align-items: center; }
.wt-photo-side { position: relative; min-height: 520px; }
.wt-photo-side.wt-photo-sm { min-height: 400px; }
.wt-photo-side .wt-cover { position: absolute; inset: 0; margin: 0; height: 100%; }
.wt-photo-side .wt-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wt-badge { position: absolute; background: #0D1B2A; color: #fff; padding: 20px 26px; max-width: 210px; z-index: 2; }
.wt-badge div { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 600; line-height: 1.08; }
.wt-badge-tr { right: -1px; top: -1px; }
.wt-badge-bl { left: -1px; bottom: -1px; }
.wt-badge-gold { background: #C8A063; color: #0D1B2A; }
/* rzędy cech */
.wt-feats { margin-top: 20px; }
.wt-feat { display: flex; gap: 20px; padding: 22px 0; border-top: 1px solid #e0e5ec; align-items: flex-start; }
.wt-feat-ic { flex: 0 0 auto; width: 40px; height: 40px; border: 1px solid #C8A063; display: flex; align-items: center; justify-content: center; }
.wt-feat-ic > span { width: 9px; height: 9px; background: #C8A063; transform: rotate(45deg); display: block; }
.wt-feat-h { font-size: 22px; font-weight: 600; margin: 0 0 5px; line-height: 1.2; }
.wt-feat-p { font-size: 14px; line-height: 1.65; color: #55617a; margin: 0; font-weight: 300; }
/* pigułki branż */
.wt-pills { gap: 18px; margin-top: 64px; }
.wt-pill { background: #fff; border: 1px solid #dfe4ea; padding: 26px 32px; font-family: 'Cormorant Garamond', serif; font-size: 23px; font-weight: 600; color: #0D1B2A; white-space: nowrap; margin: 0; display: flex; align-items: center; gap: 16px; }
.wt-pill::before { content: ""; width: 8px; height: 8px; background: #C8A063; transform: rotate(45deg); display: block; flex: 0 0 auto; }
/* nagłówek sekcji z linkiem */
.wt-sec-head { gap: 20px; margin-bottom: 56px; }
.wt-morelink { margin: 0; }
.wt-morelink a { color: #0D1B2A; font-size: 13px; letter-spacing: .1em; font-weight: 600; border-bottom: 1px solid #C8A063; padding-bottom: 4px; }
/* siatka usług */
.wt-services { gap: 20px; align-items: stretch; }
.wt-services > .wp-block-column:last-child { display: flex; flex-direction: column; gap: 20px; }
.wt-services-big { background: #0D1B2A; color: #fff; padding: 52px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; min-height: 420px; }
.wt-svc-deco { position: absolute; right: -40px; bottom: -30px; opacity: .5; pointer-events: none; }
.wt-svc-num { font-size: 12px; letter-spacing: .2em; color: #C8A063; font-weight: 600; margin: 0; }
.wt-svc-big-h { font-size: 44px; font-weight: 500; margin: 20px 0 0; line-height: 1.05; color: #fff; position: relative; }
.wt-svc-big-p { font-size: 15.5px; line-height: 1.8; color: rgba(230,233,238,.8); max-width: 420px; margin: 28px 0 0; font-weight: 300; position: relative; }
.wt-scard { background: #fff; border: 1px solid #dfe4ea; padding: 36px; }
.wt-scard-h { font-size: 27px; font-weight: 600; margin: 12px 0 10px; color: #0D1B2A; }
.wt-scard-p { font-size: 14px; line-height: 1.7; color: #55617a; margin: 0; font-weight: 300; }
/* kroki */
.wt-step { display: flex; gap: 22px; padding: 20px 0; border-top: 1px solid #d5dbe2; align-items: flex-start; }
.wt-step-n { font-family: 'Cormorant Garamond', serif; font-size: 24px; color: #C8A063; font-weight: 600; flex: 0 0 auto; width: 38px; margin: 0; }
.wt-step-h { font-family: 'Libre Franklin', system-ui, sans-serif; font-size: 16px; font-weight: 600; margin: 2px 0 6px; color: #0D1B2A; }
.wt-step-p { font-size: 14px; line-height: 1.6; color: #55617a; margin: 0; font-weight: 300; }
/* karty poradnika */
.wt-grid-3.wt-cards { gap: 30px; }
.wt-card { background: #fff; border: 1px solid #e2e6ec; border-top: 2px solid #0D1B2A; padding: 34px 30px 32px; display: flex; flex-direction: column; min-height: 280px; }
.wt-card-cat { font-size: 11px; letter-spacing: .2em; color: #C8A063; font-weight: 600; margin: 0; }
.wt-card-h { font-size: 25px; font-weight: 600; line-height: 1.2; margin: 16px 0 12px; }
.wt-card-h a { color: #0D1B2A; }
.wt-card-p { font-size: 14px; line-height: 1.65; color: #55617a; margin: 0; font-weight: 300; }
.wt-card-more { margin: auto 0 0; padding-top: 22px; }
.wt-card-more a { font-size: 12px; letter-spacing: .12em; color: #0D1B2A; font-weight: 600; }
/* FAQ (core/details) */
.wt-faq-head { text-align: center; margin-bottom: 56px; }
.wt-faq2 { border-bottom: 1px solid #d5dbe2; }
.wt-faqi { border-top: 1px solid #d5dbe2; }
.wt-faqi summary { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 600; color: #0D1B2A; line-height: 1.25; padding: 26px 0; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.wt-faqi summary::-webkit-details-marker { display: none; }
.wt-faqi summary::after { content: "+"; font-family: 'Cormorant Garamond', serif; font-size: 30px; color: #C8A063; line-height: 1; flex: none; }
.wt-faqi[open] summary::after { content: "\2212"; }
.wt-faqi p { font-size: 15px; line-height: 1.75; color: #55617a; margin: 0; padding: 0 0 28px; max-width: 680px; font-weight: 300; }
/* CTA końcowe */
.wt-cta-sec { padding: 130px 40px; text-align: center; position: relative; overflow: hidden; }
.wt-cta-sec > :not(.wt-cta-deco) { position: relative; z-index: 1; }
.wt-cta-deco { position: absolute; inset: 0; pointer-events: none; opacity: .5; }
.wt-cta-deco svg { width: 100%; height: 100%; }
.wt-cta-h { font-size: clamp(44px, 5.4vw, 64px); line-height: 1.02; margin: 22px 0 0; color: #fff; }
.wt-cta-p { font-size: 18px; color: rgba(230,233,238,.82); margin: 24px 0 40px; font-weight: 300; }
.wt-cta-btn .wp-block-button__link { background: #C8A063; color: #0D1B2A; padding: 19px 46px; font-size: 13px; letter-spacing: .16em; font-weight: 700; border-radius: 0; }
/* strony usług: siatka „Co obejmuje" */
.wt-ocards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.wt-ocard { position: relative; background: #fff; padding: 38px 32px 34px; border: 1px solid #e2e6ec; overflow: hidden; }
.wt-ocard > * { margin-block: 0; }
.wt-ocard-num { position: absolute; top: 16px; right: 24px; font-family: 'Cormorant Garamond', serif; font-size: 64px; font-weight: 600; color: #eef1f6; line-height: 1; pointer-events: none; }
.wt-ocard-ic { position: relative; display: flex; width: 52px; height: 52px; background: #0D1B2A; align-items: center; justify-content: center; margin-bottom: 22px; }
.wt-ocard-h { position: relative; font-size: 23px; font-weight: 600; margin: 0 0 9px; color: #0D1B2A; }
.wt-ocard-p { position: relative; font-size: 14px; line-height: 1.65; color: #55617a; margin: 0; font-weight: 300; }
/* strony usług: „Komu" lista */
.wt-komu .wt-feat-h { font-size: 21px; margin: 0 0 4px; }
.wt-komu .wt-feat-p { font-size: 14px; line-height: 1.6; }
/* strony usług: kroki (ciemna sekcja) */
.wt-stepsec { text-align: center; }
.wt-stepsec .wt-h2 { color: #fff; }
.wt-stepgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 44px 0; position: relative; margin-top: 64px; }
.wt-stepgrid::before { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 33px; height: 1px; background: linear-gradient(90deg, transparent, rgba(200,160,99,.55), transparent); z-index: 0; }
.wt-stepc { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 16px; position: relative; z-index: 1; }
.wt-stepc > * { margin-block: 0; }
.wt-stepc-n { width: 66px; height: 66px; border: 1px solid #C8A063; background: #0D1B2A; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 24px; font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 600; color: #C8A063; }
.wt-stepc-h { font-size: 22px; font-weight: 600; margin: 0 0 8px; color: #fff; }
.wt-stepc-p { font-size: 14px; line-height: 1.6; color: rgba(230,233,238,.7); margin: 0; font-weight: 300; max-width: 230px; }
/* strony usług: hero dwa CTA */
.wt-ctas { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 34px; }

/* --- Cennik: pakiety --- */
.wt-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; align-items: stretch; margin-top: 60px; }
.wt-plan { position: relative; overflow: hidden; background: #fff; border: 1px solid #e2e6ec; padding: 44px 36px 38px; display: flex; flex-direction: column; }
.wt-plan > * { margin-block: 0; }
.wt-plan-feat { background: #0D1B2A; border-color: #0D1B2A; box-shadow: 0 30px 70px rgba(13,27,42,.28); transform: translateY(-8px); }
.wt-plan-badge { position: absolute; top: 0; right: 0; background: #C8A063; color: #0D1B2A; font-size: 10.5px; letter-spacing: .16em; font-weight: 700; padding: 8px 16px; margin: 0; }
.wt-plan-cat { font-size: 11px; letter-spacing: .2em; color: #C8A063; font-weight: 600; margin: 0; }
.wt-plan-h { font-family: 'Cormorant Garamond', serif; font-size: 32px; font-weight: 600; margin: 14px 0 6px; color: #0D1B2A; }
.wt-plan-desc { font-size: 13.5px; line-height: 1.55; color: #55617a; margin: 0 0 26px; font-weight: 300; }
.wt-plan-from { font-size: 12px; color: #55617a; font-weight: 400; margin: 0; }
.wt-plan-price { font-family: 'Cormorant Garamond', serif; font-size: 48px; font-weight: 600; color: #0D1B2A; line-height: 1; margin: 2px 0 0; padding-bottom: 26px; border-bottom: 1px solid #e2e6ec; }
.wt-plan-feats { list-style: none; margin: 20px 0 30px; padding: 0; }
.wt-plan-feats li { position: relative; padding: 11px 0 11px 28px; border-top: 1px solid #eef1f5; font-size: 13.5px; line-height: 1.5; color: #55617a; font-weight: 300; }
.wt-plan-feats li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 13px; height: 7px; border-left: 2px solid #C8A063; border-bottom: 2px solid #C8A063; transform: rotate(-45deg); }
.wt-plan-cta { margin-top: auto; }
.wt-plan-cta .wp-block-button__link { display: block; width: 100%; text-align: center; background: #0D1B2A; color: #fff; padding: 15px; font-size: 11.5px; letter-spacing: .14em; font-weight: 700; border-radius: 0; }
.wt-plan-cta-gold .wp-block-button__link { background: #C8A063; color: #0D1B2A; }
.wt-plan-feat .wt-plan-h { color: #fff; }
.wt-plan-feat .wt-plan-desc, .wt-plan-feat .wt-plan-from { color: rgba(230,233,238,.72); }
.wt-plan-feat .wt-plan-price { color: #fff; border-bottom-color: rgba(200,160,99,.35); }
.wt-plan-feat .wt-plan-feats li { color: rgba(230,233,238,.72); border-top-color: rgba(255,255,255,.1); }
.wt-plans-note { text-align: center; font-size: 12.5px; color: #93a0b3; margin: 34px auto 0; max-width: 640px; font-weight: 300; }

/* --- Cennik: usługi dodatkowe --- */
.wt-addonsec { background: #eef1f5; }
.wt-addons { border-bottom: 1px solid #e0e5ec; margin: 44px 0 0; }
.wt-addons > * { margin-block: 0; }
.wt-addon { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; border-top: 1px solid #e0e5ec; }
.wt-addon > * { margin-block: 0; }
.wt-addon-h { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 600; margin: 0 0 4px; color: #0D1B2A; }
.wt-addon-p { font-size: 13.5px; line-height: 1.55; color: #55617a; margin: 0; font-weight: 300; max-width: 520px; }
.wt-addon-price { flex: 0 0 auto; text-align: right; }
.wt-addon-price > * { margin-block: 0; }
.wt-addon-from { font-size: 11px; color: #93a0b3; margin: 0; font-weight: 400; }
.wt-addon-amt { font-family: 'Cormorant Garamond', serif; font-size: 28px; font-weight: 600; color: #C8A063; white-space: nowrap; margin: 0; }
.wt-addons-note { font-size: 12.5px; color: #93a0b3; margin: 26px 0 0; font-weight: 300; }

/* --- Kontakt: kafle danych --- */
.wt-ktiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.wt-ktile { background: #fff; border: 1px solid #e2e6ec; padding: 30px 28px; }
.wt-ktile > * { margin-block: 0; }
.wt-ktile-ic { display: flex; width: 48px; height: 48px; background: #0D1B2A; align-items: center; justify-content: center; margin-bottom: 20px; }
.wt-ktile-cat { font-size: 11px; letter-spacing: .2em; color: #C8A063; font-weight: 600; margin: 0 0 8px; }
.wt-ktile-h { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 600; color: #0D1B2A; line-height: 1.25; margin: 0; }
.wt-ktile-sub { font-size: 13px; color: #55617a; margin: 5px 0 0; font-weight: 300; }

/* --- CTA hero (ciemna, z falą) --- */
.wt-ctahero { background: #08111c; color: #fff; padding: 120px 40px; text-align: center; position: relative; overflow: hidden; }
.wt-ctahero > :not(.wt-cta-deco) { position: relative; z-index: 1; }
.wt-ctahero .wt-cta-h { color: #fff; }

/* responsywność sekcji core */
@media (max-width: 900px) {
  .wt-sec { padding: 72px 22px !important; }
  .wt-two-photo, .wt-2col, .wt-services, .wt-sec-head { flex-wrap: wrap !important; }
  .wt-two-photo > .wp-block-column, .wt-2col > .wp-block-column, .wt-services > .wp-block-column { flex-basis: 100% !important; }
  .wt-grid-3.wt-cards { flex-wrap: wrap !important; }
  .wt-grid-3.wt-cards > .wp-block-column { flex-basis: 100% !important; }
  .wt-ocards { grid-template-columns: 1fr 1fr; }
  .wt-stepgrid { grid-template-columns: 1fr 1fr; }
  .wt-stepgrid::before { display: none; }
  .wt-cta-h { font-size: 40px; }
  .wt-plans { grid-template-columns: 1fr; }
  .wt-plan-feat { transform: none; }
  .wt-ktiles { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .wt-ocards { grid-template-columns: 1fr; }
  .wt-stepgrid { grid-template-columns: 1fr; }
  .wt-ktiles { grid-template-columns: 1fr; }
  .wt-addon { flex-wrap: wrap; gap: 10px; }
  .wt-addon-price { text-align: left; }
}

/* ---- Hero (strona glowna) - blok wavetax/hero ---- */
.wt-hero { position: relative; min-height: 94vh; display: flex; align-items: center; overflow: hidden; background: #0D1B2A; margin-top: -96px; padding-top: 96px; } /* -96px = realna wysokosc headera w spoczynku (60px logo + 18px+18px padding .wt-head), nie 78px */
.wt-hero-bg { position: absolute; top: -8%; left: 0; right: 0; height: 116%; z-index: 0; will-change: transform; }
.wt-hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(100deg, rgba(8,16,26,.94) 0%, rgba(8,16,26,.8) 42%, rgba(8,16,26,.42) 78%, rgba(8,16,26,.28) 100%); pointer-events: none; }
.wt-hero-in { position: relative; z-index: 2; max-width: 1240px; margin: 0 auto; padding: 112px 40px 132px; width: 100%; }
.wt-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: center; }
.wt-hero-kicker { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.wt-hero-kicker span:first-child { width: 38px; height: 1px; background: #C8A063; display: block; }
.wt-hero-kicker span:last-child { color: #C8A063; font-size: 12px; letter-spacing: .34em; font-weight: 600; }
.wt-hero-h1 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 72px; line-height: 1.03; color: #fff; margin: 0; letter-spacing: -.01em; }
.wt-hero-sub { color: #C8A063; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 25px; margin: 22px 0 0; }
.wt-hero-p { color: rgba(230,233,238,.78); font-size: 16px; line-height: 1.75; max-width: 500px; margin: 22px 0 0; font-weight: 300; }
.wt-hero-badges { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 34px; }
.wt-hero-badge { display: flex; align-items: center; gap: 10px; color: rgba(230,233,238,.9); font-size: 13.5px; letter-spacing: .02em; }
.wt-hero-badge::before { content: ""; width: 7px; height: 7px; background: #C8A063; transform: rotate(45deg); display: block; flex: 0 0 auto; }
.wt-hero-wave { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 90px; overflow: hidden; pointer-events: none; }
.wt-hero-wave svg { width: 100%; height: 90px; display: block; }
@media (max-width: 900px) { .wt-hero-grid { grid-template-columns: 1fr; gap: 44px; } }

/* ---- Karta formularza LeadRadar (hero + kontakt) ---- */
.wt-formcard { background: #fff; padding: 40px 38px 36px; box-shadow: 0 34px 80px rgba(0,0,0,.4); }
.wt-formcard-h { font-family: 'Cormorant Garamond', serif; font-size: 29px; font-weight: 600; margin: 0; color: #0D1B2A; line-height: 1.1; }
.wt-formcard-p { font-size: 13.5px; line-height: 1.6; color: #55617a; margin: 12px 0 26px; font-weight: 300; }
.wt-formcard-note { font-size: 10.5px; line-height: 1.5; color: #93a0b3; margin: 14px 0 0; font-weight: 300; }
.wt-formcard.wt-formcard-plain { background: transparent; padding: 0; box-shadow: none; }
.wt-formcard.wt-formcard-plain .wt-formcard-h { font-size: 24px; }
.wt-formcard.wt-formcard-plain .wt-formcard-note { color: #93a0b3; }

/* ---- Pasek statystyk (strona glowna) - blok wavetax/stats-bar ---- */
.wt-stats-sec { position: relative; background: #0D1B2A; color: #fff; padding: 110px 40px; overflow: hidden; }
.wt-stats-wave { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); opacity: .6; pointer-events: none; }
.wt-stats-wave svg { width: 100%; height: 220px; display: block; }
.wt-stats-grid { position: relative; max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; text-align: center; }
.wt-stat + .wt-stat { border-left: 1px solid rgba(255,255,255,.12); }
.wt-stat-v { font-family: 'Cormorant Garamond', serif; font-size: 84px; font-weight: 500; color: #C8A063; line-height: 1; }
.wt-stat-v.wt-stat-v-plain { color: #fff; }
.wt-stat-l { font-size: 12px; letter-spacing: .24em; margin-top: 12px; color: rgba(230,233,238,.75); }
@media (max-width: 900px) { .wt-stats-grid { grid-template-columns: 1fr; gap: 44px; } .wt-stat + .wt-stat { border-left: none; border-top: 1px solid rgba(255,255,255,.12); padding-top: 30px; } }

/* ---- Sekcja kontaktowa (strona glowna) - blok wavetax/contact-section ---- */
.wt-contact-sec { padding: 120px 40px; background: #eef1f5; }
.wt-contact-in { max-width: 1240px; margin: 0 auto; }
.wt-contact-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; }
.wt-contact-kicker { color: #C8A063; font-size: 12px; letter-spacing: .28em; font-weight: 600; }
.wt-contact-h2 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 52px; line-height: 1.05; margin: 18px 0 0; color: #0D1B2A; display: block; }
.wt-contact-p { font-size: 17px; color: #55617a; margin: 24px 0 44px; font-weight: 300; }
.wt-contact-rows { display: flex; flex-direction: column; gap: 26px; }
.wt-contact-row { display: flex; gap: 16px; align-items: baseline; }
.wt-contact-row-label { font-size: 11px; letter-spacing: .2em; color: #C8A063; font-weight: 600; width: 90px; flex: 0 0 auto; }
.wt-contact-row-val { font-family: 'Cormorant Garamond', serif; font-size: 24px; color: #0D1B2A; }
@media (max-width: 900px) { .wt-contact-grid { grid-template-columns: 1fr; gap: 44px; } }

/* ---- Reskin formularza LeadRadar wewnatrz .wt-formcard (dopasowanie do designu) ----
   Wtyczka steruje kolorami przez CSS custom properties + klasy wariantow per-formularz
   (np. .style-minimal, .shadow-medium) o TAKIEJ SAMEJ liczbie klas w selektorze co
   nasz pierwszy wariant nadpisania, a jej arkusz laduje sie PO naszym w <head> -
   przy remisie specyficznosci wygrywalaby wtyczka. Dlatego celowo powtarzamy
   ".wt-formcard" (podbicie specyficznosci bez zmiany dzialania selektora), zeby
   wygrywac niezaleznie od tego, jaki wariant stylu/cienia ma dany formularz. */
.wt-formcard.wt-formcard .leadradar-form-wrapper {
  /* !important, bo niektore formularze maja te zmienne ustawione INLINE przez
     wtyczke (per-formularz kolor akcentu) - zwykla regula w arkuszu by tego nie zbila. */
  --lr-accent-color: #C8A063 !important;
  --lr-bg-color: transparent !important;
  --lr-input-bg: transparent !important;
  --lr-input-border: #c2cad3 !important;
  --lr-label-color: #0D1B2A !important;
  --lr-placeholder-color: #93a0b3 !important;
  --lr-text-color: #0D1B2A !important;
  --lr-border-radius: 0px !important;
  --lr-shadow: none !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-form-container {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-form-inner { padding: 0 !important; }
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-form { gap: 18px !important; }
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-form-header { margin-bottom: 0 !important; }
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-form-title,
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-form-subtitle { display: none !important; } /* naglowek/opis mamy juz w karcie (wt-formcard-h/p) */
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-field > label {
  font-family: 'Libre Franklin', system-ui, sans-serif !important;
  font-size: 10.5px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #0D1B2A !important;
}
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-field input[type="text"],
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-field input[type="email"],
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-field input[type="tel"],
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-field input[type="url"],
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-field input[type="number"],
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-field textarea,
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-field select {
  border: none !important;
  border-bottom: 1px solid #c2cad3 !important;
  border-radius: 0 !important;
  padding: 9px 0 !important;
  font-size: 15px !important;
  background: transparent !important;
  box-shadow: none !important;
}
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-field input:focus,
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-field textarea:focus,
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-field select:focus {
  box-shadow: none !important;
  border-bottom-color: #C8A063 !important;
}
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-submit-btn,
.wt-formcard.wt-formcard .leadradar-form-wrapper button.leadradar-submit-btn {
  background: #0D1B2A !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 17px !important;
  font-size: 12.5px !important;
  letter-spacing: .16em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  border: none !important;
  box-shadow: none !important;
  margin-top: 6px !important;
}
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-submit-btn:hover,
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-submit-btn:focus { background: #b7904f !important; color: #0D1B2A !important; }
.wt-formcard.wt-formcard .leadradar-form-wrapper .leadradar-info-text { font-size: 10.5px !important; color: #93a0b3 !important; }

/* ---- Fix: globalny blockGap (theme.json) dodaje 40px odstepu miedzy headerem
   a <main> - pokazuje jasne tlo strony (--tlo) w tej szczelinie, przez co gorna
   krawedz strony wyglada na "biala" zamiast plynnie laczyc sie z ciemnym hero. */
.wp-site-blocks > .wt-main { margin-block-start: 0 !important; }
/* WAZNE: powyzsza regula (pinning margin-top na .wt-main) BLOKOWALA tez collapsing
   z ujemnym marginesem .wt-hero (margin-top:-96px nizej w drzewie) - oba mechanizmy
   "walczyly" o ten sam margines, wiec efektywnie hero w ogole sie nie podciagalo
   (potwierdzone: getComputedStyle(.wt-hero).marginTop zwracalo 0px mimo poprawnej
   reguly w CSS). Fix: `display:flow-root` na .wt-main tworzy nowy kontekst
   formatowania bloku (BFC) - odciecie margin collapsingu MIEDZY .wt-main a jego
   potomkami na zewnatrz .wt-main, ale bez clipowania overflow w srodku (w
   przeciwienstwie do overflow:hidden) - dzieki temu ujemny margines .wt-hero
   nadal "wystaje" ponad .wt-main i wizualnie podciaga sie pod header. */
.wt-main { display: flow-root; }
/* Prawdziwa przyczyna margin-top:0px na .wt-hero (potwierdzone w DevTools) to NIE
   collapsing, tylko zwykla specyficznosc CSS: `.wt-page .entry-content > * { margin-block: 0; }`
   (2 klasy) bije `.wt-hero { margin-top:-96px }` (1 klasa) niezaleznie od kolejnosci w pliku.
   Fix: bardziej specyficzny selektor dla samego hero. */
.wt-page .entry-content > .wt-hero { margin-top: -96px; }

/* ---- wavetax/service-hero (podstrony uslugowe) - reuzywa .wt-hero-* ---- */
.wt-svchero { min-height: 72vh; }
.wt-svchero-crumbs { display: flex; flex-wrap: wrap; gap: 9px; font-size: 12px; letter-spacing: .05em; color: rgba(230,233,238,.55); margin-bottom: 24px; }
.wt-svchero-crumbs a { color: rgba(230,233,238,.55); text-decoration: none; }
.wt-svchero-crumbs a:hover { color: #fff; }
.wt-svchero-crumb-cat { color: #C8A063; }
.wt-svchero-crumb-cur { color: #fff; }
.wt-svchero-ctas { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 34px; }
.wt-svchero-cta-primary { background: #C8A063; color: #0D1B2A; padding: 16px 32px; font-size: 12.5px; letter-spacing: .16em; font-weight: 700; text-decoration: none; display: inline-block; transition: background .3s; }
.wt-svchero-cta-primary:hover { background: #b7904f; }
.wt-svchero-cta-secondary { border: 1px solid rgba(255,255,255,.4); color: #fff; padding: 16px 32px; font-size: 12.5px; letter-spacing: .16em; font-weight: 600; text-decoration: none; display: inline-block; transition: border-color .3s, background .3s; }
.wt-svchero-cta-secondary:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.wt-page .entry-content > .wt-svchero { margin-top: -96px; } /* ta sama poprawka specyficznosci co .wt-hero, bo .wt-svchero to modyfikator na tym samym elemencie */

/* ---- wavetax/contact-map (strona Kontakt: formularz + mapa) ---- */
.wt-contact-map-sec { padding: 60px 40px 110px; max-width: 1240px; margin: 0 auto; }
.wt-contact-map-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: stretch; }
.wt-contact-map-frame { position: relative; min-height: 520px; border: 1px solid #e2e6ec; overflow: hidden; }
.wt-contact-map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.35) contrast(1.05); }
@media (max-width: 900px) { .wt-contact-map-grid { grid-template-columns: 1fr; } }

/* ---- wavetax/newsletter-form (stopka) - kondensacja formularza LeadRadar do 1 wiersza ---- */
.wt-news-form-wrap .leadradar-form-wrapper { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
.wt-news-form-wrap .leadradar-form-container { padding: 0 !important; }
.wt-news-form-wrap .leadradar-form-title,
.wt-news-form-wrap .leadradar-form-subtitle { display: none !important; }
.wt-news-form-wrap .leadradar-form { display: flex !important; align-items: center !important; gap: 8px !important; border-bottom: 1px solid rgba(255,255,255,.25) !important; margin: 0 !important; }
.wt-news-form-wrap .leadradar-field { flex: 1; margin: 0 !important; }
.wt-news-form-wrap .leadradar-field > label { display: none !important; }
.wt-news-form-wrap .leadradar-field input {
	background: transparent !important; border: 0 !important; padding: 10px 0 !important;
	font-size: 14px !important; color: #fff !important; outline: none !important; width: 100%;
}
.wt-news-form-wrap .leadradar-field input::placeholder { color: rgba(230,233,238,.5) !important; }
.wt-news-form-wrap .leadradar-submit-btn {
	background: none !important; border: 0 !important; color: #C8A063 !important;
	font-size: 13px !important; letter-spacing: .12em !important; font-weight: 600 !important;
	padding: 0 4px !important; cursor: pointer; white-space: nowrap;
}
.wt-news-form-wrap .leadradar-submit-btn:hover { color: #fff !important; }
.wt-news-form-wrap .leadradar-info-text { display: none !important; }
