/* OnsenConnect Futuristic Pages V2 — UI-only override, no business logic changes */
:root{--of-ink:#0d3048;--of-navy:#0a253c;--of-deep:#061a32;--of-teal:#00a8b6;--of-aqua:#80f0e9;--of-gold:#ffcc67;--of-line:#d7e7ec;--of-bg:#f0f6f9;--of-shadow:0 20px 52px rgba(12,43,65,.09)}
body{background:var(--of-bg);color:var(--of-ink)}
.oc-topbar{background:linear-gradient(95deg,#071c33,#103c54 70%,#086d79)!important;border-bottom:1px solid rgba(117,242,235,.16)}
.oc-topbar .oc-main-nav a:hover{color:#a4fff1}
main{min-height:65vh}a,button{transition:background .2s ease,transform .2s ease,box-shadow .2s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #16c8ca;outline-offset:3px}
/* Booking: immersive title and compact premium form */
.ocbk-wrap{max-width:1220px!important;margin:26px auto 70px!important}
.ocbk-heading{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;background:linear-gradient(115deg,#092b46 0%,#0d5266 58%,#059aa0 100%);color:#fff;padding:42px 48px!important;margin-bottom:26px!important;box-shadow:0 24px 54px rgba(6,52,71,.16)}
.ocbk-heading:before{content:'';position:absolute;width:360px;height:360px;border:1px solid rgba(149,252,242,.25);border-radius:50%;right:-60px;top:-160px;box-shadow:0 0 0 35px rgba(149,252,242,.055),0 0 0 85px rgba(149,252,242,.045);z-index:-1}
.ocbk-heading h1{color:white!important;font-weight:850;letter-spacing:-.045em;font-size:clamp(28px,4vw,48px);line-height:1.1;margin:12px 0}
.ocbk-heading p{color:#c9eced!important;font-size:15px}.ocbk-eyebrow{color:#9ff8ec!important;letter-spacing:.14em;font-weight:800}
.ocbk-login{max-width:700px!important;margin:0 auto!important;padding:54px 30px!important;background:white!important;border:1px solid var(--of-line)!important;border-radius:25px!important;box-shadow:var(--of-shadow)}
.ocbk-login-icon{width:78px;height:78px;margin:0 auto 18px;border-radius:22px;background:linear-gradient(135deg,#0b4261,#0eb0b4);display:grid;place-items:center;color:white!important;font-size:36px;box-shadow:0 16px 35px #007e892e}
.ocbk-login h2{font-size:clamp(23px,3vw,32px);color:var(--of-ink)}.ocbk-login p{color:#627c89}.ocbk-login a{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 25px;border-radius:13px;background:linear-gradient(110deg,#0a6f87,#009caa)!important;color:white!important;font-weight:800;text-decoration:none}
.ocbk-layout{align-items:start}.ocbk-card,.ocbk-summary{border-radius:22px!important;border:1px solid var(--of-line)!important;background:#fff!important;box-shadow:0 12px 34px rgba(13,55,78,.045)}
.ocbk-card{padding:25px!important}.ocbk-card-title h2{color:#0c354d;font-weight:800}.ocbk-number{background:linear-gradient(135deg,#0c506c,#02aeb1)!important;color:white!important;border-radius:11px!important}
.ocbk-mode-choice{border-radius:16px!important;min-height:125px;background:#f7fbfc!important;border:1px solid #d8e8ed!important}.ocbk-mode-choice:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0b627217}.ocbk-mode-choice.active,.ocbk-mode-choice.selected,[data-mode].is-active{border-color:#0eacb0!important;background:#edfbfa!important}
.ocbk-wrap input:not([type=hidden]),.ocbk-wrap select,.ocbk-wrap textarea{border-radius:12px!important;min-height:46px;border-color:#cfdee5!important;background:#fbfdfd!important}
.ocbk-gps-panel{border-radius:17px!important;background:#effafb!important;border:1px solid #b9e8e8!important}
.ocbk-summary{overflow:hidden}.ocbk-summary-head{background:linear-gradient(125deg,#082b46,#087c86)!important;color:#fff!important;padding:24px!important}.ocbk-summary-head h2,.ocbk-summary-head span{color:white!important}.ocbk-summary-body{padding:22px!important}#booking-submit{min-height:52px!important;border-radius:13px!important;background:linear-gradient(110deg,#096a81,#00a6af)!important;font-weight:800!important}
/* Wellness magazine and article: typography, editorial cards and CTAs */
.ocw{max-width:1250px!important;margin:26px auto 80px!important}.ocw-hero{position:relative;overflow:hidden;border-radius:26px!important;background:linear-gradient(115deg,#09263f 0%,#0c5569 55%,#069b9e 100%)!important;box-shadow:0 24px 52px rgba(6,52,71,.15);padding:clamp(30px,5vw,65px)!important}
.ocw-hero h1{font-size:clamp(30px,4.4vw,54px)!important;letter-spacing:-.045em!important;line-height:1.1!important}.ocw-hero p{max-width:630px;line-height:1.7;color:#d1f2f2!important}.ocw-kicker{letter-spacing:.14em;font-weight:800}
.ocw-tools{background:#fff!important;border:1px solid var(--of-line)!important;border-radius:19px!important;box-shadow:var(--of-shadow);padding:16px!important;gap:12px!important}
.ocw-tools input,.ocw-tools select{min-height:46px!important;border:1px solid #d9e6ec!important;border-radius:12px!important;background:#f7fbfc!important}
.ocw-tools button{min-height:46px!important;border-radius:12px!important;background:linear-gradient(110deg,#086f83,#04a0a8)!important;color:#fff!important;font-weight:800!important}
.ocw-cats{display:flex;flex-wrap:wrap;gap:9px;margin:17px 0 25px}.ocw-cats a{border-radius:999px!important;padding:10px 17px!important;border:1px solid #d4e6eb!important;background:white}.ocw-cats a.active,.ocw-cats a:hover{background:#0c7e8c!important;color:white!important}
.ocw-card,.ocw-feature,.ocw-aside,.ocw-content,.ocw-story,.ocw-cta{border:1px solid var(--of-line)!important;border-radius:21px!important;box-shadow:0 12px 34px rgba(10,49,72,.045);overflow:hidden}
.ocw-card{background:white!important}.ocw-card:hover,.ocw-feature:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(10,49,72,.11)}
.ocw-card img,.ocw-feature img,.ocw-cover img{object-fit:cover}.ocw-card h3,.ocw-feature h3{line-height:1.3;letter-spacing:-.025em}.ocw-card-body{padding:20px!important}.ocw-meta{color:#648090!important}
.ocw-article .ocw-crumb{margin-bottom:20px!important}.ocw-article h1{font-size:clamp(30px,4.5vw,58px)!important;line-height:1.13!important;letter-spacing:-.045em!important}.ocw-lead{font-size:clamp(15px,1.5vw,19px)!important;line-height:1.75!important;color:#597b89!important}.ocw-cover{border-radius:23px!important;overflow:hidden;box-shadow:var(--of-shadow)}
.ocw-content{background:#fff!important;padding:clamp(22px,4vw,48px)!important;font-size:16px;line-height:1.9;color:#274b5e}.ocw-content h2,.ocw-content h3{color:#0d3a51;line-height:1.3;margin-top:1.6em}.ocw-content img{max-width:100%;height:auto;border-radius:12px}.ocw-content p{margin:0 0 1.2em}.ocw-content ul,.ocw-content ol{padding-left:1.6em}.ocw-content blockquote{border-left:4px solid #0da6a8;background:#eff9f9;padding:15px 20px;border-radius:0 12px 12px 0}
.ocw-aside{background:#fff!important}.ocw-cta{background:linear-gradient(145deg,#0a3049,#087c84)!important;color:white!important;padding:25px!important}.ocw-cta a{background:#fff!important;color:#0a576b!important;border-radius:12px!important;font-weight:800}
/* Auth pages, without changing any form action or input names */
main>.card:has(form input[name="action"][value="login"]),main>.card:has(form input[name="action"][value="register"]){max-width:530px!important;margin:45px auto 70px!important;padding:35px!important;border-radius:24px!important;background:white!important;border:1px solid var(--of-line)!important;box-shadow:var(--of-shadow)}
main>.card:has(form input[name="action"][value="login"]) h2,main>.card:has(form input[name="action"][value="register"]) h2{font-size:30px;color:#103a51;letter-spacing:-.035em;margin-bottom:24px}
main>.card:has(form input[name="action"]) label{display:block;font-weight:700;color:#274c5c;margin:14px 0}
main>.card:has(form input[name="action"]) input,main>.card:has(form input[name="action"]) select{width:100%;min-height:47px;border:1px solid #d2e1e8;border-radius:12px;padding:11px 13px;background:#fbfdfd;margin-top:6px}
main>.card:has(form input[name="action"]) button{width:100%;min-height:48px;border-radius:12px;background:linear-gradient(100deg,#096b82,#00a1ac);color:white;font-weight:800;border:0}
/* Spa discovery and dashboard consistent with visual language */
.spa-discover{padding:20px 0 60px}.spa-heading{background:linear-gradient(110deg,#0b304b,#078c94);padding:30px!important;border-radius:23px;color:white}.spa-heading h1,.spa-heading p,.spa-heading .muted{color:white!important}.spa-eyebrow{color:#a5fff2!important}.spa-locate{background:white!important;color:#0b5265!important;border-radius:12px!important}.spa-toolbar,.spa-side{background:white;border-radius:18px!important;border:1px solid var(--of-line)!important;padding:14px!important}.spa-result{border-radius:15px!important}.spa-result:hover{box-shadow:0 10px 25px #0d4e6815}.spa-layout #spa-map{border-radius:18px!important}
.oc-dashboard,.oa-dashboard{max-width:1260px;margin:24px auto 70px}.oc-dashboard .oc-hero,.oa-dashboard .oa-hero{background:linear-gradient(115deg,#0b2e49,#0b7784)!important;border-radius:24px!important}.oc-stat,.oa-stat,.oc-booking,.oa-panel{border-radius:19px!important;border:1px solid var(--of-line)!important;box-shadow:0 10px 30px #0a39500b}
/* Global mobile refinements */
@media(max-width:760px){
 .ocbk-wrap,.ocw{margin:12px auto 40px!important;padding:0 12px!important}.ocbk-heading{padding:27px 22px!important;border-radius:19px;margin-bottom:14px!important}.ocbk-heading h1{font-size:30px!important}.ocbk-login{padding:35px 19px!important;border-radius:19px!important}.ocbk-card{padding:18px!important;border-radius:17px!important}.ocbk-layout{display:block!important}.ocbk-summary{margin-top:15px;border-radius:18px!important}.ocbk-mode-grid{gap:10px!important}.ocbk-mode-choice{min-height:110px!important;padding:12px!important}
 .ocw-hero{border-radius:19px!important;padding:28px 22px!important}.ocw-hero h1{font-size:34px!important}.ocw-tools{padding:12px!important;border-radius:16px!important}.ocw-tools form{display:flex;flex-direction:column;gap:10px}.ocw-tools input,.ocw-tools select,.ocw-tools button{width:100%!important;max-width:none!important}.ocw-layout,.ocw-article-layout{display:block!important}.ocw-main,.ocw-aside{width:100%!important;min-width:0!important}.ocw-aside{margin-top:22px}.ocw-grid{display:grid!important;grid-template-columns:1fr!important;gap:15px!important}.ocw-card,.ocw-feature{border-radius:16px!important}.ocw-feature{display:block!important}.ocw-feature img{width:100%!important;height:220px!important}.ocw-article h1{font-size:32px!important}.ocw-content{padding:22px 18px!important;font-size:15px;line-height:1.8}.ocw-cover{border-radius:16px!important}.ocw-cover img{max-height:300px;object-fit:cover}
 main>.card:has(form input[name="action"][value="login"]),main>.card:has(form input[name="action"][value="register"]){margin:18px 12px 40px!important;padding:24px 18px!important}.spa-heading{padding:24px 18px!important}.spa-toolbar{flex-wrap:wrap}.spa-layout #spa-map{height:280px!important}.oc-dashboard,.oa-dashboard{margin:12px!important}
}
@media(prefers-reduced-motion:reduce){.ocw-card,.ocw-feature,.ocbk-mode-choice{transition:none!important;transform:none!important}}
