/* =====================================================================
   WebCMS v2 — Layout engine styles (Header / Hero / Footer layouts,
   section settings, variants, collections, booking, animation presets)
   ===================================================================== */
@keyframes v2fade{from{opacity:0}to{opacity:1}}
@keyframes v2zoom{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}

/* ---------- Animation presets ---------- */
.rv{transition-duration:var(--an,900ms)}
body.an-fade .rv:not(.in){transform:none}
body.an-zoom .rv:not(.in){transform:scale(.94)}
body.an-slide .rv:not(.in){transform:translateX(-40px)}
body.an-none .rv{opacity:1;transform:none;transition:none}
.sa-fade-up .rv:not(.in){opacity:0;transform:translateY(28px)}
.sa-fade .rv:not(.in){opacity:0;transform:none}
.sa-zoom .rv:not(.in){opacity:0;transform:scale(.94)}
.sa-slide .rv:not(.in){opacity:0;transform:translateX(-40px)}
.sa-fade-up .rv,.sa-fade .rv,.sa-zoom .rv,.sa-slide .rv{transition:opacity var(--an,900ms),transform var(--an,900ms)}
.sa-none .rv{opacity:1!important;transform:none!important;transition:none!important}

/* ---------- Buttons ---------- */
body.btn-outline .btn{background:transparent;color:var(--c2)}
body.btn-outline .btn:hover{background:var(--c2);color:#fff}
body.btn-pill .btn,body.btn-pill .rsv{border-radius:999px}
body.btn-soft .btn{background:color-mix(in srgb,var(--c2) 14%,transparent);color:var(--c2);border-color:transparent}
body.btn-soft .btn:hover{background:var(--c2);color:#fff}
body.btn-underline .btn{background:none;border:0;border-bottom:2px solid var(--c2);color:var(--c2);padding-left:2px;padding-right:2px}
.btn.btn-o{background:transparent;color:inherit;border-color:currentColor}
.btn.btn-o:hover{background:var(--c2);border-color:var(--c2);color:#fff}
.hbtns{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:inherit}
.hero .btn.btn-o{color:#fff;border-color:#fffa}
.bbtns{display:flex;flex-wrap:wrap;gap:12px}
.bbtns .btn{margin-top:0}

/* ---------- Icons ---------- */
.st i,.bkc-i .ic,.ci-b .ic{font-size:calc(1.9rem*var(--ics,1))}
body.ic-circle .st i,body.ic-circle .bkc-i .ic,body.ic-circle .ci-b .ic,body.ic-square .st i,body.ic-square .bkc-i .ic,body.ic-square .ci-b .ic,body.ic-outline .st i,body.ic-outline .bkc-i .ic,body.ic-outline .ci-b .ic{display:inline-grid;place-items:center;width:calc(64px*var(--ics,1));height:calc(64px*var(--ics,1));font-size:calc(1.6rem*var(--ics,1))}
body.ic-circle .st i,body.ic-circle .bkc-i .ic,body.ic-circle .ci-b .ic{border-radius:50%;background:color-mix(in srgb,var(--c2) 16%,transparent)}
body.ic-square .st i,body.ic-square .bkc-i .ic,body.ic-square .ci-b .ic{border-radius:16px;background:color-mix(in srgb,var(--c2) 16%,transparent)}
body.ic-outline .st i,body.ic-outline .bkc-i .ic,body.ic-outline .ci-b .ic{border-radius:50%;border:1px solid var(--c2)}

/* ---------- Header: logo alt + static ---------- */
.brand .lg-alt{display:none}
body:not(.nav-solid) .nav:not(.sc) .brand .lg-alt{display:block}
body:not(.nav-solid) .nav:not(.sc) .brand:has(.lg-alt) .lg-main{display:none}
html body.hd-static header.nav{position:absolute!important}
.mi{opacity:.8}

/* Header layout: centered */
@media(min-width:901px){
 body.hl-centered header.nav{flex-direction:column!important;justify-content:center!important;align-items:center;gap:10px}
 body.hl-centered .nav nav{justify-content:center;flex-wrap:wrap}
 body.hl-centered.nav-solid .hero{margin-top:118px;height:calc(var(--hh,100vh) - 118px)}
 body.hl-centered.nav-solid .ph{padding-top:clamp(150px,15vw,210px)}
 body.hl-centered .nav.sc .brand img{height:38px}
 /* split */
 body.hl-split header.nav{justify-content:center!important}
 body.hl-split .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
 body.hl-split .nav nav{width:100%;justify-content:center}
 body.hl-split .nav nav .nsp{flex:0 0 clamp(160px,18vw,260px)}
 body.hl-split .nav nav .tools{position:absolute;right:clamp(16px,3vw,40px)}
 body.hl-split .nav nav .rsv{position:absolute;left:clamp(16px,3vw,40px)}
}
.nsp{display:none}
@media(min-width:901px){body.hl-split .nsp{display:block}}

/* Header layout: minimal (Hamburger ทุกขนาดจอ) */
body.hl-minimal .burger{display:block}
body.hl-minimal .nav nav{position:fixed;inset:0;background:var(--c1);flex-direction:column;justify-content:center;align-items:stretch;gap:0;transform:translateX(100%);transition:transform .45s cubic-bezier(.77,0,.18,1);z-index:110;overflow:auto;padding:96px 28px 40px;font-size:1rem;letter-spacing:.22em}
body.hl-minimal.open .nav nav{transform:none}
body.hl-minimal.open{overflow:hidden}
body.hl-minimal .nav nav>a,body.hl-minimal .nav nav .dd>a{display:flex;justify-content:center;gap:8px;padding:15px 0;border-bottom:1px solid #ffffff1c;max-width:420px;width:100%;margin:0 auto}
body.hl-minimal .nav nav .dd{width:100%}
body.hl-minimal .nav nav .menu{display:block;position:static;padding:0;text-align:center;max-width:420px;margin:0 auto}
body.hl-minimal .nav nav .menu:before{display:none}
body.hl-minimal .nav nav .menu a{font-size:.8rem;opacity:.85;min-width:0;padding:8px}
body.hl-minimal .nav nav .menu .all{display:none}
body.hl-minimal .nav nav .tools{justify-content:center;margin:20px 0 4px}
body.hl-minimal .nav nav .rsv{margin:18px auto 0;max-width:260px;text-align:center;border-radius:40px}
body.hl-minimal .nav nav .menu.mm{display:block}

/* Mobile menu: side panel */
@media(max-width:900px){
 body.hm-side .nav nav{left:auto;width:min(360px,86vw);box-shadow:-20px 0 60px #0006;justify-content:flex-start;padding-top:90px}
 body.hm-side.open:after{content:"";position:fixed;inset:0;background:#0007;z-index:105}
}

/* Mega menu */
@media(min-width:901px){
 body:not(.hl-minimal) .dd.mega{position:static}
 body:not(.hl-minimal) .dd.mega .menu.mm{left:50%;transform:translateX(-50%);width:min(1100px,94vw);top:100%}
 body:not(.hl-minimal) .dd.mega:hover .menu.mm{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 20px;padding:36px 28px 26px}
 body:not(.hl-minimal) .dd.mega .menu.mm:before{inset:18px 0 0;border-radius:0 0 calc(var(--r) + 4px) calc(var(--r) + 4px)}
 .menu.mm .mcol{display:flex;flex-direction:column}
 .menu.mm .mcol a{min-width:0;padding:7px 12px}
 .menu.mm .mcol a.mh{font-weight:700;color:var(--c2);letter-spacing:.14em}
 .menu.mm .mcol small{padding:0 12px 6px;opacity:.65;text-transform:none;letter-spacing:0}
}
.menu a.l3{padding-left:38px;font-size:.92em;opacity:.8}

/* ---------- Hero templates ---------- */
.hero.t-boxed{margin:clamp(80px,9vw,110px) clamp(12px,2.5vw,32px) 0;border-radius:calc(var(--r) + 14px);height:calc(var(--hh) - 110px)!important}
body.nav-solid .hero.t-boxed{margin-top:clamp(84px,8vw,96px)}
@media(min-width:701px){
 .hero.t-split .slide{justify-content:flex-start;text-align:left;padding-left:clamp(28px,5vw,80px)}
 .hero.t-split .slide .bg{left:44%}
 .hero.t-split .slide:after{background:linear-gradient(90deg,var(--c1) 44%,transparent 44%)!important}
 .hero.t-split .slide .sc{max-width:min(38vw,560px)}
 .hero.t-split .slide .bgv{left:44%;width:56%}
}

/* ---------- Sections: background media / overlay ---------- */
.bk.hasbg,.bkb.hasbg{background-size:cover;background-position:center;position:relative;isolation:isolate}
.bkb.hasbg>section,.bkb.hasbg>section>.wrap,.bkb.hasbg .alt{background:transparent!important}
.sbgv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}
.sov{position:absolute;inset:0;z-index:-1;pointer-events:none}
.bk.hasov,.bkb.hasov{position:relative;isolation:isolate}
.anc{display:block;position:relative;top:-80px;visibility:hidden;height:0}
.bkb.hastx .sh h2,.bkb.hastx h2,.bkb.hastx .sh p{color:inherit}
.pv-empty{padding:28px;border:2px dashed var(--line);text-align:center;opacity:.7}

/* ---------- Variants (ส่วนของระบบ) ---------- */
.v-grid2 .grid3{grid-template-columns:repeat(2,1fr)}
.v-grid2 .stay img,.v-grid2 .stay .noimg{aspect-ratio:4/3}
.v-grid4 .grid3{grid-template-columns:repeat(4,1fr)}
.v-grid4 .stay .sl h3{font-size:1.3rem}
.v-list .grid3{grid-template-columns:1fr;gap:16px}
.v-list .stay{display:grid;grid-template-columns:minmax(200px,38%) 1fr;background:var(--card);color:var(--tx)}
.v-list .stay img,.v-list .stay .noimg{aspect-ratio:16/10;height:100%}
.v-list .stay:after{display:none}
.v-list .stay .sl{position:static;padding:clamp(18px,3vw,36px);display:flex;flex-direction:column;justify-content:center}
.v-list .stay .sl em{opacity:1;transform:none;color:var(--c2)}
.v-carousel .grid3,.gal.gs-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding-bottom:10px;scrollbar-width:thin}
.v-carousel .grid3>*{flex:0 0 min(320px,80vw);scroll-snap-align:start}
.v-cards .pr{display:block;margin:0}
.v-cards #promos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.v-cards #promos>.sh{grid-column:1/-1}
.v-cards .pr .pi{order:0!important}
.v-cards .pt{padding:24px}
.v-masonry .gal,.gal.gs-masonry{display:block;columns:var(--c,4) 220px;column-gap:10px}
.v-masonry .gal a,.gal.gs-masonry a{display:block;margin-bottom:10px;break-inside:avoid}
.v-masonry .gal img,.gal.gs-masonry img{aspect-ratio:auto;height:auto}
.v-carousel .gal a,.gal.gs-carousel a{flex:0 0 min(300px,72vw);scroll-snap-align:start}
.v-cards .stats{background:transparent;color:inherit}
.v-cards .stats .st{background:var(--card);padding:28px 16px;box-shadow:0 8px 30px #00000012;border-radius:var(--r)}
.v-cards .stats .st b{color:var(--c1)}
@media(min-width:901px){.v-left .about{direction:rtl}.v-left .about>*{direction:ltr}}
.v-stacked .about{grid-template-columns:1fr;text-align:center;max-width:980px}
.v-stacked .about .orn{margin-left:auto}
.v-form #contact .two{grid-template-columns:1fr;max-width:760px}
.v-form #contact .two>div:first-child .map{display:none}
.v-stacked #contact .two{grid-template-columns:1fr}
.v-left .bkc-i{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;text-align:left}
.v-left .bkc-i .ic{grid-row:span 3}
.v-bare .bkc-i{background:none;box-shadow:none}
.v-left .bk-heading .sh,.bk-heading.v-left .sh{text-align:left;margin-left:0;border-left:3px solid var(--c2);padding-left:22px}
.v-left .bk-heading .orn,.bk-heading.v-left .orn{margin-left:0}
.bk-cta.v-band .bkw.narrow{max-width:none}
.bk-cta.v-band .bkcta{padding:clamp(30px,5vw,70px)}
.bk-imgtext.v-overlap .bkit{grid-template-columns:1.2fr 1fr}
.bk-imgtext.v-overlap .bkit-t{background:var(--card);padding:clamp(24px,4vw,56px);margin-left:-18%;position:relative;box-shadow:0 20px 60px #0002}
.bk-imgtext.v-overlap .bkit.rev .bkit-t{margin-left:0;margin-right:-18%}
@media(max-width:900px){.v-grid4 .grid3{grid-template-columns:repeat(2,1fr)}.v-grid2 .grid3{grid-template-columns:1fr}.v-list .stay{grid-template-columns:1fr}.bk-imgtext.v-overlap .bkit-t{margin:0!important}}

/* ---------- Gallery block styles ---------- */
.bkg .gal{grid-template-columns:repeat(var(--c,4),1fr)}
@media(max-width:700px){.bkg .gal{grid-template-columns:repeat(2,1fr)}}
.gal picture{display:contents}

/* ---------- Footer layouts ---------- */
footer .fcols{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.3fr;gap:clamp(24px,4vw,60px);text-align:left;padding-top:clamp(50px,7vw,90px)}
footer .fcols h4{font:600 .8rem var(--f);letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px;color:var(--c2)}
footer .fcols .fl{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0}
footer .fcols .soc{justify-content:flex-start}
footer .fcols .brand{justify-content:flex-start}
footer .fcols .fa a{color:inherit}
footer .fcols .fab2{opacity:.8;margin:14px 0}
footer .fmin{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:34px;padding-bottom:28px}
footer .fmin .fl,footer .fmin .soc{margin:0}
footer .fmin .brand img{height:40px}
.nlf{display:grid;gap:10px;margin-top:22px;text-align:left}
.c .nlf{max-width:460px;margin-left:auto;margin-right:auto;text-align:center}
.nlf div{display:flex;gap:0}
.nlf input[type=email]{flex:1;min-width:0;padding:13px 14px;border:1px solid #ffffff40;background:#ffffff12;color:inherit;font:inherit}
.nlf .btn{margin:0;padding:12px 20px}
.nlf .ok{color:#7fe0b0}.nlf .er{color:#ffb4a8}
.hp{position:absolute!important;left:-9999px!important;opacity:0!important}
@media(max-width:900px){footer .fcols{grid-template-columns:1fr 1fr}footer .fcols .fc1{grid-column:1/-1}}
@media(max-width:560px){footer .fcols{grid-template-columns:1fr}footer .fmin{justify-content:center;text-align:center}}

/* ---------- Collections ---------- */
.ci-grid{display:grid;grid-template-columns:repeat(var(--c,3),minmax(0,1fr));gap:24px}
.ci-list{display:grid;gap:18px}
.ci-list .ci-card,.ci-list .rm-card{display:grid;grid-template-columns:minmax(200px,34%) 1fr}
.ci-cw{position:relative}
.ci-car{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:22px;padding:6px 2px 16px;scrollbar-width:none}
.ci-car::-webkit-scrollbar{display:none}
.ci-car>*{flex:0 0 calc((100% - 44px)/var(--c,3));scroll-snap-align:start;min-width:260px}
.ci-nv{position:absolute;top:42%;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--tx);font-size:1.6rem;cursor:pointer;box-shadow:0 6px 18px #0002;z-index:2}
.ci-nv.p{left:-14px}.ci-nv.n{right:-14px}
.ci-card{background:var(--card);display:flex;flex-direction:column;box-shadow:0 6px 24px #00000012;transition:.35s;color:var(--tx)}
a.ci-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #0002}
.ci-i{overflow:hidden}
.ci-i img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform 1s}
a.ci-card:hover .ci-i img{transform:scale(1.06)}
.ci-b{padding:22px 22px 24px;flex:1;display:flex;flex-direction:column;gap:6px}
.ci-card.noi .ci-b{align-items:center;text-align:center;padding:34px 22px}
.ci-b .ic{color:var(--c2)}
.ci-b h3{font-size:1.35rem;margin:0}
.ci-b p{opacity:.8;margin:0}
.ci-b em{margin-top:auto;padding-top:10px;color:var(--c2);font-style:normal;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.ci-x{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.88rem;opacity:.85}
.ci-pr{font-weight:700;color:var(--c2)}
.rm-card{background:var(--card);box-shadow:0 6px 24px #00000012;display:flex;flex-direction:column;color:var(--tx)}
.rm-i{display:block;overflow:hidden}
.rm-i img,.rm-i .noimg{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform 1s}
.rm-card:hover .rm-i img{transform:scale(1.06)}
.rm-b{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.rm-b h3{margin:0;font-size:1.5rem}
.rm-m{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.85rem;opacity:.8}
.rm-b p{margin:0;opacity:.85}
.rm-f{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}
.rm-f .btn{margin:0;padding:11px 20px}
.rm-p b{font:600 1.5rem var(--fh);color:var(--c1)}
.rm-p small{opacity:.7}
.tm-card{background:var(--card);padding:30px 28px;margin:0;box-shadow:0 6px 24px #00000012;display:flex;flex-direction:column;gap:14px}
.tm-s{color:#e0a43a;letter-spacing:2px}
.tm-card blockquote{margin:0;font:400 1.15rem/1.6 var(--fh);font-style:italic;flex:1}
.tm-card figcaption{display:flex;align-items:center;gap:12px}
.tm-card .tm-a{width:48px;height:48px;border-radius:50%;object-fit:cover}
.tm-n{display:grid;place-items:center;background:var(--c2);color:#fff;font-weight:700}
.tm-card figcaption span{display:flex;flex-direction:column;line-height:1.3}
.tm-card small{opacity:.7}
.pc-card{background:var(--card);padding:34px 28px;text-align:center;box-shadow:0 6px 24px #00000012;position:relative;display:flex;flex-direction:column}
.pc-card.hi{outline:2px solid var(--c2);transform:translateY(-8px)}
.pc-tag{position:absolute;top:14px;right:14px;background:var(--c2);color:#fff;font-size:.72rem;padding:3px 10px;border-radius:20px;letter-spacing:.1em;text-transform:uppercase}
.pc-p b{font:600 2.6rem var(--fh);color:var(--c1)}
.pc-card ul{list-style:none;padding:0;margin:18px 0;text-align:left;flex:1}
.pc-card li{padding:8px 0;border-bottom:1px solid var(--line)}
.pc-card li i{color:var(--c2)}
.ci-dg{display:grid;grid-template-columns:1fr 320px;gap:clamp(24px,4vw,56px);align-items:start}
.ci-side{position:sticky;top:110px;margin:0}
.ci-side p{display:grid;grid-template-columns:24px 1fr;gap:0 10px;margin:0 0 12px}
.ci-side p small{opacity:.7}.ci-side p b{grid-column:2}
.ci-side p i{grid-row:span 2;color:var(--c2);font-size:1.2rem}
.ci-side .btn{width:100%;text-align:center}
.ci-gal{margin-bottom:28px;grid-template-columns:repeat(3,1fr)}
.ci-am{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.ci-am i{color:var(--c2)}
@media(max-width:900px){.ci-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ci-dg{grid-template-columns:1fr}.ci-side{position:static}.ci-list .ci-card,.ci-list .rm-card{grid-template-columns:1fr}}
@media(max-width:600px){.ci-grid{grid-template-columns:1fr}.ci-car>*{flex-basis:82%}}

/* ---------- Booking forms ---------- */
.bkf2{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;background:var(--card);box-shadow:0 24px 60px #0002;align-items:stretch}
.bkf2 .bf-t{grid-column:1/-1;padding:22px 24px 0}
.bkf2 .bf-t h3{margin:0;color:var(--c1)}
.bkf2 label{display:flex;flex-direction:column;padding:16px 20px;border-right:1px solid var(--line)}
.bkf2 label span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.bkf2 input,.bkf2 select{border:0;background:none;font:inherit;color:var(--tx);padding:6px 0}
.bkf2 .btn{margin:0;min-height:64px}
.bkf2.card{max-width:520px;margin:auto;grid-template-columns:1fr 1fr;padding:12px}
.bkf2.card .btn{grid-column:1/-1}
.bkx{max-width:1100px}
.bkx-f{display:grid;gap:18px}
.bkx-s h3{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:1.25rem}
.bkx-s h3 span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--c2);color:#fff;font:600 .95rem var(--f)}
.bkx-g{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.bkx-g.g2{grid-template-columns:repeat(3,1fr)}
.bkx-g label{display:flex;flex-direction:column;gap:4px}
.bkx-g .full{grid-column:1/-1}
.bkx-g small{opacity:.75}
.bkx-g input,.bkx-g select,.bkx-g textarea{padding:12px 14px;border:1px solid var(--line);background:var(--bg);color:var(--tx);font:inherit;border-radius:calc(var(--r)/2)}
.bkx-r{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.bkx-room{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;padding:10px;border:2px solid var(--line);cursor:pointer;transition:.2s;position:relative;border-radius:calc(var(--r)/1.5)}
.bkx-room input{position:absolute;opacity:0}
.bkx-room:has(input:checked){border-color:var(--c2);background:color-mix(in srgb,var(--c2) 8%,transparent)}
.bkx-room.na{opacity:.55}
.bkx-room .i img,.bkx-room .i i{width:96px;height:72px;object-fit:cover;display:grid;place-items:center;font-size:1.6rem;background:var(--bg)}
.bkx-room .t{display:flex;flex-direction:column;line-height:1.35}
.bkx-room .q{font-style:normal;color:var(--c2);font-size:.88rem;margin-top:4px}
.bkx-sum{display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;bottom:12px;z-index:5;margin:0}
.bkx-sum b{display:block;font:600 2rem var(--fh);color:var(--c1)}
.bkx-sum .btn{margin:0}
.bkx-sum .btn:disabled{opacity:.5;cursor:not-allowed}
.bkx-terms{margin-top:14px}.bkx-ag{display:flex;gap:8px;align-items:center;margin-top:10px}
.bkx .er,.bct .er{background:#fde8e6;color:#a8322a;padding:12px 16px}
.bk-done .big{font-size:3.4rem;color:#2e9e6b}
.bk-done .ref{font-size:1.4rem;letter-spacing:.08em;color:var(--c2)}
.bk-sum{width:100%;max-width:520px;margin:20px auto;border-collapse:collapse;text-align:left}
.bk-sum th,.bk-sum td{padding:10px;border-bottom:1px solid var(--line)}
.bk-sum th{opacity:.7;font-weight:500;width:36%}
@media(max-width:900px){.bkx-g{grid-template-columns:1fr 1fr}.bkx-g.g2{grid-template-columns:1fr}}
.bct-i{list-style:none;padding:0;display:grid;gap:10px;margin:18px 0}
.bct-i i{color:var(--c2);margin-right:6px}
.bct .map{width:100%;height:260px;border:0}

/* ---------- Preview bar ---------- */
.pvbar{position:fixed;left:14px;bottom:14px;z-index:5000;background:#1d1a17;color:#fff;font:600 .78rem/1 var(--f);padding:10px 14px;border-radius:30px;box-shadow:0 8px 24px #0005;pointer-events:none;opacity:.92}
.pvbar i{color:#e0a458}
img[width][height]{height:auto}
/* บล็อกพื้นเข้ม: สีเน้นปรับให้อ่านง่ายอัตโนมัติ (เช่น Explore Our Services) */
.bk.hastx .ac,.bk.hastx .sh small,.bkb.hastx .ac{color:color-mix(in srgb,var(--c2) 40%,currentColor)!important}
.bk.hastx .orn,.bk.hastx .orn:after{background:color-mix(in srgb,var(--c2) 40%,currentColor)}
.bk.hastx .bkti-i .no{color:#fff;text-shadow:0 1px 6px #0008}
/* บล็อกจาก Page Builder: ไม่ใช้ margin ติดลบของแถบจองห้องเดิม (.bk) → ไม่ทับส่วนก่อนหน้า */
section.bk[data-bid]{margin-top:0;z-index:auto;padding-left:0;padding-right:0}
section.bk[data-bid].pad-l{padding-top:clamp(64px,8vw,110px);padding-bottom:clamp(64px,8vw,110px)}
.bk-tiles .bkw>.sh,.bk[data-bid] .bkw>.sh{margin-bottom:clamp(30px,4vw,50px)}
.ptn .wrap{padding-bottom:clamp(48px,6vw,80px)}
.pm{padding:6px 0}
