/* Wspólny "szkielet" dla WSZYSTKICH stron (główna + article, articles-list,
   location, service, lawyer) - jedno źródło prawdy zamiast wklejonej kopii
   w każdym pliku. Strona główna linkuje ten plik PRZED public/css/main.css,
   które dokłada tylko elementy, których podstrony nie mają (dropdown usług,
   telefon w navie, hamburger/menu mobilne) - patrz komentarz przy NAV niżej. */

:root {
  --bg:#F6FAF7;--surface:#E9F2EC;--surface2:#DCEAE1;
  --border:#CFE1D6;--border2:#B0C7B8;
  --text:#10150F;--muted:#47594E;--muted2:#6A8073;
  --accent:#1F8A5A;--accent-dim:#D3ECDE;--accent-dark:#145C3B;
  --white:#FFFFFF;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:9999px;
  --font-display:'Sora',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;}
}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
button{font-family:var(--font-body);}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
@media(min-width:768px){.wrap{padding:0 48px;}}

/* NAV - wspólny dla WSZYSTKICH stron (główna + podstrony). Strona główna dokłada
   w main.css tylko elementy, których podstrony nie mają: dropdown usług, telefon
   w navie, menu mobilne z hamburgerem (klasy .nav-links, .ndrop..., .nav-right,
   .nav-phone, .hamburger, .mob-menu). Podstrony mają zamiast tego prosty link
   "wróć" (.nav-back). */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;transition:background .25s,box-shadow .25s;}
.nav.scrolled{background:rgba(250,250,248,.88);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:0 1px 0 var(--border);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px;}
.logo{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:1.125rem;letter-spacing:-.03em;color:var(--text);flex-shrink:0;}
.logo-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;}
.nav-back{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:500;color:var(--muted);padding:6px 12px;border-radius:var(--r-sm);transition:color .15s,background .15s;}
.nav-back:hover{color:var(--text);background:var(--surface);}
.btn-nav{display:none;padding:8px 18px;background:var(--text);color:var(--bg);font-size:.875rem;font-weight:600;border-radius:var(--r-sm);border:none;cursor:pointer;transition:background .15s,transform .1s;}
@media(min-width:640px){.btn-nav{display:inline-flex;align-items:center;}}
.btn-nav:hover{background:#2A2A27;}
.btn-nav:active{transform:scale(0.97);}
.btn-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

/* DRZEWKO W TLE */
.page-tree{position:fixed;bottom:0;left:0;z-index:-1;pointer-events:none;height:700px;width:auto;filter:grayscale(1) opacity(0.10);opacity:0;transition:opacity 1.4s ease;}
.page-tree.visible{opacity:0.4;}
/* Ikona prawnika (kobieta/mężczyzna) zamiast zdjęcia – lawyer_avatar() w build.php */
.avatar-icon{display:block;width:100%;height:100%;}
@media(max-width:1100px){.page-tree{display:none;}}

/* OPINIE GOOGLE – wspólne dla strony głównej i stron miast (partials/reviews.php) */
.reviews-summary { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 40px; padding: 24px 28px; background: var(--white); border: 1px solid var(--border); border-radius: var(--r-lg); }
.reviews-score-big { font-family: var(--font-display); font-size: 3rem; font-weight: 800; letter-spacing: -0.04em; line-height: 1; color: var(--accent-dark); flex-shrink: 0; }
.reviews-stars-row { display: flex; gap: 3px; margin-bottom: 4px; }
.gstar { font-size: 1.125rem; color: #FBBC04; }
.gstar.empty { color: var(--border2); }
.reviews-meta { font-size: 0.875rem; color: var(--muted); }
.reviews-vsep { width: 1px; height: 40px; background: var(--border); flex-shrink: 0; }
@media (max-width: 540px) { .reviews-vsep { display: none; } }
.reviews-glink { display: inline-flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 600; color: var(--muted); text-decoration: none; transition: color 0.15s; }
.reviews-glink:hover { color: var(--text); }
.reviews-grid { columns: 1; column-gap: 12px; margin-top: 12px; }
@media (min-width: 640px) { .reviews-grid { columns: 2; } }
@media (min-width: 1024px) { .reviews-grid { columns: 3; } }
.rev-card { break-inside: avoid; background: var(--white); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 24px; display: flex; flex-direction: column; gap: 12px; margin-bottom: 12px; transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s var(--ease); }
.rev-card:hover { border-color: var(--border2); box-shadow: 0 4px 24px rgba(0,0,0,0.06); transform: translateY(-3px); }
.rev-head { display: flex; align-items: center; gap: 12px; }
.rev-avatar { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 0.875rem; font-weight: 700; color: #fff; flex-shrink: 0; overflow: hidden; }
.rev-avatar img { width: 100%; height: 100%; object-fit: cover; }
.rev-name { font-size: 0.9375rem; font-weight: 700; letter-spacing: -0.01em; line-height: 1.3; }
.rev-when { font-size: 0.75rem; color: var(--muted2); }
.rev-stars { display: flex; gap: 2px; }
.rev-stars .gstar { font-size: 0.875rem; }
.rev-text { font-size: 0.9375rem; color: var(--muted); line-height: 1.65; flex-grow: 1; }
.rev-foot { display: flex; align-items: center; gap: 6px; padding-top: 10px; border-top: 1px solid var(--border); }
.reviews-bottom { margin-top: 24px; display: flex; justify-content: center; }
