/* ===== ต้นทองหลาง — มาตรฐานกลาง UX/UI (ออดิต 20/10/2569) =====
   โหลดต่อจาก <style> ของแต่ละหน้า + tl-theme-A.css ทั้ง 9 หน้า → ค่าในไฟล์นี้ชนะค่าเดิมรายหน้า
   สีทั้งหมดอ้าง token ใน tl-theme-A.css (ไม่มีสีใหม่ ยกเว้นพื้นมืดหลังภาพหัวเพจ #0c0f0c)
   แก้แล้วเปลี่ยน ?v= ในลิงก์ทั้ง 9 หน้า (nginx แคช CSS 1 เดือน)
   หน้าเฉพาะใช้คลาสบน <body>: .pg-index .pg-menu .pg-recommended .pg-karaoke .pg-banquet .pg-wedding .pg-seminar .pg-gallery .pg-map */

:root{
  --gutter:20px;          /* ขอบข้างจอ */
  --section-y:64px;       /* padding บน-ล่าง section */
  --title-gap:32px;       /* หัวข้อ section → เนื้อหา */
  --card-gap:24px;        /* ช่องไฟการ์ด */
  --radius-card:16px; --radius-img:12px; --radius-btn:999px; --radius-box:10px;
  --btn-h:48px;           /* ปุ่มรอง */
  --btn-h-lg:56px;        /* ปุ่มโทร */
  --nav-pad:8px; --nav-row:52px; --logo-img:40px;   /* navbar = 8+52+8 = 68px */
  --lh-body:1.7; --lh-head:1.35;
  --bar-h:66px;           /* แถบล่างมือถือ 8+48+8 + เส้นบน 1 (+1 กันเศษพิกเซล) */
}
@media (max-width:1024px){ :root{ --section-y:48px; } }
@media (max-width:768px){ :root{ --nav-row:48px; --logo-img:36px; } }            /* navbar = 64px */
@media (max-width:600px){ :root{ --gutter:16px; --section-y:40px; --title-gap:24px; --card-gap:16px; --btn-h-lg:52px; } }

/* ---------- ตัวอักษร ---------- */
body{line-height:var(--lh-body)}
h1,h2,h3,h4{line-height:var(--lh-head);text-wrap:balance}
p,li{text-wrap:pretty}
.nw{white-space:nowrap}
a[href^="tel:"]{white-space:nowrap}
a.tel{color:inherit;font-weight:600;text-decoration:underline;text-decoration-color:rgba(var(--tl-gold-rgb),.8);text-underline-offset:3px}
.container-main{padding-left:var(--gutter);padding-right:var(--gutter)}

/* ---------- navbar: สูงเท่ากันทุกหน้า 68px (≤768: 64px) · ป้ายโลโก้ = แถวพอดี · hamburger ขนาดเท่าป้าย ---------- */
.navbar{padding:var(--nav-pad) 0}
.navbar .container{min-height:var(--nav-row);padding:0 var(--gutter);gap:8px 10px}
.navbar .logo{padding:6px 10px;margin:0;border-radius:var(--radius-box)}
.navbar .logo img{height:var(--logo-img);width:auto;display:block}
.navbar .nav-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;line-height:1.2}
@media (max-width:1024px){
  .navbar .hamburger{display:inline-flex;align-items:center;justify-content:center;width:var(--nav-row);height:var(--nav-row);padding:0;border-radius:var(--radius-box)}
  .navbar .hamburger svg line{transition:transform .2s ease,opacity .2s ease;transform-origin:12px 12px}
  .navbar .hamburger[aria-expanded="true"] svg line:nth-child(1){transform:rotate(45deg) translateY(6px)}
  .navbar .hamburger[aria-expanded="true"] svg line:nth-child(2){opacity:0}
  .navbar .hamburger[aria-expanded="true"] svg line:nth-child(3){transform:rotate(-45deg) translateY(-6px)}
  .navbar .nav-links{padding:8px 0}
  .navbar .nav-links a{display:flex;min-height:48px;padding:0 16px;font-size:1rem;border-radius:var(--radius-box)}
}
@media (min-width:601px) and (max-width:1024px){
  .navbar .nav-links.open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
}

