@font-face{font-family:Zeit;src:url('fonts/noto-sans-thai-0.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}body{margin:0;color:#163d39;background:#f6f7f4;font-family:Zeit,'Noto Sans Thai',Tahoma,Arial,sans-serif;line-height:1.7;font-size:16px}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select{min-width:0;border:1px solid #c8d4cf;border-radius:10px;background:#fff;color:#193f3a;padding:12px;width:100%;min-height:48px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #c8a05a;outline-offset:3px}label{display:block;font-size:14px;font-weight:600}label>span{display:block;margin-bottom:6px}.skip{position:absolute;top:-200px}.skip:focus{top:0;background:white;z-index:10;padding:15px}header{max-width:1240px;margin:auto;padding:20px 32px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:14px;align-items:center;font-size:19px;letter-spacing:3px;font-weight:700}.brand img{border-radius:50%;background:white}.brand small{display:block;font-size:10px;letter-spacing:3px}nav{display:flex;align-items:center;gap:24px;font-size:14px}nav button{border:1px solid #c9d5cf;border-radius:30px;background:#fff;padding:9px 16px}main{max-width:1240px;margin:auto;padding:0 32px}.hero{display:grid;grid-template-columns:.9fr 1.1fr;border-radius:24px;background:#103f3b;color:#fff;overflow:hidden;min-height:340px}.hero>div{padding:42px 44px}.hero h1{font-size:clamp(32px,4.3vw,56px);line-height:1.35;margin:15px 0;font-weight:650}.hero p{color:#cfe1d8}.hero img{width:100%;height:100%;object-fit:cover}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:700;color:#657d74;margin:0 0 9px}.brand-note{display:inline-block;font-size:12px;border-top:1px solid #72908a;padding-top:12px;margin-top:8px}.search-card{position:relative;display:grid;grid-template-columns:1.4fr 1.4fr .6fr .6fr .6fr 1.35fr;gap:12px;align-items:end;padding:24px;background:#fff;border:1px solid #dce6df;border-radius:18px;margin:-20px 22px 24px;box-shadow:0 12px 35px #103f3b0b}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:0;border-radius:10px;padding:13px 20px;font-weight:600}.primary{background:#14544b;color:white}.primary:hover{background:#0b4038}.secondary{background:#e9f0eb;color:#183f38;border:1px solid #c9d7cf}.notice{background:#fff1d6;border-radius:12px;margin:20px 0;padding:16px}.notice:empty{display:none}.booking-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:30px 0 22px}.section-title h2{font-size:26px;margin:0}.section-title>p{font-size:13px;text-align:right}.room-card{border:1px solid #d9e4dc;border-radius:17px;background:#fff;overflow:hidden;display:grid;grid-template-columns:43% 57%;margin-bottom:20px}.room-card img{width:100%;height:260px;min-height:260px;object-fit:cover}.room-copy{padding:23px}.room-copy h3{font-size:22px;line-height:1.4;margin:0 0 9px}.room-copy p{font-size:13px;color:#5c7069;margin:4px 0}.room-copy .room-price{font-size:26px;color:#133e36;font-weight:700;margin:20px 0 0}.room-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.room-bottom select{max-width:95px}.availability{background:#e9f3ec;display:inline-block;padding:3px 9px;border-radius:6px}.summary{margin-top:31px;position:sticky;top:24px;background:#fff;border:1px solid #d9e4dc;border-radius:17px;padding:25px}.summary h2{font-size:22px}.summary .primary{width:100%}.summary aside{align-self:stretch}.summary-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf0eb;font-size:13px}.total-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d7e1da;padding-top:18px;margin-top:22px}.total-row strong{font-size:27px}.small{font-size:12px;color:#61756c}.contact{display:block;border-top:1px solid #d7e1da;padding-top:17px;font-size:13px;margin-top:20px}.empty{text-align:center;padding:58px 22px;background:#edf2ed;border-radius:17px}.empty>span{font-size:55px;color:#8da695}.empty p{font-size:14px}.checkout-card{margin:28px 0;background:#fff;border:1px solid #d6e3da;border-radius:18px;padding:32px}.contact-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.checkout-card details{margin:20px 0;border-bottom:1px solid #dbe5dc;padding-bottom:16px}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.consent{display:flex;align-items:flex-start;gap:12px}.consent input{width:20px;min-height:20px;margin-top:4px;flex-shrink:0}.checkout-card .primary{margin-top:16px}.checkout-card input[readonly]{margin-bottom:12px}footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:45px 0;font-size:11px;color:#657b70}[hidden]{display:none!important}@media(max-width:1050px){.search-card{grid-template-columns:1fr 1fr 1fr;margin:18px 0}.booking-body{grid-template-columns:minmax(0,1fr) 300px}.room-card{grid-template-columns:1fr}.room-card img{height:240px;min-height:0}.hero>div{padding:32px}.contact-fields{grid-template-columns:1fr 1fr}}@media(max-width:680px){header{padding:14px 18px}.brand{font-size:14px;gap:9px;letter-spacing:2px}.brand img{width:49px;height:49px}nav{gap:9px}nav>a{display:none}main{padding:0 16px}.hero{grid-template-columns:1fr;min-height:0;border-radius:17px}.hero>div{padding:24px}.hero h1{font-size:36px}.hero img{height:180px;order:-1}.hero p{font-size:14px}.brand-note{margin-top:0}.search-card{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:18px}.search-card>label{grid-column:span 2}.search-card>label:nth-child(-n+2){grid-column:span 3}.search-card>button{grid-column:span 6;width:100%}.search-card input{font-size:14px;padding:10px 5px}.booking-body{grid-template-columns:1fr;gap:0}.section-title{margin-top:22px}.section-title h2{font-size:24px}.section-title>p{max-width:130px}.summary{margin-top:5px}.room-card img{height:210px}.room-copy{padding:20px}.contact-fields{grid-template-columns:1fr}.checkout-card{padding:22px}.checkout-card h2{font-size:24px}.checkout-card .primary{width:100%}.brand small{font-size:9px}.empty{padding:30px 16px}footer{padding:28px 0}h1,h2,h3{overflow-wrap:anywhere}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,opacity .15s}}@media print{header nav,.search-card,button,footer{display:none}}

.hero h1{white-space:pre-line}.mobile-booking-bar{display:none}@media(max-width:680px){body{padding-bottom:90px}.mobile-booking-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:#fff;box-shadow:0 -8px 30px #123f3b14;z-index:20;border-top:1px solid #d6e3da}.mobile-booking-bar small,.mobile-booking-bar strong{display:block}.mobile-booking-bar small{font-size:11px}.mobile-booking-bar strong{font-size:20px}.mobile-booking-bar .primary{font-size:13px;padding:12px}}

.admin-setup-link{padding:16px 20px;border-radius:12px;background:#fff4d8;margin:24px 0}.admin-setup-link a{color:#154b3e;margin-left:12px;text-decoration:underline}.room-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.choose-room[aria-pressed=true]{background:#103f3b;color:#fff}.room-controls select{min-width:65px}.room-bottom .secondary{text-align:center;white-space:normal}.room-card .room-copy{min-width:0}#selection-hint:not(:empty){background:#edf4eb;padding:12px;border-radius:10px}
.reference-intro{background:#e8efe9;border:1px solid #d3e1d7;border-radius:18px;padding:26px;margin:24px 0}.reference-intro h2{font-size:28px;line-height:1.4}.reference-intro label{max-width:540px}.reference-body .summary{margin-top:0}.room-gallery{position:relative;min-width:0}.room-gallery img{height:100%;min-height:300px}.gallery-next{position:absolute;bottom:12px;right:12px;min-height:44px;font-size:13px;padding:6px 12px;background:#fffffff0}.no-room-photo{min-height:260px;display:grid;place-items:center;background:#e7ede7;color:#65796e;padding:24px}.reference-room .room-copy{padding:22px}.offer-label{margin-top:18px}.offer-label select{font-size:12px;white-space:normal;padding:9px;max-width:100%}.reference-choose{margin-top:14px;width:100%}.reference-choose[aria-pressed=true]{background:#103f3b;color:white}.reference-total{font-size:32px;font-weight:700}.reference-calendar{background:white;border:1px solid #d3e1d7;border-radius:16px;padding:22px;margin-top:24px}.reference-calendar summary{cursor:pointer;font-weight:600}.reference-calendar>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.reference-day{padding:10px;background:#edf3ed;border-radius:8px;font-size:12px}.reference-day b,.reference-day small{display:block}.recorded-full{background:#fff0e8;color:#864733}@media(max-width:680px){.reference-intro{padding:20px}.reference-intro h2{font-size:24px}.room-gallery img{height:230px;min-height:0}.reference-body aside{order:-1}.reference-body .summary{margin-bottom:20px}.reference-body .summary h2{font-size:20px}}

.plan-label{margin-top:14px}.plan-label select{font-size:13px;max-width:100%}.plan-terms{white-space:pre-wrap;font-size:12px;color:#576f64;background:#f1f5ee;border-radius:8px;padding:10px;margin-top:8px;overflow-wrap:anywhere}.room-bottom{flex-wrap:wrap}.recent-bookings{padding:20px;border:1px solid #ccdacf;background:white;border-radius:16px;margin:18px 0}.recent-bookings h2{font-size:18px}.recent-bookings a{margin:5px 8px 5px 0;font-size:13px}@media(max-width:680px){.recent-bookings a{display:flex;width:100%;overflow-wrap:anywhere}.plan-label select{font-size:14px}.room-gallery img{height:230px}}

.trial-banner{margin:24px 0;padding:20px 24px;border:1px solid #b9d4cb;border-left:5px solid #17685b;border-radius:16px;background:#edf6f1;color:#123f38}.trial-banner p{margin:8px 0 0;font-size:14px;line-height:1.7}.trial-banner[hidden]{display:none}
/* Checkout stays next to its authoritative room summary, including on mobile. */
.booking-steps{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:13px;padding:16px 0;color:#35615c}.booking-steps span{padding:6px 12px;border-radius:30px;background:#e9f1ec}.booking-checkout .hero,.booking-checkout .booking-body>section:first-child,.booking-checkout #continue-booking{display:none}.booking-body>.checkout-card{margin:0;min-width:0;align-self:start}.booking-checkout .booking-body{align-items:start}.booking-checkout .summary{position:static}#change-room{margin-bottom:20px}.booking-checkout #notice:empty{display:none}.booking-checkout .search-card{margin-top:10px}.booking-checkout #recent-bookings{display:none}
@media(max-width:900px){.booking-checkout .booking-body{display:flex;flex-direction:column}.booking-checkout .booking-body>aside{order:-1;width:100%}.booking-checkout .booking-body>.checkout-card{width:100%}.booking-checkout .summary .contact,.booking-checkout .summary>h2,.booking-checkout .summary>.eyebrow{display:none}.booking-checkout .summary{padding:20px}.booking-steps{font-size:12px;gap:6px}.booking-steps span{padding:5px 8px}}

.booking-body>.checkout-card .contact-fields{grid-template-columns:1fr}.booking-checkout .summary{margin-top:0}
