/* SCENSIA perfume workshop booking page (/perfumeworkshop_rexkl/). Scoped under .swb */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:200 900;src:url(fonts/Montserrat-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Montserrat";font-style:italic;font-weight:200 900;src:url(fonts/Montserrat-italic.woff2) format("woff2");font-display:swap}
.swb{--maroon:#8C192E;--red:#A31F37;--deep:#5e1020;--blush:#F4EEEC;--cream:#f7f1e6;--gold:#f3c97a;--copper:#a56541;--ink:#241f20;--ink-2:#5b5254;--line:#ece2df;--ease:cubic-bezier(.2,.7,.2,1);
  font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;font-weight:300;font-size:16px;line-height:1.65;color:var(--ink);-webkit-font-smoothing:antialiased}
.swb *,.swb *::before,.swb *::after{box-sizing:border-box}
.swb img{display:block;max-width:100%;border:0}
.swb p{margin:0 0 1em}
.swb h1,.swb h2{font-family:inherit;margin:0;letter-spacing:0;text-transform:none}
.swb-wrap{width:min(1200px,100% - 32px);margin:0 auto}
.swb-eye{font-size:12px!important;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--copper)!important;margin-bottom:10px!important}
.swb-h2{font-size:clamp(26px,2.6vw,34px)!important;font-weight:600!important;color:var(--maroon)!important;line-height:1.2!important;margin-bottom:22px!important}
.swb b{font-weight:600}
.swb-small{font-size:13px!important;color:var(--ink-2)!important;line-height:1.5}
.swb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:54px;padding:0 32px;border:0;border-radius:99px;background:var(--maroon);color:#fff!important;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none!important;cursor:pointer;box-shadow:0 12px 28px rgba(140,25,46,.28);transition:transform .3s var(--ease),background .3s}
.swb-btn:hover{background:var(--red);transform:translateY(-2px)}
.swb-link{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--maroon)!important;text-decoration:none!important;border-bottom:1.5px solid rgba(140,25,46,.3)}

