/* ==========================================================================
   SPECJALISTYCZNA PRAKTYKA LEKARSKA MARIA KAJDAS — pages.css
   Sekcje strony glownej (hero, zakres, o lekarzu, kontakt) i podstrony
   ========================================================================== */

/* ---------- Motyw botaniczny ---------- */
.leaf{position:absolute;pointer-events:none;color:var(--brand-300);opacity:.5;}
.leaf svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;}
.shape{position:absolute;pointer-events:none;border-radius:var(--radius-organic);}

/* ---------- Sekcja otwierająca ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(56px,7vw,96px) 0 clamp(64px,7vw,104px);}
.hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.hero__bg .shape--1{width:min(46vw,540px);aspect-ratio:1;top:-18%;right:-12%;background:var(--brand-100);opacity:.75;filter:blur(26px);}
.hero__bg .shape--2{width:min(26vw,300px);aspect-ratio:1;bottom:-16%;left:-9%;background:var(--accent-soft);opacity:.7;
  border-radius:44% 56% 58% 42% / 48% 42% 58% 52%;filter:blur(24px);}
.hero__bg .leaf--1{width:150px;height:180px;top:15%;left:1.5%;opacity:.3;}
.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,5vw,72px);align-items:center;}
.hero h1{margin-bottom:.35em;}
.hero__lead{font-size:1.14rem;color:var(--text-soft);max-width:46ch;}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 30px;}
.hero__tags{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:0;}
.hero__tags li{margin:0;font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;gap:.55em;}
.hero__tags li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);}

.hero__visual{position:relative;display:grid;place-items:center;min-height:340px;}
.hero__orb{position:absolute;inset:0;margin:auto;width:min(84%,380px);aspect-ratio:1;border-radius:var(--radius-organic);
  background:linear-gradient(150deg,var(--brand-200),var(--accent-soft));opacity:.8;}
.hero__orb--2{width:min(64%,290px);border-radius:52% 48% 38% 62% / 46% 58% 42% 54%;background:var(--surface);opacity:.55;transform:translate(8%,-6%);}
.hero__quote{position:relative;z-index:1;max-width:330px;text-align:center;font-family:var(--font-head);
  font-size:1.35rem;line-height:1.5;color:var(--brand-800);padding:12px;}
.hero__quote::before{content:"";display:block;width:34px;height:1px;background:var(--accent);margin:0 auto 20px;}
.hero__visual .leaf--2{width:120px;height:150px;right:2%;bottom:2%;color:var(--brand-500);opacity:.35;}
@media (max-width:920px){
  .hero__grid{grid-template-columns:1fr;gap:44px;}
  .hero__visual{min-height:300px;}
}

/* ---------- Lista powodów zgłoszenia ---------- */
.reasons{margin-top:clamp(40px,5vw,60px);padding:clamp(28px,3.5vw,44px);background:var(--surface);
  border:1px solid var(--border-soft);border-radius:var(--radius-l);}
.reasons h3{margin-bottom:1.2em;}
.reasons ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;}
@media (max-width:820px){.reasons ul{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.reasons ul{grid-template-columns:1fr;}}
.reasons li{margin:0;display:flex;align-items:flex-start;gap:.75em;color:var(--text-soft);font-size:.97rem;line-height:1.6;}
.reasons li::before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:.62em;}
.reasons__note{margin:1.6em 0 0;font-size:.9rem;color:var(--text-muted);}

/* ---------- O lekarzu ---------- */
.doctor{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,5vw,72px);align-items:center;}
@media (max-width:880px){.doctor{grid-template-columns:1fr;}}
.doctor__photo{position:relative;aspect-ratio:4/5;border-radius:var(--radius-organic);overflow:hidden;
  background:#fff;display:grid;place-items:center;margin:0;
  box-shadow:0 18px 50px hsl(270 22% 40% / .10);}
