/* Elmsford Reservations — front-end */
.etlr{--bk:#0B0B0B;--bk2:#141414;--bk3:#1C1C1C;--ln:rgba(255,255,255,.08);--gd:#C9A24B;--gd2:#E3C27A;--gd3:#8E6E2A;--cr:#F5F1E8;--mt:#A8A29A;--red:#E36B6B;--ok:#6BCB8B;
  font-family:'Montserrat',sans-serif;color:var(--cr);background:var(--bk);line-height:1.55;
  width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;overflow:hidden}
:where(.etlr) *{box-sizing:border-box;margin:0;padding:0}
:where(.etlr) :is(button,input,select,textarea){font-family:inherit;font-size:inherit;color:inherit}
:where(.etlr) button{cursor:pointer;background:none;border:0}
.etlr h1,.etlr h2,.etlr h3{font-family:'Cinzel',serif;font-weight:600;line-height:1.15;color:var(--cr)}
.etlr .gold{background:linear-gradient(100deg,var(--gd3),var(--gd2) 40%,var(--gd) 60%,var(--gd3));-webkit-background-clip:text;background-clip:text;color:transparent}
.etlr .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.etlr .eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gd);font-weight:600}
.etlr .eyebrow:before{content:"";width:34px;height:1px;background:var(--gd)}

/* Head */
.etlr-head{padding:110px 0 50px;text-align:center;background:radial-gradient(ellipse 70% 80% at 50% 0,rgba(201,162,75,.16),transparent 70%)}
.etlr-head h1{font-size:clamp(34px,5vw,58px);margin:16px 0 14px}
.etlr-head p{color:var(--mt);max-width:620px;margin:0 auto}
.etlr-head .quick{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:22px;font-size:14px}
.etlr-head .quick a{color:var(--gd2);text-decoration:none;font-weight:600}

/* Progress */
.etlr-progress{display:flex;justify-content:space-between;position:relative;max-width:760px;margin:0 auto 46px;counter-reset:s}
.etlr-progress:before{content:"";position:absolute;top:17px;left:6%;right:6%;height:1px;background:var(--ln)}
.etlr-progress .bar{position:absolute;top:17px;left:6%;height:1px;background:var(--gd);box-shadow:0 0 8px var(--gd);transition:width .6s cubic-bezier(.6,.1,.2,1)}
.etlr-progress div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6d675f;width:20%}
.etlr-progress div i{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--bk);border:1px solid #3a3a3a;font-style:normal;font-family:'Cinzel',serif;font-size:14px;transition:all .4s}
.etlr-progress div.on{color:var(--cr)}
.etlr-progress div.on i{border-color:var(--gd);color:var(--gd)}
.etlr-progress div.done i{background:var(--gd);color:var(--bk);border-color:var(--gd)}

