:root{
  --bg:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --line:#e2e8f0;
  --brand:#29b6c8;
  --brand2:#0ea5a6;
  --card:#f8fafc;
  --shadow: 0 10px 30px rgba(2,6,23,.08);
  --radius: 18px;
  --max: 1120px;
  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --serif: ui-serif, Georgia, "Times New Roman", Times, serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.55;position:relative}


/* Subtelne tło (delikatne zdjęcie) */
body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:url("../images/bg-soft.jpg");
  background-size:cover;
  background-position:center;
  opacity:.22;
  pointer-events:none;
  z-index:-1;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
header.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;min-width:220px}
.brand img{width:52px;height:52px;border-radius:14px;object-fit:cover}
.brand .name{display:flex;flex-direction:column}
.brand .name strong{font-family:var(--serif);letter-spacing:.04em;font-size:18px}
.brand .name span{font-size:12px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}

.navlinks{display:flex;align-items:center;gap:18px}
.navlinks a{font-size:14px;color:var(--muted);padding:10px 10px;border-radius:12px}
.navlinks a:hover{background:var(--card);color:var(--text)}
.navlinks a.active{background:rgba(41,182,200,.14);color:var(--text);border:1px solid rgba(41,182,200,.18)}
.nav-cta{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);font-weight:600;font-size:14px}
.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;border:none}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.hamburger{display:none;border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:10px 12px}
.hamburger span{display:block;width:20px;height:2px;background:var(--text);margin:4px 0;border-radius:2px}

@media (max-width: 860px){
  .navlinks{display:none}
  .hamburger{display:inline-flex}
  .navlinks.open{display:flex;position:absolute;left:0;right:0;top:76px;background:rgba(255,255,255,.96);backdrop-filter: blur(10px);border-bottom:1px solid var(--line);padding:12px 20px;flex-direction:column;align-items:flex-start}
}

main{padding:34px 0 60px}
.hero{display:grid;grid-template-columns: 1.25fr .75fr;gap:28px;align-items:center}
.hero-card{background:radial-gradient(1200px 600px at 10% 0%, rgba(41,182,200,.18), transparent 55%), var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.hero h1{font-family:var(--serif);font-size:44px;line-height:1.1;margin:0 0 12px}
.hero p{margin:0 0 18px;color:var(--muted);font-size:16px}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
.quote{border-left:4px solid rgba(41,182,200,.5);padding-left:14px;margin:16px 0;color:var(--muted)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.hero-aside{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--bg)}
.hero-aside .tile{display:flex;gap:14px;align-items:flex-start;padding:10px 0;border-bottom:1px dashed var(--line)}
.hero-aside .tile:last-child{border-bottom:none}
.badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:rgba(41,182,200,.14);border:1px solid rgba(41,182,200,.22);font-weight:800}

@media (max-width: 980px){
  .hero{grid-template-columns:1fr}
  .hero h1{font-size:38px}
}

.section{margin-top:46px}
.section h2{font-family:var(--serif);font-size:30px;margin:0 0 14px}
.section p.lead{color:var(--muted);margin:0 0 18px}

.grid{display:grid;gap:16px}
.grid.cards{grid-template-columns: repeat(3, 1fr)}
@media (max-width: 980px){ .grid.cards{grid-template-columns: repeat(2, 1fr)} }
@media (max-width: 620px){ .grid.cards{grid-template-columns: 1fr} }

.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);padding:18px;box-shadow:0 10px 25px rgba(2,6,23,.04)}
.card h3{margin:0 0 8px;font-size:16px}
.card p{margin:0;color:var(--muted);font-size:14px}

.people{grid-template-columns: repeat(3, 1fr)}
@media (max-width: 980px){ .people{grid-template-columns: repeat(2, 1fr)} }
@media (max-width: 620px){ .people{grid-template-columns: 1fr} }

