/**
 * Eurowizyta 2026 — design tokens + wspólne komponenty (nav, footer)
 * Używane przez: strona główna, szukaj, karta lekarza
 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --acc:#0d8abc;--acc-h:#0b7a9e;--acl:#e8f4fb;--acxl:#f0f8fd;
  --nav:#2c2e4a;--nav-d:#1a1c2e;
  --ok:#10B981;--okh:#059669;
  --g50:#F9FAFB;--g100:#F3F4F6;--g200:#E5E7EB;--g300:#D1D5DB;
  --g400:#9CA3AF;--g500:#6B7280;--g600:#4B5563;--g700:#374151;--g800:#1F2937;
  --f:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --r:12px;--rs:8px;
  --sh:0 1px 4px rgba(0,0,0,.06);--shm:0 6px 28px rgba(0,0,0,.10);
  --tr:all .24s cubic-bezier(.4,0,.2,1);
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--f);font-size:15px;line-height:1.55;color:var(--g800);background:#fff}

/* ── NAV 2026 ── */
.nav-2026{
  position:sticky;top:0;z-index:200;height:60px;
  background:#0d8abc;
  box-shadow:0 2px 20px rgba(0,0,0,.15);
  display:flex;align-items:center;padding:0 28px;gap:0;
}
.nav-2026 .nav-logo{font-size:18px;font-weight:800;color:#fff;text-decoration:none;
  letter-spacing:-.02em;display:flex;align-items:center;gap:9px;margin-right:32px;flex-shrink:0}
.nav-2026 .nav-logo-dot{width:8px;height:8px;background:rgba(255,255,255,.65);border-radius:50%;
  animation:nav-dot 2.5s ease-in-out infinite}
@keyframes nav-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.4)}}
.nav-2026 .nav-links{display:flex;align-items:stretch;height:100%;flex:1;gap:0;flex-wrap:wrap}
.nav-2026 .nav-link{display:flex;align-items:center;gap:5px;padding:0 15px;
  font-size:13.5px;font-weight:600;color:rgba(255,255,255,.8);text-decoration:none;
  border-bottom:2.5px solid transparent;white-space:nowrap;transition:var(--tr);}
