/*
 * Microdelights — uzupełnienia, których Divi 5.13 nie ma w ustawieniach modułów.
 * Wygląd (kolory, typografia, odstępy, siatki, karty, przyciski, obroty i pozycje ilustracji) jest w modułach,
 * presetach i zmiennych Divi 5. Tu wyłącznie: kolor wyróżnionego słowa H1 i gwiazdki logo, przełącznik PL/EN
 * widoczny także na telefonie, menu mobilne pod całym nagłówkiem, przycisk na pełną szerokość karty cennika,
 * dostępność (focus) i animacja podpisu WOH. Każdy selektor ograniczony do klas komponentów md-*.
 */

/* ---------- dostępność */
.md-skip{position:absolute;left:12px;top:-80px;z-index:100000;padding:12px 18px;border-radius:8px;background:#111327;color:#fff!important;font:700 14px/1.2 Arial,sans-serif;text-decoration:none}
.md-skip:focus{top:12px;outline:3px solid #F7CF30;outline-offset:2px}
/* widoczny fokus także na przyciskach Divi (motyw zeruje outline) */
body #page-container .et_pb_button:focus-visible,body #page-container .et_pb_contact_submit:focus-visible{outline:3px solid #6F4BD8!important;outline-offset:3px}
/* formularz: prawdziwe pole „zapoznałem się z polityką” — Divi ukrywa je (display:none) i pokazuje atrapę; tu pole jest
   niewidoczne wizualnie, ale osiągalne klawiaturą i dla czytników, a fokus widać na kwadracie */
#formularz .et_pb_contact_field_checkbox{position:relative}
#formularz .et_pb_contact_field_checkbox input[type=checkbox]{display:block!important;position:absolute;left:0;top:2px;width:18px;height:18px;margin:0;opacity:0;cursor:pointer}
#formularz .et_pb_contact_field_checkbox input[type=checkbox]:focus-visible+label i{outline:3px solid #6F4BD8;outline-offset:2px}
#md-main:focus{outline:none}
/* stopka: listy linków — pole kliknięcia min. 24 px (WCAG 2.5.8) */
.md-footer .md-footnav a,.md-footer .et_pb_text p>a[href^="mailto"],.md-footer .et_pb_text p>a[href^="tel"]{display:inline-block;line-height:24px}
/* formularz: błędy walidacji czytelne (Divi: #ff0000 = 4,0:1) */
#formularz .et_pb_contact_field.et_contact_error :is(label,a,span),#formularz .et_contact_error{color:#B3261E!important}
#formularz :is(input,textarea).et_contact_error{border-color:#B3261E!important}
:is(.md-header,.md-footer,.md-hero,.et_pb_section) :is(a,.et_pb_button,.mobile_menu_bar):focus-visible{outline:2px solid #6F4BD8;outline-offset:3px}

/* ---------- wyróżnione słowo H1 i gwiazdka wordmarku (kolor fragmentu tekstu — brak opcji w Divi) */
.md-accent em{font-style:normal;color:var(--gcid-md-purple,#805CE6)}
.md-logo a{color:inherit!important;text-decoration:none}
.md-logo .md-star{color:var(--gcid-md-yellow,#F7CF30);font-size:1.04em;margin-left:1px}

/* ---------- menu główne: odstęp pozycji jak w makiecie (25 px) */
.md-mainmenu .et-menu>li{padding-left:12px;padding-right:12px}
.md-mainmenu .et-menu>li>a{padding-bottom:0}

/* ---------- przełącznik języka PL / EN: zawsze w jednej linii (także na telefonie), ukośnik między językami */
.md-lang .et-menu{display:flex!important;flex-wrap:nowrap;align-items:center}
.md-lang .et-menu>li{padding:0!important;margin:0!important}
.md-lang .et-menu>li>a{padding:6px 2px!important;line-height:1}
.md-lang .et-menu>li+li::before{content:"/"/"";color:var(--gcid-md-muted,#555B70);margin:0 4px;font-size:12px;font-weight:700;line-height:1;align-self:center}
.md-lang .et-menu>li.current-lang>a{color:var(--gcid-md-purple-text,#6F4BD8)!important}
.md-lang .et-menu>li{display:inline-flex!important;align-items:center}
@media (max-width:980px){
  .md-lang .et_pb_menu__menu{display:flex!important}
  .md-lang .et_mobile_nav_menu{display:none!important}
}

/* ---------- menu mobilne: rozwija się pod całym nagłówkiem (Divi 5 nie ma pozycji „static” w opcjach) */
@media (max-width:980px){
  .md-header :is(.et_pb_row,.et_pb_column,.md-header__bar,.md-mainmenu,.et_pb_menu_inner_container){position:static!important}
  .md-header .md-mainmenu .et_mobile_menu{left:0;right:0;top:100%;width:auto;padding:8px 22px 18px;border-top:1px solid #EFE9F7;box-shadow:0 18px 30px rgba(17,22,60,.08)}
  .md-header .md-mainmenu .et_mobile_menu a{padding:13px 4px}
  .md-header .md-mainmenu .et_mobile_menu li.current-menu-item>a{color:var(--gcid-md-purple-text,#6F4BD8)}
}

/* ---------- cennik: przycisk na całą szerokość karty, zawsze na dole (moduł Przycisk nie ma opcji szerokości) */
.md-pricecard>.et_pb_button_module_wrapper{margin-top:auto}
.md-btn--full{display:block!important;width:100%!important;max-width:none!important;text-align:center}

/* ---------- karta usługi: ikona w kwadracie 45 px po lewej (tło i promień są w presecie Blurba; Divi 5 nie ma
   rozmiaru pola ikony ani wyrównania ikony przy pozycji „nad tekstem”) */
.md-service .et_pb_blurb_content{row-gap:0!important}
.md-service .et_pb_main_blurb_image{text-align:left;margin:0!important;line-height:0}
.md-service .et_pb_main_blurb_image .et_pb_image_wrap{display:block;line-height:0}
.md-service .et_pb_main_blurb_image .et-pb-icon{display:inline-grid!important;place-items:center;width:45px;height:45px;line-height:1!important}

/* ---------- opinie: nazwisko i firma tuż pod treścią, wyrównane do dołu karty (makieta: .rev min-height 100px) */
.md-testi .et_pb_testimonial_description{row-gap:0!important;height:100%}
.md-testi .et_pb_testimonial_content p{padding-bottom:0}
.md-testi .et_pb_testimonial_description_inner{flex-grow:1;min-height:100px}
.md-testi .et_pb_testimonial_author{margin-top:12px}
.md-testi .et_pb_testimonial_meta{margin-top:6px}
@media (max-width:767px){.md-testi .et_pb_testimonial_description_inner{min-height:0}}

/* ---------- ilustracja dashboardu: wiersze listy jak w makiecie */
.md-dash-list .et_pb_icon_list_item{margin:11px 0}

/* ---------- formularz kontaktowy: pole-pułapka na boty niewidoczne (Contact Field nie przyjmuje klas — selektor po data-id) */
.md-form [data-id="md_www"]{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* etykiety pól pogrubione jak w makiecie; zgoda: tytuł pola (powtarza treść opcji) tylko dla czytników ekranu;
   przycisk wysyłki równo z polami (Divi dodaje mu margines 18 px) */
.md-form [data-id]>label.et_pb_contact_form_label{font-weight:800;font-size:13px;color:var(--gcid-md-ink,#111327)}
.md-form [data-id="zgoda"]>label.et_pb_contact_form_label,.md-form [data-id="zgoda"] .et_pb_contact_field_options_title{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.md-form .et_pb_contact_submit{margin-left:0!important}

/* ---------- polityka prywatności: odstępy nagłówków i listy w długim tekście */
.md-prose h2{margin-top:1.6em}
.md-prose ul{padding-left:22px;margin-bottom:1em}
.md-prose li{margin-bottom:.5em}

/* ---------- podpis wykonawcy: animowane logo WOH Group */
.md-credit{flex-wrap:wrap}
.md-credit__txt{margin:0!important}
.md-credit__txt p{white-space:nowrap}
.md-credit__txt a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.md-credit__logo a{position:relative;display:block;line-height:0;border-radius:6px;overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.md-credit__logo img{display:block;width:74px;height:auto;aspect-ratio:1959/788;opacity:.9;transition:opacity .4s,filter .4s}
.md-credit__logo a::after{content:"";position:absolute;inset:-20% auto -20% -60%;width:40%;transform:skewX(-20deg);pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.6),rgba(255,255,255,0));opacity:0}
.md-credit__logo a:is(:hover,:focus-visible){transform:translateY(-3px) rotate(-2deg) scale(1.05)}
.md-credit__logo a:is(:hover,:focus-visible) img{opacity:1;filter:drop-shadow(0 6px 14px rgba(234,1,140,.22)) drop-shadow(0 2px 6px rgba(245,212,41,.22))}
.md-credit__logo a:is(:hover,:focus-visible)::after{animation:md-shine .9s ease-out}
@keyframes md-shine{0%{left:-60%;opacity:1}100%{left:130%;opacity:1}}
.md-credit--ready .md-credit__logo{opacity:0;transform:translateY(14px) scale(.9);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.9,.25,1.25)}
.md-credit--ready.md-in .md-credit__logo{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.md-credit--ready .md-credit__logo{opacity:1;transform:none}.md-credit__logo a:hover{transform:none}}
@media (max-width:767px){.md-credit{justify-content:flex-start!important}.md-credit__txt p{white-space:normal}}

/* ---------- edytor Theme Buildera: Divi 5.13 chowa górne 48 px płótna pod paskiem VB */
body:is(.single-et_header_layout,.single-et_footer_layout,.single-et_body_layout) #et-vb-app-frame{margin-top:48px!important;height:calc(100vh - 48px)!important}