/* ---------- ระยะ section / หัวข้อ ---------- */
.section,.rooms-container,.menu-category,.gallery-section,.map-section,.directions-section,.seo-block,.band{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.band-paper{background:var(--tl-paper)}
.section-title,.room-section-label,.section-label{margin-bottom:var(--title-gap)}
.section-title h2,.room-section-label h2,.section-label h2,.map-section h2,.directions-section h2{font-size:clamp(1.6rem,1.1rem + 2.4vw,2.75rem);margin-bottom:12px}
.map-section h2,.directions-section h2{margin-bottom:var(--title-gap)}
.section-title p,.room-section-label p,.section-label p{font-size:1rem}
.section-title .line,.room-section-label .line,.section-label .line{margin-top:14px}
.seo-block{max-width:880px;margin-left:auto;margin-right:auto}
.seo-block h2{font-size:clamp(1.4rem,1.1rem + 1.4vw,2rem);margin-bottom:12px}
.faq-item h3{font-size:1.12rem;line-height:1.45}
.faq-item p{line-height:1.8}

/* หัวเพจ */
.page-header{padding:56px var(--gutter)}
.page-header h1{font-size:clamp(1.75rem,1.2rem + 2.6vw,3rem);margin-bottom:0}
.page-header h1::after{content:"";display:block;width:60px;height:3px;background:var(--tl-gold);margin:14px auto;border-radius:2px}
.page-header::after{content:none!important}
.page-header p{font-size:clamp(1rem,.95rem + .3vw,1.1rem);max-width:680px;margin-left:auto;margin-right:auto;text-wrap:balance}
@media (max-width:1024px){ .page-header{background-size:96px auto,70px auto;background-position:left -20px bottom -24px,right -18px top -18px} }
@media (max-width:600px){ .page-header{padding:36px var(--gutter)} }
@media (max-width:480px){ .page-header{background-size:80px auto,56px auto;background-position:left -18px bottom -22px,right -18px top -20px} }
/* หัวเพจภาพ (wedding/seminar): ภาพจริงบนพื้นมืด + ม่านเขียวป่า แทนภาพจางบนพื้นเขียว (ออกสีมะกอกขุ่น) */
.page-header--photo{background:#0c0f0c;padding:72px var(--gutter)}
.page-header--photo .hero-bg{opacity:.7}
.page-header--photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.32) 0%,rgba(var(--tl-forest-900-rgb),.5) 55%,rgba(var(--tl-forest-900-rgb),.68) 100%)}
.page-header--photo h1,.page-header--photo p{position:relative;z-index:2;text-shadow:0 2px 12px rgba(0,0,0,.45)}
@media (max-width:600px){ .page-header--photo{padding:48px var(--gutter)} }