.doctor__photo::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px var(--border-soft);}
.doctor__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;}
.doctor::before{content:"";position:absolute;width:min(34vw,360px);aspect-ratio:1;z-index:-1;
  border-radius:44% 56% 58% 42% / 48% 42% 58% 52%;background:var(--accent-soft);
  filter:blur(30px);opacity:.7;transform:translate(-14%,-10%);}
.doctor{position:relative;}
.doctor__ph{text-align:center;color:var(--brand-700);font-size:.88rem;padding:20px;max-width:220px;line-height:1.6;}
.doctor__ph svg{width:38px;height:38px;margin:0 auto 12px;stroke:currentColor;fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;}
.doctor__meta{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:0;}
.doctor__meta li{margin:0;display:grid;grid-template-columns:190px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--border-soft);font-size:.95rem;color:var(--text-soft);}
.doctor__meta li:last-child{border-bottom:1px solid var(--border-soft);}
.doctor__meta dt,.doctor__meta .k{color:var(--text-muted);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;}
@media (max-width:560px){.doctor__meta li{grid-template-columns:1fr;gap:4px;}}

/* ---------- Rejestracja i kontakt ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,56px);align-items:start;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-list{list-style:none;padding:0;margin:0 0 30px;}
.contact-list li{margin:0;display:grid;grid-template-columns:auto 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--border-soft);}
.contact-list li:first-child{border-top:1px solid var(--border-soft);}
.contact-icon{width:40px;height:40px;border-radius:var(--radius-organic);background:var(--brand-100);color:var(--brand-700);display:grid;place-items:center;}
.contact-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.contact-list .label{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.2em;}
.contact-list .value{display:block;color:var(--text);}
.contact-list a.value{color:var(--brand-700);}

.form-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-l);padding:clamp(26px,3.4vw,40px);}
.field{margin-bottom:20px;}
.field label{display:block;font-size:.88rem;color:var(--text);margin-bottom:.5em;}
.field .req{color:var(--accent-deep);}
.field input,.field textarea{width:100%;font-family:inherit;font-size:1rem;color:var(--text);background:var(--surface-soft);
  border:1px solid var(--border);border-radius:14px;padding:.82em 1em;transition:border-color .25s, background-color .25s;}
.field textarea{min-height:130px;resize:vertical;}
.field input:hover,.field textarea:hover{border-color:var(--brand-300);}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--brand-500);background:var(--surface);}
.field--row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:560px){.field--row{grid-template-columns:1fr;}}
.field .hint{font-size:.83rem;color:var(--text-muted);margin-top:.5em;line-height:1.55;}
.field .error{font-size:.83rem;color:hsl(6 48% 42%);margin-top:.5em;display:none;}
.field.is-invalid input,.field.is-invalid textarea{border-color:hsl(6 48% 52%);}
.field.is-invalid .error{display:block;}
.checkbox{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;font-size:.88rem;color:var(--text-soft);line-height:1.6;}
.checkbox input{width:19px;height:19px;margin-top:3px;accent-color:var(--brand-600);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-status{margin-top:18px;padding:15px 18px;border-radius:14px;font-size:.92rem;display:none;line-height:1.6;}
.form-status.is-ok{display:block;background:var(--brand-50);border:1px solid var(--brand-200);color:var(--text);}
.form-status.is-err{display:block;background:var(--accent-soft);border:1px solid var(--accent);color:var(--text);}

/* ---------- Podstrony ---------- */
.page-hero{background:var(--bg-alt);padding:clamp(48px,6vw,72px) 0 clamp(36px,4vw,52px);}
.prose{max-width:760px;}
.prose h2{font-size:clamp(1.4rem,2.2vw,1.75rem);margin-top:2.2em;}
.prose h2:first-child{margin-top:0;}
.prose p,.prose li{color:var(--text-soft);}
.prose ol{padding-left:1.25em;}
.back-link{display:inline-flex;align-items:center;gap:.5em;font-size:.9rem;color:var(--text-muted);text-decoration:none;}
.back-link:hover{color:var(--brand-700);}

@media print{
  .toolbar,.header,.to-top,.hero__bg,.leaf,.shape{display:none!important;}
  body{background:#fff;color:#000;}
}
