/* Scoped dark theme for offer pages. Header, navigation and footer stay untouched. */
body[data-ds-offer-dark]{--ds-bg:#091525;--ds-surface:#10233c;--ds-raised:#152d49;--ds-text:#e7f0fb;--ds-muted:#b9cbe0;--ds-heading:#f7faff;--ds-accent:#64d3ed;--ds-border:rgba(142,190,226,.28)}
body[data-ds-offer-dark] main{background:radial-gradient(circle at 82% 4%,rgba(35,116,168,.16),transparent 31rem),var(--ds-bg);color:var(--ds-text)}
body[data-ds-offer-dark] main :is(h1,h2,h3,h4,.plan-name,.price strong,summary){color:var(--ds-heading)}
body[data-ds-offer-dark] main :is(p,li,dd,dt,small,.lead,.plan-desc){color:var(--ds-text)}
body[data-ds-offer-dark] main :is(.eyebrow,.section-head>p,.price-note,caption){color:var(--ds-muted)}
body[data-ds-offer-dark] .breadcrumbs{max-width:none;margin:0;padding:14px max(24px,calc((100% - 1160px)/2));background:#0d1d32;border-bottom:1px solid var(--ds-border)}
body[data-ds-offer-dark] .breadcrumbs,body[data-ds-offer-dark] .breadcrumbs a,body[data-ds-offer-dark] .breadcrumbs span{color:var(--ds-muted)}
body[data-ds-offer-dark] main :is(.service-hero,.section,.hosting-technology,.hosting-feature-table,.hosting-backup,.content-depth,.faq-section,.features,.highlights){background:transparent}
body[data-ds-offer-dark] main :is(.service-visual,.price-card,.hosting-infrastructure-grid article,.highlights>div,.faq-list details,.domain-search-section,.domain-price-table-wrap,.ds-domain-hosting-promo){background:var(--ds-surface);border-color:var(--ds-border);box-shadow:0 16px 38px rgba(2,10,22,.24)}
body[data-ds-offer-dark] main .price-card{border:1px solid var(--ds-border);padding:clamp(24px,2.5vw,32px)}
body[data-ds-offer-dark] main .price-card.featured{background:var(--ds-raised);border:2px solid var(--ds-accent);box-shadow:0 22px 48px rgba(2,10,22,.34)}
body[data-ds-offer-dark] main .popular{background:#164b6a;color:#a9edfb;border:1px solid rgba(100,211,237,.34)}
body[data-ds-offer-dark] main .hosting-renewal{margin:10px 0 20px;padding:12px 14px;border:1px solid rgba(142,190,226,.24);border-radius:10px;background:#0c1c30;color:var(--ds-muted);line-height:1.45}
body[data-ds-offer-dark] main .ds-domain-offer{margin:10px 0 18px;color:var(--ds-accent);font-weight:800}
body[data-ds-offer-dark] main .ds-domain-offer span{color:var(--ds-muted)}
body[data-ds-offer-dark] main .feature-row,body[data-ds-offer-dark] main .feature-row.reverse{max-width:100%;margin-left:0;padding:34px 0;border:0;border-top:1px solid var(--ds-border);background:transparent;box-shadow:none}
body[data-ds-offer-dark] main .feature-number{color:var(--ds-accent)}
body[data-ds-offer-dark] main .platform-showcase{overflow:hidden;background:var(--ds-surface);border:1px solid var(--ds-border);box-shadow:0 18px 44px rgba(2,10,22,.28)}
body[data-ds-offer-dark] main .platform-copy{background:transparent;box-shadow:none}
body[data-ds-offer-dark] main .platform-image{padding:16px;background:#dfe9f2;border-radius:16px}
body[data-ds-offer-dark] main .platform-image img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;border-radius:10px}
body[data-ds-offer-dark] main .hosting-table-scroll{background:#0d1d32;border-color:var(--ds-border);box-shadow:0 14px 34px rgba(2,10,22,.25)}
body[data-ds-offer-dark] main :is(table,th,td){border-color:var(--ds-border)}
body[data-ds-offer-dark] main .hosting-feature-table thead th,body[data-ds-offer-dark] main .hosting-feature-table tbody th,body[data-ds-offer-dark] main .hosting-feature-table td{background:#10233c;color:var(--ds-text)}
body[data-ds-offer-dark] main .hosting-feature-table tbody tr:nth-child(even) :is(th,td){background:#0d1d32}
body[data-ds-offer-dark] main .hosting-competitors tbody th,body[data-ds-offer-dark] main .hosting-competitors tbody td:not(.dosieci-column){background:#0d1d32;color:#dce8f3}
body[data-ds-offer-dark] main .hosting-competitors tbody tr:nth-child(even) :is(th,td:not(.dosieci-column)){background:#112741}
body[data-ds-offer-dark] main .hosting-competitors .dosieci-column{background:#12618d!important;color:#fff!important}
body[data-ds-offer-dark] main .content-depth article{background:transparent;border-color:var(--ds-border);box-shadow:none}
body[data-ds-offer-dark] main :is(details,.plan-spec){border-color:var(--ds-border)}
body[data-ds-offer-dark] main :is(details,.plan-spec) summary{color:var(--ds-heading)}
body[data-ds-offer-dark] main a:not(.button){color:var(--ds-accent);text-decoration-color:rgba(100,211,237,.55)}
body[data-ds-offer-dark] main a:not(.button):hover{color:var(--ds-heading)}
body[data-ds-offer-dark] main :is(.button.primary,.button.wide,.button.ds-domain-offer-button){background:var(--ds-accent);border-color:var(--ds-accent);color:#071525!important;box-shadow:0 10px 26px rgba(100,211,237,.18)}
body[data-ds-offer-dark] main :is(.button.ghost,.button.ghost-dark){background:transparent;border-color:rgba(100,211,237,.66);color:var(--ds-heading)!important;box-shadow:none}
body[data-ds-offer-dark] main :is(.button.primary,.button.wide):hover{background:#a6edfa;border-color:#a6edfa}
body[data-ds-offer-dark] main :is(input,select,textarea){background:#0c1c30;border-color:var(--ds-border);color:var(--ds-heading)}
body[data-ds-offer-dark] main :is(input,select,textarea)::placeholder{color:var(--ds-muted)}
body[data-ds-offer-dark] main :is(a,button,input,select,summary):focus-visible{outline:3px solid var(--ds-accent);outline-offset:3px}
@media(max-width:760px){body[data-ds-offer-dark] .breadcrumbs{padding:11px 18px}body[data-ds-offer-dark] main .platform-image{padding:8px}body[data-ds-offer-dark] main .feature-row,body[data-ds-offer-dark] main .feature-row.reverse{padding:28px 0}}

/* ds-contrast-repair-20260920: replace legacy light cards and dark headings. */
body[data-ds-offer-dark] main :is(.plan-spec, .depth-section, .scope-table>div, .partner-teaser){background:var(--ds-surface);border-color:var(--ds-border);color:var(--ds-text)}
body[data-ds-offer-dark] main :is(.plan-spec, .depth-section, .scope-table>div, .partner-teaser) :is(h2,h3,h4,strong,b,summary,dt,dd){color:var(--ds-heading)!important}
body[data-ds-offer-dark] main :is(.plan-spec, .depth-section, .scope-table>div, .partner-teaser) :is(p,li,small){color:var(--ds-text)!important}
body[data-ds-offer-dark] main :is(.knowledge-card, .knowledge-topics a, .depth-links a){background:var(--ds-surface);border-color:var(--ds-border);color:var(--ds-text)}
body[data-ds-offer-dark] main :is(.knowledge-card, .knowledge-topics a, .depth-links a) :is(h2,h3,strong,b){color:var(--ds-heading)!important}
body[data-ds-offer-dark] main :is(.knowledge-card, .knowledge-topics a, .depth-links a) :is(p,li,small){color:var(--ds-text)!important}
body[data-ds-offer-dark] main :is(.service-hero h1,.section-head h2,.partner-teaser h2){color:var(--ds-heading)!important}


/* 2026-09-22: wyrownanie sekcji tresci w ciemnej wersji.
   .depth-section ma w site.css max-width:900px, a co druga margin-left:auto.
   Przy przezroczystym tle to tylko naprzemienny uklad tekstu, ale gdy blok
   ds-contrast-repair nadal jej tlo, przesuniecie zaczelo wygladac jak krzywo
   ulozone kafelki. Wracamy do wygladu z wersji jasnej: sam gorny obrys. */
body[data-ds-offer-dark] main .depth-section{background:transparent;box-shadow:none;border:0;border-top:1px solid var(--ds-border);border-radius:0}

/* 2026-09-22b: poprawka dwoch usterek widocznych dopiero przy szerokim oknie.

   1) .depth-section. Poprzednia proba nie zadzialala, bo regula z bloku
      ds-contrast-repair uzywa :is(.plan-spec, .depth-section, .scope-table>div,
      .partner-teaser), a :is() bierze specyficznosc najmocniejszego argumentu
      (.scope-table>div). Repair mial 0,2,3, moja poprawka 0,2,2 - i przegrywala.
      Tutaj dokladam .content-depth, czyli 0,3,2.
      Przy okazji zdejmujemy margin-left:auto z co drugiej sekcji: przy tle
      wyglada to jak krzywo ulozone kafelki, a max-width:900px w kontenerze
      1160px zostawia 260 px przesuniecia.

   2) .ds-domain-hosting-promo nie ma w site.css ZADNYCH regul ukladu - ani
      szerokosci, ani marginesow, ani wypelnienia. W jasnej wersji byl
      przezroczysty, wiec nikt tego nie widzial. Ciemne tlo pokazalo, ze element
      rozlewa sie na cala szerokosc okna i nachodzi na sekcje ponizej.
      Dajemy mu ten sam kontener, co ma .domain-search-section. */
body[data-ds-offer-dark] main .content-depth .depth-section{background:transparent;box-shadow:none;border:0;border-top:1px solid var(--ds-border);border-radius:0;max-width:100%;margin-left:0;margin-right:0}
body[data-ds-offer-dark] main .ds-domain-hosting-promo{max-width:1160px;margin:48px auto;padding:36px 48px;border-radius:18px}
@media(max-width:760px){body[data-ds-offer-dark] main .ds-domain-hosting-promo{padding:24px 20px;margin:32px auto}}

/* 2026-09-22c, etap B: ciemne wartosci tokenow motywu.
   Od tej chwili 300 deklaracji w site.css przelacza sie samo - bez pisania
   nadpisan per komponent. --t-on-accent zostaje bialy, bo to tekst na
   kolorowym przycisku, a nie powierzchnia. */
body[data-ds-offer-dark]{
--t-surface:#10233c;--t-surface-alt:#0d1d32;--t-surface-alt2:#0d1d32;
--t-surface-mint:#122a45;--t-surface-blue:#122a45;--t-surface-deep:#0a1728;
--t-surface-ink:#0c1c30;
--t-text:#e7f0fb;--t-heading:#f7faff;--t-on-accent:#fff;
--t-muted:#b9cbe0;--t-muted-2:#b9cbe0;--t-muted-3:#b9cbe0;--t-muted-4:#b9cbe0;
--t-border:rgba(142,190,226,.28);--t-border-2:rgba(142,190,226,.28);
--t-border-3:rgba(142,190,226,.28);--t-border-4:rgba(142,190,226,.28);
--t-border-white:rgba(142,190,226,.24);--t-border-deep:rgba(142,190,226,.34)}

/* 2026-09-22d: ciemne wartosci dla dlugiego ogona kolorow.
   52 jasnych tel i 22 ciemnych kolorow tekstu. W jasnym motywie
   kazdy token ma dokladnie swoja oryginalna wartosc, wiec nic sie nie zmienia.
   Tutaj wszystkie jasne powierzchnie schodza do jednej ciemnej, a ciemny tekst
   do jasnego - bo w ciemnym motywie te roznice odcieni i tak nie niosly tresci. */
body[data-ds-offer-dark]{--t-ld9fae9:#10233c;--t-ldef9fb:#10233c;--t-ldff9fb:#10233c;--t-le0f7f8:#10233c;--t-le7f4ff:#10233c;--t-le7f8f0:#10233c;--t-le8f0f8:#10233c;--t-le8f2ff:#10233c;--t-le8f3ff:#10233c;--t-le8f4ff:#10233c;--t-le8f8fb:#10233c;--t-le9f3ff:#10233c;--t-le9f8f0:#10233c;--t-leaf3fc:#10233c;--t-leaf3ff:#10233c;--t-ledf5fb:#10233c;--t-ledf5fc:#10233c;--t-ledf7fb:#10233c;--t-ledf8fb:#10233c;--t-ledf9fb:#10233c;--t-leef2f6:#10233c;--t-leef5fb:#10233c;--t-leef6fc:#10233c;--t-leef7fb:#10233c;--t-leef8fa:#10233c;--t-leef8fb:#10233c;--t-leef8ff:#10233c;--t-leff6fc:#10233c;--t-leff7ff:#10233c;--t-leffbfa:#10233c;--t-lf0f7ff:#10233c;--t-lf0fbf6:#10233c;--t-lf1f7fc:#10233c;--t-lf1f7fd:#10233c;--t-lf2f7fb:#10233c;--t-lf2f7fc:#10233c;--t-lf2f7fd:#10233c;--t-lf2f8fc:#10233c;--t-lf2f8ff:#10233c;--t-lf3f7fc:#10233c;--t-lf3f8fe:#10233c;--t-lf4f8fd:#10233c;--t-lf4fbfd:#10233c;--t-lf5f8fb:#10233c;--t-lf6f9fc:#10233c;--t-lf6f9fd:#10233c;--t-lf7fbff:#10233c;--t-lf8fbfe:#10233c;--t-lf8fbff:#10233c;--t-lffe3e6:#10233c;--t-lfff3dc:#10233c;--t-lfffaf2:#10233c;--t-d000:#e7f0fb;--t-d06223d:#e7f0fb;--t-d06301f:#e7f0fb;--t-d087348:#e7f0fb;--t-d0b4c81:#e7f0fb;--t-d0b5bb7:#e7f0fb;--t-d0e4264:#e7f0fb;--t-d20404a:#e7f0fb;--t-d33424f:#e7f0fb;--t-d33455c:#e7f0fb;--t-d354961:#e7f0fb;--t-d3e5570:#e7f0fb;--t-d40536c:#e7f0fb;--t-d43566e:#e7f0fb;--t-d45566c:#e7f0fb;--t-d555:#e7f0fb;--t-d6f4a18:#e7f0fb;--t-d730e1c:#e7f0fb;--t-d7c4800:#e7f0fb;--t-d8f1424:#e7f0fb;--t-da6192e:#e7f0fb;--t-db3121f:#e7f0fb}

/* 2026-09-22e: stare zmienne motywu. Witryna miala wlasny zestaw sprzed tokenow
   --t-*: --line uzywane 84 razy, --text 61, --soft 13, --ink 9. Nie ruszylem ich
   w migracji, bo juz byly w var(), a nie wpisane na sztywno - i to one zostawialy
   biale bloki na ciemnych stronach (np. "Dane rejestrowe" na /kontakt/).
   Przelaczam tylko te, ktore maja czyste przeznaczenie: --line i --color-border
   wylacznie do obrysow, --text/--ink/--color-text wylacznie do tekstu,
   --soft i --color-background* wylacznie do tla.
   --color-primary i --navy ZOSTAJA: sluza raz jako tlo, raz jako tekst,
   wiec przelaczenie ich zepsuloby jedno albo drugie. */
body[data-ds-offer-dark]{
--soft:#10233c;--color-background:#0d1d32;--color-background-light:#10233c;
--ink:#f7faff;--text:#cfe0f2;--color-text:#e7f0fb;
--line:rgba(142,190,226,.26);--color-border:rgba(142,190,226,.26)}

/* 2026-09-22f: --color-primary i --navy jednak trzeba przelaczyc.
   Zostawilem je wczesniej nieprzelaczone, bo sluza raz jako tlo, raz jako tekst.
   Skutek: 60 selektorow mialo ciemny tekst na ciemnym tle - niewidoczne chipy
   technologii, naglowki tabeli cennika i przycisk 'Napisz do nas'.
   Teraz obie zmienne daja jasny tekst, a ponizsze 30 selektorow, ktore uzywaja
   ich jako TLA (naglowek, stopka, ciemne pasma), dostaje wartosci wprost. */
body[data-ds-offer-dark]{--color-primary:#eaf2fb;--color-primary-deep:#f7faff;--navy:#dce9f7}
body[data-ds-offer-dark] .header{background:#092d5f}
body[data-ds-offer-dark] .dark-section{background:#092d5f}
body[data-ds-offer-dark] .service-badge{background:#092d5f}
body[data-ds-offer-dark] .kb-hero{background:#092d5f}
body[data-ds-offer-dark] .support-box{background:#092d5f}
body[data-ds-offer-dark] .header nav{background:#092d5f}
body[data-ds-offer-dark] .service-hub{background:#092d5f}
body[data-ds-offer-dark] .header-language a[aria-current=page],body[data-ds-offer-dark] .mobile-language a[aria-current=page]{background:#092d5f;border-color:#092d5f}
body[data-ds-offer-dark] .topbar{background:#071426}
body[data-ds-offer-dark] .header{background:#0b1f3a}
body[data-ds-offer-dark] .domain-search-section,body[data-ds-offer-dark] .cta{background:linear-gradient(120deg,#0b1f3a,#123b68)}
body[data-ds-offer-dark] .dark-section,body[data-ds-offer-dark] .kb-hero,body[data-ds-offer-dark] .service-hub{background:#0b1f3a}
body[data-ds-offer-dark] footer{background:#071426}
body[data-ds-offer-dark] .partner-hero .service-badge{background:#0b1f3a}
body[data-ds-offer-dark] .partner-comparison thead th{background:#0b1f3a}
body[data-ds-offer-dark] .reseller-economics{background:#0b1f3a}
body[data-ds-offer-dark] .problem-band,body[data-ds-offer-dark] .security-note{background:#092d5f}
body[data-ds-offer-dark] .workflow strong{background:#092d5f;border-color:#092d5f}
body[data-ds-offer-dark] .header nav.open{background:#0b1f3a}
body[data-ds-offer-dark] .catalog-stat{background:linear-gradient(145deg,#0b1f3a,#164d82)}
body[data-ds-offer-dark] .elink-flow-mini strong,body[data-ds-offer-dark] .channel-to-elink strong{background:#0b1f3a}
body[data-ds-offer-dark] .workflow-map strong{background:#0b1f3a}
body[data-ds-offer-dark] .subscription-visual-card strong{background:#0b1f3a}
body[data-ds-offer-dark] .hosting-infrastructure{background:linear-gradient(135deg,#0b1f3a,#164d82)}
body[data-ds-offer-dark] .header nav.open{background:#0b1f3a}
body[data-ds-offer-dark] .ds-ask__toggle{background:linear-gradient(135deg,#0b1f3a),var(--color-primary-deep,#071426))}
body[data-ds-offer-dark] .ds-skip{background:#0b1f3a)}
body[data-ds-offer-dark] .header #main-nav[data-ds-mega-nav]{background:#0b1f3a}