/* ---------- ปุ่ม: แคปซูลทุกตัว สูง 48 (ปุ่มโทร 56) ---------- */
.phone-btn,.link-btn,.hero-btn,.menu-dl-btn,.map-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--btn-h);padding:10px 28px;border-radius:var(--radius-btn);line-height:1.25;white-space:nowrap;border:2px solid transparent;text-align:center;max-width:100%;text-decoration:none}
.phone-btn{min-height:var(--btn-h-lg);font-size:1.2rem;padding:10px 32px}
.phone-btn svg,.hero-btn svg,.menu-dl-btn svg{flex:0 0 auto;width:20px;height:20px}
.phone-btn.btn-line{background:var(--tl-paper);color:var(--tl-line-text);border-color:var(--tl-line);box-shadow:0 8px 22px rgba(var(--tl-forest-900-rgb),.12)}
.phone-btn.btn-line:hover{background:var(--tl-paper);color:var(--tl-line-text)}
.phone-btn.btn-line svg{stroke:currentColor}
.link-btn{background:var(--tl-forest-800);color:var(--tl-cream);font-family:'Kanit',sans-serif;font-size:1rem;font-weight:600}
.link-btn:hover{background:var(--tl-forest-900);color:var(--tl-cream)}
.link-btn--light{background:var(--tl-cream);color:var(--tl-forest-900);box-shadow:none}
.btn-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}
.btn-row--start{justify-content:flex-start}
.menu-dl-btn{margin-top:20px;background:var(--tl-gold);color:var(--tl-forest-900);font-family:'Kanit',sans-serif;font-size:1rem;font-weight:500;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.menu-dl-btn:hover{background:var(--tl-gold-light);color:var(--tl-forest-900)}
.menu-dl-btn svg{stroke:var(--tl-forest-900)}
.menu-dl-btn .meta{font-family:'Sarabun',sans-serif;font-size:.875rem;font-weight:400}
@media (max-width:600px){
  .btn-row .link-btn{width:min(100%,340px)}
  .btn-row--start{justify-content:center}
}

/* ---------- CTA ท้ายหน้า: แถบเขียวป่า (แยกจากพื้นครีมชัด) มีขอบข้าง ---------- */
.cta-section{padding:var(--section-y) var(--gutter);background:var(--tl-forest-800);color:var(--tl-cream);border-top:0}
.cta-section h2{color:var(--tl-cream);font-size:clamp(1.6rem,1.1rem + 2.4vw,2.75rem);margin-bottom:12px}
.cta-section p{color:rgba(var(--tl-cream-rgb),.9);font-size:clamp(1rem,.95rem + .3vw,1.1rem);max-width:640px;margin:0 auto 24px}
.cta-section .btn-row{margin-top:0}
@media (max-width:600px){ .cta-section .phone-btn{width:min(100%,320px)} }

/* ---------- ปุ่มติดต่อ: เดสก์ท็อป = ปุ่มลอย (หลบตอนเห็น CTA/footer) · มือถือ = แถบล่าง ---------- */
.float-btn{min-height:48px;padding:0 20px;line-height:1.2;gap:8px}
.float-btn > span:first-child{display:flex}
.float-btn svg{display:block;width:20px;height:20px}
.float-btn .float-label{font-size:.95rem}
.float-label > span{white-space:nowrap}
@media (min-width:769px){
  .floating-contacts{transition:opacity .25s ease,transform .25s ease,visibility .25s}
  .floating-contacts.is-tucked{opacity:0;visibility:hidden;transform:translateY(16px);pointer-events:none}
}
@keyframes tl-pulse-bar{0%{box-shadow:0 0 0 0 rgba(var(--tl-terra-rgb),.45)}70%{box-shadow:0 0 0 6px rgba(var(--tl-terra-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--tl-terra-rgb),0)}}
@media (max-width:768px){
  .floating-contacts{left:0;right:0;bottom:0;flex-direction:row;align-items:stretch;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(var(--tl-cream-rgb),.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(var(--tl-gold-rgb),.55);box-shadow:0 -6px 18px rgba(var(--tl-forest-900-rgb),.12)}
  .float-btn{flex:1 1 0;min-width:0;justify-content:center;min-height:48px;padding:0 10px;box-shadow:none;font-size:1rem}
  .float-btn:hover{transform:none}
  .float-btn.phone{order:-1;flex-grow:1.25;animation:tl-pulse-bar 2.4s infinite}
  .float-btn.line{box-shadow:none}
  .float-btn .float-label{font-size:.95rem}
  .float-btn.line .float-label{display:flex;flex-wrap:wrap;justify-content:center;line-height:1.15}
  body{padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){ .float-btn.phone{animation:none!important} }

/* ---------- footer ---------- */
footer{padding:28px var(--gutter);line-height:1.7}
footer p{margin:0}
footer a{color:inherit;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:rgba(var(--tl-gold-rgb),.6);text-underline-offset:3px}
footer .sep{opacity:.55}
@media (max-width:600px){
  footer .sep{display:none}
  footer .nw{display:block}
}

/* ---------- การ์ด/กริด: flex จัดกลาง → แถวสุดท้ายไม่ค้างชิดซ้าย (--c = จำนวนคอลัมน์) ---------- */
.features-grid,.reviews-grid,.amenities,.highlights,.packages,.link-grid,.gallery-row,.gallery-grid,.pg-menu .menu-grid,.pg-recommended .menu-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--card-gap);--c:1}
.features-grid>*,.reviews-grid>*,.amenities>*,.highlights>*,.packages>*,.link-grid>*,.gallery-row>*,.gallery-grid>*,.pg-menu .menu-grid>*,.pg-recommended .menu-grid>*{flex:0 0 calc((100% - (var(--c) - 1) * var(--card-gap)) / var(--c) - .05px);min-width:0;max-width:100%}
.rooms-grid,.room-grid,.occasion-grid{gap:var(--card-gap)}
@media (min-width:700px){ .features-grid{--c:3} }
@media (min-width:600px){ .reviews-grid{--c:2} }
@media (min-width:900px){ .reviews-grid{--c:3} }
.amenities,.highlights{--c:2}
@media (min-width:601px){ .amenities,.highlights{--c:3} .packages{--c:2} .link-grid{--c:3} .gallery-row,.gallery-grid{--c:3} }
@media (min-width:900px){ .pg-karaoke .amenities{--c:5} .pg-banquet .amenities{--c:4} .packages{--c:3} }
@media (min-width:1100px){ .link-grid{--c:5} }
/* การ์ดสิ่งอำนวยความสะดวก/จุดเด่น: มือถือ 2 คอลัมน์ กะทัดรัด */
@media (max-width:600px){
  .amenity,.highlight-card{padding:16px 10px}
  .amenity .icon,.highlight-card .icon{font-size:1.9rem;margin-bottom:6px}
  .amenity p,.highlight-card p{font-size:.9rem}
  .amenity h4,.highlight-card h4{font-size:1rem}
}
.pg-karaoke .amenities{padding:var(--section-y) 0 0}
.highlights{margin-bottom:0}
.highlight-card{border-top:0;position:relative;overflow:hidden}
.highlight-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--tl-gold)}
.pkg-card{border-left:0;position:relative;overflow:hidden}
.pkg-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--tl-gold)}
/* การ์ดที่กดไม่ได้ ไม่ต้องลอยตอนชี้ */
.room-card:hover,.occasion-card:hover,.feature-card:hover,.menu-card:hover,.menu-item:hover,.gallery-item:hover{transform:none}

