/* Shared finish for the hotel, room pages, rentals and guest services. */
:root{--lux-ink:#173f3b;--lux-line:rgba(29,68,60,.12);--lux-glass:linear-gradient(135deg,rgba(255,255,255,.94),rgba(244,248,245,.86) 52%,rgba(235,242,239,.9));--lux-shadow:0 24px 64px -32px #153b3e40,0 3px 12px #173f3b06,inset 0 1px 0 #fff;--lux-ease:cubic-bezier(.22,1,.36,1)}
html body{background:radial-gradient(ellipse at 4% 22%,#e4eeea 0,transparent 42%),radial-gradient(ellipse at 95% 48%,#eae7de 0,transparent 35%),#f7f8f5;color:var(--lux-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
html[lang=th] body{font-family:Thai,-apple-system,BlinkMacSystemFont,sans-serif}
body>header{background:rgba(249,251,248,.86);border-bottom:1px solid #fff9;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);transition:box-shadow .4s,background .4s}
html.lux-scrolled body>header{background:rgba(249,251,248,.95);box-shadow:0 10px 36px -20px #173f3b45}
header nav a{position:relative;transition:color .25s}
header nav a[aria-current=location]{color:#087469}
header nav a[aria-current=location]::after{content:"";position:absolute;bottom:-7px;left:25%;right:25%;height:2px;border-radius:2px;background:linear-gradient(90deg,#248c7f,#c4af78)}
.hero-reservation,.room-card,.fleet-controls,.contact-card,.transfer-form,.specs,.real-room-shell aside,dialog:not(#lightbox-dialog){background:var(--lux-glass);border:1px solid #fff;box-shadow:var(--lux-shadow);border-radius:26px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.hero-reservation{background:linear-gradient(125deg,#fffffff0,#eaf3efdf);box-shadow:0 24px 72px #062d3938,inset 0 1px 0 #fff}
.room-card{position:relative;transition:box-shadow .5s var(--lux-ease);isolation:isolate}
.room-card .room-image{overflow:hidden;border-radius:19px}
.room-card .room-image img{transition:transform .8s var(--lux-ease)}
.room-card h3{letter-spacing:-.035em}
.room-card .text-link{border-bottom-color:#c2b78d}
.section-heading h2,.room-title h1{letter-spacing:-.045em;text-wrap:balance}
.eyebrow{color:#62766d}
.signature-copy .eyebrow,.showcase-copy .eyebrow{color:#e6d7b3}
.button,.contact-whatsapp{border-radius:999px;transition:transform .35s var(--lux-ease),box-shadow .35s,background-position .65s;min-height:48px}
.button:not(.light),.contact-whatsapp{background-image:linear-gradient(115deg,#164b45 0%,#216e64 48%,#324e65 100%);background-size:180% 100%;border-color:#ffffff45;box-shadow:0 9px 24px -8px #173f3b60,inset 0 1px 0 #ffffff50}
.button.light{background:linear-gradient(130deg,#fffffff0,#e8eee5dd);color:#183e34;border:1px solid #fff9}
.room-filters,.fleet-categories{gap:6px;padding:6px;border:1px solid #ffffffd9;background:#e7eeea9c;border-radius:20px;flex-wrap:wrap;width:fit-content;max-width:100%;box-sizing:border-box}
.room-filters button,.fleet-categories button,.fleet-models button{border-radius:14px;min-height:44px;transition:background .25s,box-shadow .25s}
.room-filters button.active,.fleet-categories button.active{background:#fff;color:#163f37;box-shadow:0 4px 15px #183e3412;border-color:transparent}
.booking-form input,.booking-form select,.transfer-form input,.transfer-form select{box-shadow:inset 0 1px 3px #143a3210;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:#498f80!important;box-shadow:0 0 0 4px #438d7b18!important;outline:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #218779;outline-offset:4px}
.detail-gallery button,.transfer-vehicle-gallery img{border-radius:22px}
.faq details{border-bottom:1px solid var(--lux-line);padding:4px 0;transition:background .3s}
.faq details[open]{background:#ffffff75;border-radius:16px;padding:4px 16px}
.contact-social a,.contact-ids>div{border-radius:16px}
dialog::backdrop{background:#0b252c85;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.mobile-book{background:linear-gradient(120deg,#fafcf8ef,#e6eeeaed);box-shadow:0 -8px 40px #123b4010}
.lux-depth{transform:perspective(1100px) rotateX(var(--lux-rx,0deg)) rotateY(var(--lux-ry,0deg));transition:transform .5s var(--lux-ease),box-shadow .4s;will-change:auto}
.lux-depth::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:0;background:radial-gradient(circle at var(--lux-x,50%) var(--lux-y,50%),#ffffff50,transparent 56%);transition:opacity .4s}
@media(hover:hover) and (pointer:fine){.lux-depth:hover::after{opacity:1}.room-card:hover{box-shadow:0 32px 70px -28px #163f3b45,inset 0 1px 0 #fff}.room-card:hover .room-image img{transform:scale(1.035)}.button:hover,.contact-whatsapp:hover{background-position:100% 50%;transform:translateY(-2px)}}
@media(max-width:850px){.hero-reservation,.fleet-controls,.contact-card,.transfer-form,.specs{border-radius:22px}.hero-reservation{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(125deg,#fcfdfb,#eaf1ed)}.room-filters{width:100%;gap:4px}.room-filters button{flex:1;padding:9px 10px;font-size:12px}.room-card{-webkit-backdrop-filter:none;backdrop-filter:none}.section-heading h2{text-wrap:pretty}.lux-depth{transform:none!important}}
@media(prefers-reduced-motion:reduce){.lux-depth,.button,.room-card .room-image img{transform:none!important;transition:none!important}.lux-depth::after{display:none}}
html[data-motion=off] .lux-depth,html[data-motion=off] .room-card .room-image img{transform:none!important;transition:none!important}
@media(prefers-reduced-transparency:reduce){body>header,.hero-reservation,.room-card,.fleet-controls,.contact-card,.transfer-form,.specs,dialog:not(#lightbox-dialog),.mobile-book{background:#f7faf7;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* Edition 11: visible translucent layers over coloured, dimensional light. */
:root{--lux-glass:linear-gradient(135deg,#ffffffb8,#ffffff54 50%,#e0f5f27a);--lux-shadow:0 28px 65px -26px #0f555543,inset 0 1px 0 #fff,inset 0 -1px 0 #ffffff70;--liquid-edge:1px solid #ffffffe0}
html body{background:#edf3f1}
body>header{background:linear-gradient(110deg,#ffffffa8,#edf8f3c7 55%,#deeaf3b5);border:var(--liquid-edge);box-shadow:0 14px 42px -22px #103d4240,inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(28px) saturate(170%);backdrop-filter:blur(28px) saturate(170%)}
html.lux-scrolled body>header{background:linear-gradient(110deg,#ffffffe3,#e6f3efde 55%,#e6eefaeb)}
.language-switch a[aria-current=page]{background:linear-gradient(135deg,#247f77,#15443f);box-shadow:inset 0 1px 0 #ffffff70,0 5px 14px #07524c2c}
.signature-hero .hero-reservation{background:linear-gradient(120deg,#113b4080,#14394573 65%,#4265676b);color:#fff;border:1px solid #ffffff70;box-shadow:0 24px 65px #031f3645,inset 0 1px 0 #ffffffad,inset 0 -1px 0 #ffffff29;-webkit-backdrop-filter:blur(26px) saturate(160%);backdrop-filter:blur(26px) saturate(160%)}
.hero-reservation .reservation-heading>strong,.hero-reservation .booking-form>label{color:#fff}
.hero-reservation .date-note{color:#e0eeea}
.hero-reservation .free-transfer-badge{background:#ffffff17;color:#f4fff7;border:1px solid #ffffff59;box-shadow:inset 0 1px 0 #ffffff36}
.hero-reservation .free-transfer-badge small{color:#d4e9df}
.hero-reservation .booking-form input,.hero-reservation .booking-form select{background:linear-gradient(145deg,#ffffffed,#e8f4eedf);border-color:#ffffffa6;box-shadow:inset 0 1px 0 #fff,0 5px 12px #092c3312}
.hero-reservation .booking-form>.button{background:linear-gradient(120deg,#e2f6df,#b6ded8 52%,#d5e3ef);color:#133d39;border-color:#fff9;box-shadow:inset 0 1px 0 #fff,0 8px 24px #051e3630;font-weight:650}
.hero-play-recovery{position:absolute;right:24px;top:24px;z-index:8;padding:13px 19px;max-width:calc(100% - 48px);min-height:48px;border:1px solid #ffffff85;border-radius:99px;background:#143b3edb;color:#fff;font:inherit;font-size:13px;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.hero-play-recovery[hidden]{display:none!important}
.rooms-section,.fleet,.contact-panel,.room-detail{position:relative;isolation:isolate;background:radial-gradient(ellipse at 90% 12%,#c3dcf1b8,transparent 42%),radial-gradient(ellipse at 5% 65%,#a6d9cb94,transparent 48%),linear-gradient(135deg,#eaf3ed,#eef1f6 68%,#edeadd)}
.rooms-section .section-heading h2,.contact-panel h2,.room-title h1{color:#173f3b;background:linear-gradient(115deg,#123e39 10%,#277b78 60%,#47547c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.liquid-scene{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none;contain:strict}
.liquid-scene i{position:absolute;display:block;border:1px solid #ffffffa3;box-shadow:inset 14px 18px 30px #ffffffb3,inset -16px -20px 42px #517fba35,0 40px 70px #2b7e8530;background:radial-gradient(circle at 25% 20%,#fff9,transparent 35%),linear-gradient(145deg,#91d2c142,#8fcadd61 48%,#d6bce571);border-radius:50%;transform:translate3d(0,calc(var(--liquid-progress,0)*40px),0) rotate(-24deg)}
.liquid-scene i:nth-child(1){width:490px;height:490px;right:-100px;top:20px}
.liquid-scene i:nth-child(2){width:360px;height:360px;left:-120px;top:48%;background:linear-gradient(150deg,#ffffffa0,#a9ddc260 42%,#c0d7ffb0)}
.liquid-scene i:nth-child(3){width:320px;height:100px;right:12%;bottom:10%;border-radius:100%;border:14px solid #ffffff5e;box-shadow:inset 0 4px 18px #60928b60,0 24px 30px #346d7617;transform:translate3d(0,calc(var(--liquid-progress,0)*-35px),0) rotate(-32deg)}
.room-grid{gap:28px}
.room-card{background:linear-gradient(135deg,#ffffffa8,#ffffff45 58%,#effdf579);border:var(--liquid-edge);border-radius:30px;padding:12px 12px 24px;box-shadow:var(--lux-shadow);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%)}
.room-card .room-image{border-radius:22px;box-shadow:0 12px 30px -18px #123a4455}
.room-card>.room-meta,.room-card>h3,.room-card>p,.room-card>.text-link{position:relative;transform:translateZ(16px)}
.room-card .room-meta{color:#3c5e55}
.room-filters,.fleet-categories{background:#ffffff40;border:var(--liquid-edge);box-shadow:inset 0 1px 0 #fff,0 9px 28px #235c6412;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.room-filters button.active,.fleet-categories button[aria-pressed=true]{background:linear-gradient(135deg,#235e59,#123e3e);color:#fff;box-shadow:inset 0 1px 0 #ffffff80,0 7px 20px #174e3d24}
.fleet-shell{background:#ffffff33;border:var(--liquid-edge);border-radius:34px;box-shadow:var(--lux-shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
.fleet-stage{background:radial-gradient(ellipse at 50% 70%,#b9d6d899,transparent 58%),linear-gradient(130deg,#eff7f4b8,#dce8ee85);perspective:1000px}
.fleet-stage::before{content:"";position:absolute;left:8%;right:8%;bottom:12%;height:20%;border-radius:50%;background:linear-gradient(110deg,#fff8,#70b7b944,#d1c1e570);border:1px solid #ffffffb8;box-shadow:0 25px 40px #225d6628,inset 0 2px 3px #fff;transform:rotateX(55deg);pointer-events:none}
.fleet-stage img{transform:translate3d(0,-8px,24px) rotateY(var(--lux-ry,0deg));transition:transform .55s var(--lux-ease),opacity .3s}
.fleet-stage img.changing{transform:translate3d(0,6px,0) scale(.95)}
.fleet-controls{background:linear-gradient(145deg,#ffffffad,#ffffff58);border-radius:0;border:0;border-left:var(--liquid-edge);box-shadow:inset 0 1px 0 #fff}
.fleet-models button{background:#ffffff73;border:1px solid #fff9}
.fleet-models button[aria-pressed=true]{background:linear-gradient(120deg,#245b55,#184846);color:#fff;box-shadow:0 7px 20px #163f3520}
.fleet-colors button[aria-pressed=true]{box-shadow:0 0 0 2px #2e7f73,0 5px 15px #1c5b4720}
.service-grid{gap:18px}
.service-grid article{border:var(--liquid-edge)!important;border-radius:26px;padding:24px!important;background:var(--lux-glass);box-shadow:var(--lux-shadow);overflow:hidden;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.service-grid article .service-photo{border-radius:17px}
.transfer-form,.contact-card,.specs,.real-room-shell aside{background:var(--lux-glass);box-shadow:var(--lux-shadow);border:var(--liquid-edge)}
.contact-card{border-radius:30px}
.contact-social a{background:linear-gradient(130deg,#ffffff9c,#ffffff50);border:var(--liquid-edge);box-shadow:inset 0 1px 0 #fff}
.faq details{margin-bottom:12px;padding:3px 20px;border:var(--liquid-edge);border-radius:20px;background:var(--lux-glass);box-shadow:0 8px 28px #183e3408}
.faq details[open]{padding:3px 20px;background:#ffffffd1}
.lux-depth{transform-style:preserve-3d;transform:perspective(1100px) translateY(var(--lux-lift,0px)) rotateX(var(--lux-rx,0deg)) rotateY(var(--lux-ry,0deg))}
.lux-depth::after{background:radial-gradient(ellipse at var(--lux-x,50%) var(--lux-y,30%),#ffffff70,transparent 55%),linear-gradient(120deg,transparent 10%,#ffffff28 42%,transparent 65%)}
.lux-depth.is-touched::after{opacity:1}
@media(min-width:851px){body>header{margin:10px 18px;top:10px;border-radius:26px}.signature-hero{margin-top:4px}.lux-depth:hover{--lux-lift:-5px}}
@media(max-width:850px){
 body>header{border-radius:0 0 24px 24px}
 .signature-hero .hero-reservation{background:linear-gradient(135deg,#133b3fbd,#1940489c);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
 .hero-reservation .free-transfer-badge{background:#ffffff17;border-color:#ffffff59}
 .hero-play-recovery{top:10px;right:12px;padding:9px 13px;font-size:11px;min-height:40px}
 .signature-hero:has(.hero-play-recovery:not([hidden])) .signature-copy{padding-top:40px!important}
 .liquid-scene i:nth-child(1){width:300px;height:300px;right:-140px;top:60px}
 .liquid-scene i:nth-child(2){width:260px;height:260px;left:-140px}
 .room-card{background:linear-gradient(130deg,#ffffff9e,#ffffff50 60%,#ebfaf277);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
 .room-grid{gap:24px}.fleet-shell{border-radius:25px}.fleet-controls{border-left:0;border-top:var(--liquid-edge)}
 .service-grid article{padding:18px!important}.service-grid{gap:12px}
 .mobile-book{background:linear-gradient(120deg,#ffffffbd,#d3e8e8ad);border:1px solid #ffffffad;border-radius:22px 22px 0 0;-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%)}
}
@media(prefers-reduced-motion:reduce){.liquid-scene i,.fleet-stage img{transform:none!important}.lux-depth{transform:none!important}}
html[data-motion=off] .liquid-scene i,html[data-motion=off] .fleet-stage img{transform:none!important}
@media(prefers-reduced-transparency:reduce){.room-card,.fleet-controls,.contact-card,.transfer-form,.specs,.service-grid article,.faq details,.mobile-book{background:#f4f8f5;backdrop-filter:none;-webkit-backdrop-filter:none}.signature-hero .hero-reservation{background:#173f43;backdrop-filter:none;-webkit-backdrop-filter:none}.liquid-scene{display:none}}
@media(prefers-contrast:more){.signature-hero .hero-reservation{background:#173f43}.room-card,.contact-card,.fleet-controls,.service-grid article{background:#fff;border-color:#315d52}.rooms-section .section-heading h2,.contact-panel h2,.room-title h1{-webkit-text-fill-color:#173f3b}}

/* Primary booking CTA: warm contrast against the cool glass, no flashing. */
:root{--booking-red:#bd2038;--booking-orange:#b84708;--booking-glow:#f45a3270}
body>header .button.header-book{display:inline-flex;position:relative;isolation:isolate;white-space:nowrap;background:linear-gradient(115deg,var(--booking-red),#ce3221 48%,var(--booking-orange));background-size:180% 100%;color:#fff;border:1px solid #ffffffa6;font-weight:750;font-size:14px;min-height:48px;padding:14px 25px;box-shadow:0 8px 24px var(--booking-glow),inset 0 1px 0 #ffffff70;text-shadow:0 1px 2px #60100b40}
body>header .header-book::before{content:'';position:absolute;inset:-5px;z-index:-1;border-radius:inherit;box-shadow:0 0 20px #f966383b;pointer-events:none}
body>header .header-book:hover{background-position:100% 50%;box-shadow:0 10px 32px #ee54298c,inset 0 1px 0 #ffffffa0;transform:translateY(-2px)}
body>header .header-book:active{transform:translateY(0) scale(.98)}
body>header .header-book:focus-visible{outline:3px solid #8c1b2c;outline-offset:5px}
@media(max-width:850px){body>header .brand{width:clamp(112px,35vw,180px);min-width:0}body>header>.header-actions{gap:8px}body>header .button.header-book{font-size:12px;padding:10px 14px;min-height:44px;gap:8px}body>header .header-book>span{display:none}}
@media(max-width:360px){body>header .button.header-book{font-size:11px;padding:10px 11px}body>header>.header-actions{gap:4px}}
@media(prefers-reduced-motion:reduce){body>header .button.header-book{transition:none;transform:none}}
html[data-motion=off] body>header .button.header-book{transition:none;transform:none}
.hotel-official-details{max-width:100%;padding:18px 0;border-top:1px solid #ffffff30;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.hotel-official-details p{margin:0 0 4px}.hotel-official-details address{font:inherit}

/* Edition 13: sculpted warm-glass action and locale-independent date faces. */
body>header .button.header-book{gap:16px;border-radius:18px;padding:8px 10px 8px 22px;min-height:50px;background:radial-gradient(ellipse at 20% 0%,#ffad7866,transparent 62%),linear-gradient(120deg,#ac243e,#bd3928 55%,#a64315);border:1px solid #ffe5d8;box-shadow:0 6px 0 -3px #74283b,0 10px 24px -8px #cb4f3f80,inset 0 2px 0 #ffcbb080,inset 0 -2px 5px #762d3240;letter-spacing:.015em}
body>header .header-book::before{inset:2px 10px auto;height:1px;background:linear-gradient(90deg,transparent,#fff9,transparent);box-shadow:none;z-index:0}
body>header .header-book>span{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:linear-gradient(135deg,#ffffff38,#ffffff10);border:1px solid #ffffff45;box-shadow:inset 0 1px 0 #ffffff50;font-size:19px}
body>header .header-book:hover{box-shadow:0 6px 0 -3px #74283b,0 14px 32px -8px #cb4f3f99,inset 0 2px 0 #ffcbb0c0}
.transfer-form{gap:18px;border-radius:28px!important;padding:30px!important}
.transfer-form .transfer-intro{grid-column:1/-1;margin:0;font-size:22px;font-weight:650;line-height:1.3;color:#193f3b}
.transfer-form label{gap:9px;font-size:12px;letter-spacing:.025em;color:#365b54}
.transfer-picker{display:flex;align-items:center;position:relative;width:100%;height:56px;padding:0 45px 0 16px;box-sizing:border-box;background:linear-gradient(135deg,#ffffffed,#eaf5f0cc);border:1px solid #b8d1c8;border-radius:16px;box-shadow:inset 0 1px 0 #fff,0 5px 14px #173e3408;overflow:hidden}
.transfer-form .transfer-picker input{position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;cursor:pointer;z-index:2;margin:0}
.transfer-picker>span{font-size:16px;color:#476a61;white-space:nowrap}.transfer-picker.has-value>span{color:#173f3b;font-weight:550}
.transfer-picker svg{position:absolute;right:15px;width:20px;height:20px;fill:none;stroke:#47766a;stroke-width:1.6;pointer-events:none}
.transfer-picker:focus-within{outline:3px solid #368274;outline-offset:3px}
.transfer-form select,.transfer-form input[name=flight]{border-radius:16px;height:56px;background:linear-gradient(135deg,#fff,#eaf5f0cc);border:1px solid #b8d1c8}
.transfer-form .transfer-flight-link{justify-self:start;font-size:12px;color:#315f54;margin-top:-8px;text-underline-offset:4px}
.transfer-form>small{font-size:12px;line-height:1.6;text-align:center;color:#48635b}.transfer-status:empty{display:none}
@media(max-width:850px){body>header .button.header-book{padding:8px 10px 8px 14px;gap:9px;min-height:44px;border-radius:15px}body>header .header-book>span{width:25px;height:25px;border-radius:9px;font-size:16px}.transfer-form{padding:22px!important;gap:18px}.transfer-form .transfer-intro{font-size:21px}}
@media(max-width:360px){body>header .header-book>span{display:none}body>header .button.header-book{padding:10px 12px}.transfer-form{padding:18px!important}}
