/* Motyw „benefitlex”: odwzorowanie wyglądu benefitlex.pl bez Avady i jQuery. Wartości zmierzone na działającej stronie (1440 px).
   Czcionki: Josefin Sans i Lato (licencje OFL, assets/fonts/LICENSE-*-OFL.txt) i czcionka ikon BenefitLex (z dotychczasowej strony). */
@font-face { font-family: 'Josefin Sans'; font-style: normal; font-weight: 100 700; font-display: swap; src: url(/assets/fonts/josefin-sans-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Josefin Sans'; font-style: normal; font-weight: 100 700; font-display: swap; src: url(/assets/fonts/josefin-sans-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 300; font-display: swap; src: url(/assets/fonts/lato-latin-ext-300.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 300; font-display: swap; src: url(/assets/fonts/lato-latin-300.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/lato-latin-ext-400.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/lato-latin-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/lato-latin-ext-700.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/lato-latin-700.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'BenefitLex'; font-style: normal; font-weight: normal; font-display: block; src: url(/assets/fonts/benefitlex-icons.woff) format('woff'); }

:root { --bx-teal: #16aacd; --bx-grey: #a5b2b5; --bx-ink: #212934; --bx-bg: #f6f7f7; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: 'Josefin Sans', sans-serif; font-size: 18px; line-height: 1.45; font-weight: 300; letter-spacing: -0.015em; color: #000; background: #fff; overflow-x: hidden; }
img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
a { color: var(--bx-teal); text-decoration: none; }
a:hover { color: var(--bx-grey); }
p { margin: 0 0 20px; }
ul, ol { margin: 0 0 20px; padding-left: 20px; }
b, strong { font-weight: 500; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 500; line-height: 1.1; letter-spacing: normal; color: #000; }
.bx-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; white-space: nowrap; }
[hidden] { display: none !important; }

.bx-i { font-family: 'BenefitLex' !important; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; display: inline-block; -webkit-font-smoothing: antialiased; }
.bx-i-briefcase::before { content: '\e900'; } .bx-i-check::before { content: '\e901'; } .bx-i-clock::before { content: '\e902'; } .bx-i-email::before { content: '\e903'; }
.bx-i-home::before { content: '\e904'; } .bx-i-phone::before { content: '\e905'; } .bx-i-right-arrow::before { content: '\e906'; } .bx-i-select::before { content: '\e907'; }
.bx-i-sign-in::before { content: '\e908'; } .bx-i-time::before { content: '\e909'; } .bx-i-user::before { content: '\e90a'; }
.bx-i-pin::before { content: ''; display: block; width: 1em; height: 1em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172.3 501.7C27 291 0 269.4 0 192 0 86 86 0 192 0s192 86 192 192c0 77.4-27 99-172.3 309.7a24 24 0 0 1-39.4 0zM192 272a80 80 0 1 0 0-160 80 80 0 0 0 0 160z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172.3 501.7C27 291 0 269.4 0 192 0 86 86 0 192 0s192 86 192 192c0 77.4-27 99-172.3 309.7a24 24 0 0 1-39.4 0zM192 272a80 80 0 1 0 0-160 80 80 0 0 0 0 160z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ---------- Nagłówek ---------- */
.bx-wrapper { position: relative; overflow: hidden; }
.bx-header { position: relative; z-index: 20; }
.bx-header-in { max-width: 1300px; height: 67px; margin: 0 auto; display: flex; align-items: center; justify-content: flex-end; position: relative; }
.bx-logo { position: absolute; left: 0; top: 4px; display: block; line-height: 0; }
.bx-logo img { height: 60px; width: auto; }
.bx-nav ul { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.bx-nav li { margin: 0 30px 0 0; }
.bx-nav a { display: flex; align-items: center; height: 67px; font-size: 17px; font-weight: 700; letter-spacing: 0.015em; line-height: 18px; color: #333; }
.bx-nav a:hover, .bx-nav a:focus, .bx-nav a[aria-current] { color: var(--bx-teal); }
.bx-nav-circle { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--bx-teal); color: #fff; font-size: 20px; }
.bx-burger { display: none; }
.bx-main { position: relative; padding: 40px 0 0; }
.bx-main:not(:has(.bx-titlebar)) { padding-top: 100px; }
.bx-titlebar { height: 250px; width: 100%; background: #f2f3f5 center center / cover no-repeat; position: relative; z-index: 1; }
.bx-titlebar.bx-pad ~ .bx-sec:first-of-type { margin-top: 60px; }
.bx-sec[style*='background-image'] { background-size: cover; background-position: center; background-repeat: no-repeat; }

/* ---------- Siatka ---------- */
.bx-sec { position: relative; width: 100%; }
.bx-row { max-width: 1300px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: flex-start; position: relative; z-index: 1; }
.bx-sec.bx-equal > .bx-row { align-items: stretch; }
.bx-sec.bx-100 > .bx-row { max-width: none; margin: 0; }
.bx-sec.wide-section > .bx-row { max-width: 1300px; }
.bx-col { --f: 1; --g: 0px; display: flex; width: calc(var(--f) * 100% - var(--g) * (1 - var(--f))); margin: 0 0 20px; position: relative; }
.bx-col:not(.bx-last) { margin-right: var(--g); }
.bx-c-1_1 { --f: 1; } .bx-c-1_2 { --f: .5; } .bx-c-1_3 { --f: .3333; } .bx-c-2_3 { --f: .6667; } .bx-c-1_4 { --f: .25; } .bx-c-3_4 { --f: .75; } .bx-c-1_5 { --f: .2; } .bx-c-2_5 { --f: .4; } .bx-c-3_5 { --f: .6; } .bx-c-4_5 { --f: .8; } .bx-c-1_6 { --f: .1667; } .bx-c-5_6 { --f: .8333; }
.bx-gap-20 { --g: 20px; } .bx-gap-30 { --g: 30px; } .bx-gap-40 { --g: 40px; } .bx-gap-50 { --g: 50px; } .bx-gap-60 { --g: 60px; } .bx-gap-80 { --g: 80px; } .bx-gap-100 { --g: 100px; }
.bx-colw { flex: 1 1 auto; min-width: 0; width: 100%; position: relative; z-index: 1; background-repeat: no-repeat; background-size: cover; background-position: left top; }
.bx-center { display: flex; flex-direction: column; justify-content: center; height: 100%; }
.bx-colbg { position: absolute; inset: 0; z-index: 0; background-position: center; background-repeat: no-repeat; background-size: cover; border-radius: inherit; display: block; }

/* ---------- Elementy ---------- */
.bx-title { margin-top: 0; }
/* Rozmiary tytułów: od 1000 px bez zmian; 801–999 px i do 800 px zmniejszane liniowo (wzór z dotychczasowej strony: S − (S−27)·k). */
.bx-fs-18 { font-size: 18px; }
.bx-fs-20 { font-size: 20px; }
.bx-fs-24 { font-size: 24px; }
.bx-fs-30 { font-size: 30px; }
.bx-fs-36 { font-size: 36px; }
.bx-fs-40 { font-size: 40px; }
@media (min-width: 801px) and (max-width: 999px) {
  .bx-fs-30 { font-size: calc(30px - 3 * 0.00125 * (1000px - 100vw)); }
  .bx-fs-36 { font-size: calc(36px - 9 * 0.00125 * (1000px - 100vw)); }
  .bx-fs-40 { font-size: calc(40px - 13 * 0.00125 * (1000px - 100vw)); }
  .bx-title { margin-bottom: 20px !important; }
}
@media (max-width: 800px) {
  .bx-fs-30 { font-size: calc(30px - 3 * 0.0018182 * (800px - 100vw)); }
  .bx-fs-36 { font-size: calc(36px - 9 * 0.0018182 * (800px - 100vw)); }
  .bx-fs-40 { font-size: calc(40px - 13 * 0.0018182 * (800px - 100vw)); }
  .bx-title { margin-bottom: 30px !important; } .bx-fs-24, .bx-fs-20, .bx-fs-18 { margin-bottom: 15px !important; }
}

.bx-ta-center { text-align: center; } .bx-ta-left { text-align: left; } .bx-ta-right { text-align: right; }
.bx-text > :last-child { margin-bottom: 0; }
.bx-text.lead, .lead { font-size: 18px; }
.bx-text ul { list-style: none; padding: 0; }
.bx-text ul > li { padding-left: 20px; position: relative; }
.bx-text ul > li::before { content: ''; width: 6px; height: 6px; background: var(--bx-teal); display: inline-block; position: absolute; left: 0; top: 7px; }
.bx-text ol { padding-left: 20px; }
.bx-text table { border-collapse: collapse; margin: 0 0 20px; max-width: 100%; } .bx-text th, .bx-text td { border: 1px solid #e4e8e9; padding: 8px 14px; text-align: left; }
img.alignleft { float: left; margin: 0 20px 0 0; } img.alignright { float: right; margin: 0 0 0 20px; } img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.bx-img { display: block; }
.bx-ia-center { text-align: center; } .bx-ia-left { text-align: left; } .bx-ia-right { text-align: right; }
.bx-imgf { display: inline-block; overflow: hidden; max-width: 100%; vertical-align: top; }
.bx-imgf img { display: block; }
.img-shadow { box-shadow: 0 15px 70px rgba(0, 0, 0, 0.1); }
.bx-sep { clear: both; height: 0; }
.bx-btn-wrap { display: block; } .bx-al-left { text-align: left; } .bx-al-center { text-align: center; } .bx-al-right { text-align: right; }
.bx-btn { display: inline-block; font-size: 18px; font-weight: 600; line-height: 1.1; letter-spacing: -0.015em; padding: 15px 40px; background: var(--bx-teal); color: #fff; border: 2px solid var(--bx-teal); border-radius: 29px; transition: all .2s linear; }
.bx-btn-xl { font-size: 21px; }
.bx-btn:hover, .bx-btn:focus { background: #fff; color: var(--bx-teal); border-color: var(--bx-teal); }

/* ---------- Własne klasy z dotychczasowego motywu ---------- */
body.home .bx-wrapper::before { content: ''; width: 0; height: 0; border-top: 1000px solid transparent; border-bottom: 1000px solid transparent; border-right: 1000px solid var(--bx-bg); position: absolute; right: 0; top: -200px; z-index: 0; }
body.home .bx-main::before { content: ''; width: 0; height: 0; border-top: 1000px solid transparent; border-bottom: 1000px solid transparent; border-left: 1000px solid var(--bx-bg); position: absolute; left: 0; top: 50%; transform: translateY(-50%); z-index: 0; }
body.home .bx-footer { position: relative; }
body.home .bx-footer::before { content: ''; width: 0; height: 0; border-top: 1000px solid transparent; border-bottom: 1000px solid transparent; border-right: 1000px solid var(--bx-bg); position: absolute; right: 0; bottom: -200px; z-index: 0; }
.section-arrow-left, .section-arrow-right { position: relative; overflow: hidden; }
.section-arrow-left::before, .section-arrow-right::before { content: ''; width: 0; height: 0; border-top: 600px solid transparent; border-bottom: 600px solid transparent; position: absolute; top: 50%; transform: translateY(-50%); }
.section-arrow-left::before { border-left: 600px solid var(--bx-bg); left: 0; } .section-arrow-right::before { border-right: 600px solid var(--bx-bg); right: 0; }
.why-boxes .item .bx-text { margin-top: 30px; } .why-boxes .item .bx-text p { font-size: 18px; font-weight: 500; line-height: 1.25; } .why-boxes img { height: 150px; width: auto; }
.cta-section .bx-btn-wrap { z-index: 99; position: relative; }
.dark-parallax { position: relative; } .dark-parallax::after { content: ''; position: absolute; inset: 0; background: #000; opacity: .6; z-index: 0; }
.dark-parallax .bx-title, .dark-parallax p, .dark-parallax ul li { color: #fff; }

.toggle-btn-group { display: flex; }
.toggle-btn-group a { display: block; font-size: 18px; font-weight: 600; padding: 17px 35px; line-height: 1.1; background: #fff; border: 2px solid var(--bx-grey); border-radius: 29px; color: var(--bx-grey) !important; }
.toggle-btn-group a + a { margin-left: 30px; }
.toggle-btn-group a.active, .toggle-btn-group a:hover, .toggle-btn-group a:focus { background: var(--bx-grey); border-color: var(--bx-grey); color: #000 !important; box-shadow: 0 5px 30px rgba(0, 0, 0, .15); }
.toggle-content-wrapper { margin-top: 40px; }
.toggle-content-wrapper .toggle-tab { display: none; }
.toggle-content-wrapper .toggle-tab.toggle-tab-active { display: block; }
.toggle-content-wrapper .toggle-tab ul { list-style: none; padding: 0; }
.toggle-content-wrapper .toggle-tab ul > li { font-weight: 500; padding-left: 0; }
.toggle-content-wrapper .toggle-tab ul > li::before { content: '\e907'; font-family: 'BenefitLex' !important; font-style: normal; font-weight: normal; line-height: 1; margin-right: 15px; color: var(--bx-teal); position: static; background: none; width: auto; height: auto; top: auto; display: inline; }

.offer-box .item { border-radius: 40px; overflow: hidden; }
.offer-box .item .bx-colw { display: flex; justify-content: center; align-items: center; min-height: 400px; border-radius: 40px; transition: all .2s linear; }
.offer-box .item:hover .bx-colw { box-shadow: 0 10px 50px rgba(0, 0, 0, .05); }
.offer-box .offer-text p { font-size: 24px; line-height: 1.1; font-weight: 500; letter-spacing: -0.015em; color: var(--bx-teal); padding: 20px 50px; background: #fff; border-radius: 34px; margin: 0; transition: all .2s linear; }
.offer-box .item:hover p { background: var(--bx-teal); color: #fff; }

/* ---------- Pola informacyjne (zawartość „content boxes”) ---------- */
.bx-boxes { margin: 0; }
.bx-box { margin-bottom: 20px; } .bx-box:last-child { margin-bottom: 0; }
.bx-box-head { display: flex; align-items: center; }
.bx-box-head a { display: flex; align-items: center; color: inherit; }
.bx-box-icon { display: inline-flex; align-items: center; justify-content: center; flex: none; }
.bx-box-icon.bx-circle { border-radius: 50%; }
.bx-box-title { margin: 0; font-weight: 500; line-height: 1.3; letter-spacing: -0.015em; color: #000; }
.bx-boxes-top .bx-box { text-align: center; display: block; } .bx-boxes-top .bx-box-head { justify-content: center; margin-bottom: 20px; }
.bx-box-text p { margin-bottom: 0; }
.bx-boxes-side .bx-box-head { align-items: flex-start; } .bx-boxes-side .bx-box-head a { position: relative; display: block; width: 100%; } .bx-boxes-side .bx-box-icon { position: absolute; left: 0; top: 0; }
.bx-cols-2 { column-count: 2; column-gap: 2em; column-width: 100px; } .bx-cols-3 { column-count: 3; column-gap: 2em; column-width: 100px; }
.contact-boxes .bx-box-text p { font-size: 18px; margin: 0; } .contact-boxes a { color: #000; } .contact-boxes a:hover { color: var(--bx-teal); }
.contact-boxes .bx-box { text-align: center; }
.range-box .bx-box-title { color: #000; }
.range-box .bx-box-head a { color: #000; } .range-box .bx-i-select { color: var(--bx-teal); }

/* ---------- Akordeon ---------- */
.bx-acc .bx-panel + .bx-panel { margin-top: 10px; }
.bx-panel summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: flex-start; color: #000; letter-spacing: -0.015em; border-radius: 32px; border: 2px solid #e4e8e9; background: #fff; padding: 15px 40px; font-size: 18px; font-weight: 500; line-height: 1.3; }
.bx-panel summary::-webkit-details-marker { display: none; }
.bx-panel summary::after { content: '+'; flex: none; width: 30px; height: 30px; order: -1; margin-right: 15px; border-radius: 50%; border: 2px solid #000; display: flex; align-items: center; justify-content: center; font-size: 20px; line-height: 1; }
.bx-panel[open] summary::after { content: '\2212'; }
.bx-panel[open] summary, .bx-panel summary:hover { border-color: var(--bx-grey); background: var(--bx-grey); }
.bx-panel-body { padding: 30px 30px 0; font-size: 18px; line-height: 1.45; }
.bx-panel-body ul { list-style: none; padding: 0; } .bx-panel-body ul > li { padding-left: 25px; position: relative; }
.bx-panel-body ul > li::before { content: ''; width: 6px; height: 6px; background: var(--bx-teal); display: inline-block; margin-left: -25px; margin-right: 10px; position: static; }

/* ---------- Tabela wariantów ---------- */
.variants-table { max-width: 1000px; margin-left: auto; margin-right: auto; }
.variants-head { display: flex; justify-content: flex-end; }
.variants-head > .box { width: 13.5%; padding: 11px 40px; background: var(--bx-grey); border-radius: 5px; margin: 2.5px; font-weight: 500; font-size: 18px; display: flex; justify-content: center; }
.variants-head > .box.gold { background: #fdca2e; }
.variants-body > .variants-row, .variants-footer > .variants-row { display: flex; }
.variants-body > .variants-row > .box { padding: 11px 25px; background: #fff; border-radius: 5px; margin: 2.5px; font-size: 18px; font-weight: 400; display: flex; align-items: center; }
.variants-body > .variants-row-title > .box { padding: 11px 25px; background: var(--bx-teal); color: #fff; border-radius: 5px; margin: 2.5px; font-size: 18px; font-weight: 300; display: flex; align-items: center; }
.variants-body > .variants-row > .box.title, .variants-footer > .variants-row > .box.title { width: 100%; justify-content: flex-start; }
.variants-body > .variants-row > .box:not(.title), .variants-footer > .variants-row > .box:not(.title) { width: 200px; justify-content: center; }
.variants-body > .variants-subtitle { margin: 20px 0 10px; } .variants-body > .variants-subtitle > .subtitle { font-weight: 500; }
.variants-footer > .variants-row > .box { padding: 11px 25px; background: var(--bx-grey); border-radius: 5px; margin: 2.5px; font-size: 18px; font-weight: 500; color: #fff; display: flex; align-items: center; }
.team .item > .bx-colw { overflow: visible; margin-top: 85px; } .team .item .bx-img { margin-top: -105px; margin-bottom: 30px; } .team .item p { font-size: 18px; }

/* ---------- Formularz ---------- */
.bx-form { max-width: 100%; }
.bx-frow { display: flex; flex-wrap: wrap; justify-content: space-between; }
.bx-fcol { position: relative; width: calc(50% - 15px); margin-bottom: 30px; }
.input-icon::before { content: ''; position: absolute; left: 25px; top: 20px; font-family: 'BenefitLex' !important; font-style: normal; font-weight: normal; line-height: 1; font-size: 18px; color: var(--bx-grey); z-index: 2; pointer-events: none; }
.input-icon-name::before { content: '\e90a'; } .input-icon-company::before { content: '\e900'; } .input-icon-phone::before { content: '\e905'; } .input-icon-email::before { content: '\e903'; }
.form-control { display: block; width: 100%; font-family: inherit; height: 58px; padding: 4px 25px 0 55px; background: #fff; font-size: 16px; color: var(--bx-grey); border: 2px solid #ededed; border-radius: 10px; font-weight: 500; letter-spacing: -0.015em; transition: all .2s linear; }
textarea.form-control { height: auto; min-height: 150px; padding: 25px; resize: vertical; line-height: 1.45; }
.form-control::placeholder { color: var(--bx-grey); opacity: 1; }
.form-control:focus { color: var(--bx-teal); border-color: #fff; box-shadow: 0 5px 25px rgba(0, 0, 0, .1); outline: 0; }
.bx-accept { line-height: 1.3; margin-bottom: 10px; } .bx-accept-last { margin-bottom: 20px; }
.bx-accept label { display: flex; align-items: flex-start; gap: 6px; cursor: pointer; }
.bx-accept input { margin: 4px 0 0; flex: none; }
.bx-accept .title { font-size: 14px; font-weight: 500; text-transform: uppercase; text-decoration: underline; }
.bx-accept .text-acceptance { display: block; font-size: 17px; margin: 10px 0; text-transform: none; }
.bx-accept .bx-more { font-size: 15px; font-weight: 500; }
.bx-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bx-submit { margin: 30px 0 0; display: flex; flex-wrap: wrap; align-items: center; }
.bx-submit-btn { font-family: inherit; font-size: 18px; line-height: 1.1; font-weight: 600; letter-spacing: -0.015em; padding: 17px 40px; background: var(--bx-teal); color: #fff; border: 2px solid var(--bx-teal); border-radius: 29px; cursor: pointer; transition: all .2s linear; }
.bx-submit-btn:hover, .bx-submit-btn:focus { background: #fff; color: var(--bx-teal); }
.bx-submit-btn[disabled] { opacity: .6; cursor: wait; }
.form-info { font-size: 18px; font-weight: 500; margin-left: 30px; color: var(--bx-grey); }
.bx-form-status { margin-top: 20px; font-size: 14px; font-weight: 500; padding: 10px 16px; border: 2px solid #00a0d2; }
.bx-form-status.is-error { border-color: #dc3232; color: #dc3232; }

/* ---------- Mapa i filmy (ładowane na żądanie, bez zewnętrznych żądań przed kliknięciem) ---------- */
.bx-map { width: 100%; } .bx-map-box { min-height: 450px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; background: #eef1f2; border-radius: 10px; padding: 30px; text-align: center; }
.bx-map-box iframe { width: 100%; height: 450px; border: 0; display: block; }
.bx-map-load { font-family: inherit; font-size: 16px; font-weight: 600; padding: 12px 30px; background: var(--bx-teal); color: #fff; border: 0; border-radius: 29px; cursor: pointer; }
.bx-video-box { position: relative; width: 100%; max-width: 560px; aspect-ratio: 16 / 9; margin: 0 auto 20px; background: #212934; display: flex; align-items: center; justify-content: center; border-radius: 6px; overflow: hidden; }
.bx-video-box iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.bx-video-play { width: 68px; height: 48px; border: 0; border-radius: 12px; background: var(--bx-teal); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.bx-video-play span { border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent #fff; }
.bx-video-link { position: absolute; left: 12px; bottom: 8px; font-size: 14px; color: #fff; }

/* ---------- Stopka ---------- */
.bx-footer { position: relative; margin-top: 0; }
.bx-footer-in { max-width: 1300px; margin: 0 auto; padding: 40px 0 0; position: relative; z-index: 1; }
.bx-footer-logo { display: flex; justify-content: center; margin-bottom: 40px; } .bx-footer-logo img { width: 230px; height: auto; }
.bx-footer-cols { display: flex; flex-wrap: wrap; font-size: 16px; font-weight: 500; letter-spacing: 0.015em; }
.bx-footer-col { width: 25%; padding-right: 20px; }
.bx-footer-col ul { list-style: none; margin: 0; padding: 0; }
.bx-footer-col .address-footer { color: #000; line-height: 1.45; }
.bx-footer-col .contact-footer { margin-top: 30px; } .contact-footer li { display: flex; align-items: center; } .contact-footer li + li { margin-top: 5px; }
.contact-footer .bx-i { font-size: 18px; color: var(--bx-teal); margin-right: 10px; }
.bx-footer-col li { padding: 0; } .bx-footer-col:not(:first-child) li { padding: 8px 0 0 12px; }
.bx-footer-col:not(:first-child) a { display: block; color: var(--bx-grey); } .bx-footer-col:not(:first-child) a::before { content: '›'; margin-right: 8px; } .bx-footer-col:not(:first-child) a:hover { color: var(--bx-teal); }
.bx-footer-col .contact-footer a { color: var(--bx-teal); }
.bx-copy { position: relative; z-index: 1; padding: 25px 0; font-size: 14px; font-weight: 500; color: var(--bx-grey); }
.bx-copy a { color: var(--bx-grey); } .bx-copy a:hover { color: var(--bx-teal); }
.bx-copy-in { max-width: 1300px; margin: 0 auto; text-align: left; }

/* ---------- Baner zgód ---------- */
.bx-cookies { position: fixed; z-index: 9999; left: 15px; bottom: 15px; width: 300px; padding: 32px 30px; background: #fff; box-shadow: 0 -1px 10px rgba(172, 171, 171, .3); font-size: 15px; line-height: 1.45; font-weight: 300; color: #333; }
.bx-cookies p { margin: 0 0 12px; } .bx-cookies a { font-weight: 500; }
.bx-cookies-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.bx-cookies button { font-family: inherit; font-size: 13px; line-height: 13px; padding: 9px 12px; border: 0; cursor: pointer; background: var(--bx-teal); color: #fff; }
.bx-cookies-panel { margin-bottom: 12px; } .bx-cookies-panel label { display: flex; gap: 8px; align-items: flex-start; margin: 8px 0; cursor: pointer; } .bx-cookies-panel input { margin-top: 3px; }
.bx-cookies .bx-cookies-reject { background: #fff; color: var(--bx-teal); box-shadow: inset 0 0 0 1px var(--bx-teal); }

/* ---------- Telefony i tablety ---------- */
@media (min-width: 801px) and (max-width: 990px) {
  .bx-header-in { height: auto; max-width: none; padding: 0 30px; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
  .bx-logo { position: static; flex: 0 0 100%; height: 60px; top: 0; }
  .bx-nav { flex: 0 0 100%; } .bx-nav ul { flex-wrap: wrap; }
  .bx-titlebar { height: 150px; }
}
@media (min-width: 991px) { .flex-end > .bx-row { display: flex; justify-content: flex-end; } .flex-end .mw-650 { max-width: 650px; } .flex-end .bg-image-right { border-top-left-radius: 50px; border-bottom-left-radius: 50px; overflow: hidden; } }
@media (max-width: 1499px) and (min-width: 1000px) {
  body.home .bx-wrapper::before { border-top-width: 700px; border-bottom-width: 700px; border-right-width: 700px; top: -100px; }
  body.home .bx-main::before { border-top-width: 700px; border-bottom-width: 700px; border-left-width: 700px; }
  body.home .bx-footer::before { border-top-width: 700px; border-bottom-width: 700px; border-right-width: 700px; bottom: -100px; }
  .offer-box .item { width: calc(50% - 25px); } .offer-box .item.bx-first { margin-right: 50px; }
  .flex-end .mw-650 { max-width: 600px; }
}
@media (min-width: 1500px) { .mw-1300 > .bx-row { max-width: 1300px; } .wide-section > .bx-row { max-width: 1400px; } .bx-logo img { height: 70px; } }
@media (min-width: 1800px) { .bx-header-in { max-width: 1800px; } .bx-footer-in { max-width: 1300px; } }
@media (max-width: 990px) { .bx-footer-in { padding-left: 30px; padding-right: 30px; } .bx-footer-col { width: 50%; } .bx-copy { padding-left: 30px; padding-right: 30px; } }
@media (max-width: 800px) {
  .bx-header-in { padding: 0 30px; height: 100px; } .bx-logo { left: 30px; top: 20px; } .bx-nav { display: none; }
  .bx-main { padding-top: 0; } .bx-main:not(:has(.bx-titlebar)) { padding-top: 60px; } .bx-titlebar { height: 150px; }
  .bx-burger { display: block; margin-left: auto; position: relative; }
  .bx-burger summary { list-style: none; cursor: pointer; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
  .bx-burger summary::-webkit-details-marker { display: none; }
  .bx-bars { width: 22px; height: 2px; background: var(--bx-ink); position: relative; display: block; } .bx-bars::before, .bx-bars::after { content: ''; position: absolute; left: 0; width: 22px; height: 2px; background: var(--bx-ink); } .bx-bars::before { top: -7px; } .bx-bars::after { top: 7px; }
  .bx-burger nav { position: absolute; right: -30px; top: 52px; width: 100vw; max-width: 100vw; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .1); z-index: 30; }
  .bx-burger ul { list-style: none; margin: 0; padding: 10px 30px 20px; } .bx-burger a { display: block; padding: 12px 0; font-size: 18px; font-weight: 700; color: var(--bx-ink); border-bottom: 1px solid #eee; }
  .bx-sec:not(.cta-section) { padding-left: 30px !important; padding-right: 30px !important; }
  .bx-col { width: 100% !important; --g: 0px; margin: 0 0 20px !important; } .bx-col:not(.bx-last) { margin-right: 0 !important; }
  .bx-col:not(.bx-last):not(:last-child) { margin-bottom: 30px !important; }
  .mobile-ps-medium, .mobile-pc-medium > .bx-colw { padding-top: 30px !important; padding-bottom: 30px !important; }
  .bx-footer-col { width: 100%; padding: 0 30px 20px; } .bx-footer-last { display: none; } .bx-footer-in { padding: 40px 0 0; }
  .bx-copy { padding: 0 30px 25px; }
  .bx-frow, .bx-fcol { width: 100%; } .bx-fcol { margin-bottom: 20px; } .bx-frow { display: block; }
  .bx-panel-body { padding: 20px 10px 0; }
  .flex-end .bg-image-right { border-radius: 0; }
}
@media (max-width: 499px) {
  .offer-box .offer-text p { font-size: 18px; }
  .toggle-btn-group { flex-wrap: wrap; } .toggle-btn-group a + a { margin-top: 30px; margin-left: 0; }
  .variants-body > .variants-row, .variants-footer > .variants-row { flex-wrap: wrap; padding: 10px 0; }
  .variants-body > .variants-row > .box.title, .variants-footer > .variants-row > .box.title { width: 100%; margin-bottom: 2.5px; }
  .variants-body > .variants-row > .box:not(.title), .variants-footer > .variants-row > .box:not(.title) { width: calc(33% - 5px); }
  .form-info { display: block; margin: 20px 0 0; }
  .bx-cookies { left: 8px; bottom: 8px; width: calc(100% - 16px); max-width: 300px; }
  .variants-head > .box { width: calc(33.3% - 5px); }
}

/* ---------- Strona „landing” (reguły z jej dotychczasowego, osobnego CSS) ---------- */
html:has(body.page-landing) { scroll-behavior: smooth; }
body.page-landing .p1 { font-family: 'Lato', sans-serif; color: #000; font-size: 16px; }
body.page-landing .p2 { font-family: 'Lato', sans-serif; color: #000; font-size: 25px; text-align: center; }
body.page-landing .variants-table { max-width: 1100px; }
body.page-landing .variants-head > .box { width: 170px; border-radius: 0; }
body.page-landing .variants-head > .box.silver { background: var(--bx-grey); } body.page-landing .variants-head > .box.platinum { background: #767676; } body.page-landing .variants-head > .box.gold { background: #fdca2e; }
body.page-landing .variants-body > .variants-row > .box { border-radius: 0; border: 1px solid var(--bx-teal); background: #fff; }
body.page-landing .variants-body > .variants-row > .box1 { border: none; }
body.page-landing .variants-body > .variants-row > .box.title, body.page-landing .variants-footer > .variants-row > .box.title { width: calc(100% - 520px); }
body.page-landing .variants-body > .variants-row > .box:not(.title), body.page-landing .variants-footer > .variants-row > .box:not(.title) { width: 170px; }
body.page-landing .variants-footer > .variants-row > .box { background: #fff; border-radius: 0; color: #000; font-weight: 700; border: 2px solid var(--bx-teal); }
body.page-landing .menu-landing { position: sticky; top: 0; z-index: 100; }
body.page-landing .button1 { border: none; color: #000; padding: 15px 32px; text-align: center; text-decoration: none; display: block; font-size: 18px; margin: 4px 2px; cursor: pointer; }
body.page-landing .button1.silver { background: var(--bx-grey); color: #fff; font-weight: 400; } body.page-landing .button1.platinum { background: #767676; color: #fff; } body.page-landing .button1.gold { background: #fdca2e; }
body.page-landing h1[style*="Lato"], body.page-landing h3[style*="Lato"] { font-family: 'Lato', sans-serif; }

@media (max-width: 640px) { .bx-nosmall { display: none; } }

/* Strona bez nagłówka (np. „landing”): miejsce zostaje, żeby treść zaczynała się na tej samej wysokości. */
body:has(.bx-noheader) .bx-header { visibility: hidden; }
a.more { color: var(--bx-teal); }