/* ---------- หน้าแรก ---------- */
/* hero: สไลด์ซ้อนด้วย grid → ความสูงพอดีเนื้อหาเสมอ (โลโก้ไม่ถูกตัด) */
.hero-slides{display:grid;height:auto;min-height:0}
.hero-slides .slide{position:relative;inset:auto;grid-area:1/1;display:flex;flex-direction:column;justify-content:flex-end;min-height:max(460px,75vh)}
.hero-slides .slide::after{background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.5) 55%,rgba(0,0,0,.28) 100%)}
/* จอแคบ ข้อความ/โลโก้กินเกือบทั้งสไลด์ (ทับฟ้า/ผนังขาว) → ม่านเข้มขึ้น · วัดแล้ว contrast ตัวหนังสือขาว ≥4.5 ที่จุดสว่างสุดใต้ข้อความ ทุกสไลด์ ทุกจอ 360–1920 (ต่ำสุด 4.99) */
@media (max-width:1024px){ .hero-slides .slide::after{background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.58) 50%,rgba(0,0,0,.42) 100%)} }
@media (max-width:600px){ .hero-slides .slide::after{background:linear-gradient(to top,rgba(0,0,0,.86) 0%,rgba(0,0,0,.64) 45%,rgba(0,0,0,.56) 100%)} }
.hero-overlay{position:relative;inset:auto;padding:40px 30px 72px}
/* รูป hero = <picture> (มือถือ 4:5 · แท็บเล็ต 4:3 · เดสก์ท็อป 2:1) ซ้อนหลังม่าน · สไลด์ 2–7 โหลดตอนใกล้แสดง (JS ใน index.html) */
.hero-slides .slide{background-color:#0c0f0c}
.hero-slides .slide-img{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-slides .slide-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;color:transparent}
.hero-logo{height:120px;width:auto;filter:drop-shadow(0 2px 10px rgba(0,0,0,.8)) drop-shadow(0 0 2px rgba(0,0,0,.55))}
@media (min-width:1024px){ .hero-logo{height:150px} }
.hero-cta-btns{gap:12px}
.hero-btn{min-height:var(--btn-h)}
/* จุดสไลด์: เป้าแตะ 44px วงกลมภาพ 12px */
.hero-dots{bottom:8px;gap:0}
.hero-dots .dot{width:44px;height:44px;border:0;border-radius:0;background:none;position:relative;transform:none}
.hero-dots .dot::before{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:rgba(255,255,255,.4);border:2px solid rgba(255,255,255,.75);box-sizing:border-box;transition:transform .3s}
.hero-dots .dot.active{background:none;transform:none}
.hero-dots .dot.active::before{background:#fff;transform:scale(1.25)}
/* ลูกศร: จอ ≤1024 ลงไปอยู่แถวเดียวกับจุด (ไม่ชนปุ่ม/ข้อความ) · ≤480 ซ่อน (ปัดนิ้ว + จุด) */
@media (max-width:1024px){
  .hero-arrow{top:auto;bottom:8px;transform:none;width:44px;height:44px;font-size:1.1rem}
  .hero-arrow.prev{left:12px} .hero-arrow.next{right:12px}
}
@media (max-width:768px){
  .hero-slides .slide{min-height:max(500px,58vh)}
  .hero-overlay{padding:32px 20px 64px}
}
@media (max-width:600px){
  .hero-cta-btns{flex-direction:column;align-items:center;gap:10px}
  .hero-btn{width:min(100%,300px);justify-content:center}
  .hero-overlay .hours-badge .sep{display:none}
  .hero-overlay .hours-badge .nw{display:block}
}
@media (max-width:480px){
  .hero-arrow{display:none}
  .hero-slides .slide{min-height:540px}
  .hero-overlay{padding:24px 16px 60px}
  .hero-logo{height:84px}
  .hero-overlay h1{margin-bottom:6px}
  .hero-overlay h2{font-size:1.75rem}
  .hero-overlay .tagline{font-size:.95rem;margin-bottom:10px}
  .hero-overlay .hero-valueprop{font-size:1.05rem;margin-bottom:14px}
  .hero-overlay .hours-badge{font-size:.9rem;padding:8px 18px}
}
/* ตัวคั่น "·" / "•" ไม่ค้างท้ายบรรทัด: จอแคบขึ้นบรรทัดใหม่แทนตัวคั่น */
.m-br{display:none}
@media (max-width:1024px){ .hero-valueprop .m-sep{display:none} .hero-valueprop .m-br{display:inline} }
@media (max-width:600px){ .tagline .m-sep{display:none} .tagline .m-br{display:inline} }
/* เมนูเลื่อนข้าง: การ์ดกว้างเท่ากัน เห็นใบถัดไปโผล่ */
.menu-scroll{gap:16px}
.menu-card{flex:0 0 auto;width:min(72vw,260px);min-width:0}
.menu-card .info h4,.menu-item .info h4{font-size:1rem}
/* รีวิว: ชื่อผู้รีวิวตรงระดับเดียวกัน */
.review-card{display:flex;flex-direction:column}
.review-card .text{flex:1}
.review-card .author .source{font-size:.875rem;white-space:nowrap}
.review-link a{display:inline-flex;align-items:center;min-height:44px}
/* ป้ายความจุห้อง: ไม่ล้นการ์ด ตัดบรรทัดที่ " + " */
.room-card .info .capacity,.room-card .info .badge{display:inline-block;max-width:100%;white-space:normal;line-height:1.45;border-radius:14px}
/* ป้าย 2 ส่วน (ในห้อง + ระเบียง): มือถือเรียง 2 บรรทัด ป้ายกว้างพอดีข้อความ ไม่ล้นการ์ด */
@media (max-width:600px){
  .badge--split{text-align:left;line-height:1.5;padding:6px 14px!important;border-radius:12px}
  .badge--split .nw:first-child{display:block}
}

/* ---------- เมนู / เมนูแนะนำ ---------- */
.menu-category:nth-child(even){box-shadow:0 0 0 100vmax var(--tl-paper);clip-path:inset(0 -100vmax)}
.category-title{margin-bottom:var(--title-gap);padding-bottom:12px;border-bottom:2px solid var(--tl-hairline)}
.category-title h2{font-size:clamp(1.4rem,1.1rem + 1.4vw,2rem)}
.menu-item .info{text-align:center;padding:14px}
.pg-menu .menu-grid{--c:2}
@media (min-width:601px){ .pg-menu .menu-grid{--c:3} }
.pg-recommended .menu-grid{--c:2}
@media (min-width:600px){ .pg-recommended .menu-grid{--c:4} }
@media (max-width:600px){ .pg-menu .menu-item .info,.pg-recommended .menu-item .info{padding:10px} .menu-item .info h4{font-size:.95rem} }
.dish-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:var(--card-gap)}
.dish-card{display:flex;gap:18px;align-items:flex-start;background:var(--tl-paper);border-radius:var(--radius-card);box-shadow:0 6px 22px rgba(var(--tl-forest-900-rgb),.08);padding:16px}
.dish-card>img{flex:0 0 150px;width:150px;height:150px;object-fit:cover;border-radius:var(--radius-img);border:2px solid var(--tl-gold)}
.dish-body{flex:1 1 0;min-width:0}
.dish-body h3{font-family:'Kanit',sans-serif;color:var(--tl-forest-800);font-size:1.15rem;margin-bottom:8px}
.dish-body .desc{color:var(--tl-text);line-height:1.8;margin-bottom:8px}
.dish-body .meta{color:var(--tl-muted);margin-bottom:6px}
.dish-body .meta strong{color:var(--tl-forest-800)}
@media (max-width:600px){ .dish-card{gap:14px;padding:14px} .dish-card>img{flex-basis:96px;width:96px;height:96px} }

/* ---------- ห้อง (คาราโอเกะ / งานแต่ง / สัมมนา) ---------- */
.room-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.room-card .info{padding:24px}
.room-card .info h3{font-size:1.4rem}
.room-card .info .badge{padding:6px 14px}
@media (min-width:769px){ .room-card .images img,.room-card-single .images img{height:250px} }
@media (max-width:768px){
  .room-card .images{grid-template-columns:1fr 1fr}
  .room-card .images img{height:220px}
  .room-card-single .images{grid-template-columns:1fr}
  .room-card-single .images img{height:240px}
}
@media (max-width:600px){
  .room-card .images img{height:150px}
  .room-card-single .images img{height:200px}
  .room-card .info{padding:20px}
}
/* การ์ดที่อยู่เดี่ยวในแถว (และการ์ดห้องหน้า wedding/seminar): รูปซ้าย ข้อมูลขวา */
@media (min-width:900px){
  .room-grid>.room-card:only-child,.pg-wedding .room-card,.pg-seminar .room-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:stretch}
  .room-grid>.room-card:only-child .images,.pg-wedding .room-card .images,.pg-seminar .room-card .images{height:100%}
  .room-grid>.room-card:only-child .images img,.pg-wedding .room-card .images img,.pg-seminar .room-card .images img{height:100%;min-height:280px}
  .room-grid>.room-card:only-child .info,.pg-wedding .room-card .info,.pg-seminar .room-card .info{align-self:center}
}
.pg-wedding .room-card,.pg-seminar .room-card{margin-bottom:var(--card-gap)}
.pg-wedding .room-card:last-child,.pg-seminar .room-card:last-child{margin-bottom:0}

