/* ===== Base / variables ===== */
.sep-x{--o1:#ff8a1f;--o2:#e5530a;--ink:#1f2937;--mut:#6b7280;font-family:inherit;line-height:1.45;text-align:left}
.sep-x *{box-sizing:border-box}
@keyframes sepFade{from{opacity:0}to{opacity:1}}
@keyframes sepIn{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:none}}
@keyframes sepDraw{to{stroke-dashoffset:0}}
@keyframes sepPulse{0%,100%{box-shadow:-6px 6px 20px rgba(229,83,10,.35)}50%{box-shadow:-6px 6px 20px rgba(229,83,10,.35),0 0 0 9px rgba(255,138,31,.22)}}
.sep-open-lock{overflow:hidden!important}

/* ===== Fields ===== */
.sep-x .sep-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.sep-x .sep-field{min-width:0;margin:0}
.sep-x .sep-full{grid-column:1/-1}
.sep-x .sep-field>label{display:block!important;margin:0 0 7px!important;padding:0!important;color:var(--ink)!important;font-size:14px!important;font-weight:600!important;line-height:1.3!important}
.sep-x .sep-req{color:#e11d48}
.sep-x .sep-hint{margin-top:6px;color:var(--mut);font-size:12px}
.sep-x .sep-error{display:none;margin-top:5px;color:#e11d48;font-size:12.5px}
.sep-x .sep-invalid .sep-error{display:block}

.sep-x .sep-input{position:relative}
.sep-x .sep-ico{position:absolute;left:14px;top:50%;width:18px;height:18px;margin-top:-9px;fill:none;stroke:#9aa0ad;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:.2s;z-index:1}
.sep-x .sep-input input,.sep-x .sep-input select,.sep-x .sep-input textarea{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0 14px 0 44px!important;background:#f6f7fb!important;border:1.5px solid #eceef5!important;border-radius:12px!important;font-size:15px!important;color:var(--ink)!important;box-shadow:none!important;outline:none!important;font-family:inherit;transition:.2s}
.sep-x .sep-input input,.sep-x .sep-input select{height:50px!important}
.sep-x .sep-input textarea{min-height:96px!important;padding:14px 14px 14px 44px!important;resize:vertical;line-height:1.5}
.sep-x .sep-ta .sep-ico{top:17px;margin-top:0}
.sep-x .sep-input input::placeholder,.sep-x .sep-input textarea::placeholder{color:#a0a6b4}
.sep-x .sep-input input:focus,.sep-x .sep-input select:focus,.sep-x .sep-input textarea:focus{background:#fff!important;border-color:var(--o1)!important;box-shadow:0 0 0 4px rgba(255,138,31,.15)!important}
.sep-x .sep-input:focus-within .sep-ico{stroke:var(--o2)}
.sep-x .sep-sel select{-webkit-appearance:none;appearance:none;padding-right:38px!important;cursor:pointer}
.sep-x .sep-sel:after{content:"";position:absolute;right:16px;top:50%;margin-top:-3px;border:5px solid transparent;border-top-color:#9aa0ad;pointer-events:none}
.sep-x .sep-invalid .sep-input input,.sep-x .sep-invalid .sep-input select,.sep-x .sep-invalid .sep-input textarea,.sep-x .sep-invalid .sep-ms-box,.sep-x .sep-invalid .sep-stepper{border-color:#e11d48!important;background:#fff6f8!important}

/* choice cards */
.sep-x .sep-choice{display:flex;gap:10px;flex-wrap:wrap}
.sep-x .sep-opt{position:relative;flex:1 1 130px;margin:0!important;cursor:pointer;display:block!important}
.sep-x .sep-opt input{position:absolute!important;opacity:0!important;width:0!important;height:0!important;margin:0!important}
.sep-x .sep-opt span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 14px;border:1.5px solid #eceef5;background:#f6f7fb;border-radius:12px;font-size:14.5px;font-weight:600;color:var(--ink);text-align:center;transition:.2s}
.sep-x .sep-opt:hover span{border-color:#ffd0a0}
.sep-x .sep-opt input:checked+span{border-color:var(--o1);background:#fff1e3;color:#b8420a;box-shadow:0 0 0 3px rgba(255,138,31,.15)}
.sep-x .sep-opt input:checked+span:before{content:"\2713";font-weight:700}
.sep-x .sep-opt input:focus-visible+span{outline:2px solid var(--o1);outline-offset:2px}
.sep-x .sep-invalid .sep-opt span{border-color:#f5b5c1}

/* stepper */
.sep-x .sep-stepper{display:flex;align-items:center;justify-content:space-between;height:50px;padding:0 6px;background:#f6f7fb;border:1.5px solid #eceef5;border-radius:12px}
.sep-x .sep-stepper button{width:38px!important;height:38px!important;min-width:0!important;padding:0!important;border:0!important;border-radius:10px!important;background:#fff!important;color:var(--o2)!important;font-size:20px!important;line-height:1!important;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.1)!important;transition:.15s}
.sep-x .sep-stepper button:hover{background:var(--o2)!important;color:#fff!important}
.sep-x .sep-stepper input{width:60px!important;height:auto!important;margin:0!important;padding:0!important;text-align:center;border:0!important;background:transparent!important;box-shadow:none!important;font-size:17px!important;font-weight:700!important;color:var(--ink)!important}

/* multi select */
.sep-x .sep-ms{position:relative}
.sep-x .sep-ms-box{position:relative;min-height:50px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 38px 6px 44px;background:#f6f7fb;border:1.5px solid #eceef5;border-radius:12px;cursor:pointer;transition:.2s}
.sep-x .sep-ms-box:after{content:"";position:absolute;right:15px;top:50%;margin-top:-3px;border:5px solid transparent;border-top-color:#9aa0ad;transition:.2s}
.sep-x .sep-ms-open .sep-ms-box{background:#fff;border-color:var(--o1);box-shadow:0 0 0 4px rgba(255,138,31,.15)}
.sep-x .sep-ms-open .sep-ms-box:after{transform:rotate(180deg);margin-top:-8px}
.sep-x .sep-ms-ph{color:#a0a6b4;font-size:15px}
.sep-x .sep-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 6px 5px 11px;background:#fff1e3;border:1px solid #ffd6ad;color:#b8420a;border-radius:20px;font-size:13px;font-weight:600}
.sep-x .sep-chip b{display:inline-flex;width:18px;height:18px;border-radius:50%;background:rgba(229,83,10,.15);align-items:center;justify-content:center;font-size:13px;cursor:pointer;line-height:1}
.sep-x .sep-chip b:hover{background:var(--o2);color:#fff}
.sep-x .sep-ms-list{display:none;position:absolute;left:0;right:0;top:100%;margin-top:6px;background:#fff;border:1px solid #eceef5;border-radius:12px;box-shadow:0 14px 34px rgba(20,20,40,.16);z-index:10;overflow:hidden;padding:6px}
.sep-x .sep-ms-open .sep-ms-list{display:block}
.sep-x .sep-ms-opt{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-radius:8px;cursor:pointer;font-size:14.5px;color:var(--ink);transition:.15s}
.sep-x .sep-ms-opt:hover{background:#f6f7fb}
.sep-x .sep-ms-opt.sel{background:#fff1e3;color:#b8420a;font-weight:600}
.sep-x .sep-ms-opt.sel:after{content:"\2713";font-weight:700}

/* ===== Buttons ===== */
.sep-x .sep-primary{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;padding:15px 26px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,var(--o1),var(--o2))!important;color:#fff!important;font-size:16px!important;font-weight:600!important;letter-spacing:.02em;cursor:pointer;box-shadow:0 12px 26px rgba(229,83,10,.35)!important;transition:.25s;font-family:inherit;text-transform:none!important;line-height:1.2!important}
.sep-x .sep-arrow{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:.25s}
.sep-x .sep-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(229,83,10,.45)!important}
.sep-x .sep-primary:hover .sep-arrow{transform:translateX(4px)}
.sep-x .sep-primary:disabled{opacity:.7;cursor:wait;transform:none}
.sep-x .sep-submit{width:100%;margin-top:22px!important}
.sep-x .sep-ghost{padding:15px 22px!important;border:0!important;border-radius:12px!important;background:#f1f2f6!important;color:#333!important;font-size:15px!important;font-weight:600!important;cursor:pointer;font-family:inherit;transition:.2s}
.sep-x .sep-ghost:hover{background:#e6e8ef!important}
.sep-x .sep-dark{padding:12px 32px!important;border:0!important;border-radius:10px!important;background:var(--ink)!important;color:#fff!important;font-size:15px!important;cursor:pointer;font-family:inherit}
.sep-x .sep-msg{display:none;margin-top:12px;text-align:center;font-size:14px}
.sep-x .sep-msg.err{display:block;color:#e11d48}
.sep-x .sep-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important}

/* quick enquiry trigger button (shortcode) */
.sep-x.sep-trigger{display:inline-flex;align-items:center;gap:10px;padding:14px 26px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,var(--o1),var(--o2))!important;color:#fff!important;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 10px 24px rgba(229,83,10,.32);transition:.25s;font-family:inherit;line-height:1.2}
.sep-x.sep-trigger:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(229,83,10,.42)}
.sep-x.sep-trigger .sep-arrow{width:18px;height:18px}

/* ===== Success ===== */
.sep-x .sep-success{display:none;text-align:center;padding:30px 10px}
.sep-x.sep-done .sep-success,.sep-x .sep-box.sep-done .sep-success,.sep-box.sep-done .sep-success{display:block;animation:sepIn .5s ease}
.sep-box.sep-done .sep-form,.sep-box.sep-done .sep-hd{display:none!important}
.sep-x .sep-check svg{width:96px;height:96px}
.sep-x .sep-check circle{fill:#eafaf0;stroke:#22c55e;stroke-width:2;stroke-dasharray:151;stroke-dashoffset:151;animation:sepDraw .6s ease forwards}
.sep-x .sep-check path{fill:none;stroke:#22c55e;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:sepDraw .4s .5s ease forwards}
.sep-x .sep-success h3{margin:14px 0 8px!important;color:var(--ink)!important;font-size:26px!important}
.sep-x .sep-success p{margin:0 auto 22px!important;max-width:360px;color:var(--mut)!important;font-size:15px!important;line-height:1.6!important}

/* ===== Modal (auto popup + quick enquiry) ===== */
.sep-overlay{position:fixed;inset:0;background:rgba(12,8,5,.72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;z-index:999999;padding:16px;overflow-y:auto}
.sep-overlay.sep-open{display:flex;animation:sepFade .3s ease}
.sep-x .sep-modal{position:relative;display:grid;grid-template-columns:36% 64%;width:100%;max-width:960px;margin:auto;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:sepIn .45s cubic-bezier(.2,.8,.2,1)}
.sep-x .sep-close{position:absolute;top:14px;right:14px;z-index:5;width:36px!important;height:36px!important;min-width:0!important;padding:0!important;border-radius:50%!important;border:0!important;background:#f1f2f6!important;color:#444!important;font-size:22px!important;line-height:1!important;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;box-shadow:none!important}
.sep-x .sep-close:hover{background:var(--o2)!important;color:#fff!important;transform:rotate(90deg)}

.sep-x .sep-side{position:relative;padding:44px 32px;color:#fff;background:radial-gradient(circle at 15% 0%,rgba(255,138,31,.45),transparent 55%),linear-gradient(160deg,#2a1608 0%,#150b05 100%);display:flex;flex-direction:column;overflow:hidden}
.sep-x .sep-side:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 26px,rgba(255,255,255,.035) 26px 34px);pointer-events:none}
.sep-x .sep-side:after{content:"";position:absolute;width:260px;height:260px;right:-110px;bottom:-110px;border-radius:50%;background:radial-gradient(circle,rgba(255,138,31,.35),transparent 70%)}
.sep-x .sep-side>*{position:relative;z-index:1}
.sep-x .sep-badge{display:inline-block;align-self:flex-start;background:rgba(255,138,31,.18);border:1px solid rgba(255,138,31,.5);color:#ffc27a;padding:6px 14px;border-radius:30px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.sep-x .sep-side h2{margin:20px 0 12px!important;color:#fff!important;font-size:30px!important;line-height:1.2!important;font-weight:700!important}
.sep-x .sep-lead{margin:0 0 24px!important;color:#e7d8c8!important;font-size:15px!important;line-height:1.6!important}
.sep-x .sep-points{list-style:none!important;margin:0 0 auto!important;padding:0!important}
.sep-x .sep-points li{position:relative;padding:0 0 0 34px!important;margin:0 0 14px!important;color:#fff;font-size:14.5px;line-height:24px;list-style:none!important}
.sep-x .sep-points li:before{content:"\2713";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--o1),var(--o2));color:#fff;font-size:13px;font-weight:700;text-align:center;line-height:24px}
.sep-x .sep-call{margin-top:28px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.sep-x .sep-call span{display:block;font-size:12px;color:#d9c7b3;margin-bottom:2px}
.sep-x .sep-call a{color:#ffb547!important;font-size:18px;font-weight:700;text-decoration:none!important}

.sep-x .sep-main{padding:40px 36px 34px;background:#fff;min-width:0}
.sep-x .sep-title{margin:0 0 4px!important;color:var(--ink)!important;font-size:26px!important;font-weight:700!important;line-height:1.2!important}
.sep-x .sep-sub{margin:0 0 22px!important;color:var(--mut)!important;font-size:13.5px!important}
.sep-x .sep-sub b{color:#e11d48}

/* ===== Cards (booking + contact, inline) ===== */
.sep-x.sep-card{max-width:900px;margin:30px auto;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(20,20,40,.16);border:1px solid #f0e6dc}
.sep-x .sep-card-head{position:relative;padding:34px 36px 28px;color:#fff;background:radial-gradient(circle at 10% 0%,rgba(255,138,31,.45),transparent 55%),linear-gradient(160deg,#2a1608 0%,#150b05 100%);overflow:hidden}
.sep-x .sep-card-head:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 26px,rgba(255,255,255,.035) 26px 34px);pointer-events:none}
.sep-x .sep-card-head>*{position:relative}
.sep-x .sep-card-head h2{margin:14px 0 6px!important;color:#fff!important;font-size:30px!important;line-height:1.2!important;font-weight:700!important}
.sep-x .sep-card-head p{margin:0!important;color:#e7d8c8!important;font-size:15px!important}
.sep-x .sep-head-call{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:9px 16px;border-radius:30px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#ffb547!important;font-weight:700;text-decoration:none!important}
.sep-x .sep-head-call .sep-ico{position:static;margin:0;stroke:#ffb547}
.sep-x .sep-card-body{padding:32px 36px 36px}

.sep-x .sep-progress{display:flex;list-style:none!important;margin:26px 0 0!important;padding:0!important}
.sep-x .sep-progress li{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;margin:0!important;color:rgba(255,255,255,.6);font-size:12.5px;font-weight:600;list-style:none!important;text-align:center}
.sep-x .sep-progress li i{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.25);font-style:normal;font-size:15px;color:#fff;position:relative;z-index:1;transition:.3s}
.sep-x .sep-progress li:not(:last-child):after{content:"";position:absolute;top:18px;left:calc(50% + 24px);right:calc(-50% + 24px);height:2px;background:rgba(255,255,255,.22);transition:.3s}
.sep-x .sep-progress li.done:not(:last-child):after{background:var(--o1)}
.sep-x .sep-progress li.active{color:#fff}
.sep-x .sep-progress li.active i{background:linear-gradient(135deg,var(--o1),var(--o2));border-color:#fff3e3;box-shadow:0 0 0 5px rgba(255,138,31,.25)}
.sep-x .sep-progress li.done i{background:var(--o2);border-color:var(--o2);font-size:0}
.sep-x .sep-progress li.done i:before{content:"\2713";font-size:16px;font-weight:700}

.sep-x .sep-step{display:none}
.sep-x .sep-step.active{display:block;animation:sepIn .4s ease}
.sep-x .sep-step-title{margin:0 0 18px!important;color:var(--ink)!important;font-size:19px!important;font-weight:700!important}
.sep-x .sep-review-title{margin:26px 0 10px!important;color:var(--ink)!important;font-size:16px!important}
.sep-x .sep-review{background:#fdf8f2;border:1px dashed #f0cfa8;border-radius:14px;padding:6px 18px}
.sep-x .sep-review div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #f4e8da;font-size:14px}
.sep-x .sep-review div:last-child{border:0}
.sep-x .sep-review b{color:var(--mut);font-weight:500}
.sep-x .sep-review span{color:var(--ink);font-weight:600;text-align:right;word-break:break-word}
.sep-x .sep-nav{display:flex;gap:12px;margin-top:26px}
.sep-x .sep-nav .sep-primary{flex:1;margin:0!important;width:auto}

/* ===== Sticky "Quick Book" ===== */
.sep-x.sep-sticky{--pw:350px;position:fixed;top:50%;right:0;z-index:999990;display:flex;align-items:center;transform:translate(var(--pw),-50%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.sep-x.sep-sticky.sep-open{transform:translate(0,-50%)}
.sep-x .sep-tab{display:flex;align-items:center;gap:8px;writing-mode:vertical-rl;padding:20px 13px!important;border:0!important;border-radius:14px 0 0 14px!important;background:linear-gradient(180deg,var(--o1),var(--o2))!important;color:#fff!important;font-size:15px!important;font-weight:700!important;letter-spacing:.08em;cursor:pointer;font-family:inherit;animation:sepPulse 2.6s infinite;line-height:1!important;text-transform:none!important}
.sep-x .sep-tab .sep-ico{position:static;margin:0;stroke:#fff;width:18px;height:18px;transform:rotate(90deg)}
.sep-x.sep-sticky.sep-open .sep-tab{animation:none;box-shadow:-6px 6px 20px rgba(229,83,10,.35)}
.sep-x .sep-panel{width:var(--pw);max-height:88vh;overflow-y:auto;background:#fff;border-radius:0 0 0 18px;box-shadow:-12px 10px 40px rgba(0,0,0,.3);transition:visibility 0s}
.sep-x.sep-sticky:not(.sep-open) .sep-panel{visibility:hidden;transition-delay:.45s}
.sep-x .sep-panel-head{position:relative;display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 18px;color:#fff;background:radial-gradient(circle at 0 0,rgba(255,138,31,.5),transparent 60%),linear-gradient(160deg,#2a1608,#150b05)}
.sep-x .sep-panel-head h3{margin:0 0 3px!important;color:#fff!important;font-size:20px!important;font-weight:700!important}
.sep-x .sep-panel-head p{margin:0!important;color:#e7d8c8!important;font-size:13px!important}
.sep-x .sep-panel-head .sep-close{position:static;background:rgba(255,255,255,.15)!important;color:#fff!important;width:32px!important;height:32px!important;flex:none}
.sep-x .sep-panel-body{padding:18px 20px 22px}
.sep-x.sep-sticky .sep-grid{grid-template-columns:1fr;gap:13px}
.sep-x.sep-sticky .sep-input input,.sep-x.sep-sticky .sep-input select{height:46px!important;font-size:14.5px!important}
.sep-x.sep-sticky .sep-ms-box{min-height:46px}
.sep-x.sep-sticky .sep-ms-list{position:static;box-shadow:none;margin-top:6px;border-color:#f0e6dc}
.sep-x.sep-sticky .sep-submit{margin-top:18px!important;padding:14px 20px!important;font-size:15px!important}

/* ===== Responsive ===== */
@media(max-width:820px){
 .sep-x .sep-modal{grid-template-columns:1fr;max-width:560px}
 .sep-x .sep-side{padding:26px 24px 22px}
 .sep-x .sep-side h2{font-size:23px!important;margin:12px 0 6px!important}
 .sep-x .sep-lead,.sep-x .sep-points,.sep-x .sep-call{display:none}
 .sep-x .sep-main{padding:24px 20px}
 .sep-x .sep-title{font-size:21px!important}
 .sep-x .sep-card-head{padding:26px 22px 22px}
 .sep-x .sep-card-head h2{font-size:24px!important}
 .sep-x .sep-card-body{padding:24px 20px 28px}
}
@media(max-width:560px){
 .sep-x .sep-grid{grid-template-columns:1fr}
 .sep-x.sep-sticky{--pw:min(88vw,350px)}
 .sep-x .sep-tab{padding:16px 10px!important;font-size:13.5px!important}
 .sep-x .sep-progress li{font-size:11px}
 .sep-x .sep-nav{flex-wrap:wrap}
 .sep-x .sep-nav .sep-ghost{flex:0 0 100%;order:2}
}
