:root{--gold:#ffc211;--gold-hover:#e6b00f;--ink:#231f20;--paper:#fdfffc;--muted:#665f60;--line:#d8d6d4;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans Thai",sans-serif;line-height:1.6}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}a{color:inherit}.skip{position:absolute;left:12px;top:-60px;padding:10px 14px;background:var(--ink);color:#fff;z-index:5}.skip:focus{top:12px}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;text-decoration:none}.brand img{width:106px;height:46px;object-fit:contain}.back{font-size:.9rem;font-weight:700}.actions{display:flex;align-items:center;gap:10px}.lang{display:flex;padding:3px;border:1px solid var(--line);border-radius:99px}.lang button,.button{font-family:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.lang button{border:0;border-radius:99px;background:transparent;padding:5px 9px}.lang button[aria-pressed="true"]{background:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:99px;padding:12px 18px;text-decoration:none;background:var(--gold);color:var(--ink);box-shadow:0 5px 0 #d0a005;transition:background .2s,transform .2s}.button:hover{background:var(--gold-hover);transform:translateY(-2px)}a:focus-visible,button:focus-visible{outline:3px solid #806600;outline-offset:3px}.intro{padding:72px 0 42px}.eyebrow{margin:0 0 9px;color:#765b00;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.intro h1{max-width:760px;margin:0;font-size:clamp(2.5rem,6vw,5.2rem);line-height:1.03;letter-spacing:-.06em}.intro p:last-child{max-width:620px;margin:20px 0 0;color:var(--muted);font-size:1.08rem}.rooms{padding:18px 0 84px}.rooms-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 28px}.rooms-head p{margin:0;max-width:510px;color:var(--muted)}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price-note{margin:18px 0 0;color:var(--muted);font-size:.82rem;text-align:center}.all-rooms-link{margin:30px 0 0;text-align:center}.all-rooms-link a{display:inline-flex;align-items:center;min-height:44px;padding:8px 4px;color:#725800;font-weight:700;text-decoration:none}.all-rooms-link a:hover{text-decoration:underline}footer{padding:28px 0;background:var(--ink);color:#ded8d7;font-size:.85rem}@media(max-width:980px){.room-grid{grid-template-columns:repeat(2,1fr)}.rooms-head{flex-direction:column;align-items:flex-start}}@media(max-width:570px){.wrap{width:min(100% - 28px,var(--max))}.nav{gap:8px;padding:7px 10px}.brand{gap:9px}.brand img{width:78px}.back{font-size:.8rem}.actions .button{display:none}.intro{padding:50px 0 28px}.rooms{padding-bottom:58px}.room-grid{grid-template-columns:1fr;width:min(100%,460px);gap:24px;margin-inline:auto}.room-detail + .room-detail{border-left:1px solid var(--line);border-top:0;padding-top:0}.room-bottom{flex-direction:column;align-items:stretch}.room-bottom a,.room-book{width:100%;justify-content:center}}
    html{scrollbar-gutter:stable}.site-header{position:fixed;inset:0 0 auto;z-index:20;padding-top:18px}.site-header .wrap{width:min(var(--max),calc(100% - 40px))}.site-header .nav{padding:10px 16px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-radius:18px;box-shadow:0 5px 24px rgba(35,31,32,.08)}.site-header .brand{gap:0}.site-header .brand img{display:block;width:112px;height:48px;border-radius:10px;object-fit:contain;object-position:left center}.nav-links{display:flex;align-items:center;gap:22px;font-size:.88rem;font-weight:600}.nav-links a{text-decoration:none}.nav-links a:hover{color:#8b6e00}.nav-actions{display:flex;align-items:center;gap:9px}.nav-actions .button{padding:10px 15px;font-size:.86rem;box-shadow:none}.menu{display:none;border:0;background:transparent;padding:8px;cursor:pointer}.menu .icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mobile-links{display:none}.intro{padding-top:150px}@media(max-width:850px){.nav-links{display:none}.menu{display:block}}@media(max-width:570px){.site-header{padding-top:18px}.site-header .wrap{width:min(100% - 28px,var(--max))}.site-header .nav{gap:8px;padding:7px 10px}.site-header .brand img{width:78px}.nav-actions{gap:5px}.nav-actions .button{display:none}.intro{padding-top:120px}.mobile-links{position:absolute;top:calc(100% + 10px);left:0;right:0;display:none;padding:10px;border:1px solid rgba(255,255,255,.45);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 24px rgba(35,31,32,.08)}.mobile-links.is-open{display:grid;gap:6px}.mobile-links a{padding:11px 12px;border-radius:10px;text-decoration:none;font-weight:700}.mobile-links a:hover{background:var(--gold)}}
    body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}
    .site-header .wrap{position:relative}
    .nav-identity{display:flex;align-items:center;gap:0;min-width:0}.nav-home{margin-left:8px;padding:6px 0;color:var(--ink);font-size:.86rem;font-weight:700;text-decoration:none;white-space:nowrap}.nav-home:hover{color:#8b6e00}.nav-page-title{min-width:0;max-width:0;overflow:hidden;opacity:0;color:var(--ink);font-size:1rem;font-weight:800;line-height:1.2;text-align:left;text-overflow:ellipsis;white-space:nowrap;transition:max-width .25s ease,opacity .25s ease,padding .25s ease}.site-header.is-scrolled .nav-page-title{max-width:300px;padding:0 14px;border-left:1px solid var(--line);opacity:1}
    .back-row{margin:0 0 18px}.back-row .nav-home{margin-left:0;padding:4px 0;color:#725800;text-decoration:underline}
    @media(max-width:570px){.site-header.is-scrolled .nav-page-title{flex:1 1 auto;max-width:180px;padding:0 8px;font-size:.84rem;font-weight:800}.nav-actions .button{display:none}}
    .modal[hidden]{display:none}.modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(35,31,32,.68)}.dialog{position:relative;width:min(720px,100%);max-height:min(90vh,850px);overflow:auto;padding:30px;border-radius:23px;background:var(--paper);box-shadow:0 18px 70px rgba(0,0,0,.3)}.close{position:absolute;top:16px;right:16px;width:37px;height:37px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer}.dialog h2{margin:0 42px 4px 0;font-size:2rem}.dialog>p{margin:0 0 22px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}label{display:grid;align-content:start;gap:6px;color:#504949;font-size:.82rem;font-weight:700}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cfc9c2;border-radius:10px;background:#fff;color:var(--ink);font:inherit}textarea{min-height:80px;resize:vertical}.full{grid-column:1/-1}.form-error{min-height:1.5em;margin:14px 0 0;color:#a12222;font-size:.86rem;font-weight:700}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.button--line{border:1px solid var(--ink);background:transparent;box-shadow:none}.button--gold{background:var(--gold)}
    @media(max-width:570px){.dialog{padding:24px 18px}.dialog h2{font-size:1.55rem}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}}
    .intro{padding-bottom:24px}.rooms{padding-top:8px;padding-bottom:28px}.rooms-head{margin-bottom:18px}.all-rooms-link{margin-top:18px}.back-row{margin-bottom:12px}.modal{z-index:1000}@media(max-width:570px){.intro{padding-top:120px;padding-bottom:18px}.rooms{padding-bottom:24px}.rooms-head{margin-bottom:16px}.all-rooms-link{margin-top:14px}}
    .room-control{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 30px;padding:16px 18px;border:1px solid #ded8cd;border-radius:18px;background:#fff}.room-control__title{margin:0;color:var(--muted);font-size:.94rem}.room-filters{display:flex;flex-wrap:wrap;gap:8px}.room-filter{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:99px;color:var(--muted);background:#fff;font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.room-filter[aria-pressed="true"]{border-color:var(--gold);color:var(--ink);background:var(--gold)}.room-filter__badge{display:inline-flex;align-items:center;padding:4px 6px;border-radius:99px;color:#745800;background:#fff4c7;font-size:.7rem;line-height:1}@media(max-width:980px){.room-control{align-items:flex-start;flex-direction:column}}@media(max-width:570px){.room-control{gap:12px;margin-bottom:24px;padding:14px}.room-filters{width:100%}.room-filter{flex:1;justify-content:center;padding-inline:9px;font-size:.72rem}}
    .check{display:flex;align-items:center;gap:10px;margin:4px 0;font-size:.9rem}.check input{width:18px;height:18px}.form-help{margin:0;color:#725a00;font-size:.79rem}.night-count{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:9px 14px;border:1px solid #eadca8;border-radius:10px;color:#725800;background:#fff8df;font-weight:700}.form-actions__right{display:flex;align-items:center;gap:10px}.request-preview-dialog{width:min(760px,100%)}.request-preview-text{min-height:280px;max-height:55vh;margin:0;padding:18px;overflow:auto;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fffaf0;font:500 .82rem/1.65 "Noto Sans Thai",sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:570px){.form-actions__right{width:100%;flex-direction:column}.form-actions__right .button{width:100%}}
    @media(max-width:570px){.room-filter{flex:1;flex-direction:column;justify-content:center;min-width:0;min-height:44px;padding:8px 5px;gap:5px;border-radius:12px;line-height:1.15;text-align:center;position:relative}.room-filter__label{display:block;max-width:100%}.room-filter__badge{white-space:normal;position:static;padding:0;background:transparent;color:inherit;font-size:inherit;line-height:inherit;text-align:center}}
    @media (max-width:570px) {
      .room-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; align-items:stretch; }
      .room-filters .room-filter { min-height:60px; align-items:center; justify-content:center; gap:3px; }
      .room-filters .room-filter__label { text-align:center; }
    }
