/* =====================================================================
 * Consultation wizard
 * ===================================================================== */
.we-cw{--o:#ffa202;--ink:#171717;--line:#e6e6e6;--muted:#7a7a7a;
 font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}
.we-cw *,.we-cw *:before,.we-cw *:after{box-sizing:border-box}
/* the theme reset gives buttons a magenta border and recolours inputs, so every
   control inside the wizard is reset explicitly */
.we-cw button:not([class]){font-family:inherit;border:0;background:none;color:inherit;box-shadow:none}
.we-cw button{font-family:inherit;border:0;text-transform:none;letter-spacing:normal}
.we-cw button:focus{outline:0}
.we-cw button:focus-visible{outline:2px solid var(--o);outline-offset:2px}
.we-cw input,.we-cw select,.we-cw textarea{font-family:inherit;color:var(--ink);background:#fff;border-color:#dedede;
 box-shadow:none;border-radius:8px;text-transform:none;letter-spacing:normal}
.we-cw legend{padding:0;float:none;width:auto}
.we-cw a{text-decoration:none}

/* ---------- intro ---------- */
.we-cw-intro{display:grid;grid-template-columns:1.05fr .95fr;background:#fdf9f2}
.we-cw-intro-copy{padding:38px 34px}
.we-cw-intro-art{position:relative;min-height:100%;margin:0;overflow:hidden}
.we-cw-intro-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.we-cw-intro-art figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 20px 16px;color:#fff;
 background:linear-gradient(transparent,rgba(0,0,0,.72))}
