/* DASTAN BTP — moduły v3: rezerwacja wizyt (#rdv) i asystent. Motyw AETHER: chłodna biel, grafit, akcent #FF6A1A.
   Ruch tylko tam, gdzie coś odpowiada na działanie klienta (stan przycisku, otwarcie panelu); z prefers-reduced-motion. */
.rdv{padding:120px 0;background:var(--black)}
.rdv-intro{max-width:70ch;margin-top:16px}
.rdv-app{margin-top:36px;display:grid;gap:22px;max-width:980px}
.rdv-load{color:var(--muted);font-size:15px;margin:0;padding:18px 0}
.rdv-kroki{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font:600 12.5px/1 var(--sans);color:var(--muted)}
.rdv-kroki li{display:flex;align-items:center;gap:8px}
.rdv-kroki span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);font-size:11px}
.rdv-kroki li.on{color:var(--ink)} .rdv-kroki li.on span{background:var(--ink);border-color:var(--ink);color:#fff}
.rdv-grupa{border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin:0;background:var(--paper);min-width:0}
.rdv-grupa legend{font:600 13px/1.3 var(--sans);color:var(--ink);padding:0 6px}
.rdv-karty{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:6px}
.rdv-karta{position:relative;display:block;cursor:pointer}
.rdv-karta input{position:absolute;opacity:0;pointer-events:none}
.rdv-karta span{display:grid;gap:4px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff;transition:border-color .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1)}
.rdv-karta span{text-transform:none;letter-spacing:normal;font-family:var(--sans)}   /* karta jest w <label>: bez wersalików po ogólnej regule etykiet */
.rdv-karta b{font:600 15px/1.3 var(--sans);color:var(--ink)} .rdv-karta small{color:var(--muted);font-size:13px}
.rdv-karta:hover span{border-color:rgba(29,32,37,.34)}
.rdv-karta input:checked+span{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.rdv-karta input:focus-visible+span{outline:2px solid var(--coral);outline-offset:2px}
.rdv-cal-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.rdv-cal-top h3{font-family:var(--serif);font-weight:500;font-size:20px;margin:0} .rdv-cal-top small{font-family:var(--sans);font-size:13px;color:var(--muted)}
.rdv-nav{display:flex;gap:6px}
.rdv-nav button,.rdv-dni button,.rdv-godz button{font:inherit;cursor:pointer;color:var(--ink);background:#fff;border:1px solid var(--line);transition:border-color .15s,background .15s,color .15s}
.rdv-nav button{width:38px;height:38px;border-radius:50%;font-size:20px;line-height:1}
.rdv-nav button:disabled{opacity:.35;cursor:default}
.rdv-dni{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.rdv-dni button{flex:0 0 auto;display:grid;justify-items:center;gap:2px;min-width:64px;padding:10px 8px;border-radius:14px}
.rdv-dni button span,.rdv-dni button small{font-size:12px;color:var(--muted);text-transform:capitalize} .rdv-dni button b{font:600 20px/1.1 var(--sans)}
.rdv-dni button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.rdv-dni button[aria-selected="true"] span,.rdv-dni button[aria-selected="true"] small{color:rgba(255,255,255,.75)}
.rdv-godz{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:14px}
.rdv-godz button{padding:11px 6px;border-radius:12px;font:600 15px/1 var(--sans);font-variant-numeric:tabular-nums}
.rdv-godz button[aria-selected="true"]{background:var(--coral);border-color:var(--coral);color:#1d2025}
.rdv-nav button:hover:not(:disabled),.rdv-dni button:hover,.rdv-godz button:hover{border-color:rgba(29,32,37,.4)}
.rdv-nav button:focus-visible,.rdv-dni button:focus-visible,.rdv-godz button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.rdv-pusto p{margin:0 0 12px;color:var(--muted)}
.rdv-form{display:grid;gap:14px}
.rdv-wybrany{margin:0;font-size:15px;color:var(--muted)} .rdv-wybrany b{color:var(--ink)}
.rdv-f{display:grid;gap:6px}
.rdv-f label{font:600 12.5px/1.3 var(--sans);color:var(--muted)}
.rdv-f input,.rdv-f textarea{font:500 16px/1.35 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;min-width:0}
.rdv-f textarea{resize:vertical}
.rdv-f input:focus-visible,.rdv-f textarea:focus-visible{outline:2px solid var(--coral);outline-offset:1px}
.rdv-f [aria-invalid="true"]{border-color:#b3261e}
.rdv-e{margin:0;color:#b3261e;font-size:13.5px}
.rdv-zgoda label{display:flex;gap:10px;align-items:flex-start;font:400 14px/1.45 var(--sans);color:var(--ink)}
.rdv-zgoda input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--ink)}
.rdv-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.rdv-form .pill{justify-self:start}
.rdv-form .pill[disabled]{opacity:.6;cursor:progress}
.rdv-blad{border:1px solid rgba(179,38,30,.35);background:#fff7f6;border-radius:16px;padding:16px 18px}
.rdv-blad p{margin:0 0 10px;color:#7a1c16}
.rdv-alt{display:flex;flex-wrap:wrap;gap:10px}
.rdv-ok{border:1px solid var(--line);border-radius:18px;padding:26px;background:var(--paper)}
.rdv-ok h3{font-family:var(--serif);font-weight:500;font-size:28px;margin:0 0 10px;outline:none}
.rdv-ref{margin:0 0 6px;font-size:15px} .rdv-ref b{font:600 17px/1 var(--sans);letter-spacing:.04em}
.rdv-kiedy{margin:0 0 8px}
.rdv-ok .muted{margin:0 0 18px;max-width:62ch}
.rdv-ok .muted:has(+ .rdv-notif){margin-bottom:8px}
.rdv-notif{margin:0 0 18px;max-width:62ch;font:600 14.5px/1.5 var(--sans);color:var(--ink)}
.rdv-conf{display:inline-block;margin:6px 0 0 28px;font-size:13px;color:var(--muted);text-underline-offset:3px}
.rdv-conf:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
@media (max-width:700px){.rdv{padding:84px 0}.rdv-grupa{padding:16px}.rdv-karty{grid-template-columns:1fr}}

/* asystent */
.as-launch{position:fixed;right:18px;bottom:18px;z-index:45;display:flex;align-items:center;gap:10px;height:52px;padding:0 18px 0 6px;border-radius:999px;border:0;cursor:pointer;
  background:var(--ink);color:#fff;font:600 14px/1 var(--sans);box-shadow:0 16px 36px -14px rgba(29,32,37,.55);transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.as-launch:active{transform:scale(.97)} .as-launch:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
.as-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--coral);color:#1d2025;font:700 18px/1 var(--sans)}
.as-panel{position:fixed;right:18px;bottom:82px;z-index:46;width:min(400px,calc(100vw - 36px));max-height:min(620px,calc(100vh - 110px));display:flex;flex-direction:column;
  background:rgba(250,251,254,.97);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 70px -30px rgba(29,32,37,.5);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  animation:as-wej .28s cubic-bezier(.2,.8,.2,1)}
.as-panel[hidden]{display:none}
@keyframes as-wej{from{opacity:0;transform:translateY(8px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.as-panel header{display:flex;justify-content:space-between;gap:12px;padding:18px 18px 12px;border-bottom:1px solid var(--line)}
.as-panel h2{font-family:var(--serif);font-weight:500;font-size:20px;margin:0}
.as-sous{margin:4px 0 0;font-size:12.5px;line-height:1.4;color:var(--muted)}
.as-x{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink)}
.as-x:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.as-log{flex:1;overflow-y:auto;padding:14px 18px;display:grid;gap:10px;align-content:start}
.as-m{margin:0;max-width:92%;padding:10px 13px;border-radius:14px;font-size:14.5px;line-height:1.5;white-space:pre-line}
.as-m.a{background:#fff;border:1px solid var(--line);color:var(--ink)}
.as-m.u{justify-self:end;background:var(--ink);color:#fff}
.as-m.czeka{color:var(--muted)}
.as-opt{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 12px}
.as-opt:empty{display:none}
.as-o{font:600 13px/1.2 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 13px;cursor:pointer;text-align:left}
.as-o:hover{border-color:rgba(29,32,37,.4)} .as-o:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.as-form{display:flex;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--line)}
.as-form input{flex:1;min-width:0;font:500 15px/1.3 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.as-form input:focus-visible{outline:2px solid var(--coral);outline-offset:1px}
.as-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:600px){.as-launch{right:12px;bottom:12px;height:48px;padding:0 14px 0 5px}.as-ic{width:38px;height:38px}
  .as-panel{right:8px;left:8px;width:auto;bottom:70px;max-height:calc(100vh - 90px)}}
@media (prefers-reduced-motion:reduce){html:not(.ruch-wymuszony) .as-panel{animation:none}html:not(.ruch-wymuszony) .as-launch,html:not(.ruch-wymuszony) .rdv-karta span{transition:none}}

/* ================= MOTYW GRAFIT 24K (v11, 26.09.2026): rezerwacja i asystent na przyciemnionym szkle nad szczotkowaną blachą ================= */
.rdv-kroki li{color:#98a1ab} .rdv-kroki li.on{color:#eef1f4}
.rdv-kroki li span{border-color:rgba(216,170,53,.4)} .rdv-kroki li.on span{background:#d8aa35;border-color:#d8aa35;color:#17140b}
.rdv-grupa{background:radial-gradient(120% 70% at 0% 0%,rgba(216,170,53,.13),rgba(216,170,53,0) 52%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 42%),rgba(22,24,28,.58);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);border-color:rgba(216,170,53,.46);transition:border-color .45s,box-shadow .45s;box-shadow:0 26px 54px -30px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.14)}
.rdv-grupa:hover,.rdv-grupa:focus-within{border-color:rgba(236,196,92,.8);box-shadow:0 26px 54px -30px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(236,196,92,.18),0 0 38px -12px rgba(216,170,53,.5)}
.rdv-grupa legend,.rdv-cal-top h3{color:#eef1f4}
.rdv-karta span{background:rgba(58,64,71,.8);border-color:rgba(238,241,244,.16);color:#eef1f4}
.rdv-karta span small{color:#b3bac2}
.rdv-karta input:checked + span{border-color:#d8aa35;box-shadow:0 0 0 1px #d8aa35 inset,0 10px 24px -16px rgba(216,170,53,.6);background:rgba(69,75,83,.92)}
.rdv-nav button,.rdv-dni button,.rdv-godz button{color:#eef1f4;background:rgba(58,64,71,.8);border-color:rgba(238,241,244,.16)}
.rdv-nav button:hover,.rdv-dni button:hover,.rdv-godz button:hover{border-color:rgba(216,170,53,.7)}
.rdv-dni button span,.rdv-dni button small{color:#b3bac2}
.rdv-dni button[aria-selected="true"],.rdv-godz button[aria-selected="true"]{background:rgba(216,170,53,.14);border-color:#d8aa35;color:#eef1f4;box-shadow:inset 0 0 0 1px #d8aa35,0 10px 24px -16px rgba(216,170,53,.6)}
.rdv-dni button[aria-selected="true"] span,.rdv-dni button[aria-selected="true"] small{color:#f3d173}
.rdv-f label{color:#b3bac2}
.rdv-f input,.rdv-f textarea{color:#eef1f4;background:rgba(58,64,71,.85);border-color:rgba(238,241,244,.16)}
.rdv-f input:focus,.rdv-f textarea:focus{border-color:#d8aa35}
.rdv-f input:focus-visible,.rdv-f textarea:focus-visible{outline-color:#d8aa35}
.rdv-zgoda label{text-transform:none;letter-spacing:.01em;color:#eef1f4} .rdv-zgoda input{accent-color:#d8aa35}
.rdv-conf{color:#b3bac2}
.rdv-e{color:#f19a8e}
.rdv-blad{background:rgba(179,38,30,.14);border-color:rgba(241,154,142,.35);color:#f5d6d0}
.rdv-ok{background:rgba(44,49,55,.66);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-color:rgba(216,170,53,.35);box-shadow:0 26px 54px -30px rgba(0,0,0,.75)}
.rdv-ok h3{color:#eef1f4} .rdv-ref b{color:#f3d173} .rdv-ok .muted{color:#b3bac2} .rdv-notif{color:#eef1f4}
.rdv-wybrany{color:#b3bac2} .rdv-wybrany b{color:#f3d173}
.rdv-load,.rdv-pusto p{color:#b3bac2}
.as-launch{background:rgba(44,49,55,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#eef1f4;box-shadow:0 0 0 1px rgba(216,170,53,.45),0 16px 36px -14px rgba(0,0,0,.7)}
.as-panel{background:radial-gradient(120% 60% at 100% 0%,rgba(216,170,53,.16),rgba(216,170,53,0) 55%),rgba(24,26,30,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-color:rgba(216,170,53,.42);box-shadow:0 30px 70px -30px rgba(0,0,0,.85),0 0 40px -18px rgba(216,170,53,.35)}
.as-panel header{border-bottom-color:rgba(216,170,53,.2)} .as-panel h2{color:#eef1f4} .as-sous{color:#b3bac2}
.as-x{background:#3a4047;color:#eef1f4;border-color:rgba(238,241,244,.18)}
.as-m.a{background:#3a4047;border-color:rgba(216,170,53,.3);color:#eef1f4}
/* słowa klienta neutralne: złoto należy do DASTAN, nie do odwiedzającego (rada 26.09) */
.as-m.u{background:rgba(238,241,244,.1);color:#eef1f4;border:1px solid rgba(238,241,244,.16)}
.as-m.czeka{color:#98a1ab}
.as-o{background:#3a4047;color:#eef1f4;border-color:rgba(238,241,244,.18)} .as-o:hover{border-color:#d8aa35}
.as-form{border-top-color:rgba(216,170,53,.2)}
.as-form input{background:#3a4047;color:#eef1f4;border-color:rgba(238,241,244,.18)} .as-form input:focus{border-color:#d8aa35}
.rdv-trust{margin:16px 0 0}

/* 28.09 · QA telefonu: pole asystenta 16 px (iOS bez zoomu przy fokusie), zamknięcie 44 px */
@media (max-width:991px){#asQ{font-size:16px}.as-x{width:44px;height:44px}}

/* 28.09 · QA wyglądu D4: od 992 do 1366 px „Aide” tylko jako kółko (napis zasłaniał kafle, listę cen i kartę kontaktu); nazwa zostaje dla czytników */
@media (min-width:992px) and (max-width:1366px){html.era body .as-launch{padding:0 5px;gap:0}
  html.era body .as-launch .as-l{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}

/* 28.09 · QA telefonu 5: w niższym kadrze Safari (390×664) czarne „Sur mesure” wchodziło na ciemne sosny.
   Ta sama jasna poświata co przy dwóch pozostałych hasłach; na niskich ekranach rząd haseł wyżej, na niebie. Kolory haseł zostają (wybór Daniela). */
@media (max-width:991px){html.era body .e-hero_mot b{filter:drop-shadow(0 0 1px rgba(255,251,242,.95)) drop-shadow(0 0 10px rgba(255,251,242,.62)) drop-shadow(0 0 22px rgba(255,251,242,.3))}}
@media (max-width:991px) and (max-height:740px){html.era body .e-hero_row{margin-top:10px;gap:8px}html.era body .e-hero_c{padding-top:84px}}

/* 28.09 · galeria: kafel domykający rząd — zdjęcie jako panorama tej samej wysokości co sąsiednie (4:3 × liczba kolumn) */
html.era body #masonry .ph[style*="--sp"] img{aspect-ratio:calc(4 * var(--sp)) / 3}

/* 28.09 · QA telefonu 12: słuchawka w nagłówku 44 px do dotyku (reguła .e-head .htel-btn trzymała 34 px) */
@media (max-width:991px){html.era body .e-head .htel-btn{width:44px;height:44px}}

/* 28.09 · H1 z Île-de-France: na telefonie margines od krawędzi, łamanie tylko przed „en Île-de-France” */
@media (max-width:991px){html.era body .e-hero .e-hero_k{padding:0 22px;box-sizing:border-box;max-width:100%}}
