/* =========================================================
   Lex Legion — WYSZUKIWARKA (/szukaj/) i STRONA 404 (/404.php)
   ========================================================= */

/* ---------- nagłówek strony wyników ---------- */
.sz-head{padding:8.5rem 0 2rem;border-bottom:1px solid var(--border);background:var(--background)}
.sz-head h1{margin-top:1rem;font-family:var(--font-display);font-size:clamp(1.9rem,4.5vw,3rem);font-weight:800;line-height:1.05;letter-spacing:-.01em;max-width:46rem;overflow-wrap:anywhere}

/* pole wyszukiwania (strona wyników i 404) */
.sz-form{position:relative;display:flex;align-items:center;gap:.5rem;max-width:44rem;margin-top:1.75rem}
.sz-form>.icon{position:absolute;left:1.25rem;width:22px;height:22px;color:var(--muted-foreground);pointer-events:none}
.sz-form input{flex:1;min-width:0;height:3.5rem;border:1.5px solid var(--foreground);border-radius:999px;padding:0 1rem 0 3.4rem;font:500 1.0625rem/1 var(--font-sans);color:var(--foreground);background:#fff;-webkit-appearance:none;appearance:none}
.sz-form input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.sz-form button{height:3.5rem;border:0;border-radius:999px;background:var(--primary);color:#fff;font:600 1rem var(--font-sans);padding:0 1.75rem;cursor:pointer;transition:transform .2s}
.sz-form button:hover{transform:translateY(-1px)}
@media(max-width:479px){.sz-form button{padding:0 1.1rem}.sz-form input{padding-left:3rem;font-size:1rem}.sz-form>.icon{left:1rem}}

.sz-count{margin-top:1.5rem;font-size:.9375rem;color:var(--muted-foreground)}
.sz-count strong{color:var(--foreground)}
.sz-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.875rem}
.sz-filters a{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border);border-radius:999px;padding:.4rem .9rem;font-size:.875rem;font-weight:500;color:var(--foreground);transition:border-color .2s}
.sz-filters a span{font-size:.75rem;color:var(--muted-foreground)}
.sz-filters a:hover{border-color:var(--foreground)}
.sz-filters a[aria-current]{background:var(--foreground);border-color:var(--foreground);color:#fff}
.sz-filters a[aria-current] span{color:rgba(255,255,255,.7)}

/* ---------- lista wyników ---------- */
.sz-body{padding:2.5rem 0 6rem}
.sz-list{list-style:none;max-width:46rem}
.sz-item{padding:1.5rem 0;border-bottom:1px solid var(--border)}
.sz-item:first-child{padding-top:0}
.sz-path{font-size:.8125rem;color:var(--muted-foreground)}
.sz-item h2{margin-top:.25rem;font-family:var(--font-display);font-size:1.3125rem;font-weight:700;line-height:1.25}
.sz-item h2 a{color:var(--foreground);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;text-decoration-thickness:2px;transition:text-decoration-color .2s}
.sz-item h2 a:hover{text-decoration-color:var(--primary)}
.sz-frag{margin-top:.5rem;font-size:.9375rem;line-height:1.65;color:var(--muted-foreground)}
.sz-frag mark{color:var(--foreground);font-weight:600}

/* ---------- pomoc / brak wyników ---------- */
.sz-help{margin-top:3rem;max-width:46rem;border-radius:1.25rem;background:var(--secondary);padding:1.5rem 1.75rem}
.sz-help p{font-size:1rem;line-height:1.6}
.sz-help-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.sz-help-actions .btn-primary,.sz-help-actions .btn-ghost{padding:.8rem 1.4rem;font-size:.9375rem}
/* przycisk z telefonem unosi się tak samo jak czerwony */
.sz-help-actions .btn-ghost{transition:transform .2s,background .2s}
.sz-help-actions .btn-ghost:hover{transform:translateY(-2px)}

/* wyniki + pływająca ramka po prawej (od 1024 px); niżej ramka pod listą */
.sz-results{display:grid;gap:3rem;align-items:start}
.sz-results .sz-float{margin-top:0}
@media(min-width:1024px){
  .sz-results{grid-template-columns:minmax(0,46rem) minmax(17rem,21rem);justify-content:space-between}
  .sz-float{position:sticky;top:6.5rem}
  .sz-float .sz-help-actions{flex-direction:column}
  .sz-float .sz-help-actions a{width:100%}
}
.sz-empty{max-width:46rem;margin-bottom:3.5rem}
.sz-empty h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700}
.sz-empty p{margin-top:.75rem;line-height:1.65;color:var(--muted-foreground)}

.sz-sub{font-family:var(--font-display);font-size:1.125rem;font-weight:700;margin:0 0 1rem}
.sz-sub:not(:first-child){margin-top:3rem}
.sz-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}
.sz-chips a{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:.5rem 1rem;font-size:.9375rem;color:var(--foreground);transition:border-color .2s,color .2s}
.sz-chips a:hover{border-color:var(--primary);color:var(--primary)}

