/* Retheme 2026-09-20: เขียวป่า/ส้ม/ครีม (forest green / orange / warm cream) ทั้งเว็บ ตาม getrest-trip.html mockup — แทนที่ธีมเขียวเข้ม/พีชโคอรัลเดิม (2026-08-29/2026-09-01) ทั้งชุด ยกเว้นสี semantic สถานะ (success/warning/danger/gold) ที่ไม่แตะตามธรรมเนียมเดิมของโปรเจกต์นี้ */
:root{--gr-primary:#0F5A39;--gr-primary-dark:#073D28;--gr-primary-soft:#E8F0DF;--gr-accent:#F47B20;--gr-accent-dark:#D95F0F;--gr-accent-soft:#FCE7D4;--gr-ink:#103F2C;--gr-muted:#67776D;--gr-border:#E5E3D5;--gr-bg:#FFF8E8;--gr-paper:#FFFDF7;--gr-success:#10B981;--gr-warning:#F59E0B;--gr-danger:#EF4444;--gr-gold:#F5B82E;--bs-primary:var(--gr-primary);--bs-primary-rgb:15,90,57;--bs-border-radius:12px;--bs-border-radius-lg:16px}
body{background:var(--gr-bg);color:var(--gr-ink);font-family:"IBM Plex Sans Thai",Inter,sans-serif}
a{color:var(--gr-primary)}
a:hover{color:var(--gr-primary-dark)}
.btn-primary{background-color:var(--gr-primary);border-color:var(--gr-primary)}
.btn-primary:hover{background-color:var(--gr-primary-dark);border-color:var(--gr-primary-dark)}
.btn-outline-primary{color:var(--gr-primary);border-color:var(--gr-primary)}
.text-primary{color:var(--gr-primary) !important}
.bg-primary-soft{background-color:var(--gr-primary-soft)}
.card{background: var(--gr-paper);border:1px solid var(--gr-border);border-radius:var(--bs-border-radius-lg);box-shadow:0 1px 2px rgba(15,25,55,.04),0 2px 8px rgba(15,25,55,.04)}
.card-body{padding:1.5rem}
.rounded-4{border-radius:16px !important}
.img-placeholder{background:repeating-linear-gradient(135deg,rgba(15,90,57,.06) 0 10px,rgba(15,90,57,.02) 10px 20px),linear-gradient(180deg,#E8F0DF 0,#D6E4C8 100%);display:flex;align-items:center;justify-content:center;color:rgba(11,18,32,.45);font-family:monospace;font-size:.7rem}
.text-accent{color:var(--gr-accent) !important}
.bg-accent-soft{background-color:var(--gr-accent-soft) !important}
.btn-accent{background-color:var(--gr-accent);border-color:var(--gr-accent);color:#fff}
.btn-accent:hover{background-color:var(--gr-accent-dark);border-color:var(--gr-accent-dark);color:#fff}
.badge-status-confirmed,.badge-status-active,.badge-status-approved,.badge-status-paid{background-color:rgba(16,185,129,.12) !important;color:#047857 !important}
.badge-status-pending,.badge-status-pending_payment,.badge-status-pending_confirmation{background-color:rgba(245,158,11,.12) !important;color:#B6770B !important}
.badge-status-cancelled,.badge-status-rejected,.badge-status-banned{background-color:rgba(239,68,68,.12) !important;color:#B91C1C !important}
.badge-status-inactive,.badge-status-open,.badge-status-closed,.badge-status-checked_in,.badge-status-completed,.badge-status-draft{background-color:rgba(103,119,109,.12) !important;color:var(--gr-muted) !important}
.rating-star{color:var(--gr-gold)}
.gr-sidebar{background:#fff !important;border-right:1px solid var(--gr-border);min-height:100vh}
.gr-sidebar .nav-link{color:var(--gr-muted);border-radius:10px;font-weight:500}
.gr-sidebar .nav-link.active{background:var(--gr-accent-soft);color:var(--gr-accent-dark);font-weight:600}
.gr-bottom-nav{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.95);border-top:1px solid var(--gr-border);z-index:1030}
.gr-bottom-nav .nav-link{color:#8B96A8;font-size:.7rem;text-align:center}
.gr-bottom-nav .nav-link.active{color:var(--gr-accent-dark)}
@media (max-width:991.98px){.has-bottom-nav{padding-bottom:80px}}
.owner-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.calendar-weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--gr-muted);padding:4px 0}
.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;min-height:64px;border:1px solid var(--gr-border);border-radius:10px;padding:6px 2px;text-decoration:none;color:var(--gr-ink);background:#fff}
.calendar-day:hover{border-color:var(--gr-primary);background:var(--gr-primary-soft)}
.calendar-day.is-empty{border-color:transparent;background:transparent}
.calendar-day.is-today .calendar-day-num{color:var(--gr-primary);font-weight:700}
.calendar-day.is-selected{border-color:var(--gr-primary);background:var(--gr-primary-soft)}
.calendar-day-num{font-size:.85rem}
.calendar-day-badge{font-size:.65rem;padding:.25em .45em}
.calendar-day.is-booked{background:#FBEAEA;border-color:var(--gr-danger);cursor:not-allowed}
a.calendar-day.is-booked{cursor:pointer}
.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{background:#FBEAEA;color:var(--gr-danger) !important;text-decoration:line-through;cursor:not-allowed}
.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--gr-primary);border-color:var(--gr-primary)}
.flatpickr-day.today{border-color:var(--gr-primary)}
.calendar-day.is-booked .calendar-day-num{color:var(--gr-danger);font-weight:700;text-decoration:line-through}

/* ============ 2026-09-01 retheme: public UI (navbar/hero/search/category/place cards/footer) ============ */
.navbar{min-height:78px}
.brand-title{font-size:1.4rem;font-weight:800;color:var(--gr-primary-dark);line-height:1}
.brand-subtitle{font-size:.72rem;color:var(--gr-primary);margin-top:2px}
.navbar-nav .nav-link{font-weight:500;font-size:.94rem;padding-inline:.9rem!important}
.navbar-nav .nav-link:hover{color:var(--gr-primary)}
.navbar-nav .nav-link.disabled{color:#b7bfc7!important;pointer-events:none}

/* HERO */
.hero{position:relative;border-radius:0 0 28px 28px;overflow:hidden}
.hero .carousel-item img{min-height:420px;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35));pointer-events:none}
.hero-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center}
.eyebrow{font-weight:700;font-size:.95rem;color:#fff}
.hero-title{font-size:3rem;line-height:1;font-weight:800;letter-spacing:-1px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35);margin-bottom:8px}
.hero-script{font-size:1.4rem;font-weight:600;font-style:italic;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35);margin-bottom:24px}
.feature-row{display:flex;gap:28px;flex-wrap:wrap}
.feature-mini{display:flex;align-items:flex-start;gap:10px;max-width:200px;background:rgba(255,255,255,.9);padding:8px 12px;border-radius:10px}
.feature-mini .ico{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--gr-primary);background:var(--gr-primary-soft);font-size:1.3rem;flex:0 0 auto}
.feature-mini strong{display:block;font-size:.86rem;margin-bottom:1px;color:var(--gr-ink)}
.feature-mini small{color:var(--gr-muted);font-size:.74rem}

/* SEARCH CARD */
.search-wrap{position:relative;margin-top:-70px;z-index:5}
.search-card{background:#fff;border-radius:18px;box-shadow:0 12px 35px rgba(28,57,36,.17);overflow:hidden}
.search-tabs{display:flex;align-items:center;gap:4px;padding:0 18px;min-height:58px;border-bottom:1px solid var(--gr-border);overflow-x:auto}
.search-tab{border:0;background:transparent;padding:16px 16px 12px;color:var(--gr-muted);font-size:.9rem;white-space:nowrap;position:relative}
.search-tab.active{color:var(--gr-primary);font-weight:700}
.search-tab.active::after{content:"";height:3px;left:8px;right:8px;bottom:0;background:var(--gr-primary);border-radius:10px 10px 0 0;position:absolute}
.search-tab:disabled{color:#c7cdc9;cursor:not-allowed}
.search-tab i{font-size:1.1rem;margin-right:6px}
.search-label{color:var(--gr-muted);font-size:.75rem;margin-bottom:5px}

/* CATEGORY STRIP */
.category-strip{padding:28px 0 12px}
.category-row{gap:1.25rem;padding-bottom:4px;scrollbar-width:none}
.category-row::-webkit-scrollbar{display:none}
.category-col{flex:0 0 auto;width:76px}
.category-item{display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--gr-ink);text-decoration:none}
.category-item.disabled{opacity:.55;pointer-events:none}
.category-icon{width:52px;height:52px;border-radius:50%;margin:0 0 8px;display:grid;place-items:center;overflow:hidden;background:var(--gr-primary-soft);color:var(--gr-primary);font-size:1.5rem;line-height:1}
.category-item span{font-size:.8rem;font-weight:500}

/* VERIFY BAND */
.verify-band{background:linear-gradient(90deg,var(--gr-primary-soft),#f8fbef);border:1px solid #e1edcf;border-radius:13px;padding:16px 18px}
.verify-title{display:flex;align-items:center;gap:10px;min-width:225px}
.verify-badge{width:45px;height:45px;border-radius:50%;background:var(--gr-primary);color:#fff;display:grid;place-items:center;font-size:1.4rem}
.verify-title strong{display:block;color:var(--gr-primary-dark)}
.verify-title small{font-size:.78rem;color:var(--gr-muted)}
.verify-feature{display:flex;gap:10px;align-items:flex-start;padding-left:18px;border-left:1px solid #d9e5cf}
.verify-feature i{color:var(--gr-primary);font-size:1.1rem;margin-top:1px}
.verify-feature strong{font-size:.8rem;color:var(--gr-primary-dark);display:block}
.verify-feature small{font-size:.72rem;color:var(--gr-muted)}
@media (max-width:991.98px){.verify-feature{border-left:0;padding-left:0}}

/* PLACE CARDS */
.section-title{font-weight:800;font-size:1.2rem;margin:0}
.place-card{border:1px solid var(--gr-border);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:.2s ease;background:#fff;height:100%}
.place-card:hover{transform:translateY(-3px);box-shadow:0 9px 22px rgba(0,0,0,.10)}
.place-img{height:180px;width:100%;object-fit:cover}
.verified-tag{position:absolute;top:9px;left:9px;background:#fff;color:var(--gr-primary);border:1px solid #b9d6b8;border-radius:999px;padding:4px 8px;font-size:.66rem;font-weight:800;display:flex;align-items:center;gap:4px}
.place-name{font-size:.95rem;font-weight:700}
.heart-btn{width:34px;height:34px;border:0;background:transparent;color:var(--gr-muted);font-size:1.18rem}

/* PLANNER / ARTICLES / OWNER CTA */
.planner{background:var(--gr-primary-soft);border:1px solid #edf1e8;border-radius:14px;padding:27px 26px;min-height:180px}
.planner-kicker{font-size:.76rem;color:var(--gr-primary);font-weight:700}
.planner h3{font-size:1.5rem;font-weight:800;margin:3px 0;color:var(--gr-ink)}
.planner p{font-size:.8rem;color:var(--gr-muted);max-width:330px}
.planner-feature{background:#fff;border-radius:9px;box-shadow:0 2px 8px rgba(0,0,0,.04);padding:12px;display:flex;align-items:center;gap:10px;min-height:68px}
.planner-feature i{font-size:1.5rem;color:var(--gr-primary)}
.planner-feature strong{font-size:.78rem;color:var(--gr-primary-dark);display:block}
.planner-feature small{font-size:.68rem;color:var(--gr-muted)}
.article-card{border:1px solid var(--gr-border);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.04);height:100%}
.article-img{height:125px;width:100%;object-fit:cover}
.article-card h6{font-size:.86rem;font-weight:700;line-height:1.35}
.article-meta{font-size:.72rem;color:var(--gr-muted)}
.article-cat{color:var(--gr-primary);font-weight:700}
.owner-cta{overflow:hidden;border-radius:14px;background:linear-gradient(90deg,var(--gr-primary),var(--gr-primary-dark));color:#fff;min-height:115px}
.owner-cta .owner-content{padding:24px 30px}
.owner-cta h3{font-weight:800;font-size:1.4rem;margin-bottom:3px}
.owner-cta p{font-size:.8rem;margin:0;opacity:.95}

/* FOOTER (public) */
.support-logo{font-weight:800;font-size:1rem;color:var(--gr-muted);opacity:.9;white-space:nowrap}
.footer-social i{font-size:1.3rem;margin-right:12px;color:var(--gr-muted)}
.footer-social a:hover i{color:var(--gr-primary)}
.footer-bottom{background:var(--gr-primary-dark);color:#fff;font-size:.73rem;padding:12px 0}
.footer-bottom a{color:#fff;opacity:.85;text-decoration:none}
.footer-bottom a:hover{opacity:1;text-decoration:underline}

/* REVIEW STAR INPUT */
.rating-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.rating-input input{display:none}
.rating-input label{cursor:pointer;font-size:1.7rem;color:#D5D9DE;transition:.15s}
.rating-input input:checked ~ label,.rating-input label:hover,.rating-input label:hover ~ label{color:var(--gr-gold)}

/* STATIC PAGES */
.static-page{max-width:800px}
.static-page h5{margin-top:1.5rem;font-weight:700}
