@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&display=swap');
:root{--bg:#100d20;--panel:#1b1630;--panel2:#241b3c;--gold:#e7c58b;--text:#f7f0e6;--muted:#c5b8d3;--line:rgba(231,197,139,.24)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% 5%,#30214b 0,#100d20 42%,#0b0915 100%);color:var(--text);font-family:Montserrat,Arial,sans-serif;line-height:1.75}.stars{position:fixed;inset:0;pointer-events:none;opacity:.2;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:65px 65px;z-index:-1}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(20px,5vw,80px);background:rgba(16,13,32,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-size:32px;color:var(--gold)}.brand-name{font-family:'Cormorant Garamond',serif;font-size:29px;font-weight:700;line-height:1}.brand-sub{font-size:9px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}.nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.nav a{color:var(--muted);text-decoration:none;font-size:11px;font-weight:600;padding:8px 10px;border-radius:30px;transition:.25s}.nav a:hover{color:var(--gold);background:rgba(231,197,139,.1)}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--gold);font-size:24px;border-radius:10px;padding:4px 10px}.hero{min-height:590px;max-width:1300px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;padding:80px clamp(24px,7vw,100px);gap:30px}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:3px;text-transform:uppercase;margin-bottom:18px}.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(46px,6vw,86px);font-weight:500;line-height:.98;margin:0 0 28px}.hero h1 em{color:var(--gold);font-style:normal}.hero p{max-width:530px;color:var(--muted);font-size:15px}.hero-button{display:inline-flex;gap:28px;align-items:center;margin-top:22px;padding:14px 20px;color:#1a1225;background:var(--gold);border-radius:30px;text-decoration:none;font-size:12px;font-weight:700}.hero-orbit{position:relative;min-height:370px;display:grid;place-items:center}.moon{font-size:145px;color:var(--gold);text-shadow:0 0 60px rgba(231,197,139,.3);z-index:2}.orbit-ring{position:absolute;border:1px solid var(--line);border-radius:50%;transform:rotate(-25deg)}.ring1{width:330px;height:170px}.ring2{width:410px;height:260px;transform:rotate(50deg)}.orbit-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 20px var(--gold)}.dot1{top:55px;right:70px}.dot2{bottom:65px;left:70px}.page-section{max-width:1250px;margin:0 auto;padding:95px clamp(24px,6vw,80px);border-top:1px solid var(--line);scroll-margin-top:100px}.section-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:55px;align-items:start}.section-main h2{font-family:'Cormorant Garamond',serif;font-size:clamp(42px,5vw,65px);font-weight:500;line-height:1;margin:0 0 30px;color:var(--gold)}.content{font-size:14px;color:#e8dfeb}.content p{margin:0 0 18px}.content img{max-width:100%;height:auto}.content .f{float:right;max-width:42%;margin:0 0 18px 25px;border-radius:12px}.content .aut{text-align:right;color:var(--gold);font-size:12px;margin:8px 0 20px}.section-art{position:sticky;top:115px}.section-art img{width:100%;max-height:400px;object-fit:cover;border-radius:140px 140px 14px 14px;border:1px solid var(--line);filter:saturate(.85)}.art-caption{font-size:10px;color:var(--muted);letter-spacing:1px;text-align:center;margin-top:14px}.contact-box{margin-top:40px;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px}.contact-box h3{font-family:'Cormorant Garamond',serif;font-size:35px;color:var(--gold);margin-top:0}.contact-box label{display:block;font-size:11px;color:var(--muted);margin-bottom:14px}.contact-box input,.contact-box textarea{display:block;width:100%;margin-top:6px;background:#100d20;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit}.contact-box button{border:0;border-radius:30px;background:var(--gold);color:#1a1225;padding:13px 24px;font-weight:700;cursor:pointer}.form-note{font-size:10px;color:var(--muted);margin-top:12px}footer{display:flex;justify-content:space-between;gap:20px;padding:30px clamp(24px,6vw,80px);border-top:1px solid var(--line);font-size:11px;color:var(--muted)}@media(max-width:950px){.nav{gap:0}.nav a{font-size:10px;padding:7px}.hero{grid-template-columns:1fr}.hero-orbit{min-height:250px}.section-grid{grid-template-columns:1fr}.section-art{position:static;max-width:300px;order:-1}.section-art img{max-height:260px}.content .f{max-width:45%}}@media(max-width:700px){.site-header{padding:14px 20px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:78px;background:rgba(16,13,32,.98);padding:15px 20px;flex-direction:column}.nav.open{display:flex}.nav a{padding:12px}.brand-name{font-size:25px}.hero{padding-top:60px;min-height:auto}.hero-orbit{transform:scale(.8)}.page-section{padding-top:65px;padding-bottom:65px}.content .f{float:none;max-width:100%;margin:10px 0 20px}footer{flex-direction:column}}

/* Ulepszenia responsywności i czytelności */
img { max-width: 100%; height: auto; }
.content { overflow-wrap: anywhere; }
.content blockquote { margin: 0 0 14px; padding: 20px 24px; border-left: 3px solid var(--gold); background: rgba(231,197,139,.07); border-radius: 0 14px 14px 0; font-family: 'Cormorant Garamond', serif; font-size: clamp(20px, 2.3vw, 28px); line-height: 1.35; color: #fff6e9; }
.intro-copy p { max-width: 78ch; }
.contact-box { position: relative; overflow: hidden; background: linear-gradient(145deg, rgba(36,27,60,.96), rgba(18,14,34,.98)); box-shadow: 0 18px 60px rgba(0,0,0,.18); }
.contact-box::before { content: '✦'; position: absolute; top: -28px; right: 22px; font-size: 150px; color: rgba(231,197,139,.07); pointer-events: none; }
.contact-box h3 { position: relative; margin-bottom: 8px; }
.contact-box .contact-intro { color: var(--muted); margin: 0 0 24px; }
.contact-form { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-form label { margin: 0; }
.contact-form label:nth-of-type(3), .contact-form label:nth-of-type(4), .contact-form button, .contact-form .form-note { grid-column: 1 / -1; }
.contact-form input, .contact-form textarea { min-width: 0; transition: border-color .2s, box-shadow .2s; }
.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(231,197,139,.12); }
.contact-form button { justify-self: start; }
.section-art img { display: block; box-shadow: 0 18px 45px rgba(0,0,0,.22); }
@media (max-width: 900px) { .site-header { gap: 12px; } .nav { max-width: 100%; } .hero { padding-left: 6vw; padding-right: 6vw; } }
@media (max-width: 700px) { .hero h1 { font-size: clamp(40px, 12vw, 62px); } .hero-orbit { min-height: 210px; transform: scale(.72); margin: -20px 0; } .section-grid { gap: 28px; } .section-art { max-width: 340px; width: 100%; margin: 0 auto; } .section-art img { border-radius: 70px 70px 14px 14px; } .contact-form { grid-template-columns: 1fr; gap: 14px; } .contact-form label:nth-of-type(3), .contact-form label:nth-of-type(4), .contact-form button, .contact-form .form-note { grid-column: auto; } .contact-form button { width: 100%; } .contact-box { padding: 22px; } }
@media (max-width: 420px) { .brand-sub { letter-spacing: 1px; font-size: 8px; } .page-section { padding-left: 18px; padding-right: 18px; } .hero { padding-left: 18px; padding-right: 18px; } .content { font-size: 13px; } }

.notice-box{margin-top:1rem;padding:1rem 1.15rem;border:1px solid rgba(120,90,150,.25);border-radius:1rem;background:rgba(120,90,150,.07);color:inherit;line-height:1.7}

.contact-details{margin:0 0 24px;padding:20px 24px;border:1px solid var(--line);border-radius:16px;background:rgba(36,27,60,.65);}
.contact-details h3{margin:0 0 8px;color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:30px;}
.contact-details p{margin:6px 0;color:var(--muted);font-size:14px;}
.contact-details a{color:var(--text);text-decoration:none;}
.contact-details a:hover{color:var(--gold);text-decoration:underline;}
.contact-box .section-art img,.section-art img[alt="Kontakt"]{display:block;width:100%;max-width:300px;max-height:300px;object-fit:contain;object-position:center;margin:0 auto;border-radius:24px;}
@media(max-width:700px){.contact-details{padding:18px;}.contact-details h3{font-size:27px;}}


/* Kalendarz dostępności Google */
.calendar-box {
  margin: 2rem 0;
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid rgba(125, 92, 151, .22);
  border-radius: 20px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 12px 32px rgba(45, 25, 65, .08);
}
.calendar-box h3 { margin-top: 0; }
.calendar-frame {
  width: 100%;
  overflow: hidden;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
}
.calendar-frame iframe {
  display: block;
  width: 100%;
  min-height: 560px;
  border: 0;
}
@media (max-width: 700px) {
  .calendar-frame iframe { min-height: 620px; }
}

/* Finalne dopracowanie: czytelne listy, odstępy i brak nachodzenia tekstu na grafiki */
.content ul,
.content ol { margin: 1.25rem 0 1.5rem; padding-left: 0; }
.content ul { list-style: none; }
.content ul li { position: relative; padding: .45rem 0 .45rem 1.65rem; margin: 0; }
.content ul li::before { content: '✦'; position: absolute; left: 0; top: .45rem; color: var(--gold); font-size: .8rem; }
.content ol { padding-left: 1.6rem; }
.content ol li { padding: .3rem 0; }

/* Obrazki są zawsze osobnym blokiem, więc tekst nie wchodzi na grafikę. */
.content .f,
.content img.f { float: none; display: block; width: auto; max-width: min(100%, 360px); height: auto; margin: 1.5rem auto 2rem; border-radius: 16px; box-shadow: 0 14px 36px rgba(0,0,0,.22); }

#kontakt .content .k { text-align: left; }
#kontakt .content .k > center { display: block; text-align: left; }
#kontakt .content .k br { line-height: 1.1; }
#kontakt .content .k big { display: inline-block; margin: .8rem 0 .35rem; font-size: 1.22rem; color: var(--gold); line-height: 1.35; }
#kontakt .content .k p { max-width: 72ch; }
#kontakt .contact-details { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem 1.4rem; padding: 24px 26px; margin-top: 2rem; }
#kontakt .contact-details h3 { grid-column: 1 / -1; margin-bottom: .35rem; }
#kontakt .contact-details p { margin: 0; }
#kontakt .contact-details p strong { color: var(--gold); }
#kontakt .calendar-box { background: linear-gradient(145deg, rgba(36,27,60,.9), rgba(18,14,34,.96)); color: var(--text); }
#kontakt .calendar-box h3 { color: var(--gold); font-family: 'Cormorant Garamond',serif; font-size: 2rem; }
#kontakt .contact-box { margin-top: 2rem; }
#kontakt .section-art { padding-top: 1rem; }
#kontakt .section-art img { max-width: 280px; margin-inline: auto; }

@media (max-width:700px) {
  #kontakt .contact-details { grid-template-columns: 1fr; padding: 20px; }
  #kontakt .contact-details h3 { grid-column: auto; }
  .content .f, .content img.f { max-width: min(100%, 320px); margin: 1.25rem auto 1.75rem; }
}


.appointment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.appointment-grid label { min-width: 0; }
.contact-form input[type="date"],
.contact-form input[type="time"] {
  color-scheme: light;
}
@media (max-width: 640px) {
  .appointment-grid { grid-template-columns: 1fr; gap: 0; }
}
