.site-welcome{text-align:center;margin-top:24px}.site-welcome>p{max-width:900px;margin:18px auto 28px}.site-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.site-value-grid article{background:white;border:1px solid var(--line);border-radius:14px;padding:24px 18px}.site-value-grid .ui-icon{width:34px;height:34px;color:var(--green);margin-bottom:15px}.card-booking{display:block;padding:10px 12px;border-radius:9px;text-align:center;margin-top:12px}.booking-badge{margin:10px 0}.compare-add{margin:12px 0;font-size:13px}.compare-bar{position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -3px 20px #0002;padding:12px 5%;z-index:110;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.compare-bar[hidden]{display:none}.compare-bar>div{display:flex;gap:8px;flex-wrap:wrap}.compare-bar .primary{padding:9px 16px;border-radius:8px}.has-compare{padding-bottom:140px}.floating-booking{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:100;width:min(90%,480px);text-align:center}.floating-booking a{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:12px;box-shadow:0 4px 20px #123e2c44}.has-compare .floating-booking{bottom:150px}body:has(.floating-booking){padding-bottom:90px}.claim-link{font-size:12px;color:var(--muted);margin:22px 0}.claim-link a{text-decoration:underline}.related-camps{margin-top:36px}.compare-table{min-width:680px}.compare-table td{min-width:190px;vertical-align:top}.product-image{width:100%;height:180px;object-fit:contain;background:white}.hero{overflow:hidden}.hero>*{position:relative;z-index:1}.hero iframe.hero-video{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;border:0;opacity:.45}.hero-video-note{font-size:12px}.owner-package{background:#f0f6eb;border-radius:12px;padding:16px;margin-bottom:20px}.owner-help section{margin:24px 0}.owner-help ol{padding-left:24px}.site-content-form fieldset{padding:16px;border:1px solid var(--line);margin:16px 0;border-radius:10px}@media(max-width:850px){.site-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.site-value-grid{grid-template-columns:1fr}.compare-bar{font-size:12px;padding:8px 12px}.compare-bar button{font-size:12px;padding:5px}.floating-booking{bottom:12px}.has-compare .floating-booking{bottom:170px}}
.compare-bar{max-height:40vh;overflow-y:auto}.has-compare{padding-bottom:calc(var(--compare-bar-height,140px) + 24px)}.has-compare .floating-booking{bottom:calc(var(--compare-bar-height,140px) + 14px)}
.owner-package-mini{font-size:13px;background:#f0f6eb;padding:8px 12px;border-radius:9px;margin:0 0 18px}.owner-package-mini a{text-decoration:underline}
/* Informational homepage cards: hover emphasis without implying a link. */
.site-value-grid article{transition:background-color .2s ease,border-color .2s ease,color .2s ease}.site-value-grid article .ui-icon,.site-value-grid article h3,.site-value-grid article p{transition:color .2s ease}
@media(hover:hover){.site-value-grid article:hover{background:#173e2d;border-color:#173e2d;color:#fff}.site-value-grid article:hover h3,.site-value-grid article:hover p,.site-value-grid article:hover .ui-icon{color:#fff}}
.site-value-grid article:focus-within{background:#173e2d;border-color:#173e2d;color:#fff}.site-value-grid article:focus-within h3,.site-value-grid article:focus-within p,.site-value-grid article:focus-within .ui-icon{color:#fff}
@media(prefers-reduced-motion:reduce){.site-value-grid article,.site-value-grid article .ui-icon,.site-value-grid article h3,.site-value-grid article p{transition:none}}

/* Compact, visible card actions and article filters. */
.camp .camp-price-row .camp-card-actions .camp-detail-link{flex:0 0 auto;width:auto;padding:0 12px;gap:6px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.blog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:24px 0}.blog-toolbar .chips{flex:1 1 360px;margin:0;flex-wrap:wrap}.blog-search{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.blog-search label{display:flex;align-items:center;gap:8px}.blog-search input{width:210px;max-width:100%;padding:8px 10px}.blog-search button{padding:9px 16px}
@media(max-width:600px){.blog-search{width:100%}.blog-search label{flex:1;min-width:0;flex-wrap:wrap}.blog-search input{width:100%}.camp .camp-price-row{gap:8px}.camp .camp-price-row .camp-card-actions{gap:6px}.camp .camp-price-row .camp-card-actions .camp-detail-link{padding:0 9px}}

@media(max-width:600px){.header .actions .add-place-link{display:none}}

/* Mobile navigation and compact benefits. Native dialog traps focus and supports Escape. */
.mobile-menu-toggle{display:none}#mobile-menu{border:0;margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(86vw,360px);max-width:100vw;box-sizing:border-box;padding:24px;border-radius:16px 0 0 16px;color:#203c30}#mobile-menu::backdrop{background:#102d2666}.mobile-menu-open{overflow:hidden}.mobile-menu-links{display:flex;flex-direction:column;gap:8px;margin-top:20px}.mobile-menu-links>a,.mobile-menu-links summary,.mobile-menu-links .dropdown-panel a{display:block;padding:12px;border-radius:8px}.mobile-menu-links .dropdown-panel{position:static;display:block;box-shadow:none;border:0;padding:4px 8px}.mobile-menu-links details:not([open])>.dropdown-panel{display:none}.member-oauth-note{margin-top:18px!important}.member-auth-secondary{margin-top:24px}.member-auth-secondary a{display:inline-block;margin-top:8px}.member-welcome-note{margin-bottom:24px}.staff-actions,.owner-form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.staff-card{margin-top:24px}.staff-membership-note{font-size:13px;color:#687b70}.owner-upgrade+.panel,.owner-upgrade+section,.owner-upgrade+*[role=status]+.panel{margin-top:24px!important}.owner-upgrade-contact{margin-bottom:24px!important}.owner-change-section{margin-top:24px}.member-email-change{margin-top:24px}.owner-danger{border-color:#d6aaa3!important}.mobile-benefit-copy{display:none}
@media(max-width:600px){.mobile-menu-ready .header{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;padding:14px 16px}.mobile-menu-ready .header .logo{min-width:0;flex:1}.mobile-menu-ready .header .logo img{width:44px;height:44px}.mobile-menu-ready .header .logo strong{font-size:17px}.mobile-menu-ready .header .logo small{display:none}.mobile-menu-ready .header .nav{display:none}.mobile-menu-ready .header .actions{width:auto;flex:0 0 auto;margin:0;gap:8px}.mobile-menu-ready .header .header-search,.mobile-menu-ready .header .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;padding:10px;width:44px;height:44px;min-height:44px}.mobile-menu-ready .header .header-search span{display:none}.site-value-grid{display:flex;flex-direction:column;gap:12px}.site-value-grid article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 12px;padding:16px;text-align:left}.site-value-grid article>.ui-icon{grid-column:1;grid-row:1/3;width:25px;height:25px;margin:2px 0 0}.site-value-grid article h3{grid-column:2;margin:0;font-size:15px;line-height:1.5}.site-value-grid article p{grid-column:2;margin:0;font-size:14px;line-height:1.6}.site-value-grid .mobile-benefit-copy{display:block}.site-value-grid .desktop-benefit-copy{display:none}}

/* Keep campsite rules in details; show scenery over photos and consistent amenity slots. */
.camp .camp-photo{position:relative}.camp-view-badges{position:absolute;left:12px;right:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}.camp-view-badges>span{display:inline-block;background:rgba(17,54,37,.9);color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:20px;padding:4px 9px;font-size:12px;font-weight:500;line-height:1.5;text-shadow:none}.camp .camp-price-row .camp-price-stack{align-self:center}.admin-login>.admin-brand{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}.admin-login>.admin-brand img{object-fit:contain;align-self:center}.admin-login>.admin-brand>span{display:block}
@media(max-width:500px){.camp-view-badges{left:10px;right:10px;bottom:10px;gap:4px}.camp-view-badges>span{font-size:11px;padding:3px 8px}}

.admin-login>.admin-brand{flex-direction:column;text-align:center;gap:12px}.admin-login>.admin-brand small{margin-top:6px}

.site-footer h3{font-size:17px;line-height:1.5;color:var(--deep);margin:4px 0 17px;font-weight:600}.information-page{max-width:1000px}.information-page article{padding:28px}.information-page h2{font-size:21px;margin-top:28px}.information-page li{margin:8px 0}.information-page table{width:100%;border-collapse:collapse}.information-page td,.information-page th{text-align:left;padding:12px;border:1px solid #dde6db;vertical-align:top}.place-rules{margin-top:24px}.camp-photo img,.home-article-image img,.province-photo-card img{aspect-ratio:16/9;object-fit:cover}.home-article-image,.province-photo-card,.camp-photo{background-color:#e3eadf}.blog-cover{aspect-ratio:3/2;object-fit:cover}
@media(max-width:600px){.information-page article{padding:20px}.information-page table{font-size:13px}.site-footer h3{margin-bottom:12px}}

.scenery-links nav{display:flex;flex-wrap:wrap;gap:10px}.scenery-links .chip{display:inline-flex;align-items:center;gap:7px}.dropdown-group-label{display:block;font-size:12px;color:#6c806e;padding:12px 12px 4px;border-top:1px solid #e2e9e2;margin-top:6px}.place-under-gallery-share{margin:16px 0 24px}.place-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.place-heading-actions .compare-add{margin:0}.camp-mobile-actions{display:none}
@media(max-width:600px){#mobile-menu{padding:20px;background:#f5f8f2}#mobile-menu .between{padding-bottom:16px;border-bottom:1px solid #dae6d7}#mobile-menu .between h2{margin:0;font-size:23px}.mobile-menu-links{gap:8px;margin-top:16px}.mobile-menu-links>a,.mobile-menu-links summary{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 14px;background:#fff;border:1px solid #e1e9dd;border-radius:10px;font-size:16px;line-height:1.5}.mobile-menu-links>a>.ui-icon,.mobile-menu-links summary>.ui-icon{width:21px;height:21px;flex:0 0 21px;color:#347746}.mobile-menu-links .dropdown-panel{padding:8px 0 4px 20px}.mobile-menu-links .dropdown-panel a{padding:9px 12px;margin:3px 0;border-left:2px solid #d2dfcc;border-radius:0 8px 8px 0;font-size:14px}.mobile-menu-links a:hover,.mobile-menu-links a:active,.mobile-menu-links summary:hover,.mobile-menu-links a:focus-visible,.mobile-menu-links a.is-current{background:#245d39;color:white;border-color:#245d39}.mobile-menu-links a:hover>.ui-icon,.mobile-menu-links a.is-current>.ui-icon{color:white}.mobile-menu-links details[open]>summary{background:#e6efdf}.place-detail-split>section .amenities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.place-detail-split .detail-feature{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:0;font-size:14px;line-height:1.6}.place-detail-split .detail-feature .feature-icon{flex:0 0 20px;width:20px;height:20px;margin-top:1px}.place-under-gallery-share .social-share{display:flex;flex-wrap:nowrap;gap:8px}.place-under-gallery-share .share-button{width:44px;height:44px;min-height:44px;padding:10px;display:flex;align-items:center;justify-content:center;flex:0 0 44px}.place-under-gallery-share .share-button span{display:none}.place-under-gallery-share #share-status:empty{margin:0}.place-heading-actions .member-favorite,.place-heading-actions .compare-add{font-size:12px;padding:8px 10px;display:inline-flex;gap:6px;align-items:center}.camp-mobile-actions{position:fixed;left:0;right:0;bottom:0;z-index:105;display:grid;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce5d8;box-shadow:0 -4px 20px #173e2d18}.camp-mobile-contact{display:flex;gap:8px}.camp-mobile-contact>a{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 6px;min-height:44px;background:#eef4e9;border-radius:9px;font-size:13px;color:#24573a}.camp-mobile-contact>a:hover{background:#245d39;color:white}.camp-mobile-actions .ui-icon{width:20px;height:20px;flex:0 0 20px}.camp-mobile-book{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;min-height:44px;border-radius:10px;font-weight:600}body:has(.camp-mobile-actions){padding-bottom:calc(var(--camp-actions-height,150px) + 20px)}body:has(.camp-mobile-actions) .floating-booking{display:none}.has-compare .camp-mobile-actions{bottom:var(--compare-bar-height,140px)}body.has-compare:has(.camp-mobile-actions){padding-bottom:calc(var(--camp-actions-height,150px) + var(--compare-bar-height,140px) + 24px)}}

@media(max-width:600px){.place-detail-split .detail-feature>span{min-width:0;overflow-wrap:anywhere}}

@media(max-width:600px){.mobile-menu-links summary>span:last-child{margin-left:auto}}

.social-login-divider{display:flex;align-items:center;gap:16px;color:#788179;font-size:14px;margin:26px 0 18px}.social-login-divider:before,.social-login-divider:after{content:"";height:1px;background:#dce4da;flex:1}.member-oauth-buttons.social-login-stack{display:flex;flex-direction:column;gap:12px;margin:0}.social-login-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 18px;border:1px solid #ced8cd;border-radius:9px;background:#fff;color:#253e30;font-size:15px;font-weight:500;line-height:1.5}.social-login-button>svg{width:22px;height:22px;flex:0 0 22px}.social-login-google{color:#1f1f1f;font-family:Arial,sans-serif}.social-login-button:hover,.social-login-button:focus-visible{background:#f0f5ec;border-color:#94ad8d}.social-login-line{background:#06c755;border-color:#06c755;color:#fff}.social-login-line:hover,.social-login-line:focus-visible{background:#05b34c;border-color:#05b34c;color:#fff}.social-login-line:active{background:#048b3c}.social-login-privacy{font-size:13px;line-height:1.7;margin-top:18px}.member-oauth-note{font-size:13px}.member-auth .member-form-links{margin-top:22px}@media(max-width:600px){.social-login-button{font-size:14px;padding:11px 14px}.social-login-divider{margin-top:24px}}

.social-login-button{box-sizing:border-box;text-decoration:none}.social-login-button:hover{text-decoration:none}

/* Keep both brand names visible at every viewport size. */
.header .logo strong{font-size:20px;white-space:nowrap}.header .logo small.brand-thai{display:block;font-size:13px;letter-spacing:0;margin-top:3px}.site-footer-brand small{display:block}.admin-brand .brand-thai{display:block;letter-spacing:0;font-size:13px}.admin-brand>span{font-size:21px}.admin-login .admin-brand{justify-content:center}.admin-login .admin-brand>span{font-size:27px}
@media(min-width:601px) and (max-width:1200px){.header .logo strong{font-size:18px}}
@media(max-width:600px){.header .logo strong,.mobile-menu-ready .header .logo strong{font-size:16px}.header .logo small.brand-thai,.mobile-menu-ready .header .logo small.brand-thai{display:block;font-size:12px}.header .logo div{min-width:0}.admin-brand>span{font-size:19px}}
@media(max-width:360px){.mobile-menu-ready .header .logo strong{font-size:15px}.mobile-menu-ready .header .logo img{width:36px;height:36px}}

#destinations>.all-provinces-link{margin:24px 0 0}.camp-phone-button{display:flex;align-items:center;justify-content:center;gap:10px}.camp-phone-button>.ui-icon{width:22px;height:22px;flex:0 0 22px}.camp-phone-button>span{min-width:0;overflow-wrap:anywhere}

/* Typography only; retain v0.23.1 logo and layout. */
.header .logo strong{font-size:20px;font-weight:700;line-height:1.2}.header .logo small.brand-thai{font-size:14px;font-weight:500;line-height:1.3;color:#5B6B62;margin-top:3px}
@media(min-width:601px) and (max-width:1200px){.header .logo strong{font-size:18px}}
@media(max-width:600px){.header .logo strong,.mobile-menu-ready .header .logo strong{font-size:16px}.header .logo small.brand-thai,.mobile-menu-ready .header .logo small.brand-thai{font-size:12px;color:#5B6B62;margin-top:2px}}
@media(max-width:360px){.mobile-menu-ready .header .logo strong{font-size:15px}}

/* Booking and owner workflow round, 2026-10-30. */
.owner-nav-group{margin:16px 0}.owner-nav-label{font-size:12px;font-weight:600;color:#bbcdbd;padding:0 12px;margin:0 0 6px}.admin-sidebar .admin-brand{gap:10px;min-width:0}.admin-sidebar .admin-brand img{width:42px;height:48px;flex:0 0 42px}.admin-sidebar .admin-brand>span{min-width:0;font-size:17px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.admin-sidebar .admin-brand small{font-size:10px;letter-spacing:1px}.admin-sidebar .admin-brand small.brand-thai{font-size:12px;letter-spacing:0;margin:5px 0}.admin-page-heading h1{overflow-wrap:anywhere;font-size:clamp(23px,2.4vw,34px)}.owner-package-alert{padding:18px 22px;border:1px solid;border-radius:12px;margin-bottom:24px}.owner-package-alert p{margin:8px 0}.owner-package-alert a{font-weight:600;text-decoration:underline}.owner-package-warning{background:#fff8dc;border-color:#e2c363;color:#705319}.owner-package-grace{background:#fff0dc;border-color:#dfad69;color:#814414}.owner-package-expired{background:#fff0ef;border-color:#dfa29b;color:#8a3028}
.owner-report-filter{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:30px}.owner-report-filter>.booking-field{flex:1;min-width:170px}.owner-report-filter>.booking-field>input,.owner-report-filter select{height:42px;min-height:42px;padding:8px 12px;box-sizing:border-box}.owner-report-filter>button{margin-top:31px;height:42px;min-height:42px;padding:8px 14px;box-sizing:border-box}.owner-report-heading{margin-top:30px!important}.view-report-filter .booking-fields{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr)) auto;gap:16px;align-items:start;width:100%}.view-report-filter .booking-fields>button{align-self:start;margin-top:31px;min-height:42px;height:42px;padding:8px 14px}.owner-report-filter .thai-date-hint{font-size:12px}.contact-phone-link,.booking-place-context a,.booking-stay-summary a,.checkout-edit-actions a{color:#287044;text-decoration:underline;text-underline-offset:3px}.contact-phone-link:hover,.checkout-edit-actions a:hover{color:#153d26}.contact-phone-link:focus-visible,.checkout-edit-actions a:focus-visible{outline:3px solid #9fba7c;outline-offset:3px}.member-booking-card>a.primary,.member-booking-empty>a{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:9px;min-height:44px;box-sizing:border-box;margin-top:14px}.member-booking-empty{padding:24px 0}
.booking-place-context{margin:18px 0 24px;padding:18px 22px;border-left:4px solid #49834f;background:#eef5e9;border-radius:8px}.booking-place-context>h2{margin:5px 0;font-size:24px}.booking-place-context>p{margin:6px 0}.booking-flow-steps{margin:24px 0}.booking-flow-steps>p{font-size:14px;color:#5b6b62}.booking-flow-steps ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;gap:12px}.booking-flow-steps li{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #dce5d8;background:#f7f9f5;border-radius:9px;font-size:14px}.booking-flow-steps li[aria-current=step]{background:#e4efdb;border-color:#73945e;font-weight:600}.booking-step-number{display:flex;align-items:center;justify-content:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:#d5e3cc}.booking-flow-steps a{color:#28663d;text-decoration:underline}.booking-results-layout{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,2fr);gap:26px;align-items:start}.booking-stay-summary{position:sticky;top:20px}.booking-stay-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:14px}.booking-stay-summary dd{margin:0}.booking-results-main{min-width:0}.booking-results-main .availability-results{margin-top:0}.booking-results-main .availability-result{margin:0 0 16px;padding:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px}.booking-results-main .availability-result p{margin:9px 0}.booking-results-main .availability-result-action{align-self:center}.availability-policy{background:#f0f7e9!important;border-color:#c6d8b8!important;margin-top:28px!important}.availability-policy h2{font-size:22px}.availability-form .booking-field small{font-size:12px;font-weight:400;color:#5b6b62;margin-top:5px}.member-booking-flow .checkout-summary{position:static;margin:0 0 24px;padding:22px;background:#f5f8f1;border:1px solid #d4e1c9;border-radius:12px}.member-booking-flow .checkout-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checkout-edit-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}.member-booking-flow .checkout-form{margin-top:24px}.member-booking-flow .checkout-submit{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid #dce5d7}.checkout-terms{margin:24px 0}.checkout-terms>summary{color:#286b40;cursor:pointer;font-weight:600;padding:10px 0;margin-bottom:16px}.checkout-terms>summary:hover{color:#153d26}.checkout-terms .availability-policy{margin-top:0!important}.checkout-consent{margin-top:24px}.ops-toolbar+.booking-error{margin-top:20px}.booking-results-main .availability-result-main details{margin-top:14px}
@media(max-width:800px){.booking-results-layout{grid-template-columns:1fr}.booking-stay-summary{position:static}.booking-flow-steps ol{grid-template-columns:1fr 1fr}.booking-results-main .availability-result{grid-template-columns:1fr}.view-report-filter .booking-fields{grid-template-columns:1fr 1fr}.owner-report-filter>button{margin-top:0}.view-report-filter .booking-fields>button{margin-top:0;align-self:end}.booking-place-context>h2{font-size:21px}}
@media(max-width:500px){.member-booking-flow .checkout-contact-grid{grid-template-columns:1fr}.member-booking-flow .checkout-submit{align-items:stretch;flex-direction:column}.owner-report-filter>.booking-field{flex-basis:100%}.view-report-filter .booking-fields{grid-template-columns:1fr}.booking-flow-steps li{padding:9px;font-size:12px}.admin-sidebar .admin-brand>span{font-size:17px}}
body .admin-content form.owner-report-filter{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr)) auto auto;gap:16px;align-items:start;margin-bottom:30px}body .admin-content form.owner-report-filter>.booking-field{min-width:0;margin:0}body .admin-content form.owner-report-filter>button{align-self:start;margin:31px 0 0;height:42px;min-height:42px;padding:8px 14px}body .admin-content form.view-report-filter{display:block}body .admin-content form.view-report-filter .booking-fields{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:16px;align-items:start}body .admin-content form.view-report-filter .booking-fields>button{align-self:start;margin:31px 0 0;height:42px;padding:8px 14px}
@media(max-width:800px){body .admin-content form.owner-report-filter{grid-template-columns:1fr 1fr}body .admin-content form.owner-report-filter>button{margin:0}body .admin-content form.view-report-filter .booking-fields{grid-template-columns:1fr 1fr}body .admin-content form.view-report-filter .booking-fields>button{margin:31px 0 0}}
@media(max-width:500px){body .admin-content form.owner-report-filter,body .admin-content form.view-report-filter .booking-fields{grid-template-columns:1fr}body .admin-content form.view-report-filter .booking-fields>button{margin:0}}
.admin-sidebar .admin-brand>span{font-size:15px;white-space:nowrap;overflow-wrap:normal}.admin-sidebar .admin-brand small{white-space:normal}

/* Zone/cabin gallery: swipe/scroll, keyboard focus, fixed image geometry. */
.space-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 12px;max-width:100%}.space-gallery figure{flex:0 0 220px;margin:0;scroll-snap-align:start}.space-gallery img{display:block;width:100%;height:145px;object-fit:cover;border-radius:10px}.space-gallery figcaption{font-size:13px;margin-top:6px}.space-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.space-admin-grid img{width:100%;height:140px;object-fit:cover;border-radius:10px}.space-manager{margin-top:24px}.booking-status{display:inline-flex;align-items:center;border-radius:8px;padding:6px 10px;font-weight:600;font-size:14px;line-height:1.5}.booking-status-pending{background:#fff0c2;color:#765200}.booking-status-confirmed{background:#dcf0df;color:#205c36}.booking-status-checked_in{background:#dfefff;color:#174c82}.booking-status-checked_out{background:#e9e5f5;color:#514273}.booking-status-cancelled{background:#fbe2e2;color:#8a2b2b}.booking-status-unknown{background:#edf0ee;color:#40594b}@media(max-width:600px){.space-gallery figure{flex-basis:180px}.space-gallery img{height:120px}}

.booking-system-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}.booking-system-feature-grid .panel{margin:0}
@media(max-width:700px){.owner-reservation-wrap{overflow:visible!important}.owner-reservation-table{display:block!important;min-width:0!important;width:100%!important;background:transparent!important;border:0!important}.owner-reservation-table thead{display:none}.owner-reservation-table tbody{display:grid;gap:14px}.owner-reservation-table tr{display:grid!important;gap:10px;padding:16px;border:1px solid #dce5dc;border-radius:12px;background:#fff!important}.owner-reservation-table td{display:block!important;min-width:0!important;padding:0!important;border:0!important;overflow-wrap:anywhere}.owner-reservation-table td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:#667a6b;font-weight:500;margin-bottom:4px}.owner-reservation-table td:last-child a{display:inline-block;margin-top:4px;padding:8px 12px;background:#edf5e9;border-radius:8px}}
.partner-pricing{margin-top:24px}.partner-pricing table{width:100%;min-width:0}.partner-pricing th,.partner-pricing td{padding:12px;text-align:left}.partner-trial{padding:18px;background:#e8f3df;border:1px solid #bdd5ad;border-radius:12px;margin:18px 0}.partner-trial strong{font-size:22px;color:#215c36}.partner-trial p{margin:8px 0 0}.partner-saving{padding:14px;background:#f1f6ec;border-radius:10px;font-weight:600}@media(max-width:600px){.partner-pricing th,.partner-pricing td{padding:9px 6px;font-size:13px}.partner-pricing .tablewrap{overflow-x:auto}}
.website-line-contact{display:inline-flex;align-items:center;gap:10px;margin:14px 0;padding:10px 12px;border:1px solid #b8d9bc;border-radius:10px;background:#f1f8ed;color:#205932;text-decoration:none!important;max-width:100%;font-size:14px;line-height:1.5}.website-line-contact small{display:block;font-size:12px;color:#4d6958}.website-line-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#06c755;color:#fff;font-size:10px;font-weight:700}.website-line-contact:hover,.website-line-contact:focus-visible{background:#e0f1d9;border-color:#397a47;outline-offset:3px}.website-line-contact span{overflow-wrap:anywhere}
/* v0.27 owner workflow refinements */
.booking-radio-group{min-width:0;margin:0;padding:12px;border:1px solid #d5e1d5;border-radius:10px}.booking-radio-group legend{font-weight:600;padding:0 5px}.booking-radio-options{display:flex;flex-wrap:wrap;gap:8px}.booking-radio-options label{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #d5e1d5;border-radius:8px;cursor:pointer;font-weight:400}.booking-radio-options label:has(input:checked){background:#edf6e8;border-color:#2c7043;color:#205c36}.booking-radio-options input{width:17px!important;height:17px!important;min-height:0!important;margin:0;accent-color:#2c7043}.manual-booking-intro{background:#f0f6e8;border:1px solid #d5e1c9;border-radius:10px;padding:16px;margin:0 0 20px}.manual-booking-intro h3{font-size:17px;margin:0 0 8px}.manual-booking-intro ul{padding-left:22px;margin:0;font-size:14px}.manual-mail-option{padding:16px;margin:18px 0;border:1px solid #d5e1d5;border-radius:10px}.manual-mail-option>label{display:flex;gap:10px;align-items:center}.manual-mail-option [data-manual-email]{margin-top:14px}.manual-mail-option [hidden]{display:none!important}.manual-mail-state{margin:18px 0;padding:12px;background:#f0f6e8;border-radius:8px}.ops-booking-title{flex-wrap:wrap}
.space-slider{min-width:0;max-width:100%;margin:12px 0 16px}.space-slider .space-gallery{display:flex;gap:0;padding:0;scroll-snap-type:x mandatory;scrollbar-width:none}.space-slider .space-gallery::-webkit-scrollbar{display:none}.space-slider .space-gallery figure{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start}.space-slider .space-gallery img{height:auto;aspect-ratio:16/10;object-fit:cover;width:100%}.space-slider .space-gallery figcaption{font-size:12px;color:#5b6b62;margin:5px 0}.space-slider-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:6px;font-size:13px}.space-slider-controls button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;min-height:0;font-size:25px;line-height:1;border:1px solid #cfddce;border-radius:8px;background:#fff;color:#205c36}.space-slider-controls button:disabled{opacity:.35;cursor:default}.availability-result-action{min-width:0;width:260px;max-width:100%}.availability-total{display:flex;align-items:baseline;justify-content:flex-end;gap:10px;flex-wrap:wrap}.availability-total .price{white-space:nowrap}.booking-results-main .availability-result{grid-template-columns:minmax(0,1fr) minmax(220px,280px)}
.admin-login{padding-top:24px!important}.admin-login>.admin-brand{display:flex!important;flex-direction:row!important;justify-content:center;align-items:center;gap:14px;margin:0 auto 22px!important;text-align:left!important}.admin-login>.admin-brand img{width:64px!important;height:64px!important;object-fit:contain}.admin-login>.admin-brand>span{font-size:24px!important;line-height:1.25}.admin-login>.admin-brand small{font-size:12px!important;letter-spacing:1px!important;margin-top:3px!important}.admin-login>.admin-brand .brand-thai{font-size:14px!important;letter-spacing:0!important}.admin-place-filters .booking-fields{align-items:start}.admin-place-filters input:not([type=checkbox]),.admin-place-filters select{height:44px!important;min-height:44px!important;padding:9px 12px!important;box-sizing:border-box;line-height:1.4!important}.admin-place-filters{padding:18px!important}
.owner-support-float{position:fixed;right:20px;bottom:18px;z-index:40;display:flex;align-items:center;gap:9px;background:#176b3a;color:#fff!important;padding:11px 15px;border-radius:12px;box-shadow:0 3px 12px #163c3033;text-decoration:none;font-size:13px;line-height:1.4}.owner-support-float svg{width:23px;height:23px;flex-shrink:0}.owner-support-float small{display:block;font-size:11px;color:#effff1}.owner-support-float:hover{background:#114e2b}.owner-support-float:focus-visible{outline:3px solid #a6cc84;outline-offset:3px}body:has(.owner-support-float) .admin-main{padding-bottom:100px}
@media(max-width:700px){.owner-reservation-table tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:14px}.owner-reservation-table td:first-child,.owner-reservation-table td:nth-child(2),.owner-reservation-table td:last-child{grid-column:1/-1}.owner-reservation-table .reservation-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reservation-dates small{display:block;font-size:12px;color:#667a6b}.owner-reservation-table .date-arrow{display:none}.owner-reservation-table td[data-label="วันที่"]:before{display:none}.owner-reservation-table td:last-child{text-align:right}.owner-support-float{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:9px 12px;max-width:calc(100vw - 24px)}.admin-login>.admin-brand>span{font-size:20px!important}.admin-login>.admin-brand img{width:54px!important;height:54px!important}.booking-results-main .availability-result{grid-template-columns:minmax(0,1fr)}.availability-result-action{width:100%;max-width:100%}.availability-total{justify-content:flex-start}.booking-radio-options label{padding:8px 10px}}
@media(min-width:701px){.mobile-date-label{display:none}}.space-slider{width:100%}.member-booking-flow .space-slider{max-width:440px}
.partner-pricing .partner-saving{margin-top:18px!important;margin-bottom:18px!important}
/* v0.27.1: compact owner support, reveal label without expanding the button */
.owner-support-float{width:48px;height:48px;padding:0!important;border-radius:50%;justify-content:center;overflow:visible}.owner-support-float>span{position:absolute;right:calc(100% + 10px);bottom:0;width:max-content;max-width:min(260px,calc(100vw - 86px));padding:10px 13px;border-radius:10px;background:#176b3a;color:#fff;box-shadow:0 3px 12px #163c3033;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(4px);transition:opacity .15s,transform .15s,visibility .15s}.owner-support-float:focus-visible>span{opacity:1;visibility:visible;transform:none}@media(hover:hover) and (pointer:fine){.owner-support-float:hover>span{opacity:1;visibility:visible;transform:none}}@media(prefers-reduced-motion:reduce){.owner-support-float>span{transition:none}}

@media(max-width:700px){.manual-booking-submit{display:block;width:100%;text-align:center;margin-top:20px}}