.nav-2026 .nav-link:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav-2026 .nav-link.active{color:#fff;border-bottom-color:rgba(255,255,255,.7)}
.nav-2026 .nav-right{display:flex;align-items:center;gap:10px;margin-left:auto}
.nav-2026 .nav-phone{font-size:12.5px;color:rgba(255,255,255,.75);font-weight:600;text-decoration:none}
.nav-2026 .nav-phone:hover{color:#fff}
.nav-2026 .nav-cta{background:rgba(255,255,255,.95);color:var(--acc);font-weight:800;font-size:13px;
  padding:8px 18px;border-radius:var(--rs);text-decoration:none;
  box-shadow:0 2px 8px rgba(0,0,0,.10);transition:var(--tr);white-space:nowrap;}
.nav-2026 .nav-cta:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.15)}
.nav-menu-toggle{
  display:none;align-items:center;justify-content:center;flex-direction:column;
  width:42px;height:42px;border:1px solid rgba(255,255,255,.32);
  border-radius:10px;background:rgba(255,255,255,.08);cursor:pointer;margin-left:auto;
}
.nav-menu-toggle span{
  display:block;width:18px;height:2px;background:#fff;border-radius:999px;transition:var(--tr);
}
.nav-menu-toggle span + span{margin-top:4px}
.nav-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.nav-mobile-panel{
  display:none;position:sticky;top:60px;z-index:190;padding:12px 16px 16px;
  background:#0d8abc;border-top:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 20px rgba(0,0,0,.14);
}
.nav-mobile-panel .nav-link{
  display:block;text-decoration:none;color:rgba(255,255,255,.9);font-size:14px;font-weight:600;
  padding:11px 10px;border-radius:9px;
}
.nav-mobile-panel .nav-link:hover,
.nav-mobile-panel .nav-link.active{background:rgba(255,255,255,.14);color:#fff}
.nav-mobile-panel .nav-phone{
  display:block;margin-top:8px;padding:10px;color:rgba(255,255,255,.88);text-decoration:none;font-weight:600;
}
.nav-mobile-panel .nav-cta{
  display:block;margin-top:10px;text-align:center;background:#fff;color:var(--acc);text-decoration:none;
  font-weight:800;font-size:13px;padding:10px 14px;border-radius:var(--rs);
}

@media(max-width:960px){
  .nav-2026{padding:0 16px}
  .nav-2026 .nav-logo{margin-right:12px}
  .nav-2026 .nav-links,.nav-2026 .nav-right{display:none}
  .nav-menu-toggle{display:flex}
  .nav-mobile-panel[hidden]{display:none !important}
  .nav-mobile-panel:not([hidden]){display:block}
}

/* ── CONTACT 2026 ── */
.contact-2026-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:42px 28px 56px;
}
.contact-2026-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:start;
}
.contact-2026-left{
  padding-top:8px;
}
.contact-2026-eyebrow{
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--g500);
  margin-bottom:10px;
}
.contact-2026-title{
  font-size:42px;
  line-height:1.1;
  letter-spacing:-.03em;
  color:var(--nav);
  margin-bottom:14px;
}
.contact-2026-subtitle{
  max-width:520px;
  font-size:15px;
  line-height:1.75;
  color:var(--g600);
  margin-bottom:28px;
}
.contact-2026-phone-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border-radius:var(--r);
  border:1px solid var(--g200);
  background:linear-gradient(145deg,#fff,var(--acxl));
  box-shadow:var(--sh);
}
.contact-2026-avatar-wrap{
  width:78px;
  height:78px;
  border-radius:50%;
  position:relative;
  flex-shrink:0;
  background:var(--g100);
  border:2px solid #fff;
  box-shadow:0 4px 16px rgba(0,0,0,.08);
}
.contact-2026-avatar{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
.contact-2026-avatar-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--ok);
  border:2px solid #fff;
  position:absolute;
  right:4px;
  bottom:4px;
}
.contact-2026-phone-title{
  font-size:16px;
  font-weight:800;
  color:var(--nav);
  margin-bottom:4px;
}
.contact-2026-phone-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:14px;
  color:var(--g600);
}
.contact-2026-phone-line a{
  color:var(--acc);
  font-weight:700;
  text-decoration:none;
}
.contact-2026-phone-line a:hover{
  color:var(--acc-h);
}
.contact-2026-form{
  padding:24px;
  border-radius:16px;
  border:1px solid var(--g200);
  background:#fff;
  box-shadow:var(--shm);
}
.contact-2026-form-title{
  font-size:24px;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--nav);
  margin-bottom:16px;
}
.contact-2026-success{
  margin-bottom:14px;
  padding:10px 12px;
  border-radius:var(--rs);
  border:1px solid rgba(16,185,129,.28);
  background:rgba(16,185,129,.1);
  color:#065f46;
  font-size:14px;
}
.contact-2026-field{
  margin-bottom:10px;
}
.contact-2026-input{
  width:100%;
  border:1.5px solid var(--g200);
  border-radius:var(--rs);
  background:#fff;
  color:var(--g800);
  font-family:var(--f);
  font-size:14px;
  line-height:1.5;
  padding:11px 12px;
  outline:none;
  transition:var(--tr);
}
.contact-2026-input:focus{
  border-color:var(--acc);
  box-shadow:0 0 0 3px rgba(13,138,188,.14);
}
.contact-2026-textarea{
  min-height:110px;
  resize:vertical;
}
.contact-2026-help{
  font-size:12px;
  color:var(--g500);
  margin-top:6px;
}
.contact-2026-consent{
  margin-top:8px;
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:11px 12px;
  border-radius:var(--rs);
  border:1px solid var(--g100);
  background:var(--g50);
}
.contact-2026-consent input{
  margin-top:2px;
  accent-color:var(--acc);
}
.contact-2026-consent label{
  font-size:13px;
  line-height:1.6;
  color:var(--g600);
  cursor:pointer;
}
.contact-2026-details{
  margin-top:10px;
  margin-bottom:6px;
}
.contact-2026-details summary{
  cursor:pointer;
  color:var(--acc);
  font-size:13px;
  font-weight:700;
}
.contact-2026-details div{
  margin-top:8px;
  font-size:12.5px;
  line-height:1.65;
  color:var(--g600);
}
.contact-2026-details a{
  color:var(--acc);
  font-weight:700;
}
.contact-2026-submit{
  width:100%;
  margin-top:10px;
  border:none;
  border-radius:var(--rs);
  padding:12px 14px;
  font-family:var(--f);
  font-size:14px;
  font-weight:800;
  color:#fff;
  background:linear-gradient(135deg,#0EA5E9,#0d8abc);
  box-shadow:0 4px 16px rgba(13,138,188,.35);
  cursor:pointer;
  transition:var(--tr);
}
.contact-2026-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 22px rgba(13,138,188,.4);
}

@media(max-width:960px){
  .contact-2026-wrap{padding:28px 16px 44px}
  .contact-2026-grid{grid-template-columns:1fr}
  .contact-2026-title{font-size:34px}
}

/* ── LAWS 2026 ── */
.laws-2026-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:40px 28px 56px;
}
.laws-2026-shell{
  max-width:920px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--g200);
  border-radius:16px;
  box-shadow:var(--shm);
  padding:24px 26px 28px;
}
.laws-2026-eyebrow{
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--g500);
  margin-bottom:10px;
}
.laws-2026-title{
  font-size:34px;
  line-height:1.18;
  letter-spacing:-.03em;
  color:var(--nav);
  margin-bottom:12px;
}
.laws-2026-updated{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  color:var(--g600);
  background:var(--g50);
  border:1px solid var(--g100);
  border-radius:999px;
  padding:6px 12px;
  margin-bottom:18px;
}
.laws-2026-content{
  color:var(--g700);
  font-size:14px;
  line-height:1.75;
}
.laws-2026-content h2{
  font-size:21px;
  line-height:1.3;
  letter-spacing:-.02em;
  color:var(--nav);
  margin:24px 0 8px;
}
.laws-2026-content p{
  margin-bottom:12px;
}
.laws-2026-content ul{
  margin:8px 0 14px 22px;
}
.laws-2026-content li{
  margin-bottom:7px;
}

@media(max-width:960px){
  .laws-2026-wrap{padding:28px 16px 44px}
  .laws-2026-shell{padding:18px 16px 22px}
  .laws-2026-title{font-size:27px}
  .laws-2026-content h2{font-size:18px}
}
