/* DALOR booking only. The original logo and server-owned catalog stay authoritative. */
:root{--bg:#111111;--s:#171717;--s2:#242424;--s3:#303030;--gold:#B99A5E;--gold2:#D9BF8D;--tx:#F5F0E7;--mt:#B5B0A7;--bd:rgba(245,240,231,.12);--bdg:rgba(185,154,94,.4);--r:16px;--rs:12px}
body{background:var(--bg);line-height:1.5}
:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
.step-hd h2:focus{outline:none}
button,a,input,textarea{touch-action:manipulation}
button:disabled{cursor:not-allowed}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#home{background:#111;min-height:100dvh;padding:32px 24px max(28px,env(safe-area-inset-bottom));overflow-y:auto;transition:opacity .2s,visibility .2s}
.home-eyebrow{color:var(--mt);font-size:.8rem;letter-spacing:.06em;margin-bottom:8px}
.h-logo-wrap{width:min(320px,78vw);height:auto;aspect-ratio:3/2;margin:0 auto 4px;animation:none}
.h-logo-img{width:100%;height:100%;object-fit:contain;border-radius:0;border:0;box-shadow:none}
.home-rule{width:38px;height:1px;background:var(--gold);margin:8px 0 24px}
#home h1{font-size:clamp(2rem,7.6vw,3.15rem);font-weight:500;line-height:1.24;text-align:center;letter-spacing:-.045em}
.home-description{color:var(--mt);font-size:.94rem;margin:16px 0 32px;text-align:center;max-width:330px;line-height:1.8}
.h-cta,.cta{background:var(--gold);color:#111;box-shadow:none;font-weight:700;min-height:56px;border-radius:12px;animation:none;transition:background .15s,transform .15s}
.h-cta::after{display:none}
.h-cta svg{transform:rotate(180deg)}
.h-cta:hover,.cta:hover{background:#C8AC77;box-shadow:none;transform:translateY(-1px);opacity:1}
.h-wa,.wa-hdr,.wa-conf{background:transparent;color:var(--tx);border-color:var(--bd);animation:none;font-weight:500}
.h-wa{min-height:48px}
.h-wa:hover,.wa-hdr:hover,.wa-conf:hover{background:var(--s2)}
.h-hours,.h-address{color:var(--mt);animation:none;font-weight:400}
.h-address{min-height:44px;align-items:center}
#app{max-width:640px;opacity:0;transition:opacity .18s}
#hdr{padding:12px 24px;height:80px;background:#111;border-color:var(--bd);backdrop-filter:none}
.hlogo{width:78px;height:52px;object-fit:contain;border-radius:0;border:0}
.hname{font-family:inherit;letter-spacing:0;color:var(--tx);font-weight:500;font-size:.94rem}
.hsub{font-size:.7rem;font-weight:400;letter-spacing:0;color:var(--mt);margin-top:4px}
.wa-hdr{padding:10px 14px;min-height:44px}
.prog{top:80px;background:#111;padding:18px 24px 16px;backdrop-filter:none;border:none}
.prog-top{font-weight:400;font-size:.78rem;margin-bottom:12px}
#progLabel{color:var(--gold2)}
.prog-bar{height:2px;background:var(--s3)}
.prog-fill{background:var(--gold);transition:width .2s}
.step{padding:28px 24px 32px;animation:dalor-enter .18s ease-out}
@keyframes dalor-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.step-hd{margin-bottom:26px}
.step-hd h2{font-size:clamp(1.55rem,6vw,2rem);font-weight:500;letter-spacing:-.025em;line-height:1.3}
.step-hd p{margin-top:10px;font-size:.9rem;line-height:1.7}
.back-btn{min-height:44px;font-weight:400;margin-bottom:12px;color:var(--mt)}
.welcome-card{background:transparent;border:0;border-bottom:1px solid var(--bd);border-radius:0;padding:0 0 24px;margin-bottom:28px}
.wc-logo{display:none}
.wc-title{font-size:.85rem;color:var(--gold2);font-weight:500}
.wc-sub{color:var(--mt);font-size:.85rem;margin-top:4px}
.opt-grid{gap:12px}
.opt{padding:18px;min-height:78px;border:1px solid var(--bd);background:#1B1B1B;border-radius:14px;transition:background .15s,border-color .15s,transform .15s}
.opt:hover{background:#242424;border-color:var(--bdg)}
.opt:active{transform:scale(.99)}
.opt.sel{background:#2A251C;border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.opt .oi{width:20px;height:20px;border-width:1px;border-color:#8B867E}
.opt .on{font-size:1rem;font-weight:500;display:block}
.opt .od{display:block;font-weight:400;line-height:1.5}
.opt .op{font-size:1rem;font-weight:500}
.opt .op.tbd{font-weight:400;white-space:normal;max-width:92px;text-align:left;font-size:.74rem;line-height:1.5}
.opt.big{min-height:134px;flex-direction:column;gap:6px}
.people-number{font-size:2.25rem;color:var(--tx);font-weight:400;line-height:1.2}
.opt.sel .people-number{color:var(--gold2)}
.people-caption{font-size:.82rem;color:var(--mt);font-weight:400}
.pblock{margin-bottom:28px}
.pblock-hd{font-size:.88rem;letter-spacing:0;font-weight:500;border-bottom:1px solid var(--bd);padding-bottom:10px;margin-bottom:14px}
.field label{font-weight:500;color:var(--tx)}
.field input,.field textarea{background:#1B1B1B;min-height:56px;border-radius:12px;border-color:var(--bd)}
.field input::placeholder,.field textarea::placeholder{color:#A29D94;opacity:1}
.field input[aria-invalid=true]{border-color:var(--red)}
#fphone{direction:ltr;text-align:right}
.sub-q{font-weight:500;font-size:.94rem;margin-top:24px}
.fieldset-title{font-weight:500;font-size:.88rem}
.hint{font-weight:400;line-height:1.7;font-size:.8rem}
.err{font-weight:400;line-height:1.6}
.err:not(:empty){padding:12px;border:1px solid rgba(248,113,113,.3);border-radius:10px;background:#291B1B}
.nextbar{margin-top:28px;padding-top:12px}
.cta:disabled{opacity:.4}
.cal-nav{margin-bottom:20px}
.cnav-btn{width:44px;height:44px;background:#242424}
.cal-label{font-weight:500}
.cal-grid{gap:4px;margin-top:12px}
.cd{font-size:.94rem;font-weight:400;background:#242424;min-height:44px;aspect-ratio:1}
.cd.emp{background:transparent;min-height:0}
.cd.dis{opacity:1;background:transparent;color:#78746D;pointer-events:auto;border-color:transparent;cursor:not-allowed}
.cd.checking{background:var(--s2);color:var(--mt);opacity:.5}
.cd.half{border-color:var(--bdg);color:var(--tx)}
.cd.today{border-color:var(--bdg);color:var(--gold2)}
.cd.sel{font-weight:600}
.dn.shab{color:var(--mt)}
#calendarStatus{min-height:28px;margin-bottom:8px}
.legend{gap:12px}
.time-grid{grid-template-columns:repeat(4,1fr);gap:10px}
.ts{min-height:52px;background:#242424;font-weight:500;direction:ltr}
.slot-skeleton{height:52px;border-radius:12px;background:#242424;animation:dalor-skeleton 1s ease-in-out infinite alternate}
@keyframes dalor-skeleton{to{background:#37342E}}
.date-recap{background:transparent;border:0;border-bottom:1px solid var(--bd);border-radius:0;padding:0 0 12px;font-weight:500}
.text-action{display:block;color:var(--gold2);text-decoration:underline;min-height:44px;margin-top:8px;text-underline-offset:4px}
.no-slots{font-size:.9rem;padding:24px 0}
.sum-card,.conf-card{background:#1B1B1B;padding:20px;border-color:var(--bd);border-radius:16px}
.sum-row,.crow{padding:12px 0}
.sum-row .vl,.crow .vl{font-weight:500;overflow-wrap:anywhere;max-width:68%}
.sum-line{gap:16px;padding:6px 0}
.sum-person .pn{font-weight:500}
.sum-total{font-weight:500;padding-top:20px;margin-top:12px;color:var(--gold2)}
.policy-box{font-weight:400;background:transparent;padding:0;line-height:1.8}
.policy-ack{font-size:.85rem;font-weight:400;line-height:1.7;padding:8px 0}
.conf-inner{max-width:none;margin:16px auto}
.chk-wrap{border:1px solid var(--gold);background:#2A251C;animation:dalor-enter .2s ease}
.chk-wrap svg{stroke:var(--gold2);stroke-width:1.6}
.conf-inner h2{font-size:2rem;font-weight:500;color:var(--tx)}
.conf-inner>p{margin-top:12px}
.manage-link{direction:rtl;text-align:center;font-size:.94rem;min-height:52px;display:flex;align-items:center;justify-content:center;color:var(--gold2);border-color:var(--bdg);text-decoration:none}
.reset-lnk{min-height:44px}
@media(min-width:900px){
 body{background:#111}
 #app{max-width:720px;border-inline:1px solid var(--bd);min-height:100dvh}
 .step{padding:36px 48px 48px}
 #hdr,.prog{padding-inline:48px}
 #peopleOpts{grid-template-columns:repeat(4,1fr)}
 #home h1{font-size:3.4rem}
 .h-logo-wrap{width:360px}
 .home-description{max-width:none}
 .nextbar{position:sticky;bottom:0;background:#111;padding-block:16px;z-index:5}
}
@media(max-width:599px){
 .step{padding-bottom:128px}
 .nextbar{position:fixed;bottom:0;inset-inline:0;margin:0;padding:12px 24px max(16px,env(safe-area-inset-bottom));background:#111;border-top:1px solid var(--bd);z-index:20}
 .nextbar .cta{margin:0}
 .time-grid{grid-template-columns:repeat(3,1fr)}
 .radio-row .opt{padding:14px 12px;gap:8px}
 #hdr{padding-inline:20px}
 .legend{font-size:.72rem}
}
@media(max-width:359px){.step{padding-inline:16px}.prog{padding-inline:16px}.cd{min-height:38px}.opt{gap:8px;padding:14px}.step-hd h2{font-size:1.5rem}}
@media(max-height:760px){#home{justify-content:flex-start}.h-logo-wrap{width:min(250px,65vw)}.home-rule{margin-bottom:16px}.home-description{margin:12px 0 24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.chk-wrap path{stroke-dashoffset:0}}

/* Returning customer account uses the existing authenticated device session. */
.personal-profile{display:flex;align-items:center;gap:16px;padding:20px;background:#242424;border:1px solid var(--bdg);border-radius:16px}
.personal-profile h3{font-weight:500;font-size:1.15rem;margin-bottom:6px}.personal-profile bdi{color:var(--mt);font-size:.88rem}
.personal-avatar{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:50%;background:#332B1E;color:var(--gold2);font-size:1.5rem}
.personal-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 30px}.personal-stats>div{padding:18px;background:#1B1B1B;border:1px solid var(--bd);border-radius:14px}.personal-stats strong{display:block;font-size:1.6rem;font-weight:500;color:var(--gold2)}.personal-stats span{font-size:.8rem;color:var(--mt)}
.personal-heading{font-size:1rem;font-weight:500;margin:0 0 14px}.personal-appointment{display:block;text-decoration:none;color:var(--tx);border:1px solid var(--bd);background:#1B1B1B;border-radius:16px;padding:20px;margin-bottom:12px}.personal-appointment:hover{border-color:var(--gold)}.personal-date{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:.9rem}.personal-date strong{font-size:1.35rem;color:var(--gold2);font-weight:500}.personal-services{color:var(--mt);font-size:.85rem;margin:10px 0 18px;line-height:1.6}.personal-manage{color:var(--gold2);font-size:.85rem}
.personal-empty{padding:24px 20px;border:1px solid var(--bd);border-radius:16px;background:#1B1B1B;line-height:1.8}.personal-empty h3{font-size:1.1rem;font-weight:500;margin-bottom:10px}.personal-empty p{font-size:.9rem}.personal-empty .hint{margin-top:16px;color:var(--mt)}.personal-mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--bdg);border-radius:50%;font-family:serif;font-size:1.8rem;color:var(--gold2);margin-bottom:20px}#st-me{padding-bottom:40px}#st-me .nextbar{position:static;background:transparent;padding:0;margin-top:24px}