/* mapa działów: Usługi prawne | Odszkodowania + Inne sprawy (jedna wysokość) */
.sz-mapa{display:grid;gap:2.5rem}
.sz-m-kolumna{display:flex;flex-direction:column;gap:2.5rem}
@media(min-width:900px){.sz-mapa{grid-template-columns:1fr 1fr;gap:3rem}}
.sz-mapa h3{font-family:var(--font-display);font-size:1rem;font-weight:700;padding-bottom:.625rem;border-bottom:2px solid var(--foreground)}
.sz-mapa h3 a{color:var(--foreground)}
.sz-mapa h3 a:hover{color:var(--primary)}
.sz-mapa ul{list-style:none;margin-top:.5rem}
.sz-mapa li{break-inside:avoid}
.sz-mapa li a{display:block;padding:.4rem 0;font-size:.9375rem;color:rgba(10,10,11,.78);border-bottom:1px solid var(--border)}
.sz-mapa li a:hover{color:var(--primary)}
@media(min-width:560px){.sz-mapa ul{columns:2;column-gap:2rem}}

/* ---------- STRONA 404 ---------- */
.e4-head{overflow:hidden;padding:8.5rem 0 3.5rem;border-bottom:1px solid var(--border);background:var(--background)}
.e4-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem;align-items:center}
@media(min-width:960px){.e4-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:4rem}}
.e4-code{display:inline-flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;color:var(--primary)}
.e4-code::before{content:'';width:.5rem;height:.5rem;border-radius:999px;background:var(--primary)}
.e4-text h1{margin-top:.875rem;font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;line-height:1.02;letter-spacing:-.015em}
.e4-text .lead{margin-top:1.25rem;max-width:36rem;font-size:1.125rem;line-height:1.65;color:var(--muted-foreground)}

/* teczka akt — jedyny „efekt” strony */
.akta{position:relative;margin:1.25rem 0 0;max-width:27rem;justify-self:center;width:100%}
.akta-tab{position:absolute;top:-1.75rem;left:1.5rem;height:1.85rem;padding:0 1.25rem;display:flex;align-items:center;border:1px solid #d9cfb8;border-bottom:0;border-radius:.6rem .6rem 0 0;background:#efe6d2;font:700 .8125rem var(--font-display);color:#6b5d40}
.akta dl{position:relative;border:1px solid #d9cfb8;border-radius:.25rem 1rem 1rem 1rem;background:#f7f1e3;padding:1.5rem 1.5rem 4.75rem;box-shadow:0 1px 0 #e6dcc4,0 24px 48px -28px rgba(80,60,20,.45)}
.akta dl>div{display:grid;grid-template-columns:6.5rem 1fr;gap:.75rem;padding:.7rem 0;border-bottom:1px dashed #d4c8ab}
.akta dl>div:last-child{border-bottom:0}
.akta dt{font-size:.8125rem;color:#7d6f52;padding-top:.1rem}
.akta dd{font-family:var(--font-display);font-weight:600;font-size:.9375rem;line-height:1.4;color:#2a2418;overflow-wrap:anywhere}
.akta .akta-adres dd{color:var(--primary)}
.stempel{position:absolute;right:1.25rem;bottom:1.1rem;transform:rotate(-9deg);pointer-events:none}
.stempel span{display:inline-block;white-space:nowrap;border:3px double var(--primary);border-radius:.5rem;padding:.4rem .9rem;font:800 1.0625rem var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--primary);opacity:.88;mix-blend-mode:multiply}
@media(prefers-reduced-motion:no-preference){
  .stempel span{animation:stempel .45s cubic-bezier(.2,1.4,.4,1) .5s both}
  @keyframes stempel{from{opacity:0;transform:scale(1.6)}to{opacity:.88;transform:scale(1)}}
}

.e4-podobne{list-style:none;display:grid;gap:.75rem;margin-bottom:.5rem}
@media(min-width:768px){.e4-podobne{grid-template-columns:repeat(2,1fr)}}
.e4-podobne a{display:block;height:100%;border:1px solid var(--border);border-radius:1rem;padding:1rem 1.25rem;color:var(--foreground);transition:border-color .2s}
.e4-podobne a:hover{border-color:var(--primary)}
.e4-podobne .sz-path{display:block}
.e4-t{display:block;margin-top:.25rem;font-family:var(--font-display);font-weight:700;font-size:1.0625rem;line-height:1.3}

/* pas „Wolisz zapytać wprost?” — pod widokiem 404, na całą szerokość */
.e4-kontakt{background:var(--secondary);border-bottom:1px solid var(--border)}
.e4-kontakt-in{display:flex;flex-direction:column;gap:1.25rem;padding-top:1.75rem;padding-bottom:1.75rem}
.e4-kontakt p{font-size:1.0625rem;line-height:1.6;max-width:44rem}
.e4-kontakt .sz-help-actions{margin-top:0}
@media(min-width:1024px){.e4-kontakt-in{flex-direction:row;align-items:center;justify-content:space-between;gap:2.5rem}.e4-kontakt .sz-help-actions{flex-wrap:nowrap;flex-shrink:0}}
