.tofaa-b2b-page {
    --b2b-purple: #7c4fa0;
    --b2b-lime: #d1d635;
    --b2b-ink: #211827;
    --b2b-cream: #F8EAE1;
    --b2b-soft: #f3e9f5;
    color: var(--b2b-ink);
    font-family: "Rubik", Arial, sans-serif;
    overflow: hidden;
    background: var(--b2b-cream);
}
.tofaa-b2b-page * { box-sizing: border-box; }
.tofaa-b2b-page__inner { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.tofaa-b2b-hero { padding: 20px 0 0; background: var(--b2b-cream); }
.tofaa-b2b-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr); gap: clamp(40px, 7vw, 88px); align-items: center; }
.tofaa-b2b-eyebrow { display: inline-block; margin-bottom: 14px; color: var(--b2b-purple); font-size: 13px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.tofaa-b2b-page h1, .tofaa-b2b-page h2, .tofaa-b2b-page h3, .tofaa-b2b-page p { font-family: inherit; }
.tofaa-b2b-page h1 { max-width: 750px; margin: 0 0 24px; color: var(--b2b-purple); font-size: clamp(46px, 7vw, 82px); font-weight: 900; line-height: .98; letter-spacing: -.045em; text-transform: uppercase; }
.tofaa-b2b-page h2 { margin: 0; color: var(--b2b-purple); font-size: clamp(32px, 4.7vw, 55px); font-weight: 900; line-height: 1.03; letter-spacing: -.035em; }
.tofaa-b2b-page h3 { margin: 0 0 9px; color: var(--b2b-purple); font-size: 20px; font-weight: 850; line-height: 1.18; }
.tofaa-b2b-page p { font-size: 17px; line-height: 1.58; }
.tofaa-b2b-hero__copy p:not(.tofaa-b2b-hero__lead), .tofaa-b2b-contact__intro p { color: var(--b2b-ink) !important; }
.tofaa-b2b-hero__lead { max-width: 760px; margin: 0 0 12px; color: var(--b2b-purple) !important; font-size: clamp(20px, 2vw, 25px) !important; font-weight: 650; line-height: 1.4 !important; }
.tofaa-b2b-hero__copy > p:not(.tofaa-b2b-hero__lead) { max-width: 690px; margin: 0 0 30px; }
.tofaa-b2b-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 58px; padding: 15px 25px; border: 1px solid var(--b2b-ink); border-radius: 999px; background: var(--b2b-lime); box-shadow: 0 7px 0 var(--b2b-ink); color: var(--b2b-purple) !important; font-size: 15px; font-weight: 900; text-decoration: none !important; text-transform: uppercase; transition: transform .18s ease, box-shadow .18s ease; }
.tofaa-b2b-button:hover { transform: translateY(4px); box-shadow: 0 3px 0 var(--b2b-ink); }
.tofaa-b2b-button:focus-visible { outline: 3px solid var(--b2b-purple); outline-offset: 4px; }
.tofaa-b2b-hero__copy > .tofaa-b2b-button { margin-bottom: 30px; }
.tofaa-b2b-next { padding: clamp(26px, 4vw, 42px); border: 1px solid var(--b2b-ink); border-radius: 30px; background: rgba(255, 255, 255, .82); box-shadow: 0 9px 0 var(--b2b-ink); }
.tofaa-b2b-next__label { display: block; margin-bottom: 25px; color: var(--b2b-purple); font-size: 14px; font-weight: 900; text-transform: uppercase; }
.tofaa-b2b-next ol { margin: 0; padding: 0; list-style: none; counter-reset: b2b-next; }
.tofaa-b2b-next li { position: relative; padding: 0 0 24px 52px; counter-increment: b2b-next; }
.tofaa-b2b-next li:last-child { padding-bottom: 0; }
.tofaa-b2b-next li::before { content: counter(b2b-next); position: absolute; left: 0; top: -4px; display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid var(--b2b-ink); border-radius: 50%; background: var(--b2b-lime); color: var(--b2b-purple); font-weight: 900; }
.tofaa-b2b-next strong, .tofaa-b2b-next span { display: block; }
.tofaa-b2b-next strong { margin-bottom: 4px; font-size: 16px; }
.tofaa-b2b-next li span { color: var(--b2b-purple); font-size: 14px; line-height: 1.45; }
.tofaa-b2b-audience, .tofaa-b2b-benefits, .tofaa-b2b-contact { padding: 0; }
.tofaa-b2b-page > section + section { margin-top: 30px; }
.tofaa-b2b-page > section:last-of-type { padding-bottom: 30px; }
.tofaa-b2b-audience { background: var(--b2b-cream); }
.tofaa-b2b-section-lead { max-width: 720px; margin: 20px 0 42px; color: #625868; }
.tofaa-b2b-audience__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.tofaa-b2b-audience article { min-height: 230px; padding: 28px; border: 1px solid var(--b2b-ink); border-radius: 24px; background: #fffaf7; }
.tofaa-b2b-audience article > span { display: grid; width: 48px; height: 48px; margin-bottom: 36px; place-items: center; border: 1px solid var(--b2b-ink); border-radius: 15px; background: var(--b2b-lime); color: var(--b2b-purple); font-weight: 900; }
.tofaa-b2b-audience article p, .tofaa-b2b-benefits article p { margin: 0; color: #625868; font-size: 15px; line-height: 1.52; }
.tofaa-b2b-benefits { background: var(--b2b-cream); color: var(--b2b-ink); }
.tofaa-b2b-benefits .tofaa-b2b-eyebrow { color: var(--b2b-purple); }
.tofaa-b2b-benefits h2, .tofaa-b2b-benefits h3 { color: var(--b2b-purple); }
.tofaa-b2b-benefits__heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; align-items: end; margin-bottom: 46px; }
.tofaa-b2b-benefits__heading > p { margin: 0 0 4px; color: #625868; }
.tofaa-b2b-benefits__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.tofaa-b2b-benefits article { min-height: 240px; padding: 28px; border: 1px solid var(--b2b-ink); border-radius: 24px; background: var(--b2b-lime); transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s cubic-bezier(.2,.8,.2,1); }
.tofaa-b2b-benefits article:hover { transform: translateY(-6px); box-shadow: 0 7px 0 var(--b2b-ink); }
.tofaa-b2b-benefits article:focus-within { transform: translateY(-6px); box-shadow: 0 7px 0 var(--b2b-ink); }
.tofaa-b2b-benefit-icon { display: grid; width: 54px; height: 54px; margin-bottom: 38px; place-items: center; border: 1px solid var(--b2b-ink); border-radius: 16px; background: #fffdfb; color: var(--b2b-purple); transition: transform .22s cubic-bezier(.2,.8,.2,1); }
.tofaa-b2b-benefit-icon svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.tofaa-b2b-benefits article:hover .tofaa-b2b-benefit-icon, .tofaa-b2b-benefits article:focus-within .tofaa-b2b-benefit-icon { transform: translateY(-2px) rotate(-3deg); }
.tofaa-b2b-benefits article p { color: #625868; }
.tofaa-b2b-contact { background: var(--b2b-cream); scroll-margin-top: 30px; }
.tofaa-b2b-contact__grid { display: grid; grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr); gap: clamp(40px, 7vw, 80px); align-items: start; }
.tofaa-b2b-contact__intro { position: sticky; top: 30px; }
.tofaa-b2b-contact__intro > p { margin: 22px 0 25px; }
.tofaa-b2b-contact__intro > .tofaa-company-registry-note {
    max-width: 640px;
    color: var(--b2b-purple) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}
.tofaa-b2b-contact__intro ul { margin: 0; padding: 0; list-style: none; }
.tofaa-b2b-contact__intro li { position: relative; margin: 0 0 12px; padding-left: 34px; color: #625868; font-size: 15px; font-weight: 650; }
.tofaa-b2b-contact__intro li::before { content: "✓"; position: absolute; left: 0; top: 50%; display: grid; width: 20px; height: 20px; place-items: center; border: 0; border-radius: 50%; background: #d1d635; color: var(--b2b-purple); font-size: 13px; font-weight: 900; line-height: 1; transform: translateY(-50%); }
.tofaa-b2b-contact__form { padding: clamp(24px, 4vw, 44px); border: 1px solid var(--b2b-ink); border-radius: 30px; background: #fff; box-shadow: 0 8px 0 var(--b2b-ink); }
.tofaa-b2b-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tofaa-b2b-field { margin: 0 0 18px !important; }
.tofaa-b2b-field label, .tofaa-b2b-company legend { display: block; margin-bottom: 8px; color: var(--b2b-ink); font-size: 14px; font-weight: 800; }
.tofaa-b2b-field label small { color: #726a76; font-size: 12px; font-weight: 500; }
.tofaa-b2b-field .wpcf7-form-control-wrap { display: block; }
.tofaa-b2b-form input[type="text"], .tofaa-b2b-form input[type="email"], .tofaa-b2b-form input[type="tel"], .tofaa-b2b-form input[type="url"], .tofaa-b2b-form select, .tofaa-b2b-form textarea { width: 100%; min-height: 54px; margin: 0 !important; padding: 13px 15px !important; border: 1px solid var(--b2b-ink) !important; border-radius: 13px !important; background: #fff !important; box-shadow: none !important; color: var(--b2b-purple) !important; font-family: "Rubik", Arial, sans-serif !important; font-size: 16px !important; line-height: 1.35 !important; }
.tofaa-b2b-form textarea { min-height: 130px; resize: vertical; }
.tofaa-b2b-form input:focus, .tofaa-b2b-form select:focus, .tofaa-b2b-form textarea:focus { outline: 0; border-color: var(--b2b-purple) !important; box-shadow: 0 0 0 3px rgba(124,79,160,.13) !important; }

/* Własne selecty B2B korzystają z tego samego języka wizualnego co wybór kraju w checkoutcie. */
.tofaa-b2b-form select.tofaa-b2b-select__native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
}

.tofaa-b2b-select {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: visible;
}

.tofaa-b2b-select.is-open {
    z-index: 100;
}

.tofaa-b2b-select__control {
    display: flex;
    width: 100%;
    min-height: 50px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid rgba(124, 79, 160, .42);
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    color: var(--b2b-purple);
    font-family: "Rubik", Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}

.tofaa-b2b-select__control:hover,
.tofaa-b2b-select__control:focus-visible,
.tofaa-b2b-select.is-open .tofaa-b2b-select__control {
    border-color: var(--b2b-purple);
    outline: 0;
    box-shadow: 0 0 0 2px rgba(124, 79, 160, .1);
}

.tofaa-b2b-select__control svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .18s ease;
}

.tofaa-b2b-select.is-open .tofaa-b2b-select__control svg {
    transform: rotate(180deg);
}

.tofaa-b2b-select__options {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    right: 0;
    z-index: 101;
    width: 100%;
    max-height: 260px;
    margin: 0;
    padding: 4px 0;
    overflow-y: auto;
    border: 1px solid rgba(124, 79, 160, .42);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(23, 23, 23, .14);
}

.tofaa-b2b-select__options[hidden] {
    display: none;
}

.tofaa-b2b-select__option {
    display: block;
    width: 100%;
    margin: 0;
    padding: 9px 13px;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    color: var(--b2b-purple);
    font-family: "Rubik", Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}

.tofaa-b2b-select__option:hover,
.tofaa-b2b-select__option:focus-visible,
.tofaa-b2b-select__option.is-selected {
    background: var(--b2b-lime);
    outline: 0;
}

.tofaa-b2b-form .tofaa-b2b-field:has(select.wpcf7-not-valid) .tofaa-b2b-select__control {
    border-color: #b3261e;
}

@media (prefers-reduced-motion: reduce) {
    .tofaa-b2b-select__control svg {
        transition: none;
    }
}
.tofaa-b2b-company { margin: 5px 0 24px; padding: 22px; border: 1px solid #cabcd0; border-radius: 20px; background: var(--b2b-soft); }
.tofaa-b2b-company legend { width: auto; padding: 0 9px; color: var(--b2b-purple); font-size: 16px; }
.tofaa-b2b-nip-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.tofaa-b2b-lookup { min-height: 54px; margin-bottom: 18px; padding: 12px 18px; border: 1px solid var(--b2b-ink); border-radius: 13px; background: var(--b2b-lime); color: var(--b2b-purple); font-family: inherit; font-size: 13px; font-weight: 900; cursor: pointer; }
.tofaa-b2b-lookup:disabled { cursor: wait; opacity: .65; }
.tofaa-b2b-registry-status { min-height: 20px; margin: -8px 0 16px !important; color: #625868; font-size: 13px !important; line-height: 1.4 !important; }
.tofaa-b2b-registry-status.is-success { color: #17622c; }
.tofaa-b2b-registry-status.is-warning { color: #76530d; }
.tofaa-b2b-registry-status.is-error { color: #a21c20; }
.tofaa-b2b-registry-status.is-loading { color: var(--b2b-purple); }
.tofaa-b2b-privacy { margin: 4px 0 23px !important; color: #625868; font-size: 12px !important; line-height: 1.55 !important; }
.tofaa-b2b-privacy a { color: var(--b2b-purple); font-weight: 700; }
.tofaa-b2b-submit { display: flex; align-items: center; gap: 20px; }
.tofaa-b2b-submit .wpcf7-submit { min-height: 57px; margin: 0 !important; padding: 14px 25px !important; border: 1px solid var(--b2b-ink) !important; border-radius: 999px !important; background: var(--b2b-lime) !important; box-shadow: 0 6px 0 var(--b2b-ink) !important; color: var(--b2b-purple) !important; font-family: inherit !important; font-size: 14px !important; font-weight: 900 !important; text-transform: uppercase; cursor: pointer; }
.tofaa-b2b-submit > span { color: #625868; font-size: 12px; line-height: 1.4; }
.tofaa-b2b-form .wpcf7-not-valid-tip { margin-top: 6px; color: #a21c20; font-size: 13px; }
.tofaa-b2b-form .wpcf7-response-output { margin: 24px 0 0 !important; padding: 14px 16px !important; border: 1px solid var(--b2b-ink) !important; border-radius: 12px; font-size: 14px; line-height: 1.45; }
.tofaa-b2b-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.tofaa-b2b-content { padding: 0; }
@media (prefers-reduced-motion: reduce) {
    .tofaa-b2b-benefits article, .tofaa-b2b-benefit-icon { transition: none; }
    .tofaa-b2b-benefits article:hover, .tofaa-b2b-benefits article:focus-within, .tofaa-b2b-benefits article:hover .tofaa-b2b-benefit-icon, .tofaa-b2b-benefits article:focus-within .tofaa-b2b-benefit-icon { transform: none; }
}
@media (max-width: 960px) {
    .tofaa-b2b-hero__grid, .tofaa-b2b-contact__grid { grid-template-columns: 1fr; }
    .tofaa-b2b-next { max-width: 680px; }
    .tofaa-b2b-benefits__grid { grid-template-columns: 1fr 1fr; }
    .tofaa-b2b-benefits__heading { grid-template-columns: 1fr; gap: 20px; }
    .tofaa-b2b-contact__intro { position: static; }
}
@media (max-width: 720px) {
    .tofaa-b2b-page__inner { width: min(100% - 28px, 1180px); }
    .tofaa-b2b-hero { padding-top: 20px; }
    .tofaa-b2b-audience__grid, .tofaa-b2b-form__grid { grid-template-columns: 1fr; }
    .tofaa-b2b-audience article { min-height: 0; }
    .tofaa-b2b-benefits__grid { grid-template-columns: 1fr; }
    .tofaa-b2b-benefits article { min-height: 0; }
    .tofaa-b2b-nip-row { grid-template-columns: 1fr; }
    .tofaa-b2b-lookup { width: 100%; margin-top: -8px; }
    .tofaa-b2b-submit { align-items: stretch; flex-direction: column; }
    .tofaa-b2b-submit .wpcf7-submit { width: 100%; }
}

/* Tofaa 3.26 — kolor opisu w hero strony Dla firm */
.tofaa-b2b-hero__copy > p:not(.tofaa-b2b-hero__lead) {
    color: #625868 !important;
}

/* Tofaa 3.30 — Contact Form 7: bez osobnego spinnera pod CTA B2B */
.tofaa-b2b-submit .wpcf7-spinner {
    display: none !important;
}

/* Tofaa 3.31 — pełna szerokość CTA B2B + bez globalnego komunikatu walidacji CF7 */
.tofaa-b2b-submit {
    width: 100%;
}

.tofaa-b2b-submit .wpcf7-submit {
    width: 100% !important;
    flex: 1 1 100%;
}

.tofaa-b2b-form .wpcf7-form.invalid .wpcf7-response-output,
.tofaa-b2b-form .wpcf7-form[data-status="invalid"] .wpcf7-response-output {
    display: none !important;
}

/* Tofaa 3.32 — pełna szerokość CTA B2B + poprawne ukrycie globalnej walidacji CF7 */
.tofaa-b2b-submit {
    display: block !important;
    width: 100% !important;
}

/* Tekst pomocniczy z szablonu CF7 nie może zabierać szerokości przycisku. */
.tofaa-b2b-submit > span:not(.wpcf7-spinner) {
    display: none !important;
}

.tofaa-b2b-submit .wpcf7-submit {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
}

/* Response output jest rodzeństwem .tofaa-b2b-form wewnątrz <form>, nie jego potomkiem. */
.tofaa-b2b-contact__form .wpcf7-form.invalid > .wpcf7-response-output,
.tofaa-b2b-contact__form .wpcf7-form[data-status="invalid"] > .wpcf7-response-output {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Tofaa 3.33 — walidacja formularza B2B jak w „Dane konta” */
.tofaa-b2b-form .tofaa-b2b-field:has(.wpcf7-not-valid) > label,
.tofaa-b2b-form .tofaa-b2b-field:has(.wpcf7-not-valid) > label small,
.tofaa-b2b-form .tofaa-b2b-field:has(.wpcf7-not-valid) .required {
    color: #b3261e !important;
}

.tofaa-b2b-form input.wpcf7-not-valid,
.tofaa-b2b-form select.wpcf7-not-valid,
.tofaa-b2b-form textarea.wpcf7-not-valid {
    border-color: #b3261e !important;
}

.tofaa-b2b-form input.wpcf7-not-valid:focus,
.tofaa-b2b-form select.wpcf7-not-valid:focus,
.tofaa-b2b-form textarea.wpcf7-not-valid:focus {
    border-color: #b3261e !important;
    box-shadow: 0 0 0 4px rgba(179, 38, 30, .12) !important;
}

.tofaa-b2b-form .wpcf7-not-valid-tip {
    display: block;
    margin-top: 7px !important;
    color: #b3261e !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

/* Tofaa 3.34 — CTA B2B 1:1 jak „Kup Tofaa!” + symetryczny oddech karty */
.tofaa-b2b-contact__form {
    --tofaa-b2b-card-pad: clamp(24px, 4vw, 44px);
    padding: var(--tofaa-b2b-card-pad) !important;
}

/* Pusty output CF7 nie może tworzyć dodatkowej przestrzeni pod przyciskiem. */
.tofaa-b2b-contact__form .wpcf7-response-output:empty,
.tofaa-b2b-contact__form .wpcf7-response-output[aria-hidden="true"] {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.tofaa-b2b-submit {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tofaa-b2b-submit .wpcf7-submit,
.tofaa-b2b-submit .wpcf7-submit:hover,
.tofaa-b2b-submit .wpcf7-submit:focus,
.tofaa-b2b-submit .wpcf7-submit:focus-visible,
.tofaa-b2b-submit .wpcf7-submit:disabled {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 1px solid #171717 !important;
    border-radius: 999px !important;
    background: #d1d635 !important;
    background-color: #d1d635 !important;
    box-shadow: 0 8px 0 #171717 !important;
    color: #7C4FA0 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    outline: none !important;
    transform: none !important;
    transition:
        transform .18s cubic-bezier(.2, .8, .2, 1),
        box-shadow .18s cubic-bezier(.2, .8, .2, 1),
        background-color .18s ease !important;
}

.tofaa-b2b-submit .wpcf7-submit:hover,
.tofaa-b2b-submit .wpcf7-submit:focus-visible {
    transform: translateY(6px) !important;
    box-shadow: 0 2px 0 #171717 !important;
}

.tofaa-b2b-submit .wpcf7-submit:active {
    transform: translateY(8px) !important;
    box-shadow: 0 0 0 #171717 !important;
}

/* CF7 wyłącza submit podczas wysyłki — wygląd ma wrócić do stanu bazowego, bez wyszarzenia. */
.tofaa-b2b-contact__form .wpcf7-form.submitting .tofaa-b2b-submit .wpcf7-submit,
.tofaa-b2b-submit .wpcf7-submit:disabled {
    transform: none !important;
    box-shadow: 0 8px 0 #171717 !important;
    opacity: 1 !important;
    cursor: wait !important;
}

@media (prefers-reduced-motion: reduce) {
    .tofaa-b2b-submit .wpcf7-submit {
        transition: none !important;
    }
}

/* Tofaa 3.35 — informacja o czasie odpowiedzi pod CTA B2B */
.tofaa-b2b-submit > span:not(.wpcf7-spinner) {
    display: block !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 8.4px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

/* Tofaa 3.36 — poprawne rozdzielenie CTA i informacji o czasie odpowiedzi */
.tofaa-b2b-submit {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 22px !important;
    width: 100% !important;
    align-items: start !important;
}

.tofaa-b2b-submit .wpcf7-submit {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
}

/* CF7 może pozostawić spinner w DOM — nie może zajmować osobnego wiersza. */
.tofaa-b2b-submit .wpcf7-spinner {
    display: none !important;
}

/* Tekst pomocniczy może być bezpośrednim lub zagnieżdżonym spanem zależnie od renderowania CF7. */
.tofaa-b2b-submit span:not(.wpcf7-spinner) {
    position: static !important;
    inset: auto !important;
    float: none !important;
    display: block !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 8.4px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    white-space: normal !important;
}

/* Tofaa 3.37 — czas odpowiedzi zawsze pod CTA, 2× większy */
.tofaa-b2b-submit {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
}

/* Ukrywamy oryginalny tekst z CF7, który potrafił wejść pod przycisk. */
.tofaa-b2b-submit > span:not(.wpcf7-spinner),
.tofaa-b2b-submit span:not(.wpcf7-spinner) {
    display: none !important;
}

.tofaa-b2b-submit::after {
    content: "Odpowiadamy w ciągu 1–2 dni roboczych.";
    display: block;
    width: 100%;
    margin: 22px 0 0;
    padding: 0;
    color: #7C4FA0;
    font-family: "Rubik", Arial, sans-serif;
    font-size: 16.8px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    white-space: normal;
}

/* Tofaa 3.38 — „Pobierz dane firmy” wyrównane z NIP + CTA 1:1 jak „Kup Tofaa!” */
.tofaa-b2b-nip-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 12px !important;
    row-gap: 8px !important;
    align-items: start !important;
    margin-bottom: 18px !important;
}

/* Rozbijamy pole NIP na etykietę i kontrolkę jako osobne wiersze siatki,
   dzięki czemu CTA jest zawsze idealnie na jednej wysokości z inputem. */
.tofaa-b2b-nip-row > .tofaa-b2b-field {
    display: contents !important;
    margin: 0 !important;
}

.tofaa-b2b-nip-row > .tofaa-b2b-field > label {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
}

.tofaa-b2b-nip-row > .tofaa-b2b-field > .wpcf7-form-control-wrap {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
}

.tofaa-b2b-lookup,
.tofaa-b2b-lookup:hover,
.tofaa-b2b-lookup:focus,
.tofaa-b2b-lookup:focus-visible {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    display: inline-flex !important;
    min-width: max-content !important;
    height: 54px !important;
    min-height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 1px solid #171717 !important;
    border-radius: 999px !important;
    background: #d1d635 !important;
    background-color: #d1d635 !important;
    box-shadow: 0 8px 0 #171717 !important;
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    cursor: pointer !important;
    outline: none !important;
    animation: none !important;
    transform: none !important;
    transition:
        transform .18s cubic-bezier(.2, .8, .2, 1),
        box-shadow .18s cubic-bezier(.2, .8, .2, 1),
        background-color .18s ease !important;
}

.tofaa-b2b-lookup::before,
.tofaa-b2b-lookup::after {
    content: none !important;
    display: none !important;
}

.tofaa-b2b-lookup:hover,
.tofaa-b2b-lookup:focus-visible {
    transform: translateY(6px) !important;
    box-shadow: 0 2px 0 #171717 !important;
}

.tofaa-b2b-lookup:active {
    transform: translateY(8px) !important;
    box-shadow: 0 0 0 #171717 !important;
}

/* Podczas pobierania z GUS przycisk nie może się wyszarzać ani zmieniać geometrii. */
.tofaa-b2b-lookup:disabled {
    opacity: 1 !important;
    cursor: wait !important;
    transform: none !important;
    box-shadow: 0 8px 0 #171717 !important;
}

@media (max-width: 720px) {
    .tofaa-b2b-nip-row {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto auto !important;
    }

    .tofaa-b2b-nip-row > .tofaa-b2b-field > label {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .tofaa-b2b-nip-row > .tofaa-b2b-field > .wpcf7-form-control-wrap {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .tofaa-b2b-lookup,
    .tofaa-b2b-lookup:hover,
    .tofaa-b2b-lookup:focus,
    .tofaa-b2b-lookup:focus-visible {
        grid-column: 1 !important;
        grid-row: 3 !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-top: 8px !important;
    }
}

/* Tofaa 3.39 — korekta układu NIP: CTA obok inputa, bez rozbijania pola na osobne wiersze */
.tofaa-b2b-nip-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    align-items: end !important;
}

/* Przywracamy naturalny układ label + input w jednym polu. */
.tofaa-b2b-nip-row > .tofaa-b2b-field {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    margin: 0 0 18px !important;
}

.tofaa-b2b-nip-row > .tofaa-b2b-field > label {
    display: block !important;
    margin: 0 0 8px !important;
}

.tofaa-b2b-nip-row > .tofaa-b2b-field > .wpcf7-form-control-wrap {
    display: block !important;
    min-width: 0 !important;
}

/* Przycisk stoi dokładnie obok inputa NIP i ma tę samą wysokość kontrolki. */
.tofaa-b2b-lookup,
.tofaa-b2b-lookup:hover,
.tofaa-b2b-lookup:focus,
.tofaa-b2b-lookup:focus-visible {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 0 18px !important;
    padding: 10px 18px !important;
}

@media (max-width: 720px) {
    .tofaa-b2b-nip-row {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
    }

    .tofaa-b2b-nip-row > .tofaa-b2b-field {
        grid-column: 1 !important;
        grid-row: 1 !important;
        margin-bottom: 0 !important;
    }

    .tofaa-b2b-lookup,
    .tofaa-b2b-lookup:hover,
    .tofaa-b2b-lookup:focus,
    .tofaa-b2b-lookup:focus-visible {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 12px 0 18px !important;
    }
}

/* Tofaa 3.40 — precyzyjne wyrównanie CTA GUS z polem NIP */
@media (min-width: 721px) {
    /* Ustalamy jednoznaczną wysokość wiersza etykiety, aby pozycja inputa
       i przycisku była liczona od dokładnie tej samej osi. */
    .tofaa-b2b-nip-row > .tofaa-b2b-field > label {
        line-height: 1.2 !important;
        margin: 0 0 8px !important;
    }

    .tofaa-b2b-lookup,
    .tofaa-b2b-lookup:hover,
    .tofaa-b2b-lookup:focus,
    .tofaa-b2b-lookup:focus-visible {
        align-self: start !important;
        /* 14 px label × 1.2 + 8 px odstępu = dokładny początek inputa NIP. */
        margin: 24.8px 0 18px !important;
        height: 54px !important;
        min-height: 54px !important;
        box-sizing: border-box !important;
    }
}

/* Tofaa 3.42 — precyzyjny układ „Dane firmy”: 20 px + idealne wyrównanie CTA GUS */
.tofaa-b2b-company {
    padding: 0 22px 22px !important;
}

.tofaa-b2b-company > legend {
    margin: 0 !important;
    padding: 0 9px !important;
    line-height: 1.2 !important;
}

/* Dokładnie 20 px od napisu „Dane firmy” do początku pola NIP. */
.tofaa-b2b-company > legend + .tofaa-b2b-nip-row {
    margin-top: 20px !important;
}

/* Pusty status REGON nie może rezerwować miejsca między NIP-em a nazwą firmy. */
.tofaa-b2b-company > .tofaa-b2b-registry-status:empty {
    display: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tofaa-b2b-company > .tofaa-b2b-registry-status:not(:empty) {
    min-height: 0 !important;
    margin: 8px 0 0 !important;
}

/* Nazwa firmy zaczyna się 20 px po sekcji NIP/statusie REGON. */
.tofaa-b2b-company > .tofaa-b2b-field {
    margin: 20px 0 0 !important;
}

@media (min-width: 721px) {
    .tofaa-b2b-nip-row {
        --tofaa-b2b-lookup-width: 202px;
        position: relative !important;
        display: block !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        padding-right: calc(var(--tofaa-b2b-lookup-width) + 12px) !important;
        box-sizing: border-box !important;
    }

    .tofaa-b2b-nip-row > .tofaa-b2b-field {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .tofaa-b2b-nip-row > .tofaa-b2b-field > label {
        display: block !important;
        margin: 0 0 8px !important;
        line-height: 1.2 !important;
    }

    .tofaa-b2b-nip-row > .tofaa-b2b-field > .wpcf7-form-control-wrap {
        display: block !important;
        width: 100% !important;
    }

    .tofaa-b2b-nip-row input#tofaa-b2b-nip {
        width: 100% !important;
        height: 54px !important;
        min-height: 54px !important;
        box-sizing: border-box !important;
    }

    /* 14 px × 1.2 + 8 px = 24.8 px: dokładnie początek inputa NIP. */
    .tofaa-b2b-nip-row .tofaa-b2b-lookup,
    .tofaa-b2b-nip-row .tofaa-b2b-lookup:hover,
    .tofaa-b2b-nip-row .tofaa-b2b-lookup:focus,
    .tofaa-b2b-nip-row .tofaa-b2b-lookup:focus-visible {
        position: absolute !important;
        top: 24.8px !important;
        right: 0 !important;
        width: var(--tofaa-b2b-lookup-width) !important;
        height: 54px !important;
        min-height: 54px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 720px) {
    .tofaa-b2b-company {
        padding: 0 18px 18px !important;
    }

    .tofaa-b2b-company > legend + .tofaa-b2b-nip-row {
        margin-top: 20px !important;
    }

    .tofaa-b2b-nip-row {
        display: block !important;
        padding-right: 0 !important;
    }

    .tofaa-b2b-nip-row > .tofaa-b2b-field {
        margin: 0 !important;
    }

    .tofaa-b2b-nip-row .tofaa-b2b-lookup,
    .tofaa-b2b-nip-row .tofaa-b2b-lookup:hover,
    .tofaa-b2b-nip-row .tofaa-b2b-lookup:focus,
    .tofaa-b2b-nip-row .tofaa-b2b-lookup:focus-visible {
        position: static !important;
        width: 100% !important;
        height: 54px !important;
        min-height: 54px !important;
        margin: 12px 0 0 !important;
    }
}

/* Tofaa 3.44 — textarea bez resize + bez czasu odpowiedzi pod CTA + symetryczny dół karty */
.tofaa-b2b-form textarea {
    resize: none !important;
}

/* Usuwamy zarówno tekst generowany przez CF7, jak i wcześniejszy pseudo-element. */
.tofaa-b2b-submit > span:not(.wpcf7-spinner),
.tofaa-b2b-submit span:not(.wpcf7-spinner) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tofaa-b2b-submit::after {
    content: none !important;
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Po usunięciu dodatkowego wiersza CTA kończy formularz; padding dołu = paddingowi góry. */
.tofaa-b2b-contact__form {
    padding-top: var(--tofaa-b2b-card-pad, clamp(24px, 4vw, 44px)) !important;
    padding-bottom: var(--tofaa-b2b-card-pad, clamp(24px, 4vw, 44px)) !important;
}

.tofaa-b2b-submit {
    margin-bottom: 0 !important;
}

/* Tofaa 3.45 — płaska karta, symetryczne odstępy i czerwone oznaczenia pól */
.tofaa-b2b-contact__form {
    box-shadow: none !important;
}

.tofaa-b2b-form .required {
    color: #c5162e !important;
}