.person{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.person .meta{display:flex;flex-direction:column;gap:4px}
.person .meta strong{font-size:16px}
.person .meta span{font-size:13px;color:var(--muted)}
.person .more{margin-top:0}

.price-list{display:grid;grid-template-columns: 1fr;gap:12px;max-width:680px}
.price-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
.price-item strong{font-weight:700}
.price-item .val{font-weight:800}

.gallery{grid-template-columns: repeat(3, 1fr)}
@media (max-width: 980px){ .gallery{grid-template-columns: repeat(2, 1fr)} }
@media (max-width: 620px){ .gallery{grid-template-columns: 1fr} }
.gallery a{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--card);display:block}
.gallery img{width:100%;height:220px;object-fit:cover}
@media (max-width: 620px){ .gallery img{height:200px} }

.form{max-width:720px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.field label{font-size:13px;color:var(--muted)}
.field input,.field textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);font:inherit}
.field textarea{min-height:140px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0}
.check input{margin-top:4px}
.small{font-size:12px;color:var(--muted)}
hr.sep{border:0;border-top:1px solid var(--line);margin:34px 0}

footer{border-top:1px solid var(--line);background:var(--bg)}
.footer-inner{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;justify-content:space-between;padding:22px 0}
.footer-col{min-width:220px}
.footer-col h4{margin:0 0 10px;font-size:14px}
.footer-col a{display:block;color:var(--muted);padding:6px 0;font-size:13px}
.footer-col a:hover{color:var(--text)}
.copyright{padding:10px 0 22px;color:var(--muted);font-size:12px}

/* --- UI enhancements: subtle background, specialist cards, multi-column lists --- */
:root{
  --bg-overlay-opacity: 0.06;
}

body{
  background-image:
    radial-gradient(circle at 10% 10%, rgba(0,0,0,0.04), rgba(0,0,0,0) 45%),
    radial-gradient(circle at 90% 0%, rgba(0,0,0,0.03), rgba(0,0,0,0) 55%),
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(255,255,255,0.94));
  background-attachment: fixed;
}

/* Specialist grid */
.specialists-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

@media (max-width: 900px){
  .specialists-grid{ grid-template-columns: 1fr; }
}

.specialist-card{
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  transition: transform 160ms ease, box-shadow 160ms ease;
  display:flex;
  flex-direction:row;
  align-items:stretch;
  height: 180px;
  position:relative;
}

@media (max-width: 650px){
  .specialist-card{ flex-direction:column; height:auto; }
}


.specialist-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.09);
}

.specialist-card__img{
  width: 140px;
  min-width: 140px;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display:block;
}

@media (max-width: 650px){
  .specialist-card__img{ width:100%; min-width:0; height:auto; aspect-ratio: 4 / 3; }
}

.specialist-card__body{
  padding: 14px 14px 16px 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}


.specialist-card__name{
  font-weight: 700;
  margin: 2px 0 6px 0;
  color: var(--text);
}

.specialist-card__body{ color: var(--text); }

.specialist-card__tags{
  display:flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px 0;
}

.tag{
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.06);
}

/* Specialist profile header */
.profile-hero{
  display:grid;
  grid-template-columns: 220px 1fr;
  gap: 18px;
  align-items: start;
  margin-bottom: 18px;
}

@media (max-width: 650px){
  .profile-hero{
    grid-template-columns: 1fr;
  }
}

.profile-photo{
  width: 220px;
  max-width: 100%;
  border-radius: 16px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  box-shadow: 0 10px 28px rgba(0,0,0,0.10);
  border: 1px solid rgba(0,0,0,0.08);
}

/* Multi-column bullet lists */
.columns-3{
  columns: 3;
  column-gap: 28px;
}

.columns-2{
  columns: 2;
  column-gap: 28px;
}

@media (max-width: 1000px){
  .columns-3{ columns: 2; }
}
@media (max-width: 650px){
  .columns-3, .columns-2{ columns: 1; }
}

.columns-3 li, .columns-2 li{
  break-inside: avoid;
  margin-bottom: 6px;
}

/* Nice section cards */
.section-card{
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  padding: 16px;
}