/* Layout */
.etlr-body{padding-bottom:110px}
.etlr-grid{display:grid;grid-template-columns:1fr 340px;gap:34px;align-items:start}
.etlr-panel{background:linear-gradient(160deg,#151515,#0e0e0e);border:1px solid var(--ln);border-radius:6px;padding:36px}
.etlr-step{display:none;animation:etlrIn .5s cubic-bezier(.2,.8,.2,1)}
.etlr-step.on{display:block}
@keyframes etlrIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.etlr-step h2{font-size:26px;margin-bottom:6px}
.etlr-step .sub{color:var(--mt);font-size:14px;margin-bottom:26px}

/* Option cards */
.etlr-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.etlr-opt{position:relative;text-align:left;padding:22px 20px;border:1px solid var(--ln);border-radius:6px;background:var(--bk2);display:flex;gap:16px;align-items:center;transition:border-color .3s,transform .3s,background .3s}
.etlr-opt:hover{border-color:rgba(201,162,75,.5);transform:translateY(-2px)}
.etlr-opt.sel{border-color:var(--gd);background:rgba(201,162,75,.08)}
.etlr-opt.sel:after{content:"✓";position:absolute;top:10px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--gd);color:var(--bk);font-size:12px;font-weight:700;display:grid;place-items:center}
.etlr-opt .ic{flex:none;width:48px;height:48px;border-radius:50%;border:1px solid rgba(201,162,75,.45);display:grid;place-items:center;color:var(--gd)}
.etlr-opt .ic svg{width:22px;height:22px}
.etlr-opt b{display:block;font-size:15px;font-weight:600}
.etlr-opt small{color:var(--mt);font-size:12.5px}
.etlr-opt.car{flex-direction:column;align-items:flex-start;gap:6px}
.etlr-opt.car svg.sil{width:100%;height:70px;margin-bottom:6px}
.etlr-opt.car svg.sil path,.etlr-opt.car svg.sil circle{fill:none;stroke:var(--gd);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.etlr-opt.car .meta{display:flex;gap:14px;font-size:12.5px;color:var(--mt)}
.etlr-opt.car .tag{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gd)}

/* Calendar */
.etlr-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.etlr-cal-head h3{font-size:20px}
.etlr .etlr-cal-head button{width:40px!important;height:40px!important;min-width:0;padding:0!important;line-height:1;font-size:20px;border:1px solid var(--ln)!important;border-radius:50%!important;display:grid;place-items:center;color:var(--gd)!important;background:transparent!important;box-shadow:none!important;transition:all .3s}
.etlr-opt.car .pic{display:block;width:100%;height:120px;margin-bottom:6px;border-radius:4px;background:radial-gradient(ellipse at 50% 85%,rgba(201,162,75,.22),transparent 65%),#0e0e0e;overflow:hidden}
.etlr-opt.car .pic img{width:100%;height:100%;object-fit:contain;padding:8px;transition:transform .5s}
.etlr-opt.car:hover .pic img{transform:scale(1.06)}
.etlr-cal-head button:hover:not(:disabled){border-color:var(--gd);background:rgba(201,162,75,.1)}
.etlr-cal-head button:disabled{opacity:.25;cursor:default}
.etlr-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.etlr-cal .dow{text-align:center;font-size:11px;letter-spacing:.14em;color:#6d675f;padding:6px 0;text-transform:uppercase}
.etlr-day{position:relative;aspect-ratio:1;border-radius:6px;border:1px solid var(--ln);background:var(--bk2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15px;font-weight:600;transition:all .25s}
.etlr-day:hover:not(:disabled){border-color:var(--gd)}
.etlr-day .dot{width:5px;height:5px;border-radius:50%;margin-top:4px;background:var(--ok)}
.etlr-day.limited .dot{background:var(--gd)}
.etlr-day.full{color:#5d5852;background:repeating-linear-gradient(135deg,#121212 0 6px,#171717 6px 12px);cursor:not-allowed}
.etlr-day.full .x{position:absolute;top:3px;right:6px;color:var(--red);font-size:12px;font-weight:700}
.etlr-day.past,.etlr-day.empty{opacity:.22;cursor:default}
.etlr-day.empty{border:0;background:none}
.etlr-day.sel{background:var(--gd);color:var(--bk);border-color:var(--gd)}
.etlr-day.sel .dot{background:var(--bk)}
.etlr-day.today:not(.sel){border-color:rgba(201,162,75,.5)}
.etlr-legend{display:flex;gap:18px;flex-wrap:wrap;margin:16px 0 4px;font-size:12px;color:var(--mt)}
.etlr-legend span{display:flex;align-items:center;gap:6px}
.etlr-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}
.etlr-loading{opacity:.45;pointer-events:none;transition:opacity .2s}

/* Time slots */
.etlr-times{margin-top:28px}
.etlr-times h4{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gd);margin:18px 0 10px;font-weight:600}
.etlr-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.etlr-slot{padding:10px 6px;border:1px solid var(--ln);border-radius:4px;background:var(--bk2);font-size:13.5px;font-weight:600;transition:all .2s;position:relative}
.etlr-slot:hover:not(:disabled){border-color:var(--gd);color:var(--gd2)}
.etlr-slot.sel,.etlr-slot.sel:hover{background:var(--gd);border-color:var(--gd);color:var(--bk)}
.etlr-slot.booked{color:#5d5852;text-decoration:line-through;cursor:not-allowed;background:#101010}
.etlr-slot.booked:after{content:"✕";position:absolute;top:2px;right:5px;font-size:9px;color:var(--red);text-decoration:none}
.etlr-slot.past{display:none}
.etlr-empty{color:var(--mt);font-size:14px;padding:18px;border:1px dashed var(--ln);border-radius:6px;text-align:center}

/* Form */
.etlr-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.etlr-form .full{grid-column:1/-1}
.etlr-field label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mt);margin-bottom:8px;font-weight:600}
.etlr-field label em{color:var(--gd);font-style:normal}
.etlr-field input,.etlr-field select,.etlr-field textarea{width:100%;background:var(--bk2);border:1px solid #2c2c2c;border-radius:4px;padding:13px 14px;color:var(--cr);transition:border-color .25s,box-shadow .25s;outline:none}
.etlr-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gd) 50%),linear-gradient(135deg,var(--gd) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.etlr-field input:focus,.etlr-field select:focus,.etlr-field textarea:focus{border-color:var(--gd);box-shadow:0 0 0 3px rgba(201,162,75,.15)}
.etlr-field.err input,.etlr-field.err select{border-color:var(--red)}
.etlr-field .hint{font-size:12px;color:#6d675f;margin-top:6px}
.etlr-field textarea{min-height:90px;resize:vertical}
.etlr-stepper{display:flex;align-items:center;border:1px solid #2c2c2c;border-radius:4px;background:var(--bk2);width:max-content}
.etlr-stepper button{width:44px;height:46px;color:var(--gd);font-size:20px}
.etlr-stepper button:disabled{opacity:.3}
.etlr-stepper output{min-width:46px;text-align:center;font-weight:700;font-size:16px}
.etlr-lang{display:flex;gap:8px}
.etlr-lang button{padding:11px 18px;border:1px solid #2c2c2c;border-radius:4px;font-size:13px;font-weight:600}
.etlr-lang button.sel{border-color:var(--gd);color:var(--gd2);background:rgba(201,162,75,.08)}
.etlr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Review */
.etlr-review{border:1px solid var(--ln);border-radius:6px;overflow:hidden}
.etlr-review div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:13px 18px;border-bottom:1px solid var(--ln);font-size:14.5px}
.etlr-review div:last-child{border:0}
.etlr-review dt{color:var(--mt);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding-top:2px}
.etlr-terms{font-size:13px;color:var(--mt);margin-top:18px}

/* Nav */
.etlr-nav{display:flex;justify-content:space-between;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--ln)}
.etlr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;border-radius:2px;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;transition:transform .3s,box-shadow .3s,opacity .3s;position:relative;overflow:hidden}
.etlr-btn.gold{background:linear-gradient(135deg,var(--gd2),var(--gd) 55%,var(--gd3));color:var(--bk)}
.etlr-btn.gold:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(201,162,75,.6)}
.etlr-btn.line{border:1px solid rgba(201,162,75,.5);color:var(--cr)}
.etlr-btn:disabled{opacity:.35;cursor:not-allowed}
.etlr-btn .spin{width:16px;height:16px;border:2px solid rgba(0,0,0,.25);border-top-color:var(--bk);border-radius:50%;animation:etlrSpin .8s linear infinite}
@keyframes etlrSpin{to{transform:rotate(360deg)}}
.etlr-alert{margin-top:18px;padding:13px 16px;border-radius:4px;font-size:14px;border:1px solid rgba(227,107,107,.4);background:rgba(227,107,107,.08);color:#f2b4b4;display:none}
.etlr-alert.on{display:block;animation:etlrIn .3s}

/* Summary sidebar */
.etlr-side{position:sticky;top:110px;background:var(--bk2);border:1px solid var(--ln);border-radius:6px;overflow:hidden}
.etlr-side .top{padding:22px 24px;background:linear-gradient(135deg,rgba(201,162,75,.18),transparent);border-bottom:1px solid var(--ln)}
.etlr-side .top h3{font-size:18px}
.etlr-side ul{list-style:none;padding:8px 24px 14px}
.etlr-side li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed var(--ln);font-size:13.5px}
.etlr-side li:last-child{border:0}
.etlr-side li span{color:var(--mt)}
.etlr-side li b{text-align:right;font-weight:600;max-width:60%}
.etlr-side li b.empty{color:#4d4943;font-weight:400}
.etlr-side .help{padding:18px 24px;border-top:1px solid var(--ln);font-size:13px;color:var(--mt)}
.etlr-side .help a{color:var(--gd2);font-weight:600;text-decoration:none}

/* Success */
.etlr-done{text-align:center;padding:30px 10px}
.etlr-done .check{width:96px;height:96px;margin:0 auto 26px}
.etlr-done .check circle{fill:none;stroke:var(--gd);stroke-width:2;stroke-dasharray:300;stroke-dashoffset:300;animation:etlrDraw 1s .1s forwards}
.etlr-done .check path{fill:none;stroke:var(--gd2);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80;animation:etlrDraw .6s .9s forwards}
@keyframes etlrDraw{to{stroke-dashoffset:0}}
.etlr-done h2{font-size:30px;margin-bottom:10px}
.etlr-done .code{display:inline-block;margin:18px 0;padding:12px 26px;border:1px dashed var(--gd);font-family:'Cinzel',serif;font-size:24px;letter-spacing:.12em;color:var(--gd2)}
.etlr-done p{color:var(--mt);max-width:480px;margin:0 auto}
.etlr-done .acts{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.etlr-done .acts a{text-decoration:none}

/* Fix: theme fixed heights cut select/input text */
.etlr .etlr-field input,.etlr .etlr-field select{height:auto!important;min-height:50px;line-height:1.4!important;font-size:15px!important;padding-top:12px!important;padding-bottom:12px!important}
.etlr .etlr-field select{padding-right:40px!important;background-color:var(--bk2)!important;color:var(--cr)!important;border:1px solid #2c2c2c!important}
.etlr .etlr-field select option{background:#141414;color:var(--cr)}
@media(max-width:960px){
  .etlr-grid{grid-template-columns:1fr}
  .etlr-side{position:static;order:-1}
  .etlr-side ul,.etlr-side .help{display:none}
  .etlr-side.open ul,.etlr-side.open .help{display:block}
  .etlr-side .top{cursor:pointer;display:flex;justify-content:space-between;align-items:center}
  .etlr-side .top:after{content:"▾";color:var(--gd)}
}
@media(max-width:640px){
  .etlr-head{padding:80px 0 34px}
  .etlr-panel{padding:24px 18px}
  .etlr-opts,.etlr-form{grid-template-columns:1fr}
  .etlr-progress div{font-size:0;gap:0}
  .etlr-cal{gap:4px}
  .etlr-day{font-size:13px}
  .etlr-slots{grid-template-columns:repeat(3,1fr)}
  .etlr-review div{grid-template-columns:1fr;gap:2px}
  .etlr-nav{flex-direction:column-reverse}
  .etlr-btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.etlr *{animation:none!important;transition:none!important}.etlr-done .check circle,.etlr-done .check path{stroke-dashoffset:0}}

/* ===== ONE photo behind the whole reservations page (stays while scrolling) ===== */
.etlr{overflow:clip !important;isolation:isolate}
.etlr-city{position:sticky;top:0;height:100vh;margin-bottom:-100vh;z-index:-1;background-size:cover;background-position:center 60%;pointer-events:none}
.etlr-city:after{content:"";position:absolute;inset:0;background:rgba(8,8,10,.4)}
.etlr .etlr-head{background:radial-gradient(ellipse 60% 70% at 50% 45%,rgba(8,8,10,.6),rgba(8,8,10,.15) 80%) !important;padding:140px 0 70px}
.etlr .etlr-head h1,.etlr .etlr-head p{text-shadow:0 4px 24px rgba(0,0,0,.7)}
.etlr .etlr-head p{color:#e6e0d6}
.etlr .etlr-body{background:linear-gradient(180deg,rgba(11,11,11,.35) 0%,rgba(11,11,11,.7) 18%,rgba(11,11,11,.7) 100%)}
.etlr .etlr-progress{padding:16px 0;border-radius:6px}
.etlr .etlr-panel{background:linear-gradient(160deg,rgba(21,21,21,.94),rgba(14,14,14,.94)) !important;backdrop-filter:blur(6px)}
.etlr .etlr-side{background:rgba(20,20,20,.92) !important;backdrop-filter:blur(6px)}
@media(max-width:640px){.etlr .etlr-head{padding:100px 0 40px}}

/* vehicle cards: real photos fill the frame, gold icons */
.etlr-opt.car .pic{height:150px !important;background:#0d0d0d !important;overflow:hidden;position:relative}
.etlr-opt.car .pic img{object-fit:cover !important;padding:0 !important}
.etlr-opt.car:hover .pic img{transform:scale(1.05)}
.etlr-opt.car .meta span{display:inline-flex;align-items:center;gap:6px}
.etlr-opt.car .meta svg{width:15px;height:15px;color:var(--gd)}

/* v1.4.8: WhatsApp hand-off after booking */
.etlr-done .etlr-wa{margin:26px auto 0;max-width:480px;padding:20px;border:1px solid rgba(37,211,102,.35);border-radius:8px;background:rgba(37,211,102,.06)}
.etlr-done .etlr-wa p{margin:0 auto 14px;color:#d8d2c7;font-size:14.5px}
.etlr .etlr-btn.wa{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#25D366 !important;color:#fff !important;border:0 !important;text-decoration:none !important;animation:etlrWaPulse 2.4s infinite}
.etlr .etlr-btn.wa:hover{background:#1ebe5a !important}
.etlr .etlr-btn.wa svg{width:20px;height:20px;flex:none}
@keyframes etlrWaPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 14px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@media(max-width:600px){.etlr .etlr-btn.wa{width:100%}}

/* v1.5.1: WhatsApp = required final step */
.etlr-done .etlr-wa{max-width:520px;padding:24px 22px;border:2px solid #25D366;background:rgba(37,211,102,.08);position:relative}
.etlr-done .etlr-wa .badge{display:inline-block;margin-bottom:10px;padding:5px 12px;border-radius:30px;background:#25D366;color:#06210f;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.etlr-done .etlr-wa h3{font-family:'Cinzel',serif;font-size:21px;color:#F5F1E8;margin:0 0 8px}
.etlr-done .etlr-wa p b{color:#F5F1E8}
.etlr-done .etlr-wa small{display:block;margin-top:12px;color:var(--mt);font-size:12.5px}
.etlr-done .etlr-wa .after{display:none;color:#4ade80;margin:14px auto 0}
.etlr-done .etlr-wa.sent{border-color:rgba(37,211,102,.45)}
.etlr-done .etlr-wa.sent .after{display:block}
.etlr-done .etlr-wa.sent .etlr-btn.wa{animation:none;opacity:.85}
.etlr-done .etlr-wa.sent .badge{background:rgba(37,211,102,.2);color:#4ade80}