/* hero */
.swb-hero{background:radial-gradient(900px 600px at 82% 18%,#fff 0%,rgba(255,255,255,0) 60%),linear-gradient(160deg,var(--blush) 0%,#f8f3f1 55%,#ebe1dd 100%);padding:clamp(48px,7vw,96px) 0 clamp(56px,7vw,90px);overflow:hidden}
.swb-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.swb-first{display:inline-flex!important;align-items:center;gap:10px;background:var(--maroon);color:#fff!important;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:10px 20px 10px 12px;border-radius:99px;box-shadow:0 10px 24px rgba(140,25,46,.3);margin-bottom:22px!important}
.swb-first span{display:inline-flex;width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--maroon);align-items:center;justify-content:center;font-size:14px;letter-spacing:0}
.swb-h1{font-size:clamp(36px,4.6vw,62px)!important;font-weight:600!important;line-height:1.12!important;color:var(--maroon)!important;margin-bottom:12px!important}
.swb-h1 mark{color:var(--maroon);padding:0 .1em .06em;white-space:nowrap;-webkit-box-decoration-break:clone;box-decoration-break:clone;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 40' preserveAspectRatio='none'%3E%3Cpath d='M3 22 C20 15 46 17 70 15 C110 12 150 16 190 13 C226 11 262 12 297 15 L294 21 C285 22 290 25 281 26 C240 27 200 28 160 29 C120 30 70 33 30 33 C18 33 9 35 5 31 C9 29 2 27 3 22 Z' fill='%23f0c470' fill-opacity='.72'/%3E%3Cpath d='M8 34 C60 29 120 27 180 25 C220 24 260 22 292 20' stroke='%23d99a3a' stroke-width='2.4' fill='none' stroke-linecap='round' opacity='.75'/%3E%3Cpath d='M14 37 C80 33 160 31 240 28' stroke='%23d99a3a' stroke-width='1.3' fill='none' stroke-linecap='round' opacity='.5'/%3E%3C/svg%3E") no-repeat left 100%/100% .62em}
.swb-h1 i{font-style:normal;font-weight:300;color:var(--copper);padding:0 .1em}
.swb-sub{font-size:clamp(18px,1.7vw,22px)!important;font-style:italic;color:var(--ink)!important;margin-bottom:14px!important}
.swb-lead{font-size:16px;color:var(--ink-2);max-width:540px}
.swb-lead b{color:var(--maroon)}
.swb-facts{list-style:none;margin:6px 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.swb-facts li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 18px;display:flex;flex-direction:column;line-height:1.3;box-shadow:0 6px 18px rgba(94,16,32,.06)}
.swb-facts b{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.swb-facts span{font-size:20px;font-weight:600;color:var(--maroon)}
.swb-hero-pics{position:relative;height:clamp(360px,44vw,520px)}
.swb-pic-a{position:absolute;right:0;top:0;width:78%;height:82%;object-fit:cover;border-radius:26px;box-shadow:0 30px 60px rgba(60,20,30,.22)}
.swb-pic-b{position:absolute;left:0;bottom:0;width:44%;aspect-ratio:3/4;object-fit:cover;border-radius:20px;border:6px solid #fff;box-shadow:0 24px 50px rgba(60,20,30,.25)}
.swb-seal{position:absolute;left:4%;top:4%;z-index:3;width:110px;height:110px;border-radius:50%;background:var(--maroon);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.25;box-shadow:0 0 0 6px rgba(255,255,255,.9),0 16px 34px rgba(140,25,46,.35)}
.swb-seal b{font-size:30px;line-height:1;color:var(--gold);letter-spacing:.02em;margin-bottom:2px}

/* steps */
.swb-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:-34px;position:relative;z-index:2}
.swb-step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:0 14px 34px rgba(94,16,32,.08);display:grid;grid-template-columns:34px 1fr;column-gap:14px;align-items:center}
.swb-step span{grid-row:span 2;width:34px;height:34px;border-radius:50%;background:var(--maroon);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.swb-step:first-child{border-color:var(--maroon)}
.swb-step b{font-size:15px;color:var(--ink)}
.swb-step small{font-size:13px;color:var(--ink-2)}

/* booking */
.swb-book{padding:clamp(56px,7vw,96px) 0}
.swb-book-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,3vw,40px);align-items:start}
.swb-venue{background:var(--cream);border-radius:24px;padding:clamp(24px,3vw,36px);position:sticky;top:110px}

.swb-venue .swb-h2{margin-bottom:16px!important}
.swb-addr{font-size:14px;color:var(--ink-2)}
.swb-hours{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--maroon);background:#fff;padding:8px 16px;border-radius:99px;margin-bottom:14px!important}
.swb-hours i{width:8px;height:8px;border-radius:50%;background:#2f9e5b}
.swb-price-box{margin-top:24px;padding-top:20px;border-top:1px solid rgba(140,25,46,.15)}
.swb-price-box p{margin:0 0 6px;font-size:15px}
.swb-price-box p b{display:inline-block;width:64px;color:var(--maroon)}
.swb-price-box .swb-small{margin-top:10px}

.swb-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3.4vw,44px);box-shadow:0 24px 60px rgba(94,16,32,.1)}
.swb-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.swb-field{display:block;margin:0 0 18px}
.swb-field>span{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
.swb-field input[type=text],.swb-field input[type=email],.swb-field input[type=tel],.swb-field input[type=number]{width:100%;height:52px;border:1.5px solid var(--line)!important;border-radius:14px!important;background:#fcfaf9!important;padding:0 16px!important;font-family:inherit;font-size:15px;color:var(--ink);box-shadow:none!important;outline:none;transition:border-color .2s,background .2s;margin:0}
.swb-field input:focus{border-color:var(--maroon)!important;background:#fff!important}
.swb-field.is-bad input{border-color:#c0392b!important}

.swb-pax{display:grid;grid-template-columns:repeat(5,1fr) 2.2fr;gap:8px}
.swb-pax label{position:relative;margin:0;cursor:pointer}
.swb-pax input{position:absolute;opacity:0;pointer-events:none}
.swb-pax b{display:flex;align-items:center;justify-content:center;height:52px;border:1.5px solid var(--line);border-radius:14px;background:#fcfaf9;font-size:16px;font-weight:600;color:var(--ink);transition:all .2s}
.swb-pax-group b{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.swb-pax label:hover b{border-color:var(--maroon)}
.swb-pax input:checked+b{background:var(--maroon);border-color:var(--maroon);color:#fff;box-shadow:0 8px 20px rgba(140,25,46,.25)}
.swb-pax input:focus-visible+b{outline:2px solid var(--maroon);outline-offset:2px}

/* calendar */
.swb-cal{border:1.5px solid var(--line);border-radius:18px;padding:14px;background:#fcfaf9;user-select:none}
.swb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.swb-cal-head b{font-size:15px;color:var(--maroon)}
.swb-cal-head button{all:unset;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--maroon);font-size:18px;transition:background .2s}
.swb-cal-head button:hover{background:#f1e6e3}
.swb-cal-head button[disabled]{opacity:.25;cursor:default;background:none}
.swb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.swb-cal-grid .dow{font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--ink-2);padding:4px 0}
.swb-cal-grid button{all:unset;box-sizing:border-box;height:42px;border-radius:12px;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.swb-cal-grid button:hover{background:#f1e6e3}
.swb-cal-grid button[disabled]{color:#cbbfbc;cursor:default;background:none}
.swb-cal-grid button.is-today{box-shadow:inset 0 0 0 1.5px rgba(140,25,46,.35)}
.swb-cal-grid button.is-on{background:var(--maroon);color:#fff;box-shadow:0 6px 16px rgba(140,25,46,.3)}
.swb-cal.is-bad{border-color:#c0392b}

.swb-summary{background:linear-gradient(160deg,#fbf6f4,#f4ebe7);border-radius:18px;padding:18px 20px;margin:8px 0 18px}
.swb-summary div{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:5px 0}
.swb-summary div span{color:var(--ink-2)}
.swb-summary .swb-sum-total{border-top:1px solid rgba(140,25,46,.15);margin-top:6px;padding-top:12px}
.swb-summary .swb-sum-total span{color:var(--ink);font-weight:600}
.swb-summary .swb-sum-total b{font-size:24px;color:var(--maroon)}
.swb-summary .swb-small{margin:6px 0 0!important}
.swb-err{background:#fdecea;color:#a12a1e;border-radius:12px;padding:10px 14px;font-size:14px}
.swb-pay{width:100%;height:58px;font-size:14px}
.swb-secure{text-align:center;font-size:12.5px!important;color:var(--ink-2)!important;margin:12px 0 0!important}
.swb-done{text-align:center;padding:20px 0}
.swb-done b{display:block;font-size:20px;color:var(--maroon);margin-bottom:8px}

@media (max-width:900px){
  .swb-hero-grid,.swb-book-grid{grid-template-columns:1fr}
  .swb-hero-pics{order:-1;height:clamp(300px,80vw,420px)}
  .swb-steps{grid-template-columns:1fr;margin-top:24px}
  .swb-venue{position:static;order:2}
  .swb-seal{width:90px;height:90px;font-size:10px}.swb-seal b{font-size:24px}
}
@media (max-width:560px){
  .swb-row2{grid-template-columns:1fr;gap:0}
  .swb-pax{grid-template-columns:repeat(5,1fr)}
  .swb-pax-group{grid-column:1/-1}
  .swb-h1 mark{white-space:normal}
  .swb-btn{width:100%}
}
.swb [hidden]{display:none!important}
.swb-hours{margin-right:12px}

/* venue photos */
.swb-vpics{position:relative;margin:0 0 22px;padding:0 0 26px}
.swb-v-main{width:84%;aspect-ratio:4/5;object-fit:cover;object-position:50% 28%;border-radius:20px;box-shadow:0 22px 44px rgba(60,20,30,.22)}
.swb-v-sub{position:absolute;right:0;bottom:0;width:40%;aspect-ratio:9/14;object-fit:cover;object-position:50% 60%;border-radius:16px;border:5px solid #fff;box-shadow:0 18px 36px rgba(60,20,30,.25);transform:rotate(3deg)}
.swb-v-cap{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.92);color:var(--maroon);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border-radius:99px;box-shadow:0 6px 16px rgba(0,0,0,.15)}
