/* Tor Firma na stronie magazynów i blok promo na stronach list. Klasy mf-*. */
.mf-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:2px solid #00b5b0;border-radius:999px;background:#fff;color:#17343b;font:600 16px/1.2 Lato,sans-serif;text-decoration:none}
.mf-pill:hover{background:#e6f7f6}
.mf-pill:focus-visible{outline:3px solid #00b5b0;outline-offset:4px}
.mf-segment{display:inline-flex;gap:4px;margin:0 0 24px;padding:4px;border:1px solid #d8e3e1;border-radius:999px;background:#fff}
.mf-segment [role="tab"]{min-height:40px;padding:8px 22px;border:0;border-radius:999px;background:transparent;color:#17343b;font:600 16px/1.2 Lato,sans-serif;cursor:pointer}
.mf-segment [role="tab"][aria-selected="true"]{background:#e6f7f6;box-shadow:inset 0 0 0 2px #00b5b0;color:#17343b;font-weight:700}
.mf-segment [role="tab"]:focus-visible{outline:3px solid #00b5b0;outline-offset:2px}
/* Nagłówki z tabindex -1 dostają fokus tylko programowo (linki z hero, „Poproś o wycenę”); bez obrysu, bo nie są kontrolkami. */
#storage-firma-title:focus,#storage-config-title:focus,#si-title:focus{outline:none}
/* Safari rysuje systemowe listy w 24 px mimo min-height; menulist-button zostawia systemową listę i strzałkę, a przyjmuje wysokość 48 px pól obok. Dotyczy obu torów, żeby listy Dom i Firma wyglądały tak samo; w Chromium bez zmian. */
.ms-page .ms-setting select{-webkit-appearance:menulist-button;appearance:menulist-button;height:48px}
.mf-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 24px;align-items:end}
/* Pola toru Firma w wymiarach selectów toru Dom (.ms-setting select: 48 px, obrys #b8cbc7, promień 8 px); same listy zostają systemowe jak w torze Dom. */
.mf-settings input[type="number"],.mf-settings input[type="text"]{width:100%;min-width:0;box-sizing:border-box;min-height:48px;padding:12px;border:1px solid #b8cbc7;border-radius:8px;background:#fff;color:#17343b;font:16px Lato,sans-serif}
.mf-settings input[aria-invalid="true"]{border-color:#9c2828;box-shadow:0 0 0 1px #9c2828}
.mf-hint{margin:0;color:#9c2828}
.mf-settings input:disabled{background:#f6f8f8;color:#7a8b8e}
.mf-cele .ms-check:has(input:disabled){color:#7a8b8e;cursor:not-allowed}
.mf-check{align-self:end;min-height:44px;align-items:center}
.mf-check input{margin-top:0}
.mf-cele{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px;margin:0;padding:14px 16px;border:1px solid #d8e3e1;border-radius:12px}
.mf-cele legend{padding:0 6px;font:600 16px/1.2 Lato,sans-serif;color:#17343b}
.mf-result{margin-top:28px}
.mf-result-top h3{margin:6px 0 8px;font-family:"DM Sans",Lato,sans-serif;font-size:24px;line-height:1.25;color:#17343b;text-wrap:balance}
.mf-systems{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;align-items:stretch;margin:18px 0}
.mf-system{display:flex;flex-direction:column;padding:18px 20px;border:1px solid #d8e3e1;border-radius:16px;background:#fff}
.mf-system h4{margin:0 0 10px;font-family:"DM Sans",Lato,sans-serif;font-size:19px;color:#17343b}
.mf-system .ms-summary-grid{margin:8px 0 0}
.mf-system dt,.mf-result .ms-metrics dt{font-size:16px}
.mf-price{margin:12px 0;padding:14px 16px;border-radius:12px;background:#e6f7f6;color:#17343b;font-size:17px;line-height:1.45}
.mf-result .ms-metrics>div{justify-content:flex-start;gap:16px}
.mf-result .ms-metrics dd{text-align:left}
.mf-result .ms-note{padding:14px 16px;border:1px solid #d8e3e1;border-radius:12px;background:#fff;font-size:16px!important;color:#17343b}
.mf-result #storage-firma-ask,.mf-inquiry .so-submit{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:44px;margin-top:8px;padding:10px 22px;border:2px solid #00b5b0;border-radius:999px;background:#fff;color:#17343b!important;font:700 16px/1.2 Lato,sans-serif;cursor:pointer}
.mf-result #storage-firma-ask:hover,.mf-inquiry .so-submit:hover{background:#e6f7f6}
.mf-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:stretch;margin:28px 0 24px}
.mf-card{display:flex;flex-direction:column;padding:18px 20px;border:1px solid #d8e3e1;border-radius:16px;background:#fff}
.mf-card[hidden]{display:none}
.mf-card h3{margin:0 0 8px;font-family:"DM Sans",Lato,sans-serif;font-size:19px;line-height:1.3;color:#17343b}
.mf-card p{margin:0;font-size:16px;line-height:1.5;color:#17343b}
.mf-inquiry .so-wide{grid-column:1/-1}
.mf-inquiry textarea{width:100%;padding:8px 12px;border:1px solid #d8e3e1;border-radius:10px;font:16px/1.4 Lato,sans-serif;color:#17343b}
.mf-inquiry textarea:focus-visible{outline:3px solid #00b5b0;outline-offset:2px}
.mf-inquiry .so-check input{width:18px;height:18px;margin-top:3px;accent-color:#246d69}
/* Blok promo na stronach list: krój strony (DM Sans na oferty.html, Lato na uslugodawcy.html), karta w kolumnie strony (.us-wrap 1180 px, sekcje 24 px). */
.mf-promo{padding:32px 24px;background:#f6f8f8;color:#17343b;font-family:inherit}
.mf-promo-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:28px 32px;border:1px solid #d8e3e1;border-radius:20px;background:#fff}
.mf-promo .ms-kicker{margin:0;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:#246d69}
.mf-promo h2{margin:4px 0 8px;font-family:inherit;font-size:24px;line-height:1.25;text-wrap:balance}
.mf-promo p{margin:0;font-size:16px;line-height:1.5}
.mf-promo .mf-pill{font-family:inherit}
/* oferty.html: promo w kolumnie main.rj, krawędź jak karta akcji i rozwijaki, bez szarego pasa. */
main.rj>.mf-promo{padding:24px 0 0;background:none}
main.rj>.mf-promo .mf-promo-inner{max-width:none}
/* Przyklejony nagłówek: 89 px od 1280, 69 px od 600, 61 px poniżej (pomiar 23.10.2026, Chromium i WebKit); margines to nagłówek plus 12 px. */
#konfigurator,#konfigurator-firma,#storage-inquiry-adapter{scroll-margin-top:101px}
@media (max-width:1279.98px){#konfigurator,#konfigurator-firma,#storage-inquiry-adapter{scroll-margin-top:81px}}
@media (max-width:599.98px){#konfigurator,#konfigurator-firma,#storage-inquiry-adapter{scroll-margin-top:73px}}
/* Głęboki link ?segment=firma: klasa z head pokazuje tor Firma przed skryptami; magazyny-firma.js zdejmuje ją po starcie. */
html.mf-start-firma .ms-page [data-segment-panel="dom"]{display:none!important}
html.mf-start-firma .ms-page #konfigurator-firma{display:block!important}
html.mf-start-firma #storage-segment-dom{background:transparent;box-shadow:none;font-weight:600}
html.mf-start-firma #storage-segment-firma{background:#e6f7f6;box-shadow:inset 0 0 0 2px #00b5b0;font-weight:700}
@media (max-width:600px){.mf-system .ms-summary-grid{grid-template-columns:1fr 1fr}.mf-system .mf-wide{grid-column:1/-1}}
@media (max-width:640px){.mf-promo-inner{grid-template-columns:1fr;padding:22px 18px}.mf-segment{display:flex}.mf-segment [role="tab"]{flex:1}.mf-inquiry .so-submit{width:100%}}

/* Formularz firmy korzysta ze wspólnej walidacji i blokady wysyłki. */
.mf-inquiry textarea{box-sizing:border-box;min-width:0;resize:vertical}
.mf-inquiry textarea[aria-invalid="true"]{border-color:#9c2828}
.mf-inquiry textarea:disabled{opacity:.7;cursor:wait}
.mf-inquiry .so-state,.mf-data-note{text-wrap:balance;overflow-wrap:anywhere}
.mf-data-note a:focus-visible{outline:3px solid #00b5b0;outline-offset:2px}
@media(max-width:360px){.mf-settings,.mf-systems,.mf-cards{grid-template-columns:minmax(0,1fr)}}

/* Marka i krótki kod modelu to dwie odrębne informacje, także w wąskich kartach. */
.mf-device-brand,.mf-device-model{display:block}

/* Tylko krótki, literalny numer zgłoszenia, bez zmiany znaków identyfikatora. */
.mf-inquiry .si-reference{display:inline-block;white-space:nowrap;overflow-wrap:normal}