/* Kafle specjalistów */
.grid.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width: 980px){.grid.people{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.grid.people{grid-template-columns:1fr}}

.card.person{display:flex;gap:14px;align-items:stretch;min-height:120px}
.card.person .meta{flex:1;display:flex;flex-direction:column;justify-content:center}
.card.person .more{display:flex;align-items:flex-end}

.card.person .meta{flex:1}
.avatar{
  width:84px;height:84px;border-radius:999px;object-fit:cover;
  box-shadow:0 8px 18px rgba(2,6,23,.10);
  border:2px solid rgba(255,255,255,.85);
}

/* Profil specjalisty */
.profile-photo{
  width:220px;height:220px;border-radius:22px;object-fit:cover;
  box-shadow:var(--shadow);
  border:2px solid rgba(255,255,255,.9);
  display:block;
}
@media (max-width: 820px){
  .profile-photo{width:180px;height:180px}
}
@media (max-width: 560px){
  .profile-photo{width:140px;height:140px;border-radius:18px}
}

/* Listy w kolumnach */
ul.list-cols{
  list-style:disc;
  padding-left:20px;
  margin:10px 0 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px 18px;
}
ul.list-cols li{margin:0}
@media (max-width: 980px){ul.list-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){ul.list-cols{grid-template-columns:1fr}}

.specialist-card__body .btn{margin-top:auto; align-self:flex-start}

.specialist-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  pointer-events:none;
  box-shadow:0 0 0 0 rgba(41,182,200,.0);
  transition: box-shadow 180ms ease;
}
.specialist-card:focus-within::after{
  box-shadow:0 0 0 4px rgba(41,182,200,.20);
}

.person__img{
  width:56px;
  height:56px;
  border-radius:999px;
  object-fit:cover;
  box-shadow:0 8px 18px rgba(2,6,23,.10);
  border:2px solid rgba(255,255,255,.85);
  flex:0 0 auto;
}

.card{transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease}
.card:hover{transform: translateY(-2px); box-shadow: 0 16px 40px rgba(0,0,0,0.08); border-color: rgba(41,182,200,.25)}
a.btn, .btn{transition: transform 140ms ease, box-shadow 140ms ease, background-color 140ms ease, border-color 140ms ease}
a.btn:hover, .btn:hover{transform: translateY(-1px)}
a.btn:active, .btn:active{transform: translateY(0px)}
a:focus-visible, button:focus-visible, .btn:focus-visible{
  outline: 3px solid rgba(41,182,200,.25);
  outline-offset: 2px;
  border-radius: 12px;
}

@media (min-width: 651px){
  .specialist-card{
    flex-direction:row;
  }
  .specialist-card__img{
    width:180px;
    height:auto;
    aspect-ratio: 1 / 1;
    flex:0 0 180px;
  }
}


/* Premium cosmetics and alignment */
.specialist-card{
  display:flex;
  flex-direction:column;
}
.specialist-card__body{
  display:flex;
  flex-direction:column;
  gap: 10px;
  flex: 1;
}
.specialist-card__body .btn{
  margin-top:auto;
  align-self:flex-start;
}
.specialist-card__img{
  transition: transform 220ms ease;
}
.specialist-card:hover .specialist-card__img{
  transform: scale(1.015);
}

/* Home: people cards with photo + equal alignment */
.grid.people{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 1000px){
  .grid.people{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px){
  .grid.people{ grid-template-columns: 1fr; }
}
.card.person{
  display:flex;
  align-items:center;
  gap: 12px;
  min-height: 92px;
  padding: 14px 14px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}
.card.person:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.09);
  border-color: rgba(41,182,200,0.35);
}
.person__img{
  width: 56px;
  height: 56px;
  border-radius: 14px;
  object-fit: cover;
  flex: 0 0 auto;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
  border: 1px solid rgba(0,0,0,0.06);
}
.card.person .meta{
  display:flex;
  flex-direction:column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}
.card.person .meta span{
  color: rgba(0,0,0,0.65);
  font-size: 13px;
}
.card.person .more{
  margin-left:auto;
  flex: 0 0 auto;
}
.card.person .btn{
  white-space: nowrap;
}

/* Buttons: slightly more premium */
.btn{
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  transition: transform 140ms ease, box-shadow 140ms ease, filter 140ms ease;
}
.btn:hover{
  box-shadow: 0 14px 34px rgba(0,0,0,0.10);
  filter: saturate(1.05);
}
.btn.primary{
  box-shadow: 0 14px 34px rgba(41,182,200,0.25);
}
.btn.primary:hover{
  box-shadow: 0 18px 44px rgba(41,182,200,0.35);
}