/* ตารางเลือกห้อง: คอลัมน์สมดุล · มือถือเป็นการ์ด (ไม่ต้องปัดข้าง) */
.size-table td:first-child{white-space:nowrap}
.size-table th,.size-table td{line-height:1.6}
@media (min-width:601px){ .size-table th:first-child{width:18%} }
@media (max-width:600px){
  .size-table-wrap,.table-wrap{overflow:visible;box-shadow:none;background:none;border-radius:0}
  .size-table,table.size-table{display:block;min-width:0;width:100%;box-shadow:none;background:none;border-radius:0;overflow:visible}
  .size-table caption{display:block;text-align:left}
  .size-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .size-table tbody,.size-table tr,.size-table td{display:block;width:100%}
  .size-table tr{background:var(--tl-paper);border:1px solid var(--tl-hairline);border-radius:12px;box-shadow:0 3px 14px rgba(0,0,0,.06);padding:12px 16px;margin-bottom:12px}
  .size-table td,table.size-table td{border:0;padding:3px 0;white-space:normal}
  .size-table td::before{content:attr(data-label);display:block;font-family:'Sarabun',sans-serif;font-size:.875rem;font-weight:600;color:var(--tl-muted)}
  .size-table td:first-child{font-family:'Kanit',sans-serif;font-size:1.1rem;font-weight:600;color:var(--tl-forest-800);padding-bottom:6px}
  .size-table td:first-child::before{content:none}
}

