
:root{--green:#098664;--dark:#10354b;--green2:#0d6e58;--light:#f3f9fa;--muted:#6c7d8d;--gold:#ffa400;--border:#e6eef1;--shadow:0 8px 27px rgba(14,48,65,.085)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.56 "Noto Sans Thai",Tahoma,Arial,sans-serif;color:#132c41;background:#fff}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a{ -webkit-tap-highlight-color:transparent }button{cursor:pointer}img{display:block;width:100%;object-fit:cover}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffb420;outline-offset:3px}.container{width:min(1200px,calc(100% - 46px));margin:auto}.audit-strip{background:#fff8e8;border-bottom:1px solid #ffdf9e;text-align:center;font-size:12px;padding:6px 12px;color:#855c0c}.topbar{background:rgba(255,255,255,.97);position:sticky;top:0;z-index:90;box-shadow:0 2px 12px #15344215}.topbar-inner{height:65px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:9px;min-width:190px}.logo-symbol{width:48px;height:43px;flex:none}.brand-copy{display:grid;line-height:1.1;letter-spacing:-.03em}.brand-copy strong{font-size:23px;color:#142d3c;font-weight:900}.brand-copy small{font-size:11px;font-weight:700;color:#223b49;margin-top:3px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:26px;flex:1;white-space:nowrap}.desktop-nav a{font-size:14px;font-weight:700}.desktop-nav a.active{color:var(--green)}.head-actions{display:flex;align-items:center;gap:8px}.plain-icon{background:transparent;border:0;padding:9px;display:grid;place-items:center}.pill{border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;white-space:nowrap;line-height:1.2}.outline{border:1px solid #e9f0f0;background:#fff}.solid{border:1px solid var(--green);background:var(--green);color:#fff}.mobile-only{display:none}.nav-panel{display:none}.hero{background:linear-gradient(90deg,rgba(1,25,38,.61),rgba(1,26,42,.10) 77%),url('../images/tph-home-hero.webp') center 48%/cover;min-height:285px;display:flex;align-items:center;position:relative;color:#fff}.hero-content{padding:30px 8px 34px}.hero h1{font-size:clamp(29px,4vw,43px);line-height:1.18;letter-spacing:-.035em;margin:4px 0 8px;font-weight:900}.hero p{margin:0 0 23px;font-size:18px;font-weight:700;text-shadow:0 1px 3px #0005}.search-wrap{background:#fff;color:#26394a;border-radius:100px;box-shadow:0 10px 35px #0002;display:flex;gap:8px;padding:9px;align-items:center;max-width:1080px}.search-main{display:flex;flex:2.4;align-items:center;gap:10px;border:1px solid var(--border);padding:7px 13px;border-radius:999px;min-width:0}.search-main svg{color:#1c374a;flex:none}.search-main input{border:0;outline:none;min-width:0;width:100%;font-size:14px;color:#123}.search-extra{display:flex;gap:5px;flex:1.3;align-items:center;justify-content:center}.select-sim{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;color:#405366}.select-sim svg{width:18px;height:18px}.search-submit{background:var(--green);color:white;border:0;padding:11px 24px;border-radius:999px;display:flex;align-items:center;gap:7px;font-weight:800}.search-submit svg{width:18px}.helper{text-shadow:0 1px 4px #0008;font-size:11px;margin:12px 12px 0;opacity:.9}.categories{background:#fff;border-bottom:1px solid #f1f4f6}.categories-inner{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;padding:13px 0 20px}.category{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;font-size:13px;font-weight:800;white-space:nowrap}.category-ico{width:62px;height:62px;border-radius:50%;background:white;display:grid;place-items:center;box-shadow:0 5px 14px #16324d14;border:1px solid #e9f0f4}.category svg{width:31px;height:31px}.category:nth-child(1){color:#078c61}.category:nth-child(2){color:#148e66}.category:nth-child(3){color:#b82ad3}.category:nth-child(4){color:#d04a39}.category:nth-child(5){color:#1686d5}.category:nth-child(6){color:#58a321}.category:nth-child(7){color:#ef4b36}.category-label{color:#1e3042}.section{padding:28px 0 30px}.soft{background:linear-gradient(110deg,#f3f9fc,#fff 78%)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}.section-head h2{font-size:23px;margin:0;font-weight:900;letter-spacing:-.03em;display:flex;align-items:center;gap:11px;line-height:1.3}.section-head p{margin:3px 0 0;font-size:13px;color:var(--muted)}.section-head .heading-icon{width:32px;height:32px;color:var(--green)}.section-head .heading-icon.crown{color:var(--gold);fill:var(--gold)}.more{border:1px solid var(--green);color:var(--green);border-radius:100px;font-size:12px;font-weight:800;padding:7px 13px;white-space:nowrap}.more:hover,.solid:hover,.search-submit:hover{filter:brightness(.92)}.stay-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.stay-card{background:white;border:1px solid #eaf0f2;box-shadow:var(--shadow);border-radius:12px;overflow:hidden;min-width:0;display:flex;flex-direction:column}.photo{height:152px;position:relative;background:linear-gradient(145deg,#b9e0e1,#65bfc1);overflow:hidden}.photo img{height:100%;object-fit:cover}.photo.sample img{filter:saturate(.8)}.tag{position:absolute;left:8px;top:8px;background:#fffce7;border:1px solid #e8ad26;border-radius:5px;font-size:11px;font-weight:900;color:#c68400;line-height:1.1;padding:4px 5px;z-index:2}.tag.quiet{color:#62788b;background:#e4edf4e8;border-color:#fff8}.favorite{position:absolute;right:8px;top:8px;display:grid;place-items:center;background:#1d3e5054;border:0;border-radius:50%;width:34px;height:34px;color:white;z-index:2}.favorite svg{height:21px;width:21px}.favorite.is-on svg{fill:#ef4d69;stroke:#ef4d69}.stay-body{padding:11px 12px 12px;display:flex;flex:1;flex-direction:column}.stay-body h3{font-size:14px;line-height:1.4;margin:0 0 3px;font-weight:900}.stay-body .locale{font-size:12px;color:#81909e;margin:0 0 6px}.stay-body .desc{font-size:12px;color:#68798a;margin:0 0 8px}.stay-body .price{font-size:12px;display:flex;align-items:center;gap:5px;margin:auto 0 10px}.price b{color:var(--green)}.stay-cta{background:var(--green);color:#fff;text-align:center;font-weight:800;border-radius:8px;padding:6px 9px;font-size:12px;margin-top:auto}.stay-cta.subdued{background:#eff8f5;color:#188569;border:1px solid #dbece5}.star{color:#ed9c03}.other-grid .photo{height:140px}.other-grid .stay-body{min-height:112px}.dest-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.destination{position:relative;overflow:hidden;border-radius:9px;min-height:118px;background:#276c80}.destination img{width:100%;height:118px;object-fit:cover}.destination:after{content:"";position:absolute;inset:20% 0 0;background:linear-gradient(transparent,#001a27d9)}.destination span{position:absolute;bottom:11px;left:12px;right:10px;color:#fff;z-index:1;font-size:14px;font-weight:900;text-shadow:0 2px 2px #0005}.join{background:linear-gradient(90deg,#072b29da,#174c45a8),url('../images/tph-home-join.webp') center 58%/cover;color:white;padding:30px 0}.join-inner{display:flex;align-items:center;gap:20px}.join-mark{width:72px;height:64px;color:#fff;flex:none}.join-copy{flex:1}.join h2{font-size:20px;font-weight:900;line-height:1.3;margin:0}.join p{font-size:13px;margin:4px 0 0}.join-btns{display:flex;gap:12px}.join-btns a{padding:10px 18px}.join .outline{background:transparent;border:1px solid #fff8;color:white}.footer{background:#101f2b;color:#edf3f4;padding:26px 0 45px}.footer-main{display:flex;align-items:flex-start;gap:40px}.footer .brand-copy strong,.footer .brand-copy small{color:#fff}.footer-nav{display:flex;gap:22px;flex:1;justify-content:center;align-items:center;flex-wrap:wrap;font-size:13px}.footer-note{font-size:12px;opacity:.63;text-align:center;padding-top:23px}.overlay{position:fixed;inset:0;background:#051e31ac;z-index:98;display:none}.overlay.active{display:block}.preview-panel{position:fixed;inset:auto 16px 19px;z-index:99;border-radius:18px;background:#fff;box-shadow:0 14px 60px #0003;padding:17px;max-width:500px;margin:auto;display:none}.preview-panel.active{display:block}.preview-panel h2{font-size:18px;margin:0 0 3px}.preview-panel p{font-size:13px;margin:0 0 12px;color:#617483}.preview-panel button{padding:7px 18px;color:#fff;background:var(--green);border:0;border-radius:99px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1080px){.desktop-nav{gap:12px}.desktop-nav a{font-size:12px}.brand{min-width:156px}.brand-copy strong{font-size:21px}.head-actions .pill{padding:7px 12px}.stay-grid{gap:9px}.stay-body{padding:9px}.photo{height:135px}.other-grid .photo{height:135px}.dest-grid{gap:8px}}
@media(max-width:850px){.audit-strip{font-size:10px;line-height:1.35;padding:5px 8px}.container{width:min(100% - 32px,800px)}.topbar-inner{height:60px;gap:12px}.desktop-nav,.head-actions .outline{display:none}.mobile-only{display:grid}.head-actions{margin-left:auto}.head-actions .solid{font-size:11px;padding:9px 12px}.logo-symbol{width:37px;height:34px}.brand{min-width:unset;gap:5px}.brand-copy strong{font-size:20px}.brand-copy small{font-size:9px}.nav-panel{display:block;position:fixed;right:0;top:60px;bottom:0;width:min(82vw,340px);background:#fff;z-index:100;padding:18px;transform:translateX(110%);transition:transform .25s;box-shadow:0 0 40px #14345232;overflow:auto}.nav-panel.active{transform:none}.nav-panel a{display:block;padding:12px 6px;font-weight:700;border-bottom:1px solid #eff3f5}.hero{min-height:unset;display:block;background-position:60% 50%;padding:27px 0 24px}.hero-content{padding:0}.hero h1{font-size:30px;margin:0 0 5px}.hero p{font-size:13px;line-height:1.5;margin-bottom:20px;max-width:315px}.search-wrap{display:grid;border-radius:18px;padding:10px;gap:9px;box-shadow:0 9px 28px #0c213964}.search-main{border-radius:10px;width:100%;height:46px}.search-main input{font-size:14px}.search-extra{justify-content:flex-start;padding:0 6px;min-height:28px}.search-submit{border-radius:10px;justify-content:center;height:45px;font-size:15px}.helper{margin:9px 3px 0;font-size:10px}.categories-inner{grid-template-columns:repeat(4,1fr);padding:17px 0 18px;gap:17px 7px}.category{font-size:11px;white-space:normal;line-height:1.3}.category-ico{width:54px;height:54px}.category svg{width:28px;height:28px}.section{padding:25px 0}.section-head h2{font-size:19px;gap:6px}.section-head p{font-size:11px}.more{font-size:11px;padding:7px 10px}.section-head .heading-icon{width:25px;height:25px}.stay-grid{display:flex;gap:13px;overflow:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:2px 1px 18px;scrollbar-width:thin}.stay-grid .stay-card{flex:0 0 min(81vw,317px);scroll-snap-align:start;border-radius:13px}.photo,.other-grid .photo{height:190px}.stay-body{padding:12px 14px 14px}.stay-body h3{font-size:16px}.stay-body .locale,.stay-body .desc,.stay-body .price{font-size:13px}.stay-cta{font-size:14px;padding:9px}.other-grid{display:grid;grid-template-columns:1fr;overflow:visible;padding:2px}.other-grid .stay-card{width:100%;display:grid;grid-template-columns:39% 61%;min-height:135px}.other-grid .photo{height:100%;min-height:143px}.other-grid .stay-body{padding:11px;min-height:142px}.other-grid .stay-body h3{font-size:14px}.other-grid .stay-cta{display:none}.dest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.destination,.destination img{min-height:116px;height:116px}.destination span{font-size:13px}.join-inner{display:grid;grid-template-columns:48px 1fr;gap:10px}.join-mark{width:44px;height:44px}.join h2{font-size:17px}.join p{font-size:12px}.join-btns{grid-column:1/-1;gap:8px}.join-btns a{flex:1;text-align:center;padding:9px 5px}.footer{padding:24px 0 80px}.footer-main{display:block}.footer-nav{justify-content:flex-start;gap:13px 19px;padding-top:22px}.footer-note{text-align:left}}
@media(max-width:360px){.head-actions .solid{display:none}.hero h1{font-size:27px}.categories-inner{gap:16px 4px}.category-ico{width:50px;height:50px}.section-head h2{font-size:17px}}
@media(min-width:851px) and (max-width:1100px){.stay-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Featured/regular listing density revised for user-approved design proposal */
.featured-primary{border:2px solid #118767;box-shadow:0 12px 26px #17432a1b}
.featured-primary .photo{height:auto;aspect-ratio:16/10}
.featured-primary .stay-body{padding:15px}
.featured-primary .stay-body h3{font-size:18px}
.partner-section{background:#f7faf8}
.partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.partner-card{border:1px solid #deebe7;background:#fff;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:9px;box-shadow:0 5px 18px #12382d10}
.partner-name{font-size:20px;font-weight:900;color:#10354b}
.partner-card p{margin:0;color:#607584;font-size:13px}
.partner-cta{border:1px solid #10835e;color:#087454;padding:12px;border-radius:10px;display:block;text-align:center;font-weight:800;margin-top:auto;min-height:44px}
.partner-disclosure{font-size:12px;color:#596e74;line-height:1.65;margin:13px 0 0}
@media(max-width:850px){
 .stay-grid:not(.other-grid){display:grid;grid-template-columns:minmax(0,1fr);overflow:visible;padding:2px;gap:15px}
 .stay-grid:not(.other-grid) .stay-card{width:100%;max-width:none;flex:initial}
 .featured-primary .photo{height:auto;aspect-ratio:16/9}
 .featured-primary .stay-body{padding:14px}
 .featured-primary .stay-cta{min-height:46px;display:grid;place-items:center}
 .other-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;padding:2px}
 .other-grid .stay-card{width:auto;min-height:0;display:flex;flex-direction:column;border-radius:12px}
 .other-grid .photo{height:auto;min-height:0;aspect-ratio:4/3}
 .other-grid .tag{font-size:9px;left:5px;top:5px;padding:3px}
 .other-grid .stay-body{padding:9px 8px 10px;min-height:0}
 .other-grid .stay-body h3{font-size:12px;line-height:1.42;min-height:2.84em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
 .other-grid .locale{font-size:10px;margin:2px 0 4px}
 .other-grid .desc{display:none}
 .other-grid .price{font-size:10px;margin:0;line-height:1.4}
 .other-grid .price b{font-size:10px}
 .partner-grid{grid-template-columns:1fr;gap:10px}
 .partner-card{padding:13px}
 .partner-name{font-size:16px}
}
@media(min-width:610px) and (max-width:850px){.other-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Review-specific small visual improvements; original accepted mobile column layouts stay unchanged */
@media (min-width:851px){#recommended .stay-grid:has(>.stay-card:only-child){grid-template-columns:minmax(0,450px)}#recommended .stay-grid:has(>.stay-card:only-child) .stay-card .photo{aspect-ratio:16/10;height:auto}}
@media (max-width:850px){#recommended .stay-card{box-shadow:0 14px 26px rgba(13,82,61,.12)}}

/* V2: other resorts page-size and pagination. Featured-card layout untouched. */
#other{scroll-margin-top:85px}
#other .other-grid .stay-card[hidden]{display:none!important}
#other .per-page-label{font-size:12px;color:#176e57;background:#edf9f3;border:1px solid #c7e6d9;border-radius:99px;padding:7px 12px;white-space:nowrap;font-weight:800}
#other .other-list-status{text-align:center;font-size:12px;color:#54716e;margin:20px 0 8px}
#other .other-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;padding:6px 0 4px}
#other .other-pagination button{min-width:42px;min-height:42px;border:1px solid #cadeda;border-radius:9px;background:#fff;color:#185d4b;font-size:14px;font-weight:800;padding:8px 11px;line-height:1.2}
#other .other-pagination button[aria-current=page]{background:#147a5c;border-color:#147a5c;color:#fff;box-shadow:0 3px 8px #11614635}
#other .other-pagination button:disabled{background:#f5f8f7;color:#94a9a3;border-color:#e4ede9;cursor:not-allowed}
#other .other-demo-note{font-size:11px;color:#61716d;text-align:center;margin:9px auto 0;max-width:740px}
@media(min-width:851px){#other .other-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:609px){#other .other-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){#other .per-page-label{font-size:10px;padding:6px 8px}}


/* The public header/footer shares the existing metadata, but home navigation is isolated. */
.tp-approved-home .tp-main{min-height:0;display:block;padding:0;margin:0;max-width:none}
.tp-approved-home .tp-home-header {box-sizing:border-box}
.tp-approved-home .tp-home-footer{box-sizing:border-box}
.tp-approved-home .desktop-nav a:hover,.tp-approved-home .footer-nav a:hover{color:#0a956d}
.tp-approved-home .home-status{font-size:12px;color:#668079;text-align:center;margin:16px 0 8px}
.tp-approved-home .other-grid .stay-cta{margin-top:auto}
.tp-approved-home .featured-primary .stay-body{display:flex;flex-direction:column;gap:4px}
.tp-approved-home .featured-primary .stay-cta{margin-top:auto}
.tp-approved-home .stay-body h3 a{color:inherit;text-decoration:none}
.tp-approved-home .stay-card:focus-within{outline:3px solid #07956f;outline-offset:2px}
.tp-approved-home .other-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border:1px solid #cadeda;border-radius:9px;background:#fff;color:#185d4b;text-decoration:none;font-size:14px;font-weight:800;padding:8px 11px;line-height:1.2}
.tp-approved-home .other-pagination a[aria-current=page]{background:#147a5c;border-color:#147a5c;color:#fff;box-shadow:0 3px 8px #11614635}
.tp-approved-home .other-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;color:#9caeaa;background:#f3f8f6;border:1px solid #e4ede9;border-radius:9px}
.tp-approved-home #other{scroll-margin-top:85px}
.tp-approved-home .photo img{width:100%;height:100%;object-fit:cover}
.tp-approved-home .photo.blank{background:linear-gradient(140deg,#d6e9df,#96c9b4);display:grid;place-items:center}
.tp-approved-home .photo.blank svg{width:65px;height:65px;color:#568c79;opacity:.7}
.tp-approved-home .other-grid .photo.blank svg{width:40px;height:40px}
.tp-approved-home .stay-card .stay-body .desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tp-approved-home .featured-primary .stay-body .desc{display:block}
.tp-approved-home .category.inactive{opacity:.64;cursor:default}
.tp-approved-home .nav-panel{z-index:110}
.tp-approved-home .tp-hero-screen{position:relative}
@media(min-width:851px){.tp-approved-home #recommended .stay-grid:has(>.stay-card:only-child){grid-template-columns:minmax(0,450px)}}
@media(max-width:850px){.tp-approved-home .other-grid .stay-body .price{font-size:11px}.tp-approved-home .hero{background-position:55% center}.tp-approved-home .other-grid .stay-cta{font-size:10px;padding:5px 3px;min-height:32px}.tp-approved-home .other-grid .photo{height:auto}}
@media(max-width:609px){.tp-approved-home #other .other-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-approved-home #other .stay-card .stay-body{min-width:0}}