/* Focus styles for accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline: 3px solid rgba(41,182,200,0.35);
  outline-offset: 2px;
  border-radius: 10px;
}


/* === v6 HARD FIX: Specjaliści – wymuś widoczność treści w kafelkach (specjalisci.html) === */
.specialists-grid .specialist-card__body{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  position:relative !important;
  z-index:2 !important;
  color:#0f172a !important;
  opacity:1 !important;
  visibility:visible !important;
}
.specialists-grid .specialist-card__body *{
  color:inherit !important;
  opacity:1 !important;
  visibility:visible !important;
}
.specialists-grid .specialist-card__name{ color:#0f172a !important; font-size:18px !important; }
.specialists-grid .specialist-card__tags{ color:#475569 !important; }
.specialists-grid .specialist-card__body a.btn{ margin-top:auto !important; align-self:flex-start !important; }
.specialists-grid .specialist-card{ position:relative !important; }
.specialists-grid .specialist-card__img{ position:relative !important; z-index:1 !important; }


/* === v7 FINAL FIX: Specjaliści – treść zawsze widoczna (odporność na zewnętrzne style i cache) === */
.specialists-grid .specialist-card__body,
.specialists-grid .specialist-card__name,
.specialists-grid .specialist-card__tags,
.specialists-grid .specialist-card__body .btn{
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

.specialists-grid .specialist-card__body{
  color: #0f172a !important;
  position: relative !important;
  z-index: 3 !important;
}

.specialists-grid .specialist-card__name{
  color: #0f172a !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

.specialists-grid .specialist-card__tags{
  color: #475569 !important;
  font-size: 13px !important;
}

.specialists-grid .specialist-card__tags .tag{
  color: #0f172a !important;
}

.specialists-grid .specialist-card__body .btn{
  color: #0f172a !important;
  border-color: rgba(15, 23, 42, 0.18) !important;
}




/* ==== v8 FIX: Specjaliści – gwarantowana widoczność treści + poziome kafelki ==== */
.specialists-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
@media (max-width: 900px){.specialists-grid{grid-template-columns:1fr;}}
.specialist-card{display:flex;align-items:stretch;gap:16px;min-height:180px;padding:14px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 28px rgba(15,23,42,.08);overflow:hidden;}
.specialist-card__img{width:150px;min-width:150px;height:auto;object-fit:cover;object-position:center;border-radius:14px;display:block;}
@media (max-width: 520px){
  .specialist-card{min-height:160px;}
  .specialist-card__img{width:110px;min-width:110px;border-radius:12px;}
}
.specialist-card__body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:10px;
  color:#0f172a !important;opacity:1 !important;visibility:visible !important;}
.specialist-card__name{font-size:18px;line-height:1.25;font-weight:800;margin:0;color:#0f172a !important;}
.specialist-card__tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.specialist-card__tags .tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;
  background:rgba(41,182,200,.12);border:1px solid rgba(41,182,200,.25);color:#0b4f57;font-size:12.5px;line-height:1;}
.specialist-card .btn{margin-top:auto;align-self:flex-start;}
.specialist-card{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.specialist-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(15,23,42,.12);border-color:rgba(41,182,200,.35);}


/* v9.1 Mobile header layout: CTA on top row right, burger on its own row left */
@media (max-width: 520px){
  .navbar{
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    padding: 10px 0;
  }
  .brand{min-width:0;flex:1 1 auto}
  .brand .name span{display:none}
  .nav-cta{order:2;margin-left:auto;gap:8px}
  .nav-cta .btn{padding:8px 10px;font-size:13px;border-radius:12px}
  .nav-burger{
    order:3;
    flex:0 0 100%;
    display:flex;
    justify-content:flex-start;
    margin-top:6px;
  }
  .hamburger{
    display:inline-flex;
    padding:10px 14px;
    border-radius:14px;
  }
}


/* v12: desktop – nie łam tekstu w menu (np. 'O nas') */
@media (min-width: 821px){
  .navlinks a{ white-space: nowrap; }
  .nav-cta .btn{ white-space: nowrap; }
}