.we-cw-intro-art figcaption strong{display:block;font-size:14px;font-weight:700;line-height:1.3}
.we-cw-intro-art figcaption span{display:block;font-size:11.5px;opacity:.85;margin-top:2px}
.we-cw-eyebrow{display:block;color:#c66e00;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:11px}
.we-cw-title{font-size:30px;line-height:1.12;letter-spacing:-.04em;margin:0 0 4px;font-weight:700;color:var(--ink)}
.we-cw-accent{font-size:26px;line-height:1.15;letter-spacing:-.035em;margin:0 0 14px;font-weight:700;color:var(--o)}
.we-cw-lead{font-size:14px;line-height:1.65;color:#5a5a5a;margin:0 0 22px}
.we-cw-usps{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #eadfcd;border-bottom:1px solid #eadfcd}
.we-cw-usps li{padding:15px 12px 15px 0;border-right:1px solid #eadfcd}
.we-cw-usps li:last-child{border-right:0}
.we-cw-usps li:not(:first-child){padding-left:14px}
.we-cw-usps svg{color:var(--ink);display:block;margin-bottom:8px}
.we-cw-usps strong{display:block;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px}
.we-cw-usps span{display:block;font-size:11px;color:var(--muted);line-height:1.4}

/* ---------- buttons ---------- */
.we-cw-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;
 border:0;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:.22s ease;text-decoration:none}
.we-cw .we-cw-btn-dark{background:var(--ink);color:#fff}
.we-cw .we-cw-btn-dark:hover{background:#000;transform:translateY(-1px)}
.we-cw .we-cw-btn-orange{background:var(--o);color:#111;box-shadow:0 10px 24px rgba(255,162,2,.28)}
.we-cw .we-cw-btn-orange:hover{background:#ed8d00;transform:translateY(-1px)}
.we-cw-btn:disabled{opacity:.6;cursor:default;transform:none}
/* display:inline-flex would otherwise beat the hidden attribute, leaving both
   Next and Confirm Booking on screen at the same time */
.we-cw [hidden],.we-cw-btn[hidden]{display:none!important}
.we-cw .we-cw-back{display:inline-flex;align-items:center;gap:9px;background:0;border:0;padding:8px 2px;cursor:pointer;
 font-size:14px;font-weight:700;color:var(--ink)}
.we-cw-back:hover{color:var(--o)}

/* ---------- rail ---------- */
.we-cw-form{padding:32px 34px 30px;margin:0}
.we-cw-rail{list-style:none;display:flex;margin:0 0 30px;padding:0;counter-reset:s}
.we-cw-rail-item{flex:1;position:relative;text-align:center;min-width:0}
.we-cw-rail-item:before{content:"";position:absolute;top:16px;left:calc(-50% + 17px);right:calc(50% + 17px);
 height:1px;background:var(--line)}
.we-cw-rail-item:first-child:before{display:none}
.we-cw-rail-item.is-done:before,.we-cw-rail-item.is-current:before{background:var(--ink)}
.we-cw-dot{position:relative;z-index:1;width:33px;height:33px;border-radius:50%;border:1.5px solid var(--line);
 background:#fff;color:#9a9a9a;display:inline-grid;place-items:center;font-size:13px;font-weight:700;transition:.22s ease}
.we-cw-tick{display:none}
.we-cw-rail-item.is-current .we-cw-dot{border-color:var(--o);background:var(--o);color:#111}
.we-cw-rail-item.is-done .we-cw-dot{border-color:var(--ink);background:var(--ink);color:#fff}
.we-cw-rail-item.is-done .we-cw-num{display:none}
.we-cw-rail-item.is-done .we-cw-tick{display:block}
.we-cw-rail-label{display:block;margin-top:8px;font-size:11.5px;color:var(--muted);line-height:1.3}
.we-cw-rail-item.is-current .we-cw-rail-label,.we-cw-rail-item.is-done .we-cw-rail-label{color:var(--ink);font-weight:700}

/* ---------- steps ---------- */
.we-cw-step{display:none;border:0;margin:0;padding:0;min-inline-size:0}
.we-cw-step.is-active{display:block}
.we-cw-q{font-size:19px;line-height:1.35;font-weight:700;letter-spacing:-.02em;margin:0 0 18px;padding:0;color:var(--ink)}
.we-cw-grid{display:grid;gap:11px}
.we-cw-grid-2{grid-template-columns:1fr 1fr;align-items:start}
.we-cw-opt{display:flex;align-items:flex-start;gap:11px;padding:15px 16px;border:1px solid var(--line);border-radius:9px;
 background:#fff;cursor:pointer;transition:.18s ease;font-size:14px;line-height:1.45;position:relative}
.we-cw-opt:hover{border-color:#c9c9c9;background:#fcfcfc}
.we-cw-opt input[type=radio]{position:absolute;opacity:0;width:0;height:0}
.we-cw-radio{flex:0 0 18px;width:18px;height:18px;border:1.5px solid #cfcfcf;border-radius:50%;margin-top:1px;
 display:grid;place-items:center;transition:.18s ease}
.we-cw-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--o);transform:scale(0);transition:.18s ease}
.we-cw-opt input:checked~.we-cw-radio{border-color:var(--o)}
.we-cw-opt input:checked~.we-cw-radio:after{transform:scale(1)}
.we-cw-opt:has(input:checked){border-color:var(--o);box-shadow:0 0 0 1px var(--o) inset}
.we-cw-opt-text{color:#2e2e2e}
.we-cw-opt-text small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.we-cw-opt-other{flex-direction:row;flex-wrap:wrap}
.we-cw-other-input{flex:1 1 100%;margin-top:12px}

/* ---------- inputs ---------- */
.we-cw-input{width:100%;min-height:46px;border:1px solid #dedede;border-radius:8px;padding:12px 14px;
 font:400 14px/1.4 inherit;color:var(--ink);background:#fff;transition:.18s ease}
.we-cw-input::placeholder{color:#a3a3a3}
.we-cw-input:focus{outline:0;border-color:var(--o);box-shadow:0 0 0 3px rgba(255,162,2,.15)}
.we-cw-field{display:block;margin-bottom:15px}
.we-cw-field>span{display:block;font-size:12.5px;font-weight:700;margin-bottom:6px;color:var(--ink)}
.we-cw-field i{color:var(--o);font-style:normal}

/* ---------- step 5 ---------- */
.we-cw-final{display:grid;grid-template-columns:1fr 1.02fr;gap:26px;align-items:start}
.we-cw-cal{border:1px solid var(--line);border-radius:10px;padding:15px;background:#fcfcfc}
.we-cw-cal-title{display:block;font-size:12.5px;font-weight:700;margin-bottom:10px;color:var(--ink)}
.we-cw-cal-title-slots{margin-top:16px}
.we-cw-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.we-cw-cal-head strong{font-size:13.5px;font-weight:700}
.we-cw-cal-nav{width:26px;height:26px;border:0;background:0;border-radius:6px;cursor:pointer;font-size:17px;line-height:1;color:#555}
.we-cw-cal-nav:hover{background:#f0f0f0;color:var(--ink)}
.we-cw-cal-dow,.we-cw-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.we-cw-cal-dow span{text-align:center;font-size:9.5px;font-weight:700;color:#9a9a9a;letter-spacing:.04em;padding-bottom:5px}
.we-cw .we-cw-day{aspect-ratio:1;border:0;background:0;border-radius:50%;cursor:pointer;font:600 12px/1 inherit;color:#333;transition:.15s ease}
.we-cw-day:hover:not(.is-off){background:#fff3dc}
.we-cw-day.is-off{color:#d0d0d0;cursor:default}
.we-cw .we-cw-day.is-picked{background:var(--o);color:#111}
.we-cw-cal-date{margin-bottom:10px;min-height:42px;font-size:13px}
.we-cw-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.we-cw .we-cw-slot{border:1px solid #dedede;background:#fff;border-radius:7px;padding:10px 4px;font:700 11.5px/1 inherit;
 color:#333;cursor:pointer;transition:.16s ease;white-space:nowrap}
.we-cw-slot:hover{border-color:var(--o);background:#fff7e8}
.we-cw .we-cw-slot.is-picked{background:var(--o);border-color:var(--o);color:#111}
.we-cw-cal-note{margin:11px 0 0;font-size:10.5px;color:var(--muted)}

/* ---------- actions ---------- */
.we-cw-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px}
.we-cw-error{margin:16px 0 0;padding:11px 14px;border-radius:8px;background:#fff1f1;border:1px solid #f3c9c9;
 color:#a12626;font-size:13px}

/* ---------- done ---------- */
.we-cw-done{padding:46px 34px;text-align:center}
.we-cw-done-mark{width:58px;height:58px;border-radius:50%;background:var(--o);color:#111;display:inline-grid;
 place-items:center;margin-bottom:18px}
.we-cw-done .we-cw-lead{max-width:430px;margin:0 auto 22px}

/* ---------- trust bar ---------- */
.we-cw-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px 34px;background:#fdf6ea;
 border-top:1px solid #f0e4d0}
.we-cw-trust>div{display:flex;gap:11px;align-items:flex-start}
.we-cw-trust svg{color:var(--ink);flex:0 0 auto;margin-top:2px}
.we-cw-trust span{display:block;font-size:9.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#c66e00;margin-bottom:4px}
.we-cw-trust strong{display:block;font-size:12.5px;font-weight:700;line-height:1.45;color:var(--ink)}

@media(max-width:860px){
.we-cw-intro{grid-template-columns:1fr}
.we-cw-intro-art{min-height:190px}
.we-cw-final{grid-template-columns:1fr}
.we-cw-grid-2{grid-template-columns:1fr}
.we-cw-trust{grid-template-columns:1fr;gap:14px}
}
@media(max-width:560px){
.we-cw-form{padding:22px 16px}
.we-cw-intro-copy{padding:24px 18px;text-align:center}
.we-cw-intro-copy .we-cw-btn{width:100%}
.we-cw-usps li{text-align:center;padding-left:0!important;padding-right:0}
.we-cw-usps svg{margin-left:auto;margin-right:auto}
.we-cw-q{text-align:center}
.we-cw-opt{text-align:left}
.we-cw-trust{text-align:center}
.we-cw-trust>div{flex-direction:column;align-items:center;gap:7px}
.we-cw-done{padding:34px 18px}
.we-cw-title{font-size:24px}
.we-cw-accent{font-size:21px}
.we-cw-rail-label{display:none}
.we-cw-q{font-size:17px}
.we-cw-usps{grid-template-columns:1fr;border:0}
.we-cw-usps li{border-right:0;border-bottom:1px solid #eadfcd;padding-left:0!important}
.we-cw-actions{flex-direction:column-reverse;align-items:stretch}
.we-cw-actions .we-cw-btn{width:100%}
.we-cw-slots{grid-template-columns:repeat(2,1fr)}
}

/* ---------- calendar on small screens ----------
   The 7-column month grid cannot shrink below ~40px per cell, so on narrow
   viewports the card, its padding and the grid are all tightened and the
   whole wizard is allowed to scroll vertically rather than sideways. */
@media(max-width:560px){
.we-cw{max-width:100%;overflow-x:hidden}
.we-cw-final{gap:18px}
.we-cw-cal{padding:12px;border-radius:9px}
.we-cw-cal-dow span{font-size:8.5px;letter-spacing:0}
.we-cw .we-cw-day{font-size:11px}
.we-cw-cal-dow,.we-cw-cal-grid{gap:1px}
.we-cw-cal-head strong{font-size:12.5px}
.we-cw-field{margin-bottom:13px}
.we-cw-input{min-height:44px;padding:11px 12px;font-size:14px}
.we-cw-cal-date{font-size:12.5px}
}
@media(max-width:400px){
.we-cw-form{padding:20px 12px}
.we-cw-cal{padding:10px}
.we-cw-cal-dow span{font-size:8px}
.we-cw .we-cw-day{font-size:10.5px}
.we-cw-slots{grid-template-columns:repeat(2,1fr);gap:6px}
.we-cw .we-cw-slot{font-size:11px;padding:9px 3px}
}
/* the popup itself must never exceed the viewport */
.elementor-popup-modal .we-cw,.elementor-popup-modal .we-cw *{max-width:100%}
.elementor-popup-modal .we-cw-cal-grid{min-width:0}