/* ---------- งานแต่ง / สัมมนา ---------- */
.gallery-grid>img{height:auto;aspect-ratio:4/3}
.gallery-grid.two-col{--c:1}
@media (min-width:601px){ .gallery-grid.two-col{--c:2} }
img[src$="buffet-line.webp"]{object-position:center 22%}
/* ห้องจริง 6 ห้อง + ชื่อ/ความจุเป็นข้อความ (แทนโปสเตอร์ที่มีตัวเลขเก่าในภาพ) · มือถือ 1 · แท็บเล็ต 2 · เดสก์ท็อป 3 คอลัมน์ */
.room-cap-grid{display:grid;grid-template-columns:1fr;gap:var(--card-gap)}
@media (min-width:601px){ .room-cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1024px){ .room-cap-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
.room-cap{margin:0;background:var(--tl-paper);border-radius:var(--radius-card);overflow:hidden;box-shadow:0 5px 20px rgba(var(--tl-forest-900-rgb),.08);display:flex;flex-direction:column}
.room-cap img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.room-cap figcaption{padding:14px 18px 18px;display:flex;flex-direction:column;gap:4px}
.room-cap strong{font-family:'Kanit',sans-serif;font-weight:600;font-size:1.1rem;line-height:var(--lh-head);color:var(--tl-forest-800)}
.room-cap span{color:var(--tl-muted);font-size:.95rem;line-height:1.55}

/* ---------- บรรยากาศ (gallery) ---------- */
.gallery-section.alt{background:var(--tl-paper)}
.gallery-item img{height:auto;aspect-ratio:4/3}
.pg-gallery .gallery-grid{--c:1}
@media (min-width:601px){ .pg-gallery .gallery-grid{--c:3} .pg-gallery .gallery-grid.g-4,.pg-gallery .gallery-grid.g-2,.pg-gallery .gallery-grid.g-6{--c:2} }
@media (min-width:768px){ .pg-gallery .gallery-grid.g-text2{--c:2} }
@media (min-width:601px) and (max-width:767px){ .pg-gallery .gallery-grid.g-text2{--c:1} }
@media (min-width:1024px){ .pg-gallery .gallery-grid.g-4{--c:4} .pg-gallery .gallery-grid.g-6{--c:3} }
.pg-gallery .gallery-grid.g-2{max-width:760px;margin-left:auto;margin-right:auto}
.info-card{background:var(--tl-paper);border-radius:var(--radius-card);padding:24px;box-shadow:0 5px 20px rgba(0,0,0,.08)}
.info-card--accent{position:relative;overflow:hidden;padding:28px 28px 28px 32px}
.info-card--accent::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--accent,var(--tl-gold))}
.info-card h3{font-family:'Kanit',sans-serif;color:var(--tl-forest-800);font-size:1.15rem;margin-bottom:10px}
.info-card--accent h3{font-size:1.25rem}
.info-card p{color:var(--tl-text);line-height:1.8}
.gallery-row img{height:auto;aspect-ratio:3/2}

