/* =========================================================
   Lex Legion — WSPÓLNY LAYOUT: header (menu), menu mobilne, stopka
   Używany przez WSZYSTKIE strony. Zmiana tutaj = zmiana wszędzie.
   ========================================================= */

.logo{height:1.75rem;width:auto}
.logo .word{fill:currentColor}
.header{position:fixed;inset:0 0 auto 0;z-index:50;background:#fff;border-bottom:1px solid var(--border);transition:box-shadow .3s}
.nav{display:flex;width:100%;align-items:center;justify-content:space-between;padding:.75rem clamp(1rem,3vw,2.5rem)}
.nav.scrolled{box-shadow:0 10px 30px -18px rgba(10,10,11,.35)}
.nav-links{display:none;align-items:center;gap:.25rem}
@media(min-width:768px){.nav-links{display:flex}}
.nav-links a{border-radius:999px;padding:.5rem 1rem;font-size:.9375rem;font-weight:500;color:rgba(10,10,11,.82);transition:color .2s}
.nav-links a:hover{color:var(--foreground)}
.nav-links a.current{color:var(--primary)}
.has-sub{position:relative}
.has-sub>a{display:inline-flex;align-items:center;gap:.3rem}
.has-sub .caret{width:14px;height:14px;transition:transform .2s}
.has-sub:hover .caret,.has-sub:focus-within .caret{transform:rotate(180deg)}
.sub-wrap{position:absolute;left:50%;top:100%;transform:translateX(-50%);padding-top:.75rem;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.has-sub:hover .sub-wrap,.has-sub:focus-within .sub-wrap{opacity:1;visibility:visible}
.sub-menu{min-width:15rem;border-radius:1.25rem;border:1px solid var(--border);background:#fff;box-shadow:0 20px 50px -20px rgba(0,0,0,.25);padding:.5rem;display:flex;flex-direction:column;gap:.125rem}
.sub-menu a{display:block;border-radius:.875rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:rgba(10,10,11,.85);white-space:nowrap}
.sub-menu a:hover{background:var(--secondary);color:var(--foreground)}
.mobile-menu .m-sub{margin-left:1rem;border-left:2px solid var(--border);padding-left:.25rem}
.mobile-menu .m-sub a{font-size:.9375rem;color:rgba(10,10,11,.7)}
.nav-cta{display:none;align-items:center;gap:.375rem;border-radius:999px;background:var(--foreground);color:var(--background);font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:transform .2s}
.nav-cta:hover{transform:translateY(-2px)}
@media(min-width:640px){.nav-cta{display:inline-flex}}
.nav-burger{display:inline-flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border)}
@media(min-width:768px){.nav-burger{display:none}}
.mobile-menu{position:absolute;inset:calc(100% + .5rem) .75rem auto .75rem;border-radius:1.5rem;border:1px solid var(--border);background:#fff;padding:.75rem;box-shadow:0 20px 50px -20px rgba(0,0,0,.25);display:none}
.mobile-menu.open{display:block;animation:drop .25s ease}
.mobile-menu a{display:block;border-radius:1rem;padding:.75rem 1rem;font-size:1rem;font-weight:500;color:rgba(10,10,11,.8)}
.mobile-menu a:hover{background:var(--secondary)}
.mobile-menu .m-cta{display:flex;align-items:center;justify-content:center;gap:.375rem;background:var(--primary);color:var(--primary-foreground);margin-top:.25rem}
.sub-menu a.current,.mobile-menu .m-sub a.current{color:var(--primary)}
/* długie menu mobilne — przewijanie zamiast wychodzenia poza ekran */
.mobile-menu{max-height:calc(100vh - 6rem);max-height:calc(100dvh - 6rem);overflow-y:auto;overscroll-behavior:contain}
@keyframes drop{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

/* ===================== Mega-menu (Usługi prawne, Odszkodowania) ===================== */
.nav{position:relative}
.has-sub.mega{position:static}
.mega .sub-wrap{left:50%;right:auto;transform:translateX(-50%);width:min(76rem,calc(100vw - 2rem))}
.mega-menu{padding:1rem 1rem .75rem;gap:0;max-height:calc(100vh - 7rem);overflow-y:auto;overscroll-behavior:contain}
.mega-tabs{display:flex;gap:.25rem;margin:0 0 .75rem;padding:.25rem;border-radius:999px;background:var(--secondary);align-self:flex-start}
.mega-tab{border-radius:999px;padding:.45rem 1rem;font-size:.8125rem;font-weight:600;color:rgba(10,10,11,.6);transition:background .2s,color .2s}
.mega-tab:hover{color:var(--foreground)}
.mega-tab.active{background:#fff;color:var(--foreground);box-shadow:0 2px 8px -2px rgba(0,0,0,.15)}
.mega-pane{display:none}
.mega-pane.active{display:block}
.mega-grid{columns:4;column-gap:1rem}
.mega-group{display:flex;flex-direction:column;gap:.0625rem;min-width:0;break-inside:avoid;padding-bottom:.75rem}
.sub-menu .mega-title{white-space:normal;font-family:var(--font-display);font-weight:700;font-size:.875rem;color:var(--foreground);padding:.5rem .75rem;line-height:1.25}
.sub-menu .mega-item{white-space:normal;font-size:.8125rem;line-height:1.3;padding:.3rem .75rem;color:rgba(10,10,11,.72)}
.sub-menu .mega-title.current,.sub-menu .mega-item.current{color:var(--primary)}
.sub-menu .mega-all{margin-top:.5rem;display:inline-flex;align-items:center;gap:.375rem;align-self:flex-start;border-top:1px solid var(--border);border-radius:0;width:100%;padding:.875rem .75rem .25rem;font-weight:600;color:var(--primary)}
.sub-menu .mega-all:hover{background:none;color:var(--primary)}
/* menu górne mieści się od 1200 px — poniżej burger */
.nav{gap:1rem}
.nav-links a,.nav-cta{white-space:nowrap}
@media(min-width:768px) and (max-width:1199px){.nav-links{display:none}.nav-burger{display:inline-flex}}
@media(min-width:1200px) and (max-width:1365px){.nav-links a{padding:.5rem .6rem;font-size:.8125rem}.nav-links{gap:0}}

/* ===================== Menu mobilne: grupy rozwijane ===================== */
.mobile-menu .m-group summary,.mobile-menu .m-subgroup summary{list-style:none;display:flex;align-items:center;justify-content:space-between;border-radius:1rem;padding:.75rem 1rem;font-size:1rem;font-weight:500;color:rgba(10,10,11,.8);cursor:pointer}
.mobile-menu .m-group summary::-webkit-details-marker,.mobile-menu .m-subgroup summary::-webkit-details-marker{display:none}
.mobile-menu summary .caret{width:16px;height:16px;flex-shrink:0;transition:transform .2s}
.mobile-menu details[open]>summary .caret{transform:rotate(180deg)}
.mobile-menu .m-group summary:hover,.mobile-menu .m-subgroup summary:hover{background:var(--secondary)}
.mobile-menu .m-subgroup summary{font-size:.9375rem;font-weight:600;color:var(--foreground);padding:.625rem 1rem}
.mobile-menu .m-label{margin:.75rem 1rem .25rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--primary)}
.mobile-menu .m-sub a.m-title{font-weight:600;color:var(--foreground);padding-top:.625rem;padding-bottom:.375rem}
.mobile-menu .m-sub a.m-item{font-size:.875rem;padding:.375rem 1rem .375rem 1.75rem;color:rgba(10,10,11,.62)}
.mobile-menu .m-sub a.current,.mobile-menu .m-sub a.m-title.current,.mobile-menu .m-sub a.m-item.current{color:var(--primary)}

img.logo{display:block}

/* ===================== Pełna szerokość, przycisk Panel, e-mail ===================== */
.nav-logo{flex-shrink:0}
.nav-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.mobile-menu .m-panel{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;border:1px solid var(--border);justify-content:center;font-weight:600}
.js-email{cursor:pointer}
@media(min-width:1366px){.nav-links{gap:.25rem}}

/* ---------- WYSZUKIWARKA w nagłówku ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav-search{display:inline-flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--foreground);cursor:pointer;transition:border-color .2s,color .2s}
.nav-search:hover,.nav-search[aria-expanded="true"]{border-color:var(--foreground)}
.nav-search .icon{width:18px;height:18px}
.nav-search:focus-visible,.sp-form input:focus-visible,.m-search input:focus-visible,.sp-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.search-panel{border-top:1px solid var(--border);background:#fff;padding:1rem clamp(1rem,3vw,2.5rem) 1.25rem}
.search-panel[hidden]{display:none}
.search-panel:not([hidden]){animation:drop .2s ease}
.sp-form{position:relative;display:flex;align-items:center;gap:.5rem;max-width:56rem;margin:0 auto}
.sp-form>.icon{position:absolute;left:1.125rem;width:20px;height:20px;color:var(--muted-foreground);pointer-events:none}
.sp-form input{flex:1;min-width:0;height:3.25rem;border:1.5px solid var(--foreground);border-radius:999px;padding:0 1rem 0 3.1rem;font:500 1.0625rem/1 var(--font-sans);color:var(--foreground);background:#fff;-webkit-appearance:none;appearance:none}
.sp-form input::-webkit-search-cancel-button{display:none}
.sp-go{height:3.25rem;border:0;border-radius:999px;background:var(--primary);color:#fff;font:600 .9375rem var(--font-sans);padding:0 1.5rem;cursor:pointer}
.sp-close{display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:var(--muted-foreground);cursor:pointer}
.sp-close:hover{background:var(--secondary);color:var(--foreground)}
@media(max-width:639px){.sp-go{display:none}}
.sp-wyniki{max-width:56rem;margin:0 auto}
.sp-wyniki:empty{display:none}
.sp-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column}
.sp-item{display:block;border-radius:.875rem;padding:.625rem 1rem;color:var(--foreground)}
.sp-item:hover,.sp-item.active{background:var(--secondary)}
.sp-item .sp-p{display:block;font-size:.75rem;color:var(--muted-foreground);margin-bottom:.125rem}
.sp-item .sp-t{display:block;font-family:var(--font-display);font-weight:600;font-size:1rem;line-height:1.3}
.sp-item mark,.sz-list mark,.e4-podobne mark{background:none;color:var(--primary);font-weight:inherit}
.sp-all{display:inline-flex;margin:.5rem 0 0 1rem;font-size:.875rem;font-weight:600;color:var(--primary)}
.sp-all:hover{text-decoration:underline}
.sp-none{margin:.875rem 1rem 0;font-size:.9375rem;color:var(--muted-foreground)}
.search-panel .sp-wyniki{max-height:calc(100vh - 12rem);max-height:calc(100dvh - 12rem);overflow-y:auto}
.mobile-menu .m-search{position:relative;margin-bottom:.5rem}
.mobile-menu .m-search .icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted-foreground);pointer-events:none}
.mobile-menu .m-search input{width:100%;height:3rem;border:1px solid var(--border);border-radius:999px;padding:0 1rem 0 2.75rem;font:500 1rem var(--font-sans);background:var(--secondary);color:var(--foreground);-webkit-appearance:none;appearance:none}
@media(min-width:1200px){.mobile-menu .m-search{display:none}}

/* telefon: bardzo długie słowa w nagłówkach (np. „Ubezwłasnowolnienie”) dzielą się zamiast rozpychać stronę */
@media(max-width:639px){
  h1,h2,h3,.a-title,.oc-title{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
}

/* =====================================================================
   STOPKA „Next Generation Legal Interface” (inc/stopka.php, assets/js/stopka.js)
   ===================================================================== */
:root{--ease:cubic-bezier(.22,1,.36,1)}
.fc{position:relative;isolation:isolate;background:#050506;color:#fff;overflow:hidden;--p:0}
.fc-scene{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.fc-horizon{position:absolute;left:0;right:0;top:0;height:40%;z-index:-1;background:linear-gradient(to bottom,#0a0a0b 0%,rgba(10,10,11,.6) 35%,transparent 100%);pointer-events:none}
.fc-glow{position:absolute;left:62%;top:8%;width:70vw;max-width:900px;aspect-ratio:1;transform:translateX(-50%);border-radius:999px;background:radial-gradient(circle,rgba(237,28,36,.22),transparent 60%);filter:blur(40px);z-index:-1;pointer-events:none}
.fc-wrap{max-width:84rem;margin:0 auto;padding-inline:clamp(1rem,3vw,2.5rem)}
/* wielka typografia (scroll-driven) */
.fc-giant{position:relative;height:clamp(7rem,16vw,15rem);overflow:hidden;pointer-events:none;user-select:none;margin-top:1rem}
.fc-giant span{position:absolute;left:0;top:0;white-space:nowrap;font-family:var(--font-display);font-weight:900;font-size:clamp(7rem,16vw,15rem);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22);transform:translateX(calc(2vw - var(--p) * 16vw));will-change:transform}
.fc-giant span b{color:transparent;-webkit-text-stroke:1px rgba(237,28,36,.6);font-weight:900}
/* hero stopki */
.fc-head{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:clamp(3rem,6vw,5.5rem)}
@media (min-width:900px){.fc-head{grid-template-columns:1fr 1fr;gap:3rem;align-items:end}}
.fc-head .logo{height:2.4rem;width:auto}
.fc-head h2{margin-top:1.75rem;font-size:clamp(2rem,4.2vw,3.25rem);font-weight:800;line-height:1;letter-spacing:-.035em}
.fc-head h2 em{font-style:normal;color:var(--primary)}
.fc-head p{margin-top:1.25rem;max-width:32rem;color:#b4b4bb;line-height:1.7}
.fc-head p strong{color:#fff}
.fc-console{position:relative;border:1px solid rgba(255,255,255,.12);border-radius:1.5rem;padding:clamp(1.25rem,2.5vw,2rem);background:rgba(10,10,11,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.fc-console .lab{font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:#9a9aa2;display:flex;justify-content:space-between;gap:1rem}
.fc-console .lab i{font-style:normal;color:#2fd36f}
.fc-console h3{margin-top:.9rem;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.fc-console p{margin-top:.6rem;color:#b4b4bb;font-size:.9375rem;line-height:1.6}
.fc-mag{display:inline-flex;align-items:center;gap:.75rem;margin-top:1.4rem;border-radius:999px;background:var(--primary);color:#fff;padding:1rem 1.6rem 1rem 1.75rem;font-weight:700;font-size:1.0625rem;box-shadow:0 20px 50px -14px rgba(237,28,36,.8);transition:transform .25s var(--ease),box-shadow .25s;will-change:transform}
.fc-mag:hover{box-shadow:0 26px 60px -14px rgba(237,28,36,.95)}
.fc-mag .ring{width:2rem;height:2rem;border-radius:999px;border:2px solid rgba(255,255,255,.7);display:grid;place-items:center;transition:transform .4s var(--ease)}
.fc-mag .ring .icon{width:14px;height:14px}
.fc-mag:hover .ring{transform:rotate(45deg);background:#fff;color:var(--primary);border-color:#fff}
.fc-contacts{margin-top:1.5rem;display:grid;grid-template-columns:1fr;gap:.6rem}
@media (min-width:560px){.fc-contacts{grid-template-columns:1fr 1fr}}
.fc-contacts li{display:flex;flex-direction:column;gap:.2rem;padding:.75rem .9rem;border:1px solid rgba(255,255,255,.1);border-radius:.8rem;background:rgba(255,255,255,.02);font-size:.9375rem}
.fc-contacts .lab{display:block;font-size:.625rem}
.fc-contacts a,.fc-contacts button{color:#fff;text-align:left;font:inherit;transition:color .2s}
.fc-contacts a:hover,.fc-contacts button:hover{color:var(--primary)}
.fc-contacts .val{color:#e6e6ea;line-height:1.5}
/* nawigator */
.fc-navigator{margin-top:clamp(2.5rem,5vw,4.5rem);border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:1fr}
@media (min-width:900px){.fc-navigator{grid-template-columns:22rem 1fr;border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;overflow:hidden;background:rgba(10,10,11,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}
.fc-depts{display:flex;flex-direction:column}
@media (min-width:900px){.fc-depts{border-right:1px solid rgba(255,255,255,.1)}}
.fc-dept{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1.1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;color:#d6d6db;font-family:var(--font-display);font-weight:700;font-size:1.0625rem;letter-spacing:-.01em;transition:background .25s,color .25s}
.fc-dept i{font-style:normal;font-family:var(--font-sans);font-size:.6875rem;letter-spacing:.16em;color:rgba(255,255,255,.35);font-variant-numeric:tabular-nums;margin-right:.9rem}
.fc-dept .icon{width:16px;height:16px;transition:transform .35s var(--ease);color:#9a9aa2}
.fc-dept:hover{background:rgba(255,255,255,.04);color:#fff}
.fc-dept[aria-expanded=true]{color:#fff;background:linear-gradient(90deg,rgba(237,28,36,.18),transparent);box-shadow:inset 3px 0 0 var(--primary)}
.fc-dept[aria-expanded=true] .icon{transform:rotate(90deg);color:var(--primary)}
.fc-panelwrap{position:relative;padding:clamp(1rem,2.5vw,2rem)}
.fc-panel{display:none}
.fc-panel.on{display:block}
.fc-panel .t{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.fc-panel .t h3{font-size:1.25rem;font-weight:800;letter-spacing:-.02em}
.fc-panel .t a{font-size:.8125rem;font-weight:600;color:var(--primary);display:inline-flex;align-items:center;gap:.35rem}
.fc-panel .t a .icon{width:14px;height:14px}
.fc-panel .grp{font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:#9a9aa2;margin:1rem 0 .5rem}
.fc-panel ul{display:grid;grid-template-columns:1fr;gap:.3rem}
@media (min-width:600px){.fc-panel ul{grid-template-columns:1fr 1fr}}
@media (min-width:1200px){.fc-panel ul{grid-template-columns:1fr 1fr 1fr}}
.fc-panel li a{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:.6rem;border:1px solid transparent;color:#d6d6db;font-size:.9375rem;transition:border-color .2s,background .2s,color .2s}
.fc-panel.anim li a{animation:fc-in .5s var(--ease) both;animation-delay:calc(var(--i) * 28ms)}
@keyframes fc-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fc-panel li a::before{content:'';width:.35rem;height:.35rem;border-radius:999px;background:rgba(255,255,255,.25);flex-shrink:0;transition:background .2s,transform .2s}
.fc-panel li a:hover{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff}
.fc-panel li a:hover::before{background:var(--primary);transform:scale(1.5)}
/* mobile: akordeon — panel pod działem */
@media (max-width:899px){
  .fc-navigator{display:block}
  .fc-dept{padding-inline:0}
  .fc-panelwrap{padding:0}
  .fc-panel{padding:.75rem 0 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}
  .fc-panel.on{display:block}
}
/* zasady (węzły) */
.fc-nodes{margin-top:clamp(2.5rem,5vw,4rem);display:grid;grid-template-columns:1fr;gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;overflow:hidden}
@media (min-width:560px){.fc-nodes{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.fc-nodes{grid-template-columns:repeat(4,1fr)}}
.fc-nodes li{background:rgba(10,10,11,.7);padding:1.25rem;position:relative}
.fc-nodes li::before{content:'';position:absolute;left:1.25rem;top:1.25rem;width:.5rem;height:.5rem;border-radius:999px;background:var(--primary);box-shadow:0 0 12px rgba(237,28,36,.9);animation:fc-blink 3s ease-in-out infinite;animation-delay:calc(var(--i) * .5s)}
@keyframes fc-blink{0%,100%{opacity:1}50%{opacity:.35}}
.fc-nodes b{display:block;margin-top:1.4rem;font-family:var(--font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}
.fc-nodes small{display:block;margin-top:.3rem;font-size:.8125rem;color:#9a9aa2;line-height:1.5}
/* dół */
.fc-bottom{margin-top:clamp(2.5rem,5vw,4rem);border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 0 2rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;font-size:.8125rem;color:#9a9aa2}
.fc-bottom nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.fc-bottom nav a,.fc-bottom nav button{color:#c9c9cf;font-size:.8125rem;transition:color .2s}
.fc-bottom nav a:hover,.fc-bottom nav button:hover{color:#fff}
.fc-bottom .copy{margin-left:auto}
.fc-top{position:relative;width:3.25rem;height:3.25rem;border-radius:999px;display:grid;place-items:center;color:#fff;transition:transform .3s var(--ease)}
.fc-top:hover{transform:translateY(-3px)}
.fc-top svg.ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.fc-top svg.ring circle{fill:none;stroke-width:2}
.fc-top svg.ring .bg{stroke:rgba(255,255,255,.15)}
.fc-top svg.ring .fg{stroke:var(--primary);stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--sp,0) * 100);transition:stroke-dashoffset .1s linear}
.fc-top .icon{width:18px;height:18px;position:relative}
@media (max-width:899px){.fc-bottom .copy{margin-left:0;width:100%}}
@media(prefers-reduced-motion:reduce){.fc-giant span{transform:translateX(4vw)}.fc-nodes li::before{animation:none}.fc-panel.anim li a{animation:none}.fc-mag{transition:none}}
.fc-panel li a[aria-current]{color:#fff;border-color:rgba(237,28,36,.45)}
.fc-panel li a[aria-current]::before{background:var(--primary)}
.fc-contacts .js-email{overflow-wrap:anywhere}
.fc-contacts a[href^="tel"]{white-space:nowrap}
.fc .logo{display:block}
