/* FATELI BEAUTY — v2 additions: language switch, 3-step booking, reviews & gallery dialogs.
   Same tokens as the design: ink #43222d, plum #683449, cream #faf8f4, Georgia / Arial. */
.cue-text{font-style:normal}
.skip-label{font-weight:inherit}
.header-right .visit-trigger .find-label{margin:0}
.lang-switch{display:flex;align-items:center;gap:2px}
.header-right .lang-switch button{font-size:10px;letter-spacing:.12em;padding:12px 4px;border-bottom:1px solid transparent;color:#9a7b82}
.header-right .lang-switch button[aria-pressed="true"]{color:var(--ink);border-bottom-color:#46282150}
.lang-switch button+button::before{content:"";display:inline-block;width:1px;height:9px;background:#b99888;margin:0 7px 0 0;vertical-align:-1px}

/* steps */
.book-steps{list-style:none;display:flex;justify-content:center;gap:8px;margin:-6px 0 22px;padding:0;counter-reset:s}
.book-steps li{display:flex;align-items:center;gap:7px;font:10px Arial,sans-serif;letter-spacing:.08em;color:#a08890;text-transform:uppercase}
.book-steps li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid #cfb3a6;font:11px Georgia,serif;color:#a08890;letter-spacing:0}
.book-steps li b{font-weight:400}
.book-steps li+li::before{content:"";width:18px;height:1px;background:#d5b29a;margin-right:2px}
.book-steps li.is-on{color:var(--ink)}.book-steps li.is-on span{background:#683449;border-color:#683449;color:#fffaf3}
.book-steps li.is-done span{border-color:#683449;color:#683449}
#basket-dialog[data-step="4"] .book-steps{opacity:.55}

/* step 2 — days & slots */
.book-duration{font:12px/1.6 Arial,sans-serif;text-align:center;color:#79565e;margin:0 0 16px}
.book-duration strong{color:var(--ink);font:15px Georgia,serif}
.book-duration small{display:block;font-size:10px;margin-top:3px}
.book-days-wrap{overflow-x:auto;scrollbar-width:none;margin:0 -30px;padding:4px 30px 10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent)}
.book-days-wrap::-webkit-scrollbar{display:none}
.book-days{display:flex;gap:8px;width:max-content}
.book-day{scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:3px;width:58px;padding:11px 0 10px;border:1px solid #d5b29a90;border-radius:18px;background:#fffcf7;color:var(--ink);font:9px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,border-color .2s}
.book-day .d-num{font:22px/1 Georgia,serif;letter-spacing:0;text-transform:none}
.book-day .d-mo{color:#99747d}
.book-day:hover:not(:disabled){border-color:#683449}
.book-day.is-on{background:#683449;border-color:#683449;color:#fffaf3}.book-day.is-on .d-mo{color:#f2dfe2}
.book-day:disabled{cursor:not-allowed;opacity:.42;background:repeating-linear-gradient(135deg,#f4ece4 0 6px,#fbf6f0 6px 12px)}
.book-day.is-closed .d-mo{color:#8b4a5b;font-size:8px}
.book-slots{min-height:120px;margin-top:10px}
.book-slots-date{font:19px Georgia,serif;text-align:center;margin:12px 0 14px;text-transform:none}
.book-slots-date::first-letter{text-transform:uppercase}
.book-slot-group{margin-bottom:14px}
.book-slot-label{font:9px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#99747d;margin:0 0 8px}
.book-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:7px}
.book-slot{border:1px solid #d5b29a90;border-radius:30px;background:#fffcf7;padding:10px 0;font:12px Arial,sans-serif;color:var(--ink)}
.book-slot:hover{border-color:#683449}
.book-slot.is-on{background:#683449;border-color:#683449;color:#fffaf3}
.book-empty{font:12px/1.7 Arial,sans-serif;color:#79565e;text-align:center;padding:24px 10px;border:1px dashed #d5b29a;border-radius:17px}
.book-fine{font:10px/1.7 Arial,sans-serif;color:#79565e;text-align:center;margin:14px 6px 4px}
.book-error{font:11px/1.5 Arial,sans-serif;color:#a3324a;text-align:center;min-height:0;margin:6px 0}
.book-error:empty{display:none}
.book-nav{display:flex;align-items:center;gap:18px;margin-top:16px}
.book-nav .basket-primary{flex:1}
.book-nav .basket-continue{margin:0;white-space:nowrap}

/* step 3 — details */
.book-field{display:block;margin-bottom:14px}
.book-field>span{display:block;font:12px Arial,sans-serif;margin-bottom:8px}
.book-field>span i{font-style:normal;color:#99747d;font-size:10px;margin-left:5px}
.book-field input,.book-field textarea{display:block;width:100%;font:13px/1.5 Arial,sans-serif;border:1px solid #bd9c8b70;border-radius:12px;padding:12px 13px;color:var(--ink);background:#fffcf7}
.book-field textarea{resize:vertical;min-height:65px;max-height:160px;margin:0}
#basket-dialog .book-field #basket-note{margin-bottom:0}
.book-field input:focus-visible,.book-field textarea:focus-visible{outline:2px solid #8b4a5b;outline-offset:3px}
.book-field.is-err input{border-color:#a3324a;background:#fff6f6}
#f-gift{letter-spacing:.12em;text-transform:uppercase}
.book-summary{border:1px solid #d5b29a70;border-radius:17px;background:#fffcf7;padding:16px 18px;margin:20px 0 6px}
.sum-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sum-head .eyebrow{font-size:9px}
.sum-edit{background:none;border:0;border-bottom:1px solid #bd9c8b70;font:10px Arial,sans-serif;padding:4px 0;color:#79565e}
.sum-list{list-style:none;margin:0;padding:0}
.sum-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #ecdcd0;font:12px/1.4 Arial,sans-serif}
.sum-list b{font:15px/1.3 Georgia,serif;font-weight:400}
.sum-list em{font-style:normal;white-space:nowrap;color:#683449;font-weight:600}
.sum-when{display:flex;gap:16px;align-items:flex-end;padding:12px 0;border-bottom:1px solid #ecdcd0}
.sum-when div{display:flex;flex-direction:column;gap:3px;flex:1}
.sum-when span,.sum-total span{font:9px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#99747d}
.sum-when b{font:14px/1.3 Georgia,serif;font-weight:400}
.sum-when b::first-letter{text-transform:uppercase}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px}
.sum-total b{font:20px Georgia,serif;font-weight:400}

/* final screen */
.book-done{text-align:center}
.book-done-mark{width:52px;height:52px;margin:0 auto 12px;color:#683449}
.book-done-txt{font:13px/1.7 Arial,sans-serif;color:#79565e;margin:0 auto 16px;max-width:400px}
.book-ref{display:flex;flex-direction:column;gap:4px;margin:0 0 16px}
.book-ref span{font:9px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#99747d}
.book-ref strong{font:24px Georgia,serif;letter-spacing:.06em;font-weight:400}
.book-preview{text-align:left;white-space:pre-wrap;word-break:break-word;font:11px/1.6 Arial,sans-serif;color:#5d3f47;background:#fffcf7;border:1px solid #d5b29a70;border-radius:17px;padding:14px 16px;max-height:220px;overflow:auto;margin:0 0 16px}
.book-done .basket-primary{justify-content:space-between}

/* lobby extras: rating badge + gallery */
.lobby-extras{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:0 0 6px}
.lobby-extras button{border:0;border-bottom:1px solid #b38d7666;background:none;padding:7px 0;font:11px Arial,sans-serif;letter-spacing:.04em;display:inline-flex;gap:6px;align-items:center}
.rating-stars{color:#9c704c;letter-spacing:.08em}

/* reviews & gallery dialogs share the basket dialog look */
.extra-dialog{border:1px solid #d4bca5;border-radius:27px;padding:0 30px 26px;width:min(92vw,640px);max-height:92svh;overflow-y:auto;overscroll-behavior:contain;color:var(--ink);background:#faf8f4;box-shadow:0 35px 100px #3c202655;scrollbar-width:thin;scrollbar-color:#b99888 transparent}
.extra-dialog::backdrop{background:#39232a80;backdrop-filter:blur(12px)}
.extra-dialog[open]{animation:visit-reveal .35s ease}
.rev-score{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:-8px}
.rev-score strong{font:64px/1 Georgia,serif;font-weight:400;letter-spacing:-.02em}
.rev-score .rating-stars{font-size:15px;letter-spacing:.3em}
.rev-sources{list-style:none;margin:14px 0 22px;padding:0;display:grid;gap:6px;text-align:center}
.rev-sources li{font:11px/1.6 Arial,sans-serif;color:#79565e}
.rev-sources b{font-weight:600;color:var(--ink);margin-right:8px}
.rev-track,.gal-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -30px;padding:4px 30px 14px;scrollbar-width:thin;scrollbar-color:#d5b29a transparent}
.rev-quote{flex:0 0 min(78%,300px);scroll-snap-align:center;margin:0;border:1px solid #d5b29a70;border-radius:20px;background:#fffcf7;padding:22px 20px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.rev-quote:nth-child(4n+1){background:#fbefee}.rev-quote:nth-child(4n+2){background:#f6f0f6}.rev-quote:nth-child(4n+3){background:#f6f6f2}.rev-quote:nth-child(4n){background:#fcf3ec}
.rev-quote blockquote{margin:0;font:19px/1.4 Georgia,serif;font-style:italic}
.rev-quote figcaption{font:9px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#99747d}
.rev-link{margin-top:14px}
.gal-item{flex:0 0 min(62%,230px);scroll-snap-align:center;margin:0;display:flex;flex-direction:column;gap:9px}
.gal-item video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:20px;background:#efe2d8;pointer-events:none;border:1px solid #d5b29a70}
.gal-item figcaption{font:9px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#99747d;text-align:center}

@media(max-width:700px){
 .header-right .lang-switch button{font-size:9px;padding:10px 2px}
 .lang-switch button+button::before{margin-right:4px}
 .book-steps{gap:5px;margin-bottom:18px}.book-steps li{font-size:8px;gap:5px}.book-steps li+li::before{width:8px}
 .book-steps li:not(.is-on) b{display:none}
 .book-days-wrap,.rev-track,.gal-track{margin:0 -18px;padding-left:18px;padding-right:18px}
 .book-day{width:54px}
 .book-slot-grid{grid-template-columns:repeat(4,1fr)}
 .extra-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px);padding:0 18px 21px;border-radius:23px}
 .rev-score strong{font-size:54px}
 .rev-quote blockquote{font-size:17px}
 .lobby-extras{gap:14px;margin-bottom:4px}.lobby-extras button{font-size:10px;padding:5px 0}
}
@media(max-width:420px){.header-right .visit-trigger .find-label{display:none}}
@media(prefers-reduced-motion:reduce){.extra-dialog[open]{animation:none}.book-day{transition:none}}

/* thank-you screen (after "Send my request on WhatsApp") */
#basket-dialog[data-step="4"] .basket-heading{padding-bottom:14px}
.book-done .book-done-txt{font:19px/1.45 Georgia,serif;color:var(--ink);letter-spacing:-.01em;max-width:430px;margin:0 auto 18px}
.book-done-summary{text-align:left;margin:0 0 16px}
.sum-ref{border-top:0}
.sum-ref b{font:18px Georgia,serif;letter-spacing:.06em}
.book-done-honest{font:11px/1.7 Arial,sans-serif;color:#79565e;margin:0 auto 18px;max-width:430px}
.book-done-hint{font:10px/1.7 Arial,sans-serif;color:#99747d;margin:0 auto 10px;max-width:400px}
.book-msg{margin:14px 0 0;text-align:left}
.book-msg summary{cursor:pointer;text-align:center;font:10px Arial,sans-serif;letter-spacing:.04em;color:#79565e;padding:8px 0;list-style-position:inside}
.book-msg .book-preview{margin:8px 0 0}
.book-done-actions{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin-top:6px}
.book-done-actions .basket-continue{margin:10px 0 0}
@media(max-width:700px){.book-done .book-done-txt{font-size:17px}}