/* ---------- แผนที่ ---------- */
.map-section{background:var(--tl-paper)}
.map-img-wrapper{background:var(--tl-hairline)}
@media (max-width:600px){ .map-img-wrapper iframe{height:300px} }
.contact-card{text-align:left;padding:28px 24px}
.contact-card h3{text-align:center}
.contact-item{display:grid;grid-template-columns:28px minmax(0,1fr);justify-content:start;align-items:center;gap:12px;padding:4px 0;text-align:left}
.contact-item .icon{text-align:center}
.contact-item a{color:var(--tl-forest-700);display:inline-flex;align-items:center;min-height:44px}
.contact-gps{margin-top:16px;padding-top:18px;border-top:1px dashed rgba(var(--tl-gold-rgb),.7);text-align:center}
.contact-gps h3{font-size:1.1rem;margin-bottom:10px}
.coords{display:inline-block;background:var(--tl-sage-50);color:var(--tl-forest-800);border:1px dashed var(--tl-sage-600);border-radius:999px;padding:6px 16px;font-family:monospace;font-size:.95rem;-webkit-user-select:all;user-select:all}
.contact-gps .map-btn{display:flex;width:fit-content;margin:14px auto 0}
.map-btn{background:var(--tl-terra);color:#fff;font-size:1.05rem;font-weight:600;box-shadow:0 8px 20px rgba(var(--tl-terra-rgb),.28)}
.map-btn:hover{background:var(--tl-terra-hover);color:#fff}
.directions-section{max-width:880px;margin-left:auto;margin-right:auto}
.direction-card{border-left:0;position:relative;overflow:hidden;border-radius:var(--radius-card);padding:28px 28px 28px 34px;margin-bottom:var(--card-gap)}
.direction-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--accent,var(--tl-gold))}
.direction-card .highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone}
@media (max-width:480px){ .direction-card{padding:22px 18px 20px 24px} }

/* review fix 20/10: navbar + แถบล่างมือถือ ทึบ 100% — เดิม .97 + backdrop blur ทำให้ปุ่มเข้มที่เลื่อนผ่านใต้ navbar เห็นเป็น "เงาแท่งมน" */
.navbar{background:var(--tl-cream);-webkit-backdrop-filter:none;backdrop-filter:none}
@media (max-width:768px){ .floating-contacts{background:var(--tl-cream);-webkit-backdrop-filter:none;backdrop-filter:none} }
