/* ==========================================================================
   Koh Yao Boxing — component CSS (ปลั๊กอิน kyb-core)

   ยกมาจากแบบที่ลูกค้าอนุมัติใน design/ ทุกคลาสขึ้นต้นด้วย kyb- เพื่อไม่ชนกับ
   Flatsome (Flatsome ใช้ .dark .button .card เองด้วย) ทุก section ห่อด้วย .kyb-s
   กฎระดับ element (h1, p, a, input…) จำกัดไว้ในนั้น ไม่ไปแตะหน้าอื่นของธีม

   โหลดหลัง flatsome-main (ดู KYB_Core::enqueue) — กฎที่ specificity เท่ากันจึงชนะ
   สีแบรนด์: ตัวแปรชุดนี้เป็นค่าสำรอง ค่าจริงแก้ที่ kyb-child/style.css
   ========================================================================== */
:root{
  --kyb-ink:#000; --kyb-ink-2:#111; --kyb-ink-3:#1c1c1c; --kyb-black:#000;
  --kyb-gold:#f0b90b; --kyb-gold-ink:#3a2a02; --kyb-ember:#b83227; --kyb-blue:#2f5d9e;
  --kyb-canvas:#fff; --kyb-rice:#f4f2ec; --kyb-sand:#e9e3d4; --kyb-charcoal:#4a443d; --kyb-paper:#faf6ec;
  --kyb-line:rgba(21,18,15,.14); --kyb-line-d:rgba(250,246,236,.14);
  --kyb-shadow:0 10px 30px rgba(21,18,15,.10); --kyb-radius:12px; --kyb-wrap:1180px;
}

/* ---- กันกฎ global ของ Flatsome ไม่ให้ทับของในส่วนของเรา ---- */
.kyb-s{ font-family:'Lato','Sarabun',sans-serif; color:var(--kyb-ink); }
.kyb-s :is(h1,h2,h3,h4){ color:inherit; }
.kyb-s button{ margin:0; min-height:0; line-height:normal; letter-spacing:normal; text-transform:none; box-shadow:none; }
.kyb-s :is(input,select,textarea){ height:auto; margin:0; box-shadow:none; font-size:1rem; line-height:1.4; max-width:100%; }
.kyb-s ul, .kyb-s ol{ margin-left:0; }
.kyb-s li{ margin-left:0; }
.kyb-s label{ font-weight:inherit; }
.kyb-s .kyb-btn{ margin:0; min-height:0; line-height:1.2; }

.kyb-s :where(img){ max-width:100%; display:block; }
:where(.kyb-s) a{ color:inherit; }
.kyb-s :where(h1), .kyb-s :where(h2), .kyb-s :where(h3), .kyb-s :where(h4){ font-family:'Lato','Sarabun',sans-serif; text-transform:uppercase; letter-spacing:.04em; line-height:1.12; margin:0 0 .4em; }
.kyb-s :where(h1){ font-weight:700; font-size:clamp(2.4rem,7vw,5.2rem); }
.kyb-s :where(h2){ font-weight:700; font-size:clamp(1.8rem,4vw,2.8rem); }
.kyb-s :where(h3){ font-weight:700; font-size:1.25rem; }
.kyb-s :where(p){ margin:0 0 1em; }
.kyb-wrap{ max-width:var(--kyb-wrap); margin:0 auto; padding:0 20px; }
.kyb-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.kyb-placeholder{ background:rgba(240,185,11,.18); outline:1px dashed var(--kyb-gold); padding:0 4px; border-radius:2px; }
.kyb-eyebrow{ font-family:'Lato','Sarabun',sans-serif; color:var(--kyb-ember); font-size:.78rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; margin:0 0 12px; display:flex; align-items:center; gap:10px; }
.kyb-eyebrow::before{ content:""; width:28px; height:3px; background:currentColor; }
.kyb-dark .kyb-eyebrow, .kyb-eyebrow.kyb-on-dark{ color:var(--kyb-gold); }
.kyb-tag{ display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:4px 9px; border-radius:2px; background:var(--kyb-rice); color:var(--kyb-charcoal); }
.kyb-tag.kyb-gold{ background:var(--kyb-gold); color:var(--kyb-gold-ink); }
.kyb-tag.kyb-ember{ background:var(--kyb-ember); color:#fff; }
.kyb-sec{ padding:96px 0; }
.kyb-sec.kyb-tight{ padding:64px 0; }
.kyb-sec.kyb-rice{ background:var(--kyb-rice); }
.kyb-dark{ background:var(--kyb-black); color:var(--kyb-paper); }
.kyb-sec.kyb-white{ background:#fff; }
.kyb-dark h1, .kyb-dark h2, .kyb-dark h3{ color:var(--kyb-paper); }
.kyb-sec-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:44px; flex-wrap:wrap; }
.kyb-sec-head p{ max-width:520px; margin:0; color:var(--kyb-charcoal); }
.kyb-dark .kyb-sec-head p{ color:var(--kyb-paper); opacity:.72; }
.kyb-lead{ font-size:1.12rem; }
.kyb-muted{ opacity:.72; }
.kyb-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:'Lato','Sarabun',sans-serif; font-weight:700; font-size:.88rem; letter-spacing:.05em; text-transform:uppercase; text-decoration:none; padding:14px 26px; border-radius:3px; border:2px solid transparent; cursor:pointer; white-space:nowrap; transition:filter .2s, background .2s, color .2s, transform .2s; }
.kyb-btn:active{ transform:translateY(1px); }
.kyb-btn-gold{ background:var(--kyb-gold); color:var(--kyb-gold-ink); }
.kyb-btn-gold:hover{ filter:brightness(1.07); }
.kyb-btn-dark{ background:var(--kyb-ink); color:var(--kyb-gold); }
.kyb-btn-dark:hover{ color:#fff; }
.kyb-btn-ghost{ border-color:currentColor; color:inherit; background:transparent; }
.kyb-btn-ghost:hover{ background:var(--kyb-paper); color:var(--kyb-ink); border-color:var(--kyb-paper); }
.kyb-btn-line{ border-color:var(--kyb-line); color:var(--kyb-ink); background:var(--kyb-canvas); }
.kyb-btn-line:hover{ border-color:var(--kyb-ink); }
.kyb-btn-sm{ padding:10px 16px; font-size:.78rem; }
.kyb-btn-block{ width:100%; }
.kyb-btn .kyb-arr{ transition:transform .2s; }
.kyb-btn:hover .kyb-arr{ transform:translateX(3px); }
.kyb-topbar{ background:#555049; color:#fff; font-family:'Lato','Sarabun',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.kyb-topbar .kyb-wrap{ display:flex; justify-content:center; align-items:center; gap:16px; min-height:34px; text-align:center; }
.kyb-topbar .kyb-tb-wa{ color:#4ee07a; }
.kyb-topbar a{ text-decoration:none; }
.kyb-topbar .kyb-tb-links{ display:flex; gap:18px; }
@media (max-width:700px){
.kyb-topbar .kyb-tb-links, .kyb-topbar .kyb-tb-hide{ display:none; }
.kyb-topbar .kyb-wrap{ justify-content:center; text-align:center; }
 }
.kyb-site-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.97); backdrop-filter:blur(8px); color:var(--kyb-ink); border-bottom:3px solid var(--kyb-ember); box-shadow:0 2px 14px rgba(0,0,0,.06); }
.kyb-site-header .kyb-wrap{ display:flex; align-items:center; gap:22px; height:86px; }
.kyb-site-header .kyb-brand svg{ width:60px; height:60px; }
.kyb-site-header .kyb-brand small{ color:var(--kyb-ember); }
.kyb-hd-social{ display:flex; gap:6px; padding-left:18px; border-left:1px solid var(--kyb-line); }
.kyb-hd-social .kyb-sq{ width:36px; height:36px; border-radius:5px; display:grid; place-items:center; color:#fff; }
.kyb-hd-social .kyb-sq svg{ width:18px; height:18px; }
.kyb-hd-social .kyb-fb{ background:#3b5998; }
.kyb-hd-social .kyb-mail{ background:#111; }
.kyb-hd-social .kyb-tel{ background:#4cd964; }
.kyb-hd-social .kyb-sq:hover{ filter:brightness(1.1); }
.kyb-brand{ display:flex; align-items:center; gap:12px; text-decoration:none; flex:none; }
.kyb-brand svg{ width:46px; height:46px; }
.kyb-brand b{ font-family:'Lato','Sarabun',sans-serif; font-weight:900; font-size:1.05rem; line-height:1; letter-spacing:.04em; text-transform:uppercase; display:block; }
.kyb-brand small{ font-family:'Lato','Sarabun',sans-serif; font-size:.64rem; letter-spacing:.3em; text-transform:uppercase; color:var(--kyb-gold); }
.kyb-nav{ display:flex; gap:4px; margin-left:auto; }
.kyb-nav a{ font-family:'Lato','Sarabun',sans-serif; font-weight:600; font-size:.84rem; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; padding:10px 12px; border-radius:3px; opacity:.85; position:relative; }
.kyb-nav a{ color:var(--kyb-charcoal); }
.kyb-nav a:hover{ opacity:1; color:var(--kyb-ember); }
.kyb-nav a.is-active{ opacity:1; color:var(--kyb-ink); }
.kyb-nav a.is-active::after{ content:""; position:absolute; left:12px; right:12px; bottom:2px; height:2px; background:var(--kyb-ember); }
.kyb-nav-toggle{ display:none; margin-left:auto; background:none; border:1px solid var(--kyb-line); color:var(--kyb-ink); width:46px; height:46px; border-radius:3px; cursor:pointer; }
.kyb-nav-toggle span{ display:block; width:20px; height:2px; background:currentColor; margin:4px auto; }
@media (max-width:1060px){
.kyb-nav-toggle{ display:block; }
.kyb-hd-social{ display:none; }
.kyb-nav{ position:absolute; top:100%; left:0; right:0; flex-direction:column; background:#fff; padding:12px 20px 24px; border-bottom:3px solid var(--kyb-ember); transform:translateY(-8px); opacity:0; pointer-events:none; transition:.2s; }
.kyb-nav.is-open{ transform:none; opacity:1; pointer-events:auto; }
.kyb-nav a{ padding:14px 4px; border-bottom:1px solid var(--kyb-line); font-size:1rem; }
.kyb-nav a.is-active::after{ display:none; }
.kyb-nav .kyb-btn{ display:flex; margin-top:14px; }
/* เมนูย่อยบนมือถือ: กดลูกศรเพื่อกาง */
.kyb-nav-item{ display:grid; grid-template-columns:1fr auto; border-bottom:1px solid var(--kyb-line); }
.kyb-nav-item > .kyb-nav-top{ border-bottom:0; }
.kyb-s .kyb-sub-toggle{ width:48px; min-height:48px; }
.kyb-sub{ grid-column:1 / -1; display:none; padding:0 0 10px 12px; }
.kyb-nav-item.is-open > .kyb-sub{ display:block; }
.kyb-sub .kyb-sub-link{ display:block; padding:10px 4px; border-bottom:0; font-size:.92rem; }
.kyb-sub .kyb-sub-l3{ padding-left:20px; font-size:.86rem; }

}
@media (min-width:1061px){
.kyb-nav .kyb-nav-cta{ display:none; }
/* dropdown บนจอคอม: ชี้หรือโฟกัสแล้วเปิด · ชั้น 3 เยื้องใต้ชั้น 2 */
.kyb-nav{ align-items:center; }
.kyb-nav-item{ position:relative; display:flex; align-items:center; }
.kyb-nav-item > .kyb-nav-top{ padding-right:4px; }
.kyb-s .kyb-sub-toggle{ width:22px; height:32px; margin-right:4px; }
.kyb-sub{ position:absolute; top:100%; left:0; min-width:250px; padding:10px; background:#fff; border-radius:var(--kyb-radius); border-top:3px solid var(--kyb-ember); box-shadow:0 18px 40px rgba(0,0,0,.16); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .15s, transform .15s, visibility .15s; z-index:60; }
.kyb-nav-item:hover > .kyb-sub, .kyb-nav-item:focus-within > .kyb-sub, .kyb-nav-item.is-open > .kyb-sub{ opacity:1; visibility:visible; transform:none; }
.kyb-nav-item:hover > .kyb-sub-toggle svg, .kyb-nav-item.is-open > .kyb-sub-toggle svg{ transform:rotate(180deg); }
.kyb-nav .kyb-sub-link{ display:block; padding:9px 12px; white-space:nowrap; text-transform:none; letter-spacing:.01em; font-size:.9rem; opacity:1; }
.kyb-nav .kyb-sub-link:hover{ background:#faf5f3; }
.kyb-nav .kyb-sub-l3{ padding-left:28px; font-size:.84rem; font-weight:500; color:#555; }
.kyb-nav .kyb-sub-l3::before{ content:"– "; color:var(--kyb-ember); }
.kyb-nav .kyb-sub-link.is-active::after{ display:none; }
 }
.kyb-s .kyb-sub-toggle{ display:inline-flex; align-items:center; justify-content:center; padding:0; border:0; background:none; color:inherit; cursor:pointer; min-height:0; }
.kyb-sub-toggle svg{ transition:transform .15s; }
.kyb-nav-item.is-open > .kyb-sub-toggle svg{ transform:rotate(180deg); }
.kyb-ext{ font-size:.8em; opacity:.6; }
.kyb-media{ position:relative; overflow:hidden; background:var(--kyb-ink-2); border-radius:var(--kyb-radius); }
.kyb-media svg.kyb-scene, .kyb-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kyb-media .kyb-logo-mark{ position:absolute; top:12px; left:12px; width:34px; height:34px; z-index:2; }
.kyb-media .kyb-cap{ position:absolute; z-index:2; left:12px; bottom:12px; font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:var(--kyb-canvas); color:var(--kyb-charcoal); padding:4px 9px; border-radius:3px; }
.kyb-r-16x9{ aspect-ratio:16/9; }
.kyb-r-16x10{ aspect-ratio:16/10; }
.kyb-r-4x3{ aspect-ratio:4/3; }
.kyb-r-1{ aspect-ratio:1; }
.kyb-r-3x4{ aspect-ratio:3/4; }
.kyb-hero{ position:relative; overflow:hidden; background:var(--kyb-black); color:var(--kyb-paper); }
.kyb-hero-bg{ position:absolute; inset:0; }
.kyb-hero-bg svg{ width:100%; height:100%; }
.kyb-hero-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, #000 0%, rgba(0,0,0,.82) 42%, rgba(0,0,0,.2) 100%), linear-gradient(0deg, #000 0%, transparent 30%); }
.kyb-hero .kyb-wrap{ position:relative; z-index:2; }
.kyb-hero-home .kyb-wrap{ display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:end; padding-top:110px; padding-bottom:90px; min-height:min(88vh,760px); }
.kyb-hero h1{ margin-bottom:.25em; }
.kyb-hero h1 em{ font-style:normal; color:var(--kyb-gold); display:block; }
.kyb-hero .kyb-lead{ max-width:520px; opacity:.85; margin-bottom:30px; }
.kyb-hero-ctas{ display:flex; gap:12px; flex-wrap:wrap; }
@media (max-width:900px){
.kyb-hero-home .kyb-wrap{ grid-template-columns:1fr; padding-top:72px; padding-bottom:56px; min-height:0; }
 }
.kyb-next-card{ background:rgba(31,26,21,.88); border:1px solid var(--kyb-line-d); border-top:4px solid var(--kyb-gold); border-radius:var(--kyb-radius); padding:24px; backdrop-filter:blur(6px); }
.kyb-next-card h3{ font-size:1.6rem; margin:6px 0 4px; }
.kyb-next-card .kyb-date{ font-family:'Lato','Sarabun',sans-serif; font-weight:600; color:var(--kyb-gold); margin:0 0 16px; }
.kyb-next-card .kyb-matchup{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:14px 0; border-top:1px solid var(--kyb-line-d); border-bottom:1px solid var(--kyb-line-d); margin-bottom:16px; }
.kyb-next-card .kyb-matchup span{ font-family:'Lato','Sarabun',sans-serif; font-weight:700; font-size:.95rem; line-height:1.2; }
.kyb-next-card .kyb-matchup span:last-child{ text-align:right; }
.kyb-vs{ font-family:'Lato','Sarabun',sans-serif; font-weight:900; font-size:.8rem; color:var(--kyb-gold-ink); background:var(--kyb-gold); border-radius:50%; width:38px; height:38px; display:grid; place-items:center; flex:none; }
.kyb-countdown{ display:flex; gap:8px; margin-bottom:18px; }
.kyb-countdown div{ flex:1; text-align:center; padding:8px 4px; border-radius:4px; background:rgba(250,246,236,.06); border:1px solid var(--kyb-line-d); }
.kyb-countdown b{ display:block; font-family:'Lato','Sarabun',sans-serif; font-size:1.5rem; font-weight:900; line-height:1.1; font-variant-numeric:tabular-nums; }
.kyb-countdown small{ font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:.65; }
.kyb-hero-page .kyb-wrap{ padding-top:84px; padding-bottom:72px; }
.kyb-hero-page p.kyb-lead{ margin-bottom:0; }
.kyb-crumbs{ font-size:.8rem; opacity:.7; margin-bottom:22px; }
.kyb-crumbs a{ text-decoration:underline; text-underline-offset:3px; }
.kyb-crumbs a:hover{ color:var(--kyb-gold); }
.kyb-strip{ background:var(--kyb-gold); color:var(--kyb-gold-ink); }
.kyb-strip .kyb-wrap{ display:grid; grid-template-columns:repeat(4,1fr); }
.kyb-strip .kyb-item{ padding:22px 18px; display:flex; gap:14px; align-items:center; border-left:1px solid rgba(58,42,2,.18); }
.kyb-strip .kyb-item:first-child{ border-left:0; padding-left:0; }
.kyb-strip svg{ width:30px; height:30px; flex:none; }
.kyb-strip small{ display:block; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:.75; }
.kyb-strip b{ font-family:'Lato','Sarabun',sans-serif; font-size:1.02rem; line-height:1.2; }
@media (max-width:860px){
.kyb-strip .kyb-wrap{ grid-template-columns:1fr 1fr; }
.kyb-strip .kyb-item{ padding:16px 12px; }
.kyb-strip .kyb-item:nth-child(3){ border-left:0; padding-left:0; }
.kyb-strip .kyb-item:nth-child(n+3){ border-top:1px solid rgba(58,42,2,.18); }
 }
.kyb-grid{ display:grid; gap:24px; }
.kyb-g2{ grid-template-columns:repeat(2,1fr); }
.kyb-g3{ grid-template-columns:repeat(3,1fr); }
.kyb-g4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:960px){
.kyb-g3, .kyb-g4{ grid-template-columns:repeat(2,1fr); }
 }
@media (max-width:640px){
.kyb-g2, .kyb-g3, .kyb-g4{ grid-template-columns:1fr; }
 }
.kyb-card{ display:flex; flex-direction:column; background:var(--kyb-canvas); border:1px solid var(--kyb-line); border-radius:var(--kyb-radius); overflow:hidden; box-shadow:var(--kyb-shadow); transition:transform .22s, box-shadow .22s; }
.kyb-card:hover{ transform:translateY(-5px); box-shadow:0 22px 44px rgba(21,18,15,.16); }
.kyb-card .kyb-media{ border-radius:0; }
.kyb-card-body{ padding:24px; display:flex; flex-direction:column; flex:1; }
.kyb-card-body .kyb-btn{ margin-top:auto; align-self:flex-start; }
.kyb-card-body h3{ margin:8px 0 8px; }
.kyb-card-body p{ color:var(--kyb-charcoal); font-size:.94rem; }
.kyb-card-accent{ border-left:4px solid var(--kyb-gold); }
.kyb-price{ font-family:'Lato','Sarabun',sans-serif; font-weight:900; font-size:1.9rem; line-height:1; }
.kyb-price small{ font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; opacity:.7; margin-left:4px; }
.kyb-chips{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 16px; padding:0; list-style:none; }
.kyb-chips li{ font-size:.74rem; font-weight:600; color:var(--kyb-charcoal); background:var(--kyb-rice); border-radius:20px; padding:5px 11px; }
.kyb-ticks{ list-style:none; padding:0; margin:0 0 20px; }
.kyb-ticks li{ position:relative; padding-left:26px; margin-bottom:8px; font-size:.94rem; }
.kyb-ticks li::before{ content:""; position:absolute; left:0; top:.45em; width:14px; height:8px; border-left:2.5px solid var(--kyb-ember); border-bottom:2.5px solid var(--kyb-ember); transform:rotate(-45deg); }
.kyb-dark .kyb-ticks li::before, .kyb-seat.is-vip .kyb-ticks li::before{ border-color:var(--kyb-gold); }
.kyb-fights{ display:flex; flex-direction:column; gap:14px; }
.kyb-fight{ display:grid; grid-template-columns:92px 1fr auto 200px; gap:24px; align-items:center; background:var(--kyb-canvas); border:1px solid var(--kyb-line); border-radius:var(--kyb-radius); padding:16px; transition:transform .22s, border-color .22s; text-decoration:none; }
.kyb-fight:hover{ transform:translateY(-4px); border-color:var(--kyb-gold); }
.kyb-dark .kyb-fight{ background:var(--kyb-ink-2); border-color:var(--kyb-line-d); }
.kyb-datebox{ background:var(--kyb-gold); color:var(--kyb-gold-ink); border-radius:4px; text-align:center; padding:12px 6px; font-family:'Lato','Sarabun',sans-serif; }
.kyb-datebox .kyb-d{ display:block; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.kyb-datebox .kyb-n{ display:block; font-size:2rem; font-weight:900; line-height:1; }
.kyb-datebox .kyb-m{ display:block; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.kyb-fight h3{ margin:6px 0 4px; }
.kyb-fight .kyb-meta{ font-size:.86rem; opacity:.75; margin:0; }
.kyb-fight .kyb-media{ aspect-ratio:16/10; }
.kyb-fight.is-past{ opacity:.7; }
.kyb-fight.is-past .kyb-datebox{ background:var(--kyb-charcoal); color:var(--kyb-paper); }
@media (max-width:900px){
.kyb-fight{ grid-template-columns:78px 1fr; }
.kyb-fight .kyb-media{ display:none; }
.kyb-fight .kyb-btn{ grid-column:1/-1; }
 }
.kyb-seats{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; }
@media (max-width:900px){
.kyb-seats{ grid-template-columns:1fr; }
 }
.kyb-seat{ position:relative; display:flex; flex-direction:column; background:var(--kyb-ink-2); border:1px solid var(--kyb-line-d); border-radius:var(--kyb-radius); padding:30px 26px; }
.kyb-seat h3{ font-size:1.5rem; margin:10px 0 6px; }
.kyb-seat .kyb-price{ color:var(--kyb-paper); margin:10px 0 18px; font-size:2.4rem; }
.kyb-seat p{ opacity:.72; font-size:.94rem; }
.kyb-seat .kyb-btn{ margin-top:auto; }
.kyb-seat.is-vip{ background:linear-gradient(160deg,#241c08,#000 70%); border:2px solid var(--kyb-gold); transform:translateY(-12px); box-shadow:0 30px 60px rgba(0,0,0,.4); }
.kyb-seat.is-vip .kyb-price{ color:var(--kyb-gold); }
.kyb-seat .kyb-ribbon{ position:absolute; top:-13px; left:26px; }
@media (max-width:900px){
.kyb-seat.is-vip{ transform:none; }
 }
.kyb-seat-note{ text-align:center; margin-top:34px; font-size:.88rem; opacity:.7; }
.kyb-ringmap{ background:var(--kyb-ink-2); border-radius:var(--kyb-radius); padding:24px; border:1px solid var(--kyb-line-d); }
.kyb-ringmap svg{ width:100%; height:auto; display:block; }
.kyb-legend{ display:flex; flex-wrap:wrap; gap:16px; margin-top:16px; font-size:.84rem; }
.kyb-legend span{ display:flex; gap:8px; align-items:center; }
.kyb-legend i{ width:14px; height:14px; border-radius:3px; display:inline-block; }
.kyb-split{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.kyb-split.kyb-rev > :first-child{ order:2; }
@media (max-width:900px){
.kyb-split{ grid-template-columns:1fr; gap:36px; }
.kyb-split.kyb-rev > :first-child{ order:0; }
 }
.kyb-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:28px 0 32px; }
.kyb-stats div{ border-left:3px solid var(--kyb-gold); padding-left:14px; }
.kyb-stats b{ display:block; font-family:'Lato','Sarabun',sans-serif; font-size:2rem; font-weight:900; line-height:1; }
.kyb-stats small{ font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:.7; }
.kyb-media-stack{ position:relative; }
.kyb-media-stack .kyb-media:first-child{ aspect-ratio:4/5; width:78%; }
.kyb-media-stack .kyb-media:last-child{ position:absolute; right:0; bottom:-30px; width:52%; aspect-ratio:1; border:6px solid var(--kyb-canvas); box-shadow:var(--kyb-shadow); }
.kyb-rice .kyb-media-stack .kyb-media:last-child{ border-color:var(--kyb-rice); }
.kyb-band{ position:relative; overflow:hidden; border-radius:var(--kyb-radius); background:var(--kyb-ink); color:var(--kyb-paper); display:grid; grid-template-columns:1.1fr .9fr; min-height:380px; }
.kyb-band .kyb-band-body{ padding:52px; position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; }
.kyb-band .kyb-media{ border-radius:0; }
@media (max-width:860px){
.kyb-band{ grid-template-columns:1fr; }
.kyb-band .kyb-band-body{ padding:32px 24px; }
.kyb-band .kyb-media{ aspect-ratio:16/9; order:-1; }
 }
.kyb-gallery{ columns:4 240px; column-gap:14px; }
.kyb-gallery figure{ margin:0 0 14px; break-inside:avoid; cursor:zoom-in; position:relative; }
.kyb-gallery figure .kyb-media{ transition:transform .3s; }
.kyb-gallery figure:hover .kyb-media{ transform:scale(1.02); }
.kyb-gallery figcaption{ position:absolute; left:10px; bottom:10px; z-index:3; font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:var(--kyb-canvas); color:var(--kyb-charcoal); padding:4px 8px; border-radius:3px; opacity:0; transform:translateY(4px); transition:.2s; }
.kyb-gallery figure:hover figcaption{ opacity:1; transform:none; }
.kyb-gallery-teaser{ display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:220px 220px; gap:14px; }
.kyb-gallery-teaser .kyb-media:first-child{ grid-row:span 2; }
@media (max-width:760px){
.kyb-gallery-teaser{ grid-template-columns:1fr 1fr; grid-template-rows:auto; }
.kyb-gallery-teaser .kyb-media{ aspect-ratio:1; }
.kyb-gallery-teaser .kyb-media:first-child{ grid-column:span 2; grid-row:auto; aspect-ratio:16/10; }
 }
.kyb-filters{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; }
.kyb-chip{ font-family:'Lato','Sarabun',sans-serif; font-weight:600; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; padding:10px 18px; border:1px solid var(--kyb-line); border-radius:30px; background:var(--kyb-canvas); cursor:pointer; color:var(--kyb-charcoal); }
.kyb-chip:hover{ border-color:var(--kyb-gold); color:var(--kyb-ink); }
.kyb-chip.is-active{ background:var(--kyb-ink); border-color:var(--kyb-ink); color:var(--kyb-gold); }
.kyb-lightbox{ position:fixed; inset:0; z-index:100; background:rgba(11,9,6,.94); display:none; align-items:center; justify-content:center; padding:40px 20px; }
.kyb-lightbox.is-open{ display:flex; }
.kyb-lightbox .kyb-media{ width:min(1000px,100%); aspect-ratio:16/10; }
.kyb-lightbox button{ position:absolute; background:none; border:0; color:var(--kyb-paper); font-size:2rem; cursor:pointer; width:52px; height:52px; }
.kyb-lb-close{ top:14px; right:14px; }
.kyb-lb-prev{ left:8px; top:50%; }
.kyb-lb-next{ right:8px; top:50%; }
.kyb-lb-cap{ position:absolute; bottom:22px; left:0; right:0; text-align:center; color:var(--kyb-paper); font-family:'Lato','Sarabun',sans-serif; letter-spacing:.06em; text-transform:uppercase; font-size:.85rem; }
.kyb-channels{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; }
.kyb-channel b{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kyb-channel > div{ min-width:0; }
.kyb-channel{ display:flex; gap:14px; align-items:center; padding:18px; border:1px solid var(--kyb-line); border-radius:var(--kyb-radius); background:var(--kyb-canvas); text-decoration:none; transition:border-color .2s, transform .2s; }
.kyb-channel:hover{ border-color:var(--kyb-gold); transform:translateY(-3px); }
.kyb-channel .kyb-ic{ width:46px; height:46px; border-radius:50%; display:grid; place-items:center; flex:none; color:#fff; }
.kyb-channel .kyb-ic svg{ width:22px; height:22px; }
.kyb-channel small{ display:block; font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--kyb-charcoal); }
.kyb-channel b{ font-family:'Lato','Sarabun',sans-serif; font-weight:600; color:var(--kyb-ink); }
.kyb-map{ border-radius:var(--kyb-radius); overflow:hidden; border:1px solid var(--kyb-line); aspect-ratio:4/3; background:var(--kyb-sand); }
.kyb-map iframe{ width:100%; height:100%; border:0; filter:grayscale(.3) contrast(1.05); }
.kyb-form{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.kyb-form .kyb-full{ grid-column:1/-1; }
@media (max-width:600px){
.kyb-form{ grid-template-columns:1fr; }
 }
.kyb-field label{ display:block; font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:6px; color:var(--kyb-charcoal); }
.kyb-field input, .kyb-field select, .kyb-field textarea{ width:100%; font:inherit; padding:13px 14px; border:1px solid var(--kyb-line); border-radius:4px; background:var(--kyb-canvas); color:var(--kyb-ink); }
.kyb-field input:focus, .kyb-field select:focus, .kyb-field textarea:focus{ outline:2px solid var(--kyb-gold); outline-offset:1px; border-color:var(--kyb-gold); }
.kyb-form-note{ font-size:.82rem; color:var(--kyb-charcoal); }
.kyb-form-ok{ display:none; padding:14px 16px; background:#e8f3e6; border-left:4px solid #3c8a3a; border-radius:4px; font-weight:600; }
.kyb-steps{ counter-reset:s; list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.kyb-steps li{ counter-increment:s; display:grid; grid-template-columns:48px 1fr; gap:16px; padding:18px; background:var(--kyb-canvas); border:1px solid var(--kyb-line); border-radius:var(--kyb-radius); }
.kyb-steps li::before{ content:counter(s,decimal-leading-zero); font-family:'Lato','Sarabun',sans-serif; font-weight:900; font-size:1.3rem; color:var(--kyb-gold-ink); background:var(--kyb-gold); border-radius:4px; display:grid; place-items:center; height:48px; }
.kyb-steps b{ font-family:'Lato','Sarabun',sans-serif; display:block; }
.kyb-steps span{ font-size:.92rem; color:var(--kyb-charcoal); }
.kyb-faq details{ border-bottom:1px solid var(--kyb-line); padding:18px 0; }
.kyb-faq summary{ font-family:'Lato','Sarabun',sans-serif; font-weight:600; font-size:1.08rem; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; }
.kyb-faq summary::-webkit-details-marker{ display:none; }
.kyb-faq summary::after{ content:"+"; color:var(--kyb-ember); font-size:1.4rem; line-height:1; transition:transform .2s; }
.kyb-faq details[open] summary::after{ transform:rotate(45deg); }
.kyb-faq details p{ margin:12px 0 0; color:var(--kyb-charcoal); }
.kyb-table{ width:100%; border-collapse:collapse; background:var(--kyb-canvas); border-radius:var(--kyb-radius); overflow:hidden; border:1px solid var(--kyb-line); }
.kyb-table th, .kyb-table td{ text-align:left; padding:14px 18px; border-bottom:1px solid var(--kyb-line); font-size:.94rem; }
.kyb-table th{ font-family:'Lato','Sarabun',sans-serif; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; background:var(--kyb-ink); color:var(--kyb-gold); }
.kyb-table tr:last-child td{ border-bottom:0; }
.kyb-table td b{ font-family:'Lato','Sarabun',sans-serif; }
.kyb-table-wrap{ overflow-x:auto; }
.kyb-cta-band{ background:var(--kyb-ember); color:#fff; }
.kyb-cta-band .kyb-wrap{ display:flex; justify-content:space-between; align-items:center; gap:24px; padding-top:44px; padding-bottom:44px; flex-wrap:wrap; }
.kyb-cta-band h2{ margin:0; font-size:clamp(1.5rem,3vw,2.2rem); color:#fff; }
.kyb-cta-band p{ margin:4px 0 0; opacity:.85; }
.kyb-site-footer{ background:var(--kyb-black); color:var(--kyb-paper); padding:72px 0 0; }
.kyb-foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; }
@media (max-width:900px){
.kyb-foot-grid{ grid-template-columns:1fr 1fr; }
 }
@media (max-width:560px){
.kyb-foot-grid{ grid-template-columns:1fr; }
 }
.kyb-site-footer h4{ font-size:.8rem; letter-spacing:.16em; color:var(--kyb-gold); margin-bottom:16px; }
.kyb-site-footer ul{ list-style:none; padding:0; margin:0; }
.kyb-site-footer li{ margin-bottom:9px; font-size:.92rem; opacity:.8; }
.kyb-site-footer a{ text-decoration:none; }
.kyb-site-footer a:hover{ color:var(--kyb-gold); opacity:1; }
.kyb-socials{ display:flex; gap:10px; margin-top:18px; }
.kyb-socials a{ width:40px; height:40px; border:1px solid var(--kyb-line-d); border-radius:50%; display:grid; place-items:center; }
.kyb-socials svg{ width:18px; height:18px; }
.kyb-foot-bottom{ margin-top:56px; border-top:1px solid var(--kyb-line-d); padding:22px 0; font-size:.8rem; opacity:.6; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.kyb-float-chat{ position:fixed; right:18px; bottom:18px; z-index:60; display:flex; align-items:center; gap:10px; padding:4px 16px 4px 4px; border-radius:30px; background:#e8e6e2; color:#555; text-decoration:none; font-size:.86rem; box-shadow:0 6px 20px rgba(0,0,0,.18); }
.kyb-float-chat .kyb-fc-ic{ width:36px; height:36px; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; }
.kyb-float-chat svg{ width:20px; height:20px; }
.kyb-float-chat:hover{ background:#fff; }
@media (max-width:600px){
.kyb-float-chat{ padding:4px; }
.kyb-float-chat .kyb-fc-txt{ display:none; }
.kyb-float-chat .kyb-fc-ic{ width:50px; height:50px; }
.kyb-float-chat svg{ width:26px; height:26px; }
 }
.kyb-js .kyb-reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.kyb-js .kyb-reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
.kyb-js .kyb-reveal{ opacity:1; transform:none; }
.kyb-card:hover, .kyb-fight:hover, .kyb-channel:hover{ transform:none; }

}
.kyb-steps.kyb-cols3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:860px){
.kyb-steps.kyb-cols3{ grid-template-columns:1fr; }
 }
.kyb-dark .kyb-book-box h1, .kyb-dark .kyb-book-box h2, .kyb-dark .kyb-book-box h3{ color:var(--kyb-ink); }
.kyb-btn-pill{ border-radius:40px; background:linear-gradient(180deg,#ffd76a,#f0b90b); color:#fff; text-shadow:0 1px 2px rgba(58,42,2,.35); box-shadow:0 8px 20px rgba(0,0,0,.25); padding:14px 32px; font-size:1rem; }
.kyb-btn-pill:hover{ filter:brightness(1.06); color:#fff; }
.kyb-hero-welcome{ background:#000; }
.kyb-hero-welcome .kyb-hero-bg{ left:auto; width:62%; }
.kyb-hero-welcome .kyb-hero-bg::after{ background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.2) 40%,transparent 70%); }
.kyb-hero-welcome .kyb-sparkle{ position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(1.5px 1.5px at 12% 20%,#ffe39a,transparent),radial-gradient(1px 1px at 18% 70%,#ffe39a,transparent),
    radial-gradient(1.5px 1.5px at 30% 12%,#ffd24d,transparent),radial-gradient(1px 1px at 8% 48%,#ffd24d,transparent),
    radial-gradient(1.5px 1.5px at 92% 30%,#ffe39a,transparent),radial-gradient(1px 1px at 86% 78%,#ffd24d,transparent),
    linear-gradient(115deg,transparent 0 6%,rgba(240,185,11,.55) 6.4%,transparent 7.4%,transparent 11%,rgba(240,185,11,.3) 11.3%,transparent 12%),
    linear-gradient(115deg,transparent 0 86%,rgba(240,185,11,.45) 86.4%,transparent 87.4%,transparent 91%,rgba(240,185,11,.25) 91.3%,transparent 92%); }
.kyb-hero-welcome .kyb-wrap{ display:flex; flex-direction:column; justify-content:center; min-height:min(80vh,620px); padding-top:60px; padding-bottom:60px; }
.kyb-hero-welcome .kyb-welcome{ font-family:'Lato','Sarabun',sans-serif; font-weight:600; font-size:clamp(1.3rem,2.4vw,1.9rem); margin:0; }
.kyb-hero-welcome h1{ font-size:clamp(2.2rem,5.4vw,4.2rem); max-width:12ch; margin:0 0 26px; }
.kyb-hero-welcome h1 .kyb-red{ color:#e53228; }
.kyb-fightinfo{ background:#fff; color:var(--kyb-black); text-align:center; padding:80px 0; }
.kyb-fightinfo .kyb-l1{ font-family:'Lato','Sarabun',sans-serif; font-weight:700; font-size:clamp(1.6rem,3.6vw,2.6rem); text-transform:uppercase; margin:0; letter-spacing:.03em; }
.kyb-fightinfo .kyb-l2{ font-family:'Lato','Sarabun',sans-serif; font-weight:700; font-size:clamp(1.1rem,2.4vw,1.8rem); text-transform:uppercase; margin:10px 0 0; letter-spacing:.04em; }
.kyb-fightinfo .kyb-l3{ font-family:'Lato','Sarabun',sans-serif; font-weight:900; font-size:clamp(2rem,4.6vw,3.2rem); text-transform:uppercase; margin:12px 0 0; }
.kyb-features{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:64px; }
@media (max-width:900px){
.kyb-features{ grid-template-columns:1fr 1fr; }
 }
@media (max-width:520px){
.kyb-features{ grid-template-columns:1fr; }
 }
.kyb-features svg{ width:62px; height:62px; color:var(--kyb-gold); margin:0 auto 18px; display:block; }
.kyb-features h3{ text-transform:none; font-size:1.45rem; color:var(--kyb-black); margin-bottom:10px; }
.kyb-features p{ font-size:.95rem; color:var(--kyb-charcoal); margin:0; }
.kyb-split-full{ display:grid; grid-template-columns:1fr 1fr; background:var(--kyb-black); color:#fff; min-height:520px; }
.kyb-split-full .kyb-txt{ padding:80px max(20px, calc((100vw - var(--kyb-wrap))/2 + 20px)); padding-right:48px; display:flex; flex-direction:column; justify-content:center; }
.kyb-split-full h2{ font-size:clamp(2.2rem,4.4vw,3.6rem); letter-spacing:.04em; color:#fff; margin-bottom:28px; }
.kyb-split-full p{ opacity:.9; max-width:440px; }
.kyb-split-full .kyb-media{ border-radius:0; }
@media (max-width:860px){
.kyb-split-full{ grid-template-columns:1fr; }
.kyb-split-full .kyb-media{ aspect-ratio:16/10; }
.kyb-split-full .kyb-txt{ padding:56px 20px; }
 }
.kyb-center-head{ text-align:center; margin-bottom:56px; }
.kyb-center-head::before{ content:""; display:block; width:100px; height:4px; background:var(--kyb-gold); margin:0 auto 26px; }
.kyb-center-head h2{ color:inherit; }
.kyb-reserve .kyb-center-head::before{ background:rgba(255,255,255,.35); }
.kyb-ring-gal{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.kyb-ring-gal .kyb-big{ grid-row:span 2; aspect-ratio:auto; min-height:560px; }
.kyb-ring-gal .kyb-ring-sub{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.kyb-ring-gal .kyb-media{ border-radius:0; }
@media (max-width:760px){
.kyb-ring-gal{ grid-template-columns:1fr; }
.kyb-ring-gal .kyb-big{ min-height:0; aspect-ratio:4/5; grid-row:auto; }
 }
.kyb-reserve{ background:#dd3333; color:#fff; text-align:center; padding:26px 0 90px; }
.kyb-reserve .kyb-center-head{ margin-bottom:28px; }
.kyb-reserve h2{ font-size:clamp(1.6rem,3.6vw,2.7rem); letter-spacing:.03em; }
.kyb-quote-band{ position:relative; overflow:hidden; color:#fff; text-align:center; }
.kyb-quote-band .kyb-media{ position:absolute; inset:0; border-radius:0; }
.kyb-quote-band .kyb-media::after{ content:""; position:absolute; inset:0; background:rgba(10,8,6,.55); z-index:1; }
.kyb-quote-band .kyb-wrap{ position:relative; z-index:2; padding-top:170px; padding-bottom:170px; }
.kyb-quote-band blockquote{ margin:0; font-family:'Lato','Sarabun',sans-serif; font-weight:600; font-size:clamp(1.5rem,3.4vw,2.5rem); line-height:1.3; }
.kyb-quote-band cite{ display:block; margin-top:24px; font-style:normal; font-family:'Lato','Sarabun',sans-serif; font-weight:700; letter-spacing:.06em; text-transform:uppercase; opacity:.85; }
.kyb-contact-hero{ padding-top:40px; }
.kyb-contact-hero .kyb-banner{ position:relative; height:420px; overflow:hidden; display:grid; place-items:center; }
.kyb-contact-hero .kyb-banner .kyb-media{ position:absolute; inset:0; border-radius:0; }
.kyb-contact-hero .kyb-banner .kyb-media::after{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.45); z-index:1; }
.kyb-contact-hero .kyb-banner h1{ position:relative; z-index:2; color:#fff; text-transform:none; font-size:clamp(3rem,8vw,5.6rem); margin:0 0 70px; }
.kyb-contact-cards{ display:grid; grid-template-columns:1fr 1fr; gap:30px; margin:-80px 30px 0; position:relative; z-index:3; }
@media (max-width:860px){
.kyb-contact-cards{ grid-template-columns:1fr; margin:-60px 0 0; }
 }
.kyb-ccard{ background:#fff; padding:44px 40px; box-shadow:0 10px 30px rgba(0,0,0,.08); text-align:center; }
.kyb-ccard h2{ font-size:1.5rem; letter-spacing:.03em; margin-bottom:18px; }
.kyb-ccard .kyb-addr{ font-weight:600; color:var(--kyb-charcoal); }
.kyb-ccard .kyb-map{ aspect-ratio:1/1.05; margin-top:22px; border-radius:0; }
.kyb-ccard .kyb-form{ text-align:left; grid-template-columns:1fr 1fr; }
.kyb-ccard .kyb-field label{ text-align:center; text-transform:none; letter-spacing:0; font-size:1rem; font-family:'Lato','Sarabun',sans-serif; font-weight:600; color:var(--kyb-ink); }
.kyb-ccard .kyb-field .kyb-req{ color:var(--kyb-ember); }
.kyb-ccard .kyb-field small{ display:block; text-align:center; font-size:.8rem; color:var(--kyb-charcoal); margin-top:4px; }
.kyb-ccard .kyb-name-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.kyb-ccard .kyb-submit{ text-align:center; }
.kyb-ccard{ display:flex; flex-direction:column; }
.kyb-ccard .kyb-map{ flex:1; min-height:340px; aspect-ratio:auto; }
.kyb-dark .kyb-faq details{ border-color:var(--kyb-line-d); }
.kyb-dark .kyb-faq details p{ color:var(--kyb-paper); opacity:.75; }
.kyb-dark .kyb-hours li{ border-color:var(--kyb-line-d); }
.kyb-dark .kyb-channel{ border-color:transparent; }
.kyb-dark .kyb-partner{ background:rgba(240,185,11,.12); }
.kyb-sec.kyb-white .kyb-day{ border-color:var(--kyb-line); }
.kyb-sec.kyb-white .kyb-day b{ color:var(--kyb-ember); }
.kyb-sec.kyb-white .kyb-center-head::before{ background:var(--kyb-gold); }
.kyb-seat-img{ margin:-30px -26px 22px; aspect-ratio:16/10; border-radius:6px 6px 0 0; flex:none; }
.kyb-seat.is-vip .kyb-seat-img{ margin:-30px -26px 22px; border-radius:4px 4px 0 0; }
.kyb-seat .kyb-tag{ align-self:flex-start; }
.kyb-seat .kyb-ribbon{ z-index:3; }
.kyb-split-full{ min-height:calc(100vh - 89px); min-height:calc(100svh - 89px); }
.kyb-split-full .kyb-media{ min-height:100%; }
@media (max-width:860px){
.kyb-split-full{ min-height:0; }
 }
.kyb-dark .kyb-card h3, .kyb-dark .kyb-card h2{ color:var(--kyb-ink); }
.kyb-sec-head{ flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:14px; }
.kyb-sec-head h2{ margin-bottom:0; }
.kyb-sec-head p{ max-width:640px; }


/* ---- หน้าจอง ---- */
.kyb-bk-banner{ position:relative; height:300px; overflow:hidden; background:#000; color:#fff; }
.kyb-bk-banner .kyb-media{ position:absolute; inset:0; border-radius:0; }
.kyb-bk-banner .kyb-media::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#000 10%,rgba(0,0,0,.35) 70%); }
.kyb-bk-banner .kyb-wrap{ position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:36px; }
.kyb-bk-banner h1{ font-size:clamp(2rem,5vw,3.4rem); margin:0; color:#fff; }
.kyb-bk-banner .kyb-sub{ margin:6px 0 0; opacity:.85; }
@media (max-width:849px){
.kyb-bk-banner{ height:220px; }
 }
.kyb-bk-page{ background:#fff; padding:40px 0 90px; }
.kyb-bk-grid{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:32px; align-items:start; }
@media (max-width:960px){
.kyb-bk-grid{ grid-template-columns:1fr; }
 }
.kyb-bk-progress{ list-style:none; margin:0 0 26px; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; counter-reset:none; }
.kyb-bk-progress li{ display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:6px; background:var(--kyb-rice); font-family:'Lato','Sarabun',sans-serif; font-weight:600; font-size:.88rem; color:var(--kyb-charcoal); }
.kyb-bk-progress i{ font-style:normal; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:#fff; border:1px solid var(--kyb-line); font-weight:900; flex:none; }
.kyb-bk-progress li.is-active{ background:#000; color:#fff; }
.kyb-bk-progress li.is-active i{ background:var(--kyb-gold); color:var(--kyb-gold-ink); border-color:var(--kyb-gold); }
.kyb-bk-progress li.is-done i{ background:var(--kyb-gold); border-color:var(--kyb-gold); color:var(--kyb-gold-ink); }
@media (max-width:560px){
.kyb-bk-progress li{ font-size:.72rem; padding:10px 8px; gap:6px; }
.kyb-bk-progress i{ width:22px; height:22px; }
 }
.kyb-bk-step{ display:none; }
.kyb-bk-step.is-active{ display:block; animation:bkIn .25s ease; }
@keyframes bkIn{
from{ opacity:0; transform:translateY(6px); }
to{ opacity:1; transform:none; }
 }
.kyb-bk-section{ border:1px solid var(--kyb-line); border-radius:8px; padding:22px; margin-bottom:18px; background:#fff; }
.kyb-bk-section-title{ display:flex; align-items:center; gap:10px; font-size:1.05rem; margin:0 0 16px; }
.kyb-bk-section-title svg{ width:22px; height:22px; color:var(--kyb-ember); }
.kyb-bk-hint{ margin-left:auto; font-family:'Lato','Sarabun',sans-serif; text-transform:none; letter-spacing:0; font-size:.9rem; font-weight:600; color:var(--kyb-ember); }
.kyb-bk-back{ background:none; border:0; font:inherit; font-weight:700; color:var(--kyb-charcoal); cursor:pointer; padding:0; margin:0 0 14px; }
.kyb-bk-back:hover{ color:#000; }
.kyb-bk-actions{ display:flex; justify-content:flex-end; }
.kyb-bk-actions .kyb-btn{ min-width:220px; }
.kyb-cal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.kyb-cal-head b{ font-family:'Lato','Sarabun',sans-serif; font-size:1.1rem; text-transform:uppercase; }
.kyb-cal-nav{ width:40px; height:40px; border:1px solid var(--kyb-line); border-radius:50%; background:#fff; cursor:pointer; font-size:1.2rem; }
.kyb-cal-nav:disabled{ opacity:.3; cursor:default; }
.kyb-cal{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.kyb-cal .kyb-dow{ text-align:center; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--kyb-charcoal); padding:4px 0; }
.kyb-cal button{ aspect-ratio:1; border:1px solid var(--kyb-line); border-radius:6px; background:#fff; font:inherit; font-family:'Lato','Sarabun',sans-serif; font-weight:600; cursor:pointer; position:relative; }
.kyb-cal button:hover:not(:disabled){ border-color:#000; }
.kyb-cal button.is-sel, .kyb-cal button.is-edge{ background:#000; color:var(--kyb-gold); border-color:#000; }
.kyb-cal button.is-range{ background:rgba(240,185,11,.22); border-color:transparent; }
.kyb-cal button:disabled{ background:var(--kyb-rice); color:#b9b2a6; cursor:not-allowed; text-decoration:line-through; }
.kyb-cal button.is-full:disabled{ background:var(--kyb-alert-wash,#fbeae6); color:#c9807a; }
.kyb-cal button .kyb-dot{ position:absolute; left:50%; bottom:6px; width:5px; height:5px; margin-left:-2.5px; border-radius:50%; background:var(--kyb-ember); }
.kyb-cal .kyb-blank{ visibility:hidden; }
.kyb-cal-key{ display:flex; gap:18px; flex-wrap:wrap; margin-top:14px; font-size:.84rem; color:var(--kyb-charcoal); }
.kyb-cal-key span{ display:flex; align-items:center; gap:7px; }
.kyb-cal-key i{ width:14px; height:14px; border-radius:3px; border:1px solid var(--kyb-line); }
.kyb-k-open{ background:#fff; }
.kyb-k-sel{ background:#000; border-color:#000 !important; }
.kyb-k-full{ background:#fbeae6; }
.kyb-k-fight{ background:#fff; position:relative; }
.kyb-k-fight::after{ content:""; position:absolute; left:4px; top:4px; width:5px; height:5px; border-radius:50%; background:var(--kyb-ember); }
.kyb-slots{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
.kyb-slots button{ width:100%; text-align:left; padding:14px; border:1px solid var(--kyb-line); border-radius:6px; background:#fff; cursor:pointer; font:inherit; }
.kyb-slots button b{ display:block; font-family:'Lato','Sarabun',sans-serif; font-size:1.2rem; }
.kyb-slots button small{ font-size:.8rem; color:var(--kyb-charcoal); }
.kyb-slots button small.kyb-low{ color:var(--kyb-ember); font-weight:700; }
.kyb-slots button.is-sel{ background:#000; color:#fff; border-color:#000; }
.kyb-slots button.is-sel small{ color:var(--kyb-gold); }
.kyb-slots button:disabled{ background:var(--kyb-rice); color:#b9b2a6; cursor:not-allowed; }
.kyb-seatpick{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
@media (max-width:640px){
.kyb-seatpick{ grid-template-columns:1fr; }
 }
.kyb-seatpick label{ cursor:pointer; }
.kyb-seatpick input{ position:absolute; opacity:0; }
.kyb-seatpick .kyb-opt{ display:block; border:2px solid var(--kyb-line); border-radius:8px; overflow:hidden; background:#fff; transition:border-color .15s; height:100%; }
.kyb-seatpick .kyb-opt .kyb-media{ aspect-ratio:16/9; border-radius:0; }
.kyb-seatpick .kyb-opt .kyb-t{ padding:12px 14px; }
.kyb-seatpick .kyb-opt b{ font-family:'Lato','Sarabun',sans-serif; font-size:1.1rem; display:block; text-transform:uppercase; }
.kyb-seatpick .kyb-opt .kyb-p{ font-family:'Lato','Sarabun',sans-serif; font-weight:900; font-size:1.3rem; }
.kyb-seatpick .kyb-opt small{ display:block; font-size:.78rem; color:var(--kyb-charcoal); }
.kyb-seatpick .kyb-opt small.kyb-low{ color:var(--kyb-ember); font-weight:700; }
.kyb-seatpick input:checked + .kyb-opt{ border-color:var(--kyb-gold); box-shadow:0 0 0 3px rgba(240,185,11,.25); }
.kyb-seatpick input:focus-visible + .kyb-opt{ outline:2px solid #000; outline-offset:2px; }
.kyb-seatpick input:disabled + .kyb-opt{ opacity:.45; cursor:not-allowed; }
.kyb-person{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--kyb-line); }
.kyb-person:last-child{ border-bottom:0; }
.kyb-person b{ display:block; font-family:'Lato','Sarabun',sans-serif; font-size:1.05rem; }
.kyb-person span{ font-size:.86rem; color:var(--kyb-charcoal); }
.kyb-stepper{ display:flex; align-items:center; border:1px solid var(--kyb-line); border-radius:30px; overflow:hidden; flex:none; }
.kyb-stepper button{ width:42px; height:42px; background:#fff; border:0; font-size:1.2rem; cursor:pointer; }
.kyb-stepper button:disabled{ opacity:.3; cursor:default; }
.kyb-stepper output{ min-width:36px; text-align:center; font-family:'Lato','Sarabun',sans-serif; font-weight:700; font-size:1.1rem; }
.kyb-bk-fields{ display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
.kyb-bk-fields .kyb-full{ grid-column:1/-1; }
@media (max-width:600px){
.kyb-bk-fields{ grid-template-columns:1fr; }
 }
.kyb-bk-fields .kyb-opt-l{ font-weight:400; text-transform:none; letter-spacing:0; color:var(--kyb-charcoal); }
.kyb-bk-fields small{ font-size:.8rem; color:var(--kyb-charcoal); }
.kyb-check{ display:flex; gap:10px; align-items:flex-start; font-size:.94rem; cursor:pointer; }
.kyb-check input{ width:18px; height:18px; margin-top:3px; accent-color:#000; }
.kyb-bk-error{ display:none; margin-top:14px; padding:12px 14px; border-left:4px solid var(--kyb-ember); background:#fbeae6; color:#7a1d15; border-radius:4px; font-weight:600; }
.kyb-bk-error.is-on{ display:block; }
.kyb-bk-summary{ position:sticky; top:110px; border:1px solid var(--kyb-line); border-radius:10px; overflow:hidden; box-shadow:var(--kyb-shadow); background:#fff; }
@media (max-width:960px){
.kyb-bk-summary{ position:static; }
 }
.kyb-bk-summary .kyb-head{ background:#000; color:#fff; padding:18px 20px; }
.kyb-bk-summary .kyb-head h3{ color:#fff; margin:0; font-size:1.15rem; }
.kyb-bk-summary .kyb-head span{ font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--kyb-gold); }
.kyb-bk-summary .kyb-body{ padding:18px 20px; }
.kyb-bk-when{ display:flex; gap:12px; padding-bottom:14px; border-bottom:1px dashed var(--kyb-line); }
.kyb-bk-when svg{ width:22px; height:22px; color:var(--kyb-ember); flex:none; margin-top:2px; }
.kyb-bk-when strong{ display:block; font-family:'Lato','Sarabun',sans-serif; }
.kyb-bk-when span{ font-size:.9rem; color:var(--kyb-charcoal); }
.kyb-bk-lines{ padding:12px 0; font-size:.92rem; }
.kyb-bk-lines div{ display:flex; justify-content:space-between; gap:12px; padding:4px 0; }
.kyb-bk-lines .kyb-muted{ color:var(--kyb-charcoal); }
.kyb-bk-total{ display:flex; justify-content:space-between; align-items:baseline; padding:14px 0; border-top:2px solid #000; }
.kyb-bk-total span{ font-family:'Lato','Sarabun',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.kyb-bk-total b{ font-family:'Lato','Sarabun',sans-serif; font-size:1.9rem; }
.kyb-bk-pay{ width:100%; margin:4px 0 10px; }
.kyb-bk-pay:disabled{ opacity:.45; cursor:not-allowed; filter:none; }
.kyb-bk-secure{ text-align:center; font-size:.78rem; color:var(--kyb-charcoal); margin:0 0 6px; }
.kyb-bk-facts{ list-style:none; margin:14px 0 0; padding:14px 0 0; border-top:1px solid var(--kyb-line); }
.kyb-bk-facts li{ display:flex; gap:10px; margin-bottom:10px; font-size:.86rem; color:var(--kyb-charcoal); }
.kyb-bk-facts svg{ width:18px; height:18px; color:var(--kyb-gold-ink); flex:none; margin-top:2px; }
.kyb-bk-facts strong{ display:block; color:#000; font-family:'Lato','Sarabun',sans-serif; font-weight:600; }
.kyb-bk-bar{ display:none; }
@media (max-width:960px){
.kyb-bk-bar{ display:flex; position:fixed; left:0; right:0; bottom:0; z-index:70; background:#000; color:#fff; padding:10px 16px; align-items:center; justify-content:space-between; gap:12px; box-shadow:0 -6px 20px rgba(0,0,0,.25); }
.kyb-bk-bar b{ font-family:'Lato','Sarabun',sans-serif; font-size:1.3rem; display:block; line-height:1; }
.kyb-bk-bar small{ font-size:.72rem; opacity:.7; }
.kyb-bk-page{ padding-bottom:120px; }
body.is-booking .kyb-float-chat{ bottom:80px; }

}
.kyb-bk-done{ position:fixed; inset:0; z-index:120; background:rgba(0,0,0,.75); display:none; align-items:center; justify-content:center; padding:20px; }
.kyb-bk-done.is-on{ display:flex; }
.kyb-bk-done .kyb-box{ background:#fff; border-radius:10px; max-width:460px; width:100%; overflow:hidden; }
.kyb-bk-done .kyb-box .kyb-top{ background:#000; color:#fff; padding:20px 24px; }
.kyb-bk-done .kyb-box .kyb-top h3{ color:var(--kyb-gold); margin:0; }
.kyb-bk-done .kyb-box .kyb-in{ padding:20px 24px; }
.kyb-bk-done .kyb-spin{ width:22px; height:22px; border:3px solid var(--kyb-gold); border-right-color:transparent; border-radius:50%; display:inline-block; animation:sp 1s linear infinite; vertical-align:middle; margin-right:8px; }
@keyframes sp{
to{ transform:rotate(360deg); }
 }
.kyb-seatpick .kyb-opt .kyb-media, .kyb-seatpick .kyb-opt .kyb-t, .kyb-seatpick .kyb-opt .kyb-p{ display:block; }
.kyb-cal button{ aspect-ratio:auto; height:54px; }
@media (max-width:560px){
.kyb-cal button{ height:44px; }
.kyb-cal{ gap:4px; }
 }
.kyb-enq{ padding:36px 40px; }
@media (max-width:600px){
.kyb-enq{ padding:26px 18px; }
 }
.kyb-enq-title{ max-width:520px; margin:0 auto 26px; text-align:left; font-size:1.5rem; letter-spacing:.03em; }
.kyb-enq-f{ max-width:520px; margin:0 auto 22px; text-align:left; }
.kyb-enq-f > label{ display:block; font-family:'Lato','Sarabun',sans-serif; font-weight:600; font-size:1.05rem; color:#000; margin-bottom:10px; }
.kyb-enq-f .kyb-req{ color:var(--kyb-ember); }
.kyb-enq-f input, .kyb-enq-f select, .kyb-enq-f textarea{ width:100%; height:auto; min-height:50px; margin:0; font:inherit; padding:13px 14px; border:1px solid var(--kyb-line); border-radius:4px; background:#fff; color:#000; text-align:left; box-shadow:none; }
.kyb-enq-f select{ text-align:left; text-align-last:left; color:#000; }
.kyb-enq-f input:focus, .kyb-enq-f select:focus, .kyb-enq-f textarea:focus{ outline:2px solid var(--kyb-gold); outline-offset:1px; border-color:var(--kyb-gold); }
.kyb-enq-f small{ display:block; font-size:.82rem; color:var(--kyb-charcoal); margin-top:6px; }
.kyb-enq-name{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.kyb-enq{ overflow:hidden; }
.kyb-enq-shuttle{ margin:-36px -40px 30px; padding:10px 16px; background:#555049; color:#fff; text-align:center; font-family:'Lato','Sarabun',sans-serif; font-weight:600; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; }
.kyb-enq-shuttle a{ color:#4ee07a; text-decoration:none; }
@media (max-width:600px){
.kyb-enq-shuttle{ margin:-26px -18px 24px; }
 }


/* ==== สไตล์เฉพาะหน้า (ยกจาก <style> ของแต่ละหน้าใน design/) ==== */
/* training */
.kyb-pkg{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
@media (max-width:860px){
.kyb-pkg{ grid-template-columns:1fr; }
}
.kyb-pkg .kyb-card-body{ padding:30px; }
.kyb-pkg .kyb-price{ margin:6px 0 18px; }
.kyb-pkg .kyb-card.is-feature{ border:2px solid var(--kyb-gold); }
.kyb-slot-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; padding:0; list-style:none; }
.kyb-slot-chips li{ font-family:'Lato','Sarabun',sans-serif; font-weight:600; font-size:.84rem; padding:6px 12px; border:1px solid var(--kyb-line); border-radius:4px; }
.kyb-trainer .kyb-media{ aspect-ratio:3/4; }
.kyb-trainer .kyb-card-body{ padding:18px; }
.kyb-trainer h3{ font-size:1.05rem; margin:4px 0 2px; }
.kyb-trainer p{ font-size:.86rem; margin:0; }
/* accommodation */
.kyb-avail{ background:var(--kyb-canvas); color:var(--kyb-ink); border-radius:var(--kyb-radius); padding:18px; display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:14px; align-items:end; box-shadow:0 20px 50px rgba(0,0,0,.3); margin-top:30px; max-width:860px; }
@media (max-width:760px){
.kyb-avail{ grid-template-columns:1fr 1fr; }
.kyb-avail .kyb-btn{ grid-column:1/-1; }
}
.kyb-room-foot{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto; padding-top:16px; border-top:1px solid var(--kyb-line); flex-wrap:wrap; }
.kyb-room-foot .kyb-btn{ margin:0; }
.kyb-left{ font-size:.74rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--kyb-ember); }
.kyb-amen{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media (max-width:860px){
.kyb-amen{ grid-template-columns:1fr 1fr; }
}
.kyb-amen div{ padding:20px; border:1px solid var(--kyb-line-d); border-radius:var(--kyb-radius); }
.kyb-amen b{ font-family:'Lato','Sarabun',sans-serif; display:block; font-size:1.05rem; margin:8px 0 4px; }
.kyb-amen span{ font-size:.88rem; opacity:.72; }
.kyb-amen svg{ width:28px; height:28px; color:var(--kyb-gold); }
/* activities */
.kyb-partner{ display:flex; align-items:center; gap:18px; padding:20px 22px; border:1px dashed var(--kyb-gold); border-radius:var(--kyb-radius); background:rgba(240,185,11,.08); margin-top:26px; }
.kyb-partner b{ font-family:'Lato','Sarabun',sans-serif; display:block; }
.kyb-partner span{ font-size:.9rem; opacity:.8; }
.kyb-trip .kyb-meta-row{ display:flex; gap:16px; flex-wrap:wrap; font-size:.82rem; font-weight:600; color:var(--kyb-charcoal); margin-bottom:14px; }
.kyb-trip .kyb-meta-row span{ display:flex; align-items:center; gap:6px; }
.kyb-trip .kyb-meta-row svg{ width:16px; height:16px; color:var(--kyb-ember); }
.kyb-day{ display:grid; grid-template-columns:90px 1fr; gap:18px; padding:16px 0; border-bottom:1px solid var(--kyb-line-d); }
.kyb-day b{ font-family:'Lato','Sarabun',sans-serif; color:var(--kyb-gold); }
/* gallery */
.kyb-video{ position:relative; aspect-ratio:16/9; border-radius:var(--kyb-radius); overflow:hidden; }
.kyb-video .kyb-play{ position:absolute; inset:0; margin:auto; width:84px; height:84px; border-radius:50%; background:var(--kyb-gold); color:var(--kyb-gold-ink); display:grid; place-items:center; z-index:3; border:0; cursor:pointer; box-shadow:0 0 0 12px rgba(240,185,11,.2); }
.kyb-video .kyb-play svg{ width:30px; height:30px; margin-left:4px; }
/* contact */
.kyb-hours{ list-style:none; padding:0; margin:0; }
.kyb-hours li{ display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--kyb-line); font-size:.94rem; }
.kyb-hours b{ font-family:'Lato','Sarabun',sans-serif; }
.kyb-contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:start; }
@media (max-width:900px){
.kyb-contact-grid{ grid-template-columns:1fr; }
}
.kyb-panel{ background:var(--kyb-canvas); border:1px solid var(--kyb-line); border-top:4px solid var(--kyb-gold); border-radius:var(--kyb-radius); padding:30px; box-shadow:var(--kyb-shadow); }

/* ---- เพิ่มสำหรับเวอร์ชัน WordPress ---- */
.kyb-hero-bg img{ width:100%; height:100%; object-fit:cover; display:block; }
.kyb-fight h3 a{ color:inherit; text-decoration:none; }
.kyb-fight h3 a:hover{ color:var(--kyb-ember); }
.kyb-dark .kyb-fight h3 a:hover{ color:var(--kyb-gold); }
.kyb-lbl{ font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--kyb-charcoal); display:block; margin-bottom:8px; }
.kyb-partner-ic{ flex:none; width:46px; height:46px; border-radius:50%; background:#000; display:grid; place-items:center; color:var(--kyb-gold); }
.kyb-partner-ic svg{ width:22px; height:22px; }
.kyb-gallery figure img.kyb-gal-img{ width:100%; height:auto; display:block; border-radius:var(--kyb-radius); transition:transform .3s; }
.kyb-gallery figure:hover img.kyb-gal-img{ transform:scale(1.02); }
.kyb-lightbox .kyb-lb-img{ max-width:min(1100px,100%); max-height:86vh; object-fit:contain; }
.kyb-video-embed iframe{ width:100%; height:auto; aspect-ratio:16/9; border:0; border-radius:var(--kyb-radius); display:block; }
.kyb-book-box{ background:#fff; color:#000; border:1px solid var(--kyb-line); border-top:4px solid var(--kyb-gold); border-radius:var(--kyb-radius); padding:28px; box-shadow:var(--kyb-shadow); }
.kyb-dark .kyb-book-box{ border-color:transparent; border-top-color:var(--kyb-gold); }
.kyb-bk-error.is-on{ display:block; }
.kyb-contact-hero{ background:#fff; padding-bottom:60px; }
.kyb-empty a{ color:var(--kyb-ember); }

/* ==== ส่วนที่ใช้ร่วมกับ template เดิม (scenes / ข้อความย่อย / แบ่งหน้า) ==== */
.kyb-scene, .kyb-media-img{ position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.kyb-media-logo{ position:absolute; top:12px; left:12px; width:34px; height:34px; z-index:2; pointer-events:none; }
.kyb-media-label{ position:absolute; z-index:2; left:12px; bottom:12px; font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:var(--kyb-canvas); color:var(--kyb-charcoal); padding:4px 9px; border-radius:3px; }
.kyb-note{ font-size:.88rem; color:var(--kyb-charcoal); }
.kyb-dark .kyb-note{ color:var(--kyb-paper); opacity:.75; }
.kyb-empty{ padding:22px; background:var(--kyb-rice); border-radius:6px; text-align:center; color:var(--kyb-charcoal); }
.kyb-section-title{ margin:0 0 22px; }
.kyb-count{ font-size:.82rem; color:var(--kyb-charcoal); margin:0 0 20px; }
.kyb-pager{ display:flex; justify-content:center; gap:6px; flex-wrap:wrap; margin-top:30px; }
.kyb-page{ min-width:42px; padding:10px 14px; text-align:center; text-decoration:none; border:1px solid var(--kyb-line); border-radius:4px; background:#fff; font-weight:700; font-size:.82rem; color:var(--kyb-charcoal); }
.kyb-page:hover{ border-color:var(--kyb-gold); color:#000; }
.kyb-page.is-current{ background:var(--kyb-gold); border-color:var(--kyb-gold); color:var(--kyb-gold-ink); }
.kyb-btn-muted{ background:transparent; border-color:var(--kyb-line); color:var(--kyb-charcoal); cursor:default; }

/* ==========================================================================
   หน้า single Fight Night — templates/single-kyb_fight.php
   ========================================================================== */
.kyb-wrap{ max-width:1110px; margin:0 auto; padding:0 15px; }

/* ---- hero ---- */
.kyb-fight-hero{
  position:relative; overflow:hidden; background:var(--kyb-ink); color:#faf6ec;
  padding:48px 0 52px;
}
.kyb-fight-hero-bg{ position:absolute; inset:0; opacity:.5; }
.kyb-fight-hero-bg::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, var(--kyb-ink) 30%, rgba(21,18,15,.35) 100%);
}
.kyb-fight-hero-bg .kyb-media-logo{ display:none; }
.kyb-fight-hero-inner{ position:relative; z-index:2; }

.kyb-crumbs{ font-size:.8rem; margin:0 0 26px; color:#faf6ec; opacity:.7; }
.kyb-crumbs a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.kyb-crumbs a:hover{ color:var(--kyb-gold); }
.kyb-crumbs span{ margin-left:6px; }

.kyb-fight-hero .kyb-eyebrow{ color:var(--kyb-gold); }
.is-past .kyb-fight-hero .kyb-eyebrow{ color:#faf6ec; opacity:.7; }
.kyb-fight-title{
  color:#faf6ec !important; font-size:clamp(2.1rem, 6vw, 3.8rem); margin:0 0 .2em; max-width:14ch;
}
.kyb-fight-date{ font-family:'Lato','Sarabun',sans-serif; font-size:1.15rem; font-weight:600; margin:0 0 26px; }

.kyb-fight-facts{ display:flex; flex-wrap:wrap; gap:14px 34px; margin:0 0 30px; }
.kyb-fight-facts div{ border-left:3px solid var(--kyb-gold); padding-left:12px; }
.kyb-fight-facts dt{
  display:block; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:.7; margin:0;
}
/* Flatsome ตั้ง dt/dd เป็น inline-block — บังคับให้ป้ายอยู่เหนือตัวเลข */
.kyb-fight-facts dd{ display:block; font-family:'Lato','Sarabun',sans-serif; font-size:1.35rem; font-weight:700; margin:0; }
.kyb-fight-facts .amount{ color:inherit; }

.kyb-fight-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:18px 26px; }
.kyb-fight-hero .kyb-btn-muted{ border-color:rgba(250,246,236,.3); color:#faf6ec; }

/* ---- นับถอยหลัง ---- */
.kyb-countdown{ display:flex; gap:8px; }
.kyb-countdown-unit{
  min-width:58px; text-align:center; padding:8px 6px; border-radius:4px;
  background:rgba(250,246,236,.08); border:1px solid rgba(250,246,236,.16);
}
.kyb-countdown-unit b{
  display:block; font-family:'Lato','Sarabun',sans-serif; font-size:1.45rem; font-weight:900; line-height:1.1;
  font-variant-numeric:tabular-nums;
}
.kyb-countdown-unit small{ font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:.7; }
.kyb-countdown-live{
  font-family:'Lato','Sarabun',sans-serif; font-weight:700; color:var(--kyb-gold);
  padding:10px 14px; border:1px solid var(--kyb-gold); border-radius:4px;
}

/* ---- body: การ์ดคู่ + กล่องตั๋ว ---- */
.kyb-fight-body{
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:44px; align-items:start;
  padding-top:52px; padding-bottom:52px;
}
.kyb-fight-content{ margin-bottom:40px; }
@media (max-width:849px){
  .kyb-fight-body{ grid-template-columns:1fr; gap:36px; padding-top:32px; }
  .kyb-fight-aside{ order:-1; }
  /* ไฟต์ที่จบแล้ว ผลการชกสำคัญกว่ากล่องตั๋ว */
  .is-past .kyb-fight-aside{ order:0; }
}

.kyb-bouts{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.kyb-bout{
  margin:0; padding:16px 20px; border:1px solid var(--kyb-line); border-radius:6px; background:var(--kyb-canvas);
}
.kyb-bout-label{
  margin:0 0 10px; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--kyb-ember);
}
.kyb-bout-label span{ color:var(--kyb-charcoal); letter-spacing:.06em; }
.kyb-bout-row{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; }
.kyb-corner{
  display:flex; align-items:center; gap:10px;
  font-family:'Lato','Sarabun',sans-serif; font-weight:700; font-size:1.05rem; color:var(--kyb-ink); line-height:1.2;
}
.kyb-corner.is-blue{ justify-content:flex-end; text-align:right; }
.kyb-corner i{ flex:none; width:10px; height:34px; border-radius:2px; }
.kyb-corner.is-red i{ background:var(--kyb-ember); }
.kyb-corner.is-blue i{ background:#2f5d9e; }
.kyb-vs{ font-family:'Lato','Sarabun',sans-serif; font-weight:900; font-size:.85rem; color:var(--kyb-gold-ink);
  background:var(--kyb-gold); border-radius:50%; width:38px; height:38px; display:grid; place-items:center; }
.kyb-bout-result{
  margin:12px 0 0; padding-top:10px; border-top:1px dashed var(--kyb-line);
  font-size:.85rem; font-weight:600; color:var(--kyb-charcoal);
}

/* คู่เอก — พื้นดำ ตัวใหญ่ */
.kyb-bout.is-main{ background:var(--kyb-ink); border-color:var(--kyb-ink); padding:22px 24px; }
.kyb-bout.is-main .kyb-bout-label{ color:var(--kyb-gold); }
.kyb-bout.is-main .kyb-bout-label span,
.kyb-bout.is-main .kyb-bout-result{ color:#faf6ec; opacity:.8; }
.kyb-bout.is-main .kyb-bout-result{ border-top-color:rgba(250,246,236,.2); }
.kyb-bout.is-main .kyb-corner{ color:#faf6ec; font-size:1.3rem; }
.kyb-bout.is-main .kyb-corner i{ height:44px; }
.kyb-bout.is-main .kyb-vs{ width:46px; height:46px; font-size:1rem; }

@media (max-width:549px){
  .kyb-bout-row{ gap:8px; }
  .kyb-corner, .kyb-bout.is-main .kyb-corner{ font-size:.92rem; gap:7px; }
  .kyb-corner i{ width:6px; }
  .kyb-vs, .kyb-bout.is-main .kyb-vs{ width:32px; height:32px; font-size:.72rem; }
}

/* ---- กล่องตั๋ว ---- */
@media (min-width:850px){ .kyb-fight-aside{ position:sticky; top:110px; } }
.kyb-ticket-box, .kyb-timeline-box{
  background:var(--kyb-canvas); border:1px solid var(--kyb-line); border-top:4px solid var(--kyb-gold);
  border-radius:6px; padding:22px; box-shadow:var(--kyb-shadow);
}
.kyb-timeline-box{ margin-top:16px; border-top-width:1px; box-shadow:none; background:var(--kyb-rice); }
.kyb-ticket-title{ font-size:1.25rem; margin:0 0 14px; }
.kyb-ticket-box > .kyb-btn{ margin-top:4px; }
.kyb-seat-list{ list-style:none; margin:0; padding:0; }
.kyb-seat-row{
  display:grid; grid-template-columns:1fr auto; grid-template-areas:"info price" "btn btn";
  gap:8px 12px; align-items:center; margin:0; padding:14px 0; border-bottom:1px solid var(--kyb-line);
}
.kyb-seat-row:first-child{ padding-top:0; }
.kyb-seat-info{ grid-area:info; }
.kyb-seat-info strong{ display:block; font-family:'Lato','Sarabun',sans-serif; font-size:1.05rem; color:var(--kyb-ink); }
.kyb-seat-info small{ font-size:.74rem; font-weight:600; color:var(--kyb-charcoal); }
.kyb-seat-info small.is-low{ color:var(--kyb-ember); }
.kyb-seat-price{ grid-area:price; font-family:'Lato','Sarabun',sans-serif; font-weight:900; font-size:1.2rem; color:var(--kyb-ink); }
.kyb-seat-price .amount{ color:inherit; }
.kyb-seat-row .kyb-btn{ grid-area:btn; justify-content:center; padding:10px 16px; }
.kyb-seat-row.is-sold-out .kyb-seat-info strong,
.kyb-seat-row.is-sold-out .kyb-seat-price{ opacity:.45; text-decoration:line-through; }
.kyb-ticket-foot{ margin:14px 0 0; font-size:.78rem; }

.kyb-timeline-box h3{ font-size:.95rem; margin:0 0 12px; }
.kyb-timeline{ list-style:none; margin:0; padding:0; }
.kyb-timeline li{ margin:0 0 8px; padding-left:14px; border-left:2px solid var(--kyb-gold); font-size:.88rem; }
.kyb-timeline b{ font-family:'Lato','Sarabun',sans-serif; margin-right:6px; color:var(--kyb-ink); }

/* ---- ไฟต์อื่น ---- */
.kyb-fight-more{ background:var(--kyb-rice); padding:52px 0; }
.kyb-card-link{ color:inherit; text-decoration:none; }
.kyb-card-link h3{ margin:0 0 .3em; color:var(--kyb-ink); }
.kyb-card-link .kyb-note{ margin:0; }


/* ---- เคารพการตั้งค่าลดการเคลื่อนไหวของเครื่องผู้ใช้ ---- */
@media (prefers-reduced-motion: reduce){
  .kyb-card, .kyb-fight, .kyb-channel{ transition:none; }
  .kyb-card:hover, .kyb-fight:hover, .kyb-channel:hover{ transform:none; }
}

/* International Muay Thai: เต็มจอแต่ไม่เกิน 900px (จอแนวตั้ง/จอสูงมากจะไม่ยืดเกิน) */
.kyb-split-full{ min-height:min(calc(100vh - 89px), 900px); }
@media (max-width:860px){ .kyb-split-full{ min-height:0; } }

/* ---- กันสไตล์ global ของ Flatsome ที่พิมพ์ inline ท้าย <head> (ชนะด้วยลำดับ) ---- */
/* ลิงก์: :where() ทำให้ specificity = 0,1,1 — กฎเฉพาะของเราที่มาทีหลังยังชนะได้ */
.kyb-s a:where(:not(.kyb-btn)){ color:inherit; }
.kyb-quote-band blockquote{ border:0; margin:0; padding:0; font-style:normal; color:#fff; background:none; }
.kyb-quote-band cite{ color:#fff; }
.kyb-s .kyb-nav-toggle{ margin-left:auto; }

.kyb-contact-hero .kyb-banner h1{ text-align:center; width:100%; }

/* header ติดด้านบน — ตอน login แถบแอดมิน WordPress (32px, มือถือ 46px) ทับอยู่ ให้ติดใต้แถบนั้นแทน */
.admin-bar .kyb-site-header{ top:32px; }
@media (max-width:782px){ .admin-bar .kyb-site-header{ top:46px; } }
@media (max-width:600px){ .admin-bar .kyb-site-header{ top:0; } } /* จอเล็กแถบแอดมินไม่ติดตาม */

/* Quote บนรูป — ชั้นสีดำทับรูป ปรับได้ใน UX Builder (ช่อง "ความเข้มพื้นหลัง") */
.kyb-quote-band .kyb-media::after{ background:rgba(0,0,0,var(--kyb-ov,.72)); }

/* ---- คอร์สเทรน: 3 การ์ด (Private / Group / Membership) + ตารางราคาแพ็กเกจ ---- */
.kyb-pkg{ grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.kyb-packs{ width:100%; border-collapse:collapse; margin:4px 0 18px; border:0; }
.kyb-packs th, .kyb-packs td{ padding:9px 0; border:0; border-bottom:1px dashed var(--kyb-line); font-size:1rem; text-transform:none; letter-spacing:0; }
.kyb-packs th{ text-align:left; font-weight:700; color:var(--kyb-ink); }
.kyb-packs td{ text-align:right; font-weight:900; font-size:1.15rem; color:var(--kyb-ink); }
.kyb-packs td small{ font-size:.62rem; font-weight:700; letter-spacing:.08em; opacity:.7; }
.kyb-packs tr:last-child th, .kyb-packs tr:last-child td{ border-bottom:0; }
/* หน้าจอง: ตัวเลือกแพ็กเกจ */
.kyb-packpick{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; list-style:none; margin:0; padding:0; }
.kyb-packpick button{ width:100%; text-align:left; padding:14px; border:1px solid var(--kyb-line); border-radius:6px; background:#fff; cursor:pointer; font:inherit; }
.kyb-packpick button b{ display:block; font-size:1.05rem; }
.kyb-packpick button small{ font-size:.86rem; color:var(--kyb-charcoal); font-weight:700; }
.kyb-packpick button.is-sel{ background:#000; color:#fff; border-color:#000; }
.kyb-packpick button.is-sel small{ color:var(--kyb-gold); }

/* ตราโลโก้มุมรูป (Customize → "โลโก้บนรูปการ์ด") — ต้องเป็นตราเล็ก ไม่ใช่ยืดเต็มกรอบตามกฎ .kyb-media img */
.kyb-media img.kyb-media-logo{ inset:auto; top:12px; left:12px; width:38px; height:38px; object-fit:contain; border-radius:50%; }

/* ==== หน้า Activities — กิจกรรมทีละ section รูป/ข้อความสลับข้าง ==== */
.kyb-acts .kyb-wrap{ display:flex; flex-direction:column; gap:96px; }
.kyb-act{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.kyb-act.is-rev .kyb-act-media{ order:2; }
.kyb-act-media.kyb-media{ aspect-ratio:1/1; border-radius:10px; }
.kyb-act-badge{ display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--kyb-gold); margin:0 0 12px; }
.kyb-act-badge::before{ content:""; width:28px; height:3px; background:currentColor; }
.kyb-act h2{ font-size:clamp(1.9rem,3.6vw,2.8rem); margin:0 0 14px; }
.kyb-act-facts{ display:flex; flex-wrap:wrap; gap:8px 20px; margin:0 0 14px; font-size:.9rem; opacity:.85; }
.kyb-act-facts span{ display:inline-flex; align-items:center; gap:6px; }
.kyb-act-facts svg{ width:16px; height:16px; color:var(--kyb-gold); }
.kyb-act-text{ font-size:1.02rem; line-height:1.7; opacity:.85; max-width:520px; }
.kyb-white .kyb-act-text, .kyb-sec:not(.kyb-dark) .kyb-act-text{ color:var(--kyb-charcoal); opacity:1; }
.kyb-act-price{ margin:0 0 18px; font-size:.95rem; opacity:.85; }
.kyb-act-price b{ font-size:1.6rem; font-weight:900; color:var(--kyb-gold); }
.kyb-act .kyb-ticks{ margin-bottom:18px; }
@media (max-width:860px){
  .kyb-acts .kyb-wrap{ gap:56px; }
  .kyb-act{ grid-template-columns:1fr; gap:24px; }
  .kyb-act.is-rev .kyb-act-media{ order:0; }
  .kyb-act-media.kyb-media{ aspect-ratio:16/10; }
}
/* กล่องปิดท้าย — พื้นครีม กรอบทอง บนพื้นดำ */
.kyb-combine{ background:var(--kyb-paper); color:#000; border:2px solid var(--kyb-gold); border-radius:14px; padding:56px 32px; text-align:center; box-shadow:0 0 0 8px rgba(240,185,11,.12); }
.kyb-combine h2{ color:#000 !important; margin-bottom:12px; }
.kyb-combine p{ max-width:620px; margin:0 auto 26px; color:var(--kyb-charcoal); }
.kyb-s.kyb-combine-wrap{ padding-top:84px; padding-bottom:84px; }
/* ต่อจาก section พื้นดำเหมือนกัน (เช่น หน้า Activities) ไม่ต้องเว้นบนซ้ำ */
.kyb-dark + .kyb-combine-wrap.kyb-dark{ padding-top:0; }

/* ==== การ์ดโปรแกรม (แบบหน้า Programs ของ Koh Yao Island Safari) ==== */
.kyb-center-lead{ max-width:640px; margin:12px auto 0; color:var(--kyb-charcoal); }
.kyb-dark .kyb-center-lead{ color:var(--kyb-paper); opacity:.75; }
.kyb-progs .kyb-center-head{ margin-bottom:44px; }
.kyb-prog-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:26px; align-items:stretch; }
.kyb-prog{ display:flex; flex-direction:column; background:#fff; color:#000; border:1px solid var(--kyb-line); border-radius:12px; overflow:hidden; box-shadow:var(--kyb-shadow); transition:transform .22s, box-shadow .22s; }
.kyb-prog:hover{ transform:translateY(-5px); box-shadow:0 22px 44px rgba(0,0,0,.16); }
.kyb-prog.is-popular{ border:2px solid var(--kyb-gold); }
.kyb-prog-img{ position:relative; }
.kyb-prog-img .kyb-media{ aspect-ratio:16/10; border-radius:0; }
.kyb-prog-dur{ position:absolute; z-index:3; left:14px; bottom:14px; display:inline-flex; align-items:center; gap:6px; background:#fff; color:#000; font-size:.74rem; font-weight:700; padding:5px 11px; border-radius:30px; }
.kyb-prog-dur svg{ width:14px; height:14px; color:var(--kyb-ember); }
.kyb-prog-pop{ position:absolute; z-index:3; top:14px; right:14px; background:var(--kyb-gold); color:var(--kyb-gold-ink); font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; padding:6px 12px; border-radius:30px; }
.kyb-prog-body{ display:flex; flex-direction:column; flex:1; padding:24px 24px 26px; }
.kyb-prog-body h3{ font-size:1.3rem; margin:0 0 10px; color:#000; }
.kyb-prog-body > p{ color:var(--kyb-charcoal); font-size:.95rem; line-height:1.65; margin:0 0 20px; }
.kyb-prog-prices{ margin-top:auto; background:var(--kyb-rice); border-radius:10px; padding:14px 16px; margin-bottom:18px; }
.kyb-prog-prices div{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:5px 0; font-size:.88rem; color:var(--kyb-charcoal); }
.kyb-prog-prices b{ color:#000; font-weight:900; }
.kyb-prog-prices .is-main b{ font-size:1.35rem; color:#000; }
.kyb-prog.is-popular .kyb-prog-prices .is-main b{ color:#b8860b; }
.kyb-prog-prices small{ font-size:.62rem; font-weight:700; letter-spacing:.06em; opacity:.7; }
.kyb-prog .kyb-btn-line{ border-color:#000; }

/* รายละเอียดเต็มของกิจกรรม (กางออก) */
.kyb-act-link{ display:block; }
/* ===== หน้าย่อยกิจกรรม /activities/{slug}/ ===== */
.kyb-pkgs .kyb-center-head::before{ display:none; }
.kyb-pkgs .kyb-center-head .kyb-eyebrow{ justify-content:center; }
.kyb-pkgs .kyb-center-head{ margin-bottom:44px; }
.kyb-pkg-grid{ display:grid; grid-template-columns:minmax(0,340px); justify-content:center; gap:28px; }
.kyb-pkg-grid.is-multi{ grid-template-columns:repeat(auto-fit,minmax(280px,360px)); }
.kyb-pkg-grid.is-multi{ grid-template-columns:repeat(auto-fit,minmax(280px,340px)); }
/* การ์ดแพ็กเกจ (แบบการ์ดทัวร์: รูปบน รายละเอียดสั้น ราคาด้านล่าง) */
.kyb-s a.kyb-tcard, .kyb-s .kyb-rcard{ display:flex; flex-direction:column; background:#fff; color:#000; border:1px solid #ececec; border-radius:12px; overflow:hidden; box-shadow:0 4px 18px rgba(0,0,0,.08); transition:transform .2s, box-shadow .2s; text-decoration:none; }
.kyb-s a.kyb-tcard:hover, .kyb-s .kyb-rcard:hover{ transform:translateY(-4px); box-shadow:0 14px 34px rgba(0,0,0,.14); color:#000; }
.kyb-tcard.is-popular{ border:2px solid var(--kyb-gold); }
.kyb-tcard-img{ position:relative; }
.kyb-tcard-img .kyb-media{ aspect-ratio:16/10; border-radius:0; }
.kyb-tcard-pop{ position:absolute; z-index:3; top:12px; left:12px; background:var(--kyb-gold); color:#000; font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; padding:5px 10px; border-radius:20px; }
.kyb-tcard-body{ display:flex; flex-direction:column; flex:1; padding:14px 16px 16px; text-align:left; }
.kyb-s .kyb-tcard-body h3{ color:#000; font-size:1.08rem; line-height:1.3; letter-spacing:0; text-transform:none; margin:0 0 6px; }
.kyb-tcard-badge{ display:flex; align-items:center; gap:6px; margin:0 0 8px; font-size:.8rem; font-weight:700; color:#8a5a00; }
.kyb-tcard-badge svg{ width:14px; height:14px; color:#b8860b; flex:none; }
.kyb-tcard-desc{ margin:0 0 10px; font-size:.86rem; line-height:1.5; color:#333; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.kyb-tcard-chips{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 10px; }
.kyb-tcard-chips span{ font-size:.72rem; color:#555; background:#f2f3f5; border-radius:4px; padding:3px 7px; }
.kyb-tcard-loc{ display:flex; align-items:center; gap:5px; margin:0 0 12px; font-size:.8rem; color:#333; }
.kyb-tcard-loc svg{ width:14px; height:14px; color:#666; flex:none; }
.kyb-tcard-prices{ margin-top:auto; display:flex; gap:10px; padding-top:12px; border-top:1px solid #eee; text-align:center; }
.kyb-tcard-prices > div{ flex:1; display:flex; flex-direction:column; gap:3px; min-width:0; }
.kyb-tcard-prices span{ font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#777; }
.kyb-tcard-prices b{ color:#000; font-size:1.2rem; font-weight:900; white-space:nowrap; }
.kyb-tcard.is-popular .kyb-tcard-prices b{ color:#b8860b; }
.kyb-tcard-prices b small{ font-size:.66rem; letter-spacing:.04em; }
.kyb-tcard-prices > div > small{ font-size:.7rem; color:#888; }
.kyb-act-detail-grid{ display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:64px; align-items:start; }
.kyb-act-detail h2{ font-size:clamp(1.7rem,3vw,2.4rem); margin:0 0 18px; }
.kyb-act-detail .kyb-ticks{ margin-bottom:10px; }
.kyb-act-aside{ position:static; } /* กล่องจองอยู่กับที่ ไม่เลื่อนตามหน้า */
.kyb-act-card{ position:relative; background:#fff; color:#000; border:1px solid var(--kyb-line); border-radius:12px; padding:22px 22px 24px; box-shadow:var(--kyb-shadow); }
.kyb-act-card.is-popular{ border:2px solid var(--kyb-gold); }
.kyb-act-card .kyb-prog-pop{ top:-13px; right:18px; }
.kyb-act-card-head{ margin:0 0 12px; font-size:.78rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; color:#000; }
.kyb-act-card .kyb-prog-prices{ margin:0 0 16px; }
.kyb-act-card.is-popular .kyb-prog-prices .is-main b{ color:#b8860b; }
.kyb-act-card-facts{ list-style:none; margin:0 0 18px; padding:0; font-size:.88rem; color:var(--kyb-charcoal); }
.kyb-act-card-facts li{ display:flex; gap:8px; align-items:flex-start; padding:4px 0; }
.kyb-act-card-facts svg{ width:16px; height:16px; flex:none; margin-top:2px; color:#b8860b; }
.kyb-act-content{ font-size:.98rem; line-height:1.7; }
.kyb-act-content h4{ font-size:.84rem; letter-spacing:.12em; text-transform:uppercase; color:var(--kyb-gold); margin:26px 0 8px; }
.kyb-act-content ul{ margin:0 0 8px 1.1em; padding:0; }
.kyb-act-content li{ margin:0 0 4px; list-style:disc; }
.kyb-act-content .kyb-ticks li{ list-style:none; }
.kyb-act-content p{ margin:0 0 10px; }
@media (max-width:900px){
  .kyb-act-detail-grid{ grid-template-columns:1fr; gap:36px; }
  .kyb-act-aside{ position:static; }
}
/* หัวข้อกลางของการ์ดโปรแกรม — eyebrow อยู่กึ่งกลาง ไม่ต้องมีขีดทองซ้ำด้านบน */
.kyb-progs .kyb-center-head::before{ display:none; }
.kyb-progs .kyb-center-head .kyb-eyebrow{ justify-content:center; }
.kyb-hero-compact{ min-height:0; }
.kyb-hero-compact h1{ font-size:clamp(2rem,4.6vw,3.6rem); }
.kyb-act-gallery .kyb-center-head::before{ display:none; }
.kyb-act-gallery .kyb-center-head .kyb-eyebrow{ justify-content:center; }
.kyb-act-gallery .kyb-center-head{ margin-bottom:36px; }
/* ===== หน้ารายละเอียดกิจกรรม: หัวข้อ + แกลเลอรีโมเสก ===== */
.kyb-gh{ padding-top:40px; }
.kyb-gh .kyb-crumbs{ margin-bottom:18px; }
.kyb-gh h1{ font-size:clamp(2rem,4.4vw,3.4rem); margin:0 0 12px; }
.kyb-gh-lead{ max-width:720px; opacity:.85; margin:0 0 28px; font-size:1.05rem; line-height:1.65; }
.kyb-mosaic-wrap{ position:relative; } /* อยู่ในกรอบเดียวกับเมนูบาร์ ไม่ล้นขอบ */
.kyb-mosaic{ --h:228px; display:grid; grid-auto-flow:column dense; grid-template-rows:var(--h) var(--h); grid-auto-columns:var(--h); gap:14px; overflow-x:auto; scroll-snap-type:x proximity; scroll-behavior:smooth; scrollbar-width:none; border-radius:12px; }
.kyb-mosaic::-webkit-scrollbar{ display:none; }
.kyb-mosaic figure{ margin:0; position:relative; overflow:hidden; cursor:zoom-in; background:#111; border-radius:12px; scroll-snap-align:start; }
.kyb-mosaic figure img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s, opacity .2s; }
.kyb-mosaic figure:hover img{ transform:scale(1.04); opacity:.92; }
.kyb-mosaic figure:nth-child(6n+1){ grid-column:span 2; grid-row:span 2; }
.kyb-mosaic figure:nth-child(6n+4){ grid-row:span 2; }
.kyb-mosaic figcaption{ display:none; }
.kyb-mosaic-wrap.is-single{ margin-right:0; }
.kyb-mosaic-wrap.is-single .kyb-mosaic{ grid-auto-columns:1fr; padding-right:0; }
.kyb-mosaic-nav{ position:absolute; top:50%; z-index:3; width:46px; height:46px; margin-top:-23px; border-radius:50%; border:0; background:#fff; color:#000; font-size:1.8rem; line-height:1; padding:0 0 4px; cursor:pointer; box-shadow:0 8px 22px rgba(0,0,0,.35); transition:opacity .2s; }
.kyb-mosaic-nav.is-prev{ left:12px; }
.kyb-mosaic-nav.is-next{ right:12px; }
.kyb-mosaic-nav[disabled]{ opacity:0; pointer-events:none; }
@media (max-width:760px){
  .kyb-mosaic{ --h:150px; gap:10px; }
  .kyb-mosaic-nav{ display:none; }
}
/* ===== กล่องจองกิจกรรม ===== */
.kyb-bk-f{ display:block; margin:0 0 14px; }
.kyb-bk-f > span{ display:block; font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color:#000; margin-bottom:6px; }
.kyb-s .kyb-bk-f input, .kyb-s .kyb-bk-f select{ width:100%; height:46px; margin:0; padding:0 12px; border:1px solid #d6d1c7; border-radius:8px; background:#fff; color:#000; font:inherit; font-size:.95rem; box-shadow:none; }
.kyb-bk-rows{ background:var(--kyb-rice); border-radius:10px; padding:6px 14px; margin:0 0 14px; }
.kyb-bk-row{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid rgba(0,0,0,.07); }
.kyb-bk-row:last-child{ border-bottom:0; }
.kyb-bk-row b{ display:block; color:#000; font-size:.95rem; }
.kyb-bk-row span{ font-size:.78rem; color:var(--kyb-charcoal); }
.kyb-bk-row span small{ font-size:.66rem; }
.kyb-step{ display:flex; align-items:center; border:1px solid #d6d1c7; border-radius:30px; background:#fff; flex:none; }
.kyb-s .kyb-step button{ width:34px; height:34px; margin:0; padding:0; border:0; background:none; color:#000; font-size:1.1rem; line-height:1; cursor:pointer; min-height:0; }
.kyb-s .kyb-step input{ width:34px; height:34px; margin:0; padding:0; border:0; text-align:center; font-weight:700; background:none; color:#000; box-shadow:none; -moz-appearance:textfield; }
.kyb-step input::-webkit-outer-spin-button, .kyb-step input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.kyb-bk-total{ display:flex; justify-content:space-between; align-items:baseline; margin:4px 0 14px; padding-top:12px; border-top:2px solid #000; color:#000; }
.kyb-bk-total span{ font-size:.78rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.kyb-bk-total b{ font-size:1.5rem; font-weight:900; }
.kyb-bk-msg{ margin:0 0 12px; padding:10px 12px; border-radius:8px; background:#fdecea; color:#a4271b; font-size:.88rem; }
.kyb-bk button[type=submit] svg{ width:18px; height:18px; vertical-align:-3px; }
.kyb-bk-done{ margin-top:14px; padding:14px; border-radius:10px; background:#eef8ee; color:#1c5b24; }
.kyb-bk-done p{ margin:0 0 10px; font-size:.88rem; }
.kyb-bk-done p b{ display:block; font-size:1rem; }
.kyb-bk-done > div{ display:flex; gap:8px; }
.kyb-bk-done .kyb-btn{ flex:1; justify-content:center; padding-left:10px; padding-right:10px; }
.kyb-bk .kyb-act-card-facts{ margin:16px 0 0; }
/* ปุ่มตะกร้าใน header */
.kyb-sq.kyb-cart{ position:relative; }
.kyb-cart-count{ position:absolute; top:-6px; right:-6px; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--kyb-red, #c0392b); color:#fff; font-size:.66rem; font-weight:900; line-height:18px; text-align:center; }
.kyb-hd-social .kyb-cart{ background:var(--kyb-gold); color:#000; }
.kyb-gh{ padding-bottom:40px; }
.kyb-gh + .kyb-act-detail{ padding-top:40px; }
.kyb-prog-info ul{ margin:0 0 8px 1.1em; }
.kyb-prog-info li b, .kyb-prog-info p b{ color:#fff; }
/* หน้า Activities: รูปสูงเท่ากล่องข้อความ (บน–ล่างตรงกัน) */
@media (min-width:901px){
  .kyb-act{ align-items:stretch; }
  .kyb-act-link{ display:block; height:100%; }
  .kyb-act-link .kyb-act-media.kyb-media{ aspect-ratio:auto; height:100%; min-height:420px; }
  .kyb-act-body{ align-self:center; }
}
/* การ์ดห้องพัก: มุมโค้งแบบการ์ดแพ็กเกจกิจกรรม (ไม่มีแถบทองด้านซ้าย) */
.kyb-card.kyb-card-accent{ border:1px solid #ececec; border-radius:12px; box-shadow:0 4px 18px rgba(0,0,0,.08); }
.kyb-card.kyb-card-accent:hover{ box-shadow:0 14px 34px rgba(0,0,0,.14); }
.kyb-card.kyb-card-accent .kyb-media{ border-radius:0; }
/* หน้า Activities: ชี้เมาส์ที่กิจกรรม → รูปซูมเข้าช้า ๆ + ยกขึ้นเล็กน้อย */
.kyb-act-link{ transition:transform .35s ease, box-shadow .35s ease; border-radius:10px; }
.kyb-act-link .kyb-act-media img, .kyb-act-link .kyb-act-media svg.kyb-scene{ transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .4s; }
.kyb-act:hover .kyb-act-link{ transform:translateY(-6px); box-shadow:0 24px 50px rgba(0,0,0,.5); }
.kyb-act:hover .kyb-act-link .kyb-act-media img, .kyb-act:hover .kyb-act-link .kyb-act-media svg.kyb-scene{ transform:scale(1.07); filter:brightness(1.06); }
.kyb-act:hover .kyb-act-link .kyb-act-media img.kyb-media-logo{ transform:none; }
@media (prefers-reduced-motion:reduce){ .kyb-act-link, .kyb-act-link .kyb-act-media img{ transition:none; } }
/* Upcoming Battles: แถวไฟต์ขนาดใหญ่ */
.kyb-upcoming .kyb-fights{ gap:20px; }
.kyb-upcoming .kyb-fight{ grid-template-columns:120px minmax(0,1fr) auto 300px; gap:28px; padding:22px; border-radius:12px; box-shadow:0 4px 18px rgba(0,0,0,.06); }
.kyb-upcoming .kyb-datebox{ padding:20px 8px; border-radius:8px; }
.kyb-upcoming .kyb-datebox .kyb-d, .kyb-upcoming .kyb-datebox .kyb-m{ font-size:.85rem; }
.kyb-upcoming .kyb-datebox .kyb-n{ font-size:3.2rem; margin:4px 0; }
.kyb-upcoming .kyb-fight h3{ font-size:clamp(1.3rem,2vw,1.75rem); margin:10px 0 8px; }
.kyb-upcoming .kyb-fight .kyb-meta{ font-size:1rem; }
.kyb-upcoming .kyb-fight .kyb-media{ aspect-ratio:16/9; border-radius:8px; }
.kyb-upcoming .kyb-fight .kyb-btn-sm{ padding:14px 26px; font-size:.85rem; }
@media (max-width:1100px){ .kyb-upcoming .kyb-fight{ grid-template-columns:110px 1fr auto 260px; gap:22px; } }
@media (max-width:900px){
  .kyb-upcoming .kyb-fight{ grid-template-columns:90px 1fr; padding:16px; }
  .kyb-upcoming .kyb-datebox .kyb-n{ font-size:2.4rem; }
}
/* ===== ปฏิทินไฟต์ [kyb_calendar] ===== */
.kyb-cal-sec .kyb-center-head::before{ display:none; }
.kyb-cal-sec .kyb-center-head .kyb-eyebrow{ justify-content:center; }
.kyb-cal-sec .kyb-center-head{ margin-bottom:32px; }
.kyb-fcal{ --line:#dcdcdc; --mute:#9a9a9a; max-width:1100px; margin:0 auto; color:#000; }
.kyb-dark .kyb-fcal{ --line:rgba(255,255,255,.16); --mute:rgba(255,255,255,.4); color:#fff; }
.kyb-fcal-bar{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 14px; }
.kyb-fcal-nav{ display:flex; align-items:center; gap:6px; }
.kyb-s .kyb-fcal-nav button{ width:34px; height:34px; min-height:0; margin:0; padding:0; border:1px solid var(--line); border-radius:50%; background:none; color:inherit; font-size:1.3rem; line-height:1; cursor:pointer; }
.kyb-s .kyb-fcal-nav button[disabled]{ opacity:.3; cursor:default; }
.kyb-s .kyb-fcal-pick select{ width:auto; height:36px; margin:0; padding:0 30px 0 8px; border:0; background-color:transparent; color:inherit; font:inherit; font-weight:900; font-size:1.05rem; text-decoration:underline; text-underline-offset:4px; cursor:pointer; box-shadow:none; }
.kyb-dark .kyb-fcal-pick select option{ color:#000; }
.kyb-s .kyb-fcal-today{ margin:0; min-height:0; padding:8px 20px; border:0; border-radius:30px; background:var(--kyb-gold); color:#000; font-weight:700; font-size:.85rem; cursor:pointer; }
.kyb-fcal-head{ display:grid; grid-template-columns:repeat(7,1fr); }
.kyb-fcal-head span{ padding:6px 10px; font-size:.82rem; font-weight:900; }
.kyb-fcal-grid{ display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.kyb-fcal-cell{ position:relative; min-height:110px; padding:10px 10px 8px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; min-width:0; cursor:default; }
.kyb-fcal-cell.has-ev{ cursor:pointer; background:rgba(240,185,11,.08); }
.kyb-fcal-cell.is-out .kyb-fcal-n{ color:var(--mute); }
.kyb-fcal-cell.is-today{ background:#dbe4fb; }
.kyb-dark .kyb-fcal-cell.is-today{ background:rgba(120,150,255,.22); }
.kyb-fcal-cell.is-picked{ box-shadow:inset 0 0 0 2px var(--kyb-gold); }
.kyb-fcal-n{ font-size:1rem; margin:0 0 4px; }
.kyb-fcal-evs{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.kyb-s a.kyb-fcal-ev{ display:block; min-width:0; text-decoration:none; color:inherit; line-height:1.25; }
.kyb-fcal-ev small{ display:block; font-size:.74rem; color:var(--mute); }
.kyb-fcal-ev b{ display:block; font-size:.8rem; font-weight:700; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kyb-s a.kyb-fcal-ev:hover b{ color:#b8860b; }
.kyb-fcal-ev.is-past{ opacity:.55; }
.kyb-s .kyb-fcal-more{ align-self:flex-start; margin:auto 0 0; min-height:0; padding:0; border:0; background:none; color:#3a5bd9; font-size:.78rem; cursor:pointer; }
.kyb-fcal-dot{ display:none; }
.kyb-fcal-day{ margin-top:18px; }
.kyb-fcal-day-h{ margin:0 0 10px; font-weight:900; font-size:1rem; }
.kyb-fcal-row{ display:flex; justify-content:space-between; align-items:center; gap:14px; padding:14px 16px; border:1px solid var(--line); border-radius:10px; margin:0 0 10px; }
.kyb-fcal-row small{ display:block; color:var(--mute); font-size:.8rem; }
.kyb-fcal-row b{ font-size:1.05rem; text-transform:uppercase; }
.kyb-fcal-row .kyb-btn{ margin:0; flex:none; }
.kyb-fcal-tag{ font-size:.75rem; color:var(--mute); }
.kyb-fcal-none{ margin:0; color:var(--mute); font-size:.9rem; }
@media (max-width:700px){
  .kyb-fcal-cell{ min-height:52px; padding:6px; align-items:center; }
  .kyb-fcal-n{ font-size:.9rem; }
  .kyb-fcal-evs{ display:none; }
  .kyb-fcal-dot{ display:block; width:7px; height:7px; border-radius:50%; background:var(--kyb-gold); margin-top:2px; }
  .kyb-fcal-head span{ padding:6px 2px; text-align:center; font-size:.72rem; }
}
/* ปุ่มย้อนกลับ เหนือแถบขั้นตอนในหน้าจอง */
.kyb-s a.kyb-bk-return{ display:inline-flex; align-items:center; gap:6px; margin:0 0 14px; padding:7px 16px 7px 12px; border:1px solid #d6d1c7; border-radius:30px; background:#fff; color:#000; font-size:.82rem; font-weight:700; letter-spacing:.04em; text-decoration:none; transition:background .2s, border-color .2s; }
.kyb-s a.kyb-bk-return:hover{ background:var(--kyb-gold); border-color:var(--kyb-gold); color:#000; }
/* ===== ช่องค้นหาห้องว่าง (หน้า Accommodation) ===== */
.kyb-rsearch{ display:flex; align-items:stretch; gap:0; margin:0 0 18px; background:#fff; border:1px solid #e5e5e5; border-radius:12px; box-shadow:0 6px 24px rgba(0,0,0,.08); padding:8px; flex-wrap:wrap; color:#000; }
.kyb-rs-f{ flex:1 1 180px; display:flex; align-items:center; gap:10px; padding:8px 14px; border-right:1px solid #eee; cursor:pointer; min-width:0; }
.kyb-rs-f > svg{ width:20px; height:20px; color:#b8860b; flex:none; }
.kyb-rs-f > span{ display:flex; flex-direction:column; min-width:0; flex:1; }
.kyb-rs-f small{ font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#777; }
.kyb-s .kyb-rs-f input, .kyb-s .kyb-rs-f select{ width:100%; height:30px; margin:0; padding:0; border:0; background:transparent; color:#000; font:inherit; font-weight:700; font-size:1rem; box-shadow:none; }
.kyb-rs-n{ align-self:center; flex:none; font-size:.75rem; font-weight:700; color:#8a5a00; background:#fdf3d6; border-radius:20px; padding:0 10px; line-height:22px; margin:0 -6px; position:relative; z-index:1; }
.kyb-rs-n:empty{ display:none; }
.kyb-rs-g{ border-right:0; }
.kyb-rsearch .kyb-btn{ margin:0; flex:none; padding:0 34px; min-height:56px; border-radius:8px; }
.kyb-rs-result{ margin:0 0 26px; padding:12px 16px; border-radius:10px; background:#f4f6f0; font-size:.92rem; }
.kyb-rs-result.is-error{ background:#fdecea; color:#a4271b; }
.kyb-s .kyb-rs-clear{ margin:0 0 0 8px; min-height:0; padding:0; border:0; background:none; color:#3a5bd9; text-decoration:underline; cursor:pointer; font:inherit; }
.kyb-room-avail{ margin:12px 0 0; font-size:.82rem; font-weight:700; }
.kyb-room-avail.is-ok{ color:#1c7a32; }
.kyb-room-avail.is-ok::before{ content:"✓ "; }
.kyb-room-avail.is-no{ color:#a4271b; }
.kyb-card.is-off{ opacity:.55; }
.kyb-card.is-off:hover{ transform:none; }
.kyb-s .kyb-room-book.is-disabled{ background:#ccc; border-color:#ccc; color:#555; cursor:not-allowed; }
@media (max-width:760px){
  .kyb-rs-f{ flex:1 1 100%; border-right:0; border-bottom:1px solid #eee; }
  .kyb-rs-n{ margin:6px 0; align-self:flex-start; margin-left:14px; }
  .kyb-rsearch .kyb-btn{ width:100%; margin-top:8px; }
}
.kyb-room-avail.is-low{ color:#c0392b; }
.kyb-room-avail.is-low::before{ content:"🔥 "; }

/* การ์ดห้องพัก (แบบการ์ดแพ็กเกจ) */
.kyb-tcard-type{ background:rgba(0,0,0,.72); color:#fff; }
.kyb-rcard .kyb-room-avail{ margin:0 0 12px; font-size:.8rem; }
.kyb-rcard-foot{ margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:12px; border-top:1px solid #eee; }
.kyb-rcard .kyb-price{ font-size:1.35rem; font-weight:900; color:#000; line-height:1; }
.kyb-rcard .kyb-price small{ font-size:.7rem; font-weight:700; color:#777; margin-left:4px; letter-spacing:.04em; }
.kyb-rcard .kyb-room-book{ margin:0; padding-left:26px; padding-right:26px; }
.kyb-rcard.is-off{ opacity:.55; }
.kyb-rcard.is-off:hover{ transform:none; }
/* เงื่อนไขของแต่ละประเภทในการ์ดสรุปการจอง */
.kyb-enq-shuttle.is-included{ background:#eef8ee; color:#1c5b24; }
.kyb-bk-terms{ margin-top:14px; padding-top:14px; border-top:1px dashed var(--kyb-line); font-size:.82rem; color:var(--kyb-charcoal); }
.kyb-bk-terms strong{ display:block; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:#000; margin-bottom:6px; }
.kyb-bk-terms ul{ margin:0; padding:0 0 0 1.1em; }
.kyb-bk-terms li{ margin:0 0 4px; list-style:disc; }
.kyb-bk-transfer{ display:flex; gap:10px; align-items:center; margin:0 0 14px; padding:10px 12px; border-radius:10px; background:#eef8ee; color:#1c5b24; }
.kyb-bk-transfer svg{ width:26px; height:26px; flex:none; }
.kyb-bk-transfer b{ display:block; font-size:.9rem; }
.kyb-bk-transfer span{ font-size:.78rem; }
.kyb-bk-cancel{ margin:12px 0 0; font-size:.8rem; color:#1c5b24; }
.kyb-bk-cancel::before{ content:"✓ "; }
.kyb-bk .kyb-bk-terms{ color:#333; }
.kyb-bk-fee{ margin:-6px 0 14px; font-size:.82rem; font-weight:700; color:#1c7a32; }
.kyb-bk-fee.is-paid{ color:#8a5a00; }
.kyb-bk-f[hidden]{ display:none; }
/* Step into the ring: ชี้เมาส์ → รูปซูมช้า ๆ + ยกขึ้น + ขอบทอง */
.kyb-ring-gal .kyb-media{ transition:transform .35s ease, box-shadow .35s ease; cursor:pointer; }
.kyb-ring-gal .kyb-media img, .kyb-ring-gal .kyb-media svg.kyb-scene{ transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .4s; }
.kyb-ring-gal .kyb-media::after{ content:""; position:absolute; inset:0; z-index:2; box-shadow:inset 0 0 0 0 var(--kyb-gold); transition:box-shadow .3s; pointer-events:none; }
.kyb-ring-gal .kyb-media:hover{ transform:translateY(-6px); box-shadow:0 22px 44px rgba(0,0,0,.55); }
.kyb-ring-gal .kyb-media:hover img, .kyb-ring-gal .kyb-media:hover svg.kyb-scene{ transform:scale(1.08); filter:brightness(1.08); }
.kyb-ring-gal .kyb-media:hover::after{ box-shadow:inset 0 0 0 3px var(--kyb-gold); }
.kyb-ring-gal .kyb-media:hover img.kyb-media-logo{ transform:none; }
@media (prefers-reduced-motion:reduce){ .kyb-ring-gal .kyb-media, .kyb-ring-gal .kyb-media img{ transition:none; } }
/* ===== การ์ดหน้าแรก: คารูเซล 3 ใบตรงกลาง เลื่อนทีละใบ ===== */
.kyb-xcar{ --per:3; --gap:24px; position:relative; }
.kyb-xcar-view{ overflow:hidden; margin:-10px -12px; padding:10px 12px 26px; }
.kyb-xcar-track{ display:flex; gap:var(--gap); transition:transform .7s cubic-bezier(.45,.05,.2,1); will-change:transform; }
.kyb-xcar:not(.is-loop) .kyb-xcar-track{ justify-content:center; }
.kyb-s .kyb-xcard{ flex:0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per)); min-width:0; }
.kyb-xcard .kyb-tcard-img{ display:block; }
.kyb-s .kyb-xcard h3 a{ color:inherit; text-decoration:none; }
.kyb-s .kyb-xcard h3 a:hover{ color:#b8860b; }
.kyb-xcard .kyb-tcard-img .kyb-media img{ transition:transform .6s ease; }
.kyb-xcard:hover .kyb-tcard-img .kyb-media img{ transform:scale(1.06); }
.kyb-xcard .kyb-price .kyb-from{ display:block; margin:0 0 2px; font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#777; }
.kyb-s .kyb-xcar-nav{ position:absolute; top:42%; z-index:3; width:44px; height:44px; margin:0; min-height:0; padding:0 0 3px; border:0; border-radius:50%; background:#fff; color:#000; font-size:1.7rem; line-height:1; cursor:pointer; box-shadow:0 6px 20px rgba(0,0,0,.18); transition:background .2s; }
.kyb-s .kyb-xcar-nav:hover{ background:var(--kyb-gold); }
.kyb-xcar-nav.is-prev{ left:-22px; }
.kyb-xcar-nav.is-next{ right:-22px; }
.kyb-xcar-dots{ display:flex; justify-content:center; gap:8px; margin-top:6px; }
.kyb-s .kyb-xcar-dots button{ width:8px; height:8px; min-height:0; margin:0; padding:0; border:0; border-radius:8px; background:#d0d0d0; cursor:pointer; transition:width .3s, background .3s; }
.kyb-s .kyb-xcar-dots button.is-on{ width:24px; background:var(--kyb-gold); }
@media (max-width:1000px){ .kyb-xcar{ --per:2; } }
@media (max-width:640px){ .kyb-xcar{ --per:1; } .kyb-xcar-nav.is-prev{ left:-8px; } .kyb-xcar-nav.is-next{ right:-8px; } }
/* การ์ดคอร์สเทรน (หน้า Training): หน้าตาเดียวกับการ์ดห้องพัก/แพ็กเกจ */
.kyb-s .kyb-coursecard{ background:#fff; border:1px solid #ececec; border-radius:12px; overflow:hidden; box-shadow:0 4px 18px rgba(0,0,0,.08); transition:transform .2s, box-shadow .2s; }
.kyb-s .kyb-coursecard:hover{ transform:translateY(-4px); box-shadow:0 14px 34px rgba(0,0,0,.14); }
.kyb-s .kyb-coursecard.is-feature{ border:2px solid var(--kyb-gold); }
.kyb-coursecard .kyb-tcard-img{ position:relative; }
.kyb-coursecard .kyb-tcard-img .kyb-media{ border-radius:0; }
.kyb-coursecard .kyb-tcard-img .kyb-media img{ transition:transform .6s ease; }
.kyb-coursecard:hover .kyb-tcard-img .kyb-media img{ transform:scale(1.05); }
.kyb-s .kyb-coursecard .kyb-card-body h3{ text-transform:none; letter-spacing:0; font-size:1.3rem; line-height:1.3; margin:0 0 12px; }
.kyb-coursecard .kyb-packs{ background:#f7f6f2; border-radius:10px; }
.kyb-coursecard .kyb-btn{ border-radius:8px; }
.kyb-s .kyb-coursecard:not(.is-feature) .kyb-btn{ background:var(--kyb-gold); border-color:var(--kyb-gold); color:#000; }
.kyb-coursecard .kyb-packs th{ padding-left:14px; }
.kyb-coursecard .kyb-packs td{ padding-right:14px; }
.kyb-coursecard .kyb-packs tr:last-child th, .kyb-coursecard .kyb-packs tr:last-child td{ border-bottom:0; }
/* ===== มุมโค้งเดียวกันทั้งเว็บ (12px + ขอบอ่อน + เงานุ่ม แบบการ์ดห้องพัก) ===== */
.kyb-s .kyb-card{ border-color:#ececec; box-shadow:0 4px 18px rgba(0,0,0,.08); }
.kyb-s .kyb-card:hover{ box-shadow:0 14px 34px rgba(0,0,0,.14); }
.kyb-dark .kyb-card{ border-color:var(--kyb-line-d); box-shadow:none; }
.kyb-s .kyb-fight{ border-radius:12px; }
.kyb-s .kyb-fight .kyb-media{ border-radius:8px; }
.kyb-datebox{ border-radius:8px; }
.kyb-seat{ border-radius:12px; overflow:hidden; }
.kyb-seat-img, .kyb-seat.is-vip .kyb-seat-img{ border-radius:0; }
.kyb-bk-section, .kyb-seatpick .kyb-opt{ border-radius:12px; }
.kyb-bk-summary, #kyb-bk-summary{ border-radius:12px; overflow:hidden; }
.kyb-ring-gal .kyb-media{ border-radius:12px; }
.kyb-act-media.kyb-media{ border-radius:12px; }
.kyb-steps li, .kyb-empty{ border-radius:12px; }
.kyb-ticket-box, .kyb-timeline-box, .kyb-bout{ border-radius:12px; }
.kyb-contact-hero .kyb-banner{ border-radius:12px; }
.kyb-contact-cards > *{ border-radius:12px; overflow:hidden; }
.kyb-contact-cards .kyb-map, .kyb-contact-cards iframe{ border-radius:12px; }
.kyb-fcal-grid{ border-radius:12px; overflow:hidden; }
.kyb-fcal-row{ border-radius:12px; }
/* ไอคอนโซเชียล (กล่อง Combine it with a Fight Night ฯลฯ) */
.kyb-socials{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.kyb-combine-soc{ margin-top:22px; padding-top:20px; border-top:1px solid rgba(0,0,0,.08); }
.kyb-s a.kyb-soc{ width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#000; text-decoration:none; transition:transform .2s, box-shadow .2s, filter .2s; }
.kyb-s a.kyb-soc:hover{ transform:translateY(-3px); box-shadow:0 8px 18px rgba(0,0,0,.2); filter:brightness(1.08); color:#fff; }
.kyb-soc svg{ width:20px; height:20px; }
.kyb-s a.kyb-soc-wa{ background:#25d366; }
.kyb-s a.kyb-soc-line{ background:#06c755; }
.kyb-s a.kyb-soc-fb{ background:#1877f2; }
.kyb-s a.kyb-soc-ig{ background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285aeb 90%); }
.kyb-s a.kyb-soc-yt{ background:#ff0000; }
.kyb-s a.kyb-soc-tt{ background:#000; }
.kyb-s a.kyb-soc-mail{ background:#333; }
.kyb-s a.kyb-soc-phone{ background:var(--kyb-gold); color:#000; }
/* ===== หน้า Gallery: เลย์เอาต์แบบ Step into the ring (ชุดละ 4 รูป สลับซ้าย–ขวา) ===== */
.kyb-gallery.kyb-gal-mosaic{ columns:auto; display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:240px; grid-auto-flow:dense; gap:16px; }
.kyb-gal-mosaic figure{ margin:0; position:relative; overflow:hidden; border-radius:12px; cursor:zoom-in; background:#111; transition:transform .35s ease, box-shadow .35s ease; }
.kyb-gal-mosaic figure.g-big{ grid-column:span 2; grid-row:span 2; }
.kyb-gal-mosaic figure.g-wide{ grid-column:span 2; }
.kyb-gallery.kyb-gal-mosaic figure img.kyb-gal-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:0; transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .4s; }
.kyb-gal-mosaic figure::after{ content:""; position:absolute; inset:0; z-index:2; border-radius:12px; box-shadow:inset 0 0 0 0 var(--kyb-gold); transition:box-shadow .3s; pointer-events:none; }
.kyb-gal-mosaic figure:hover{ transform:translateY(-5px); box-shadow:0 18px 40px rgba(0,0,0,.25); }
.kyb-gallery.kyb-gal-mosaic figure:hover img.kyb-gal-img{ transform:scale(1.07); filter:brightness(1.06); }
.kyb-gal-mosaic figure:hover::after{ box-shadow:inset 0 0 0 3px var(--kyb-gold); }
@media (max-width:900px){ .kyb-gallery.kyb-gal-mosaic{ grid-auto-rows:170px; gap:10px; } }
@media (max-width:600px){
  .kyb-gallery.kyb-gal-mosaic{ grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; }
  .kyb-gal-mosaic figure.g-big{ grid-row:span 2; }
}
/* ===== หน้า Activities: ทุก section สูงเท่ากัน — ข้อความ 3 บรรทัด + Read more ===== */
.kyb-act .kyb-act-text{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:6px; }
.kyb-act .kyb-act-clamp .kyb-ticks{ display:none; margin-top:14px; }
.kyb-act.is-open .kyb-act-text{ -webkit-line-clamp:unset; display:block; }
.kyb-act.is-open .kyb-act-clamp .kyb-ticks{ display:block; }
.kyb-s .kyb-act-readmore{ display:inline-flex; gap:6px; align-items:center; margin:0 0 16px; min-height:0; padding:0; border:0; background:none; color:var(--kyb-gold); font:inherit; font-size:.85rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.kyb-act-readmore[hidden]{ display:none !important; }
.kyb-act-readmore::after{ content:"+"; font-size:1.1rem; line-height:1; }
.kyb-act.is-open .kyb-act-readmore::after{ content:"−"; }
.kyb-act-readmore span:last-child, .kyb-act.is-open .kyb-act-readmore span:first-child{ display:none; }
.kyb-act.is-open .kyb-act-readmore span:last-child{ display:inline; }
.kyb-act .kyb-act-price{ margin-top:4px; }
@media (min-width:901px){
  /* รูปความสูงเท่ากันทุก section — ข้อความจัดกึ่งกลางความสูงรูป */
  .kyb-act{ align-items:center; }
  .kyb-act-link{ height:auto; }
  .kyb-act-link .kyb-act-media.kyb-media{ aspect-ratio:auto; height:440px; min-height:0; }
  .kyb-act.is-open{ align-items:start; }
}
/* ===== มือถือ ===== */
@media (max-width:900px){
  /* หน้า Activities: Read more อยู่บรรทัดของตัวเอง ปุ่ม View Details เต็มแถว */
  .kyb-s .kyb-act-readmore{ display:flex; }
  .kyb-act-body > .kyb-btn{ width:100%; }
  /* หน้ารายละเอียดทัวร์: กล่องจองขึ้นก่อนรายละเอียดยาว */
  .kyb-act-detail-grid{ display:flex; flex-direction:column; }
  .kyb-act-aside{ order:-1; }
}
@media (max-width:600px){
  .kyb-topbar{ font-size:.66rem; letter-spacing:.03em; }
  .kyb-topbar .kyb-wrap{ min-height:28px; padding-top:4px; padding-bottom:4px; }
  /* ฟอร์ม Enquiry: ช่องกรอกเต็มความกว้างกล่อง */
  .kyb-enq{ padding:24px 16px; }
  .kyb-enq-f, .kyb-enq-title{ max-width:none; }
  .kyb-enq-f > label{ font-size:.95rem; }
  .kyb-contact-cards > *{ padding-left:16px; padding-right:16px; }
  .kyb-contact-hero .kyb-banner{ height:300px; }
  /* หัวข้อใหญ่ไม่ล้นจอ */
  .kyb-s h1{ font-size:clamp(1.9rem,9vw,2.6rem); }
  .kyb-s .kyb-sec-head h2, .kyb-s .kyb-center-head h2{ font-size:clamp(1.6rem,7.4vw,2.1rem); }
  .kyb-sec{ padding:64px 0; }
  .kyb-s.kyb-combine-wrap{ padding-top:56px; padding-bottom:56px; }
  .kyb-combine{ padding:40px 20px; }
  .kyb-combine .kyb-hero-ctas{ flex-direction:column; align-items:stretch; }
  /* ปุ่มแชทลอยไม่บังปุ่มจอง */
  body:has(#kyb-bar-btn) .kyb-float-chat{ bottom:86px; }
}
/* ปฏิทิน: การ์ดไฟต์ของวันที่เลือก (แบบ Upcoming Battles) */
.kyb-fcal-day .kyb-fight{ margin:0 0 14px; }
#fight-calendar{ scroll-margin-top:100px; }
/* ===== ใช้งานด้วยคีย์บอร์ด: เห็นตำแหน่งปุ่ม/ลิงก์ชัดเจน ===== */
.kyb-s a:focus-visible, .kyb-s button:focus-visible, .kyb-site-header a:focus-visible, .kyb-site-header button:focus-visible, .kyb-s [tabindex]:focus-visible{ outline:3px solid var(--kyb-gold); outline-offset:3px; border-radius:6px; }
.kyb-s .kyb-fcal-cell:focus-visible{ outline-offset:-3px; }
/* ปุ่มกดบนมือถือขนาดอย่างน้อย 44px */
@media (pointer:coarse){ .kyb-s .kyb-btn-sm{ min-height:44px; } .kyb-s .kyb-chip{ min-height:40px; } }

/* ===== การ์ดห้องพัก: กางดูรายละเอียดห้อง / สิ่งที่รวมในแพ็กเกจ ===== */
.kyb-rcard-more{ margin:0 0 12px; border-top:1px solid #ececec; padding-top:10px; font-size:.84rem; }
.kyb-rcard-more summary{ cursor:pointer; font-weight:700; color:#000; list-style:none; display:flex; align-items:center; gap:6px; }
.kyb-rcard-more summary::-webkit-details-marker{ display:none; }
.kyb-rcard-more summary::after{ content:"+"; margin-left:auto; font-size:1.1rem; line-height:1; color:var(--kyb-ember); }
.kyb-rcard-more[open] summary::after{ content:"−"; }
.kyb-rcard-more-in{ padding-top:8px; color:#333; line-height:1.55; }
.kyb-rcard-more-in p{ margin:0 0 8px; }
.kyb-rcard-more-in h4{ margin:12px 0 6px; font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; color:#000; }
.kyb-rcard-more-in ul{ margin:0; padding:0; list-style:none; }
.kyb-rcard-more-in li{ position:relative; padding-left:18px; margin:0 0 4px; }
.kyb-rcard-more-in li::before{ content:"✓"; position:absolute; left:0; color:#1c7a32; font-weight:700; }

/* ===== About Us + Important Information (หน้า Accommodation) ===== */
.kyb-stay{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:48px; align-items:start; }
.kyb-stay-about p{ line-height:1.7; margin:0 0 14px; }
.kyb-stay-info{ background:#faf7ee; border:1px solid #efe6c8; border-left:4px solid var(--kyb-gold); border-radius:var(--kyb-radius,12px); padding:24px 24px 10px; color:#222; position:sticky; top:100px; }
.kyb-stay-info h3{ margin:0 0 14px; font-size:1.15rem; color:#000; }
.kyb-stay-info > div{ margin:0 0 16px; }
.kyb-stay-info b{ display:block; margin:0 0 4px; color:#000; }
.kyb-stay-info p{ margin:0 0 6px; font-size:.9rem; line-height:1.55; }
@media (max-width:849px){ .kyb-stay{ grid-template-columns:1fr; gap:24px; } .kyb-stay-info{ position:static; } }
/* ปุ่มดูรูปทั้งหมดบนรูปการ์ดห้อง */
.kyb-rcard .kyb-tcard-img{ position:relative; }
.kyb-s .kyb-rcard-gal{ position:absolute; right:12px; bottom:12px; display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border:0; border-radius:999px; background:rgba(0,0,0,.72); color:#fff; font-size:.78rem; font-weight:700; cursor:pointer; line-height:1.2; min-height:0; }
.kyb-s .kyb-rcard-gal:hover{ background:#000; }
.kyb-rcard-gal svg{ width:14px; height:14px; }
/* แกลเลอรีรีสอร์ตใต้ About Us: รูปแรก 2x2 · 4 รูปเล็ก · ที่เหลือแถวกว้าง */
.kyb-stay-gal{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:10px; margin-top:40px; }
.kyb-stay-gal figure{ margin:0; overflow:hidden; border-radius:var(--kyb-radius,12px); cursor:zoom-in; background:#eee; }
.kyb-stay-gal figure:first-child{ grid-column:span 2; grid-row:span 2; }
.kyb-stay-gal figure:nth-child(n+6){ grid-column:span 2; }
.kyb-stay-gal img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.kyb-stay-gal figure:hover img{ transform:scale(1.05); }
@media (max-width:849px){ .kyb-stay-gal{ grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; margin-top:24px; } .kyb-stay-gal figure:nth-child(n+6){ grid-column:span 1; } .kyb-stay-gal figure:last-child:nth-child(even){ grid-column:span 2; } }
/* โลโก้รีสอร์ตข้างหัวข้อ About Us */
.kyb-stay-head{ display:flex; align-items:center; gap:22px; margin-bottom:8px; }
.kyb-stay-head > :last-child{ margin-bottom:0; flex:1; min-width:0; }
.kyb-stay-logo{ flex:none; width:120px; height:120px; border-radius:50%; object-fit:cover; box-shadow:0 6px 18px rgba(0,0,0,.12); }
@media (max-width:549px){ .kyb-stay-head{ gap:14px; } .kyb-stay-logo{ width:76px; height:76px; } }

/* ===== หน้า FAQ / Latest News ===== */
.kyb-faq-page{ max-width:860px; }
.kyb-faq-more{ margin-top:24px; font-weight:600; }
.kyb-faq-more a{ color:var(--kyb-ember); }
.kyb-newscard .kyb-more{ margin-top:auto; font-weight:700; font-size:.85rem; color:var(--kyb-ember); }
.kyb-pager{ margin-top:32px; display:flex; gap:6px; justify-content:center; }
.kyb-pager .page-numbers{ padding:8px 14px; border:1px solid var(--kyb-line); border-radius:8px; text-decoration:none; color:inherit; }
.kyb-pager .current{ background:var(--kyb-ink); color:#fff; }
/* ลิงก์จากเมนูไปยังส่วนในหน้า: ไม่ให้หัวข้อจมใต้ header */
#fight-schedule, #fight-calendar, #faq, #news, .kyb-coursecard[id]{ scroll-margin-top:110px; }
/* เมนู 8 รายการตาม sitemap: จอคอมขนาดกลางบีบระยะให้พอดีบรรทัดเดียว */
@media (min-width:1061px){
.kyb-nav a{ white-space:nowrap; }
.kyb-nav{ gap:0; }
.kyb-nav > a, .kyb-nav-item > .kyb-nav-top{ padding:10px 7px; letter-spacing:.02em; font-size:.78rem; }
.kyb-nav-item > .kyb-nav-top{ padding-right:2px; }
.kyb-s .kyb-sub-toggle{ width:18px; margin-right:2px; }
.kyb-nav a.is-active::after{ left:7px; right:7px; }
}
/* จอคอมเล็กกว่า 1440px: เหลือแค่โลโก้ ไม่แสดงชื่อข้างโลโก้ เพื่อให้เมนูพอดีบรรทัดเดียว */
@media (min-width:1061px) and (max-width:1439px){
.kyb-site-header .kyb-brand > span{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
}
/* เวลารับที่โรงแรม (หน้าจองตั๋ว / คอร์ส) */
.kyb-bk-pick{ margin:-4px 0 16px; padding:10px 14px; border-radius:8px; background:#eef7ef; color:#1c5a2a; font-size:.88rem; font-weight:700; }
/* จอ ≥1440px แสดงชื่อข้างโลโก้ + เมนู 8 รายการ → ขยายแถบ header ให้พอ ไม่ล้นไปทางขวา (ยังอยู่กึ่งกลาง) */
@media (min-width:1440px){
#kyb-header > .kyb-wrap{ max-width:1310px; }
}
/* จอคอมเล็กกว่า 1440px: ปุ่มหัวเว็บเหลือ โทร + ตะกร้า (Facebook / อีเมล ยังอยู่ท้ายเว็บและหน้า Contact) */
@media (min-width:1061px) and (max-width:1439px){
.kyb-hd-social .kyb-fb, .kyb-hd-social .kyb-mail{ display:none; }
}
/* ชื่อผู้จองในกล่องจองทัวร์: ชื่อ / นามสกุล คู่กัน */
.kyb-bk-name{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:380px){ .kyb-bk-name{ grid-template-columns:1fr; gap:0; } }

/* ===== หน้าแรก: แบนเนอร์เต็มรูป ===== */
.kyb-hero-banner{ background:#000; }
.kyb-hero-banner-img{ display:block; width:100%; height:auto; max-height:calc(100vh - 120px); object-fit:cover; }
.kyb-hero-banner-bar{ background:#000; border-bottom:3px solid var(--kyb-gold); }
.kyb-hero-banner-bar .kyb-wrap{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; padding-bottom:16px; }
.kyb-hero-banner-bar p{ margin:0; color:#fff; font-family:'Lato','Sarabun',sans-serif; font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:.9rem; }
@media (max-width:549px){ .kyb-hero-banner-bar .kyb-wrap{ flex-direction:column; text-align:center; gap:12px; } .kyb-hero-banner-bar p{ font-size:.74rem; letter-spacing:.08em; } .kyb-hero-banner-bar .kyb-btn{ width:100%; justify-content:center; } }

/* ===== ผังที่นั่ง ===== */
.kyb-seatmap{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:40px; align-items:center; margin-top:28px; }
.kyb-seatmap-img{ display:block; border-radius:var(--kyb-radius); overflow:hidden; box-shadow:0 14px 36px rgba(0,0,0,.18); cursor:zoom-in; }
.kyb-seatmap-img img{ display:block; width:100%; height:auto; transition:transform .4s; }
.kyb-seatmap-img:hover img{ transform:scale(1.02); }
.kyb-seatmap-zones{ list-style:none; margin:0 0 24px; padding:0; display:grid; gap:12px; }
.kyb-seatmap-zones li{ display:grid; grid-template-columns:1fr auto; gap:2px 16px; padding:16px 18px; border:1px solid var(--kyb-line); border-radius:var(--kyb-radius); }
.kyb-seatmap-zones b{ font-family:'Lato','Sarabun',sans-serif; font-size:1.05rem; }
.kyb-seatmap-zones span{ grid-column:1; font-size:.86rem; opacity:.75; }
.kyb-seatmap-zones em{ grid-row:1 / span 2; grid-column:2; align-self:center; font-style:normal; font-weight:800; color:var(--kyb-ember); white-space:nowrap; }
.kyb-dark .kyb-seatmap-zones li{ border-color:rgba(255,255,255,.18); }
@media (max-width:849px){ .kyb-seatmap{ grid-template-columns:1fr; gap:24px; } }

/* ผังที่นั่งในหน้าจองตั๋ว */
.kyb-bk-seatmap{ margin:0 0 16px; border:1px solid var(--kyb-line); border-radius:var(--kyb-radius); overflow:hidden; }
.kyb-bk-seatmap summary{ padding:10px 14px; font-weight:700; cursor:pointer; }
.kyb-bk-seatmap a{ display:block; padding:0 14px 14px; cursor:zoom-in; }
.kyb-bk-seatmap img{ display:block; width:100%; max-width:420px; height:auto; margin:0 auto; border-radius:8px; }

/* ===== การ์ดห้อง → หน้ารายละเอียดห้อง /rooms/{slug}/ ===== */
.kyb-rcard .kyb-rcard-link{ display:block; }
.kyb-rcard .kyb-rcard-link .kyb-media img{ transition:transform .6s ease; }
.kyb-rcard:hover .kyb-rcard-link .kyb-media img{ transform:scale(1.05); }
.kyb-s .kyb-rcard .kyb-tcard-body h3 a{ color:inherit; text-decoration:none; }
.kyb-s .kyb-rcard .kyb-tcard-body h3 a:hover{ color:var(--kyb-ember); }
.kyb-rcard-view{ display:flex; align-items:center; gap:6px; margin:0 0 12px; padding-top:10px; border-top:1px solid #ececec; font-size:.84rem; font-weight:700; color:#000; text-decoration:none; }
.kyb-rcard-view .kyb-arr{ margin-left:auto; color:var(--kyb-ember); transition:transform .2s; }
.kyb-rcard-view:hover{ color:var(--kyb-ember); }
.kyb-rcard-view:hover .kyb-arr{ transform:translateX(3px); }
.kyb-room-box .kyb-room-box-price{ font-size:2rem; margin:0 0 14px; }
.kyb-room-box .kyb-room-avail{ margin:0 0 14px; }
.kyb-room-box .kyb-bk-cancel{ margin:12px 0 0; }
.kyb-room-detail .kyb-act-content ul{ list-style:none; margin-left:0; }
.kyb-room-detail .kyb-act-content li{ list-style:none; position:relative; padding-left:22px; }
.kyb-room-detail .kyb-act-content li::before{ content:""; position:absolute; left:2px; top:.62em; width:10px; height:6px; border-left:2px solid var(--kyb-gold); border-bottom:2px solid var(--kyb-gold); transform:rotate(-45deg); }

/* ช่องฟอร์มจอง: ไม่ใช้เงาด้านในของธีม (input[type=email] ของ Flatsome) ให้ทุกช่องหน้าตาเท่ากัน */
.kyb-enq .kyb-enq-f input[type], .kyb-enq .kyb-enq-f input, .kyb-enq .kyb-enq-f select, .kyb-enq .kyb-enq-f textarea{ box-shadow:none; }

.kyb-rcard{ cursor:pointer; }
.kyb-act{ cursor:pointer; }

/* ===== กล่องจองกิจกรรมแบบทีละขั้น (1 วัน/จำนวน → 2 รับส่ง → 3 ข้อมูลผู้จอง) ===== */
.kyb-bkw-bar{ display:flex; gap:6px; margin:0 0 16px; padding:0; list-style:none; counter-reset:none; }
.kyb-bkw-bar li{ flex:1; display:flex; align-items:center; gap:6px; padding:0 0 8px; border-bottom:3px solid #ece8df; font-size:.72rem; font-weight:700; letter-spacing:.02em; color:#9a958c; line-height:1.2; }
.kyb-bkw-bar li b{ flex:none; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; background:#ece8df; color:#6b665e; font-size:.7rem; }
.kyb-bkw-bar li.is-on{ color:#000; border-color:var(--kyb-gold); }
.kyb-bkw-bar li.is-on b{ background:var(--kyb-gold); color:#000; }
.kyb-bkw-bar li.is-done{ color:#1c5b24; border-color:#9bd3a4; cursor:pointer; }
.kyb-bkw-bar li.is-done b{ background:#1c7a2e; color:#fff; font-size:0; }
.kyb-bkw-bar li.is-done b::before{ content:"✓"; font-size:.7rem; }
.kyb-bkw-recap{ display:flex; align-items:flex-start; gap:10px; margin:0 0 14px; padding:10px 12px; background:#f6f3ec; border-radius:8px; font-size:.84rem; line-height:1.45; color:#000; }
.kyb-bkw-recap span{ flex:1; }
.kyb-bkw-recap button{ flex:none; background:none; border:0; padding:0; margin:0; min-height:0; font:inherit; font-weight:700; font-size:.8rem; color:var(--kyb-ember); text-decoration:underline; cursor:pointer; text-transform:none; letter-spacing:0; }
.kyb-bkw-nav{ display:flex; gap:10px; margin-top:16px; }
.kyb-bkw-nav .kyb-btn{ flex:1; justify-content:center; margin:0; }
.kyb-bkw-nav [data-back]{ flex:0 0 auto; padding-left:18px; padding-right:18px; }
.kyb-bkw .kyb-bkw-s[data-s="1"] .kyb-bkw-nav [data-next]{ width:100%; }
.kyb-bkw .kyb-bk-total{ margin-top:16px; }
.kyb-bkw .kyb-bkw-submit{ margin-top:12px; }
.kyb-bkw.is-added .kyb-bkw-s, .kyb-bkw.is-added .kyb-bkw-recap{ display:none; }
details.kyb-bk-terms summary{ cursor:pointer; list-style:none; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#000; }
details.kyb-bk-terms summary::-webkit-details-marker{ display:none; }
details.kyb-bk-terms summary::after{ content:" +"; color:var(--kyb-ember); }
details.kyb-bk-terms[open] summary::after{ content:" −"; }
details.kyb-bk-terms ul{ margin-top:8px; }

/* เลือกโปรแกรมเหมาเรือ (Classic / Premium) ในกล่องจอง */
.kyb-bk-progs{ display:grid; gap:8px; }
.kyb-bk-prog{ position:relative; display:flex; gap:10px; align-items:flex-start; padding:12px 12px 12px 40px; border:1.5px solid var(--kyb-line); border-radius:10px; cursor:pointer; background:#fff; transition:border-color .15s, background .15s; text-transform:none; letter-spacing:0; }
.kyb-bk-prog input{ position:absolute; left:14px; top:15px; width:16px; height:16px; margin:0; accent-color:#b8860b; }
.kyb-bk-prog > span{ flex:1; display:flex; flex-direction:column; gap:2px; font-size:.8rem; color:#555; line-height:1.4; }
.kyb-bk-prog b{ font-size:.95rem; color:#000; }
.kyb-bk-prog em{ font-style:normal; font-size:.74rem; color:#7a746a; }
.kyb-bk-prog i{ flex:none; font-style:normal; font-size:.72rem; color:#555; text-align:right; white-space:nowrap; }
.kyb-bk-prog i strong{ display:block; font-size:1.05rem; color:#000; }
.kyb-bk-prog:has(input:checked){ border-color:var(--kyb-gold); background:#fffaf0; }
.kyb-bk .kyb-bk-progs > span{ display:block; }

/* เนื้อหาโปรแกรม: เทียบโปรแกรม 2 แบบ + ตารางราคา (ใส่ในตัวแก้ไขเป็น HTML) */
.kyb-act-content .kyb-progcmp{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:8px 0 14px; }
.kyb-act-content .kyb-progcmp > div{ padding:18px 18px 10px; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(255,255,255,.04); }
.kyb-act-content .kyb-progcmp h5{ margin:0 0 4px; font-size:1.05rem; color:var(--kyb-gold); text-transform:none; letter-spacing:0; }
.kyb-act-content .kyb-progcmp > div > p:first-of-type{ margin:0 0 12px; font-size:.86rem; opacity:.8; }
.kyb-act-content .kyb-progcmp ul{ list-style:none; margin:0 0 12px; font-size:.9rem; }
.kyb-act-content .kyb-progcmp li{ list-style:none; position:relative; padding-left:20px; }
.kyb-act-content .kyb-progcmp li::before{ content:"✓"; position:absolute; left:0; color:#6fcf7f; font-weight:700; }
.kyb-act-content .kyb-progcmp ul.is-no li::before{ content:"✕"; color:#e07a6a; }
.kyb-act-content .kyb-progcmp p{ margin:0 0 6px; }
.kyb-act-content .kyb-ptable{ width:100%; max-width:520px; border-collapse:collapse; margin:6px 0 10px; font-size:.95rem; }
.kyb-act-content .kyb-ptable th, .kyb-act-content .kyb-ptable td{ padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.12); text-align:left; color:inherit; }
.kyb-act-content .kyb-ptable th{ font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--kyb-gold); }
.kyb-act-content .kyb-ptable td + td, .kyb-act-content .kyb-ptable th + th{ text-align:right; }
@media (max-width:640px){ .kyb-act-content .kyb-progcmp{ grid-template-columns:1fr; } }
.kyb-bk-tiers{ margin:0 0 14px; }
.kyb-bk-tiers > span{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#000; margin-bottom:6px; }
.kyb-bk-tiers ul{ list-style:none; margin:0; padding:0; border:1px solid var(--kyb-line); border-radius:10px; overflow:hidden; }
.kyb-bk-tiers li{ display:flex; justify-content:space-between; align-items:baseline; padding:9px 12px; font-size:.88rem; color:#555; border-top:1px solid #eee; }
.kyb-bk-tiers li:first-child{ border-top:0; }
.kyb-bk-tiers li b{ color:#000; }
.kyb-bk-tiers li.is-on{ background:#fff6dc; color:#000; font-weight:700; }
.kyb-bk-prog input{ -webkit-appearance:auto !important; appearance:auto !important; width:16px !important; height:16px !important; min-height:0 !important; padding:0 !important; box-shadow:none !important; }
.kyb-bk input[name=prog][hidden]{ display:none !important; }

/* หัวข้อรายละเอียดโปรแกรม = dropdown 2 คอลัมน์ */
.kyb-acc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; margin:22px 0 8px; }
.kyb-acc{ border:1px solid rgba(255,255,255,.16); border-radius:10px; background:rgba(255,255,255,.04); transition:border-color .2s, background .2s; }
.kyb-acc[open]{ border-color:rgba(240,180,41,.55); background:rgba(255,255,255,.06); }
.kyb-acc > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; padding:14px 16px; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--kyb-gold); }
.kyb-acc > summary::-webkit-details-marker{ display:none; }
.kyb-acc > summary::after{ content:""; margin-left:auto; flex:none; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s; }
.kyb-acc[open] > summary::after{ transform:rotate(-135deg) translateY(-2px); }
.kyb-acc > summary:hover{ color:#fff; }
.kyb-acc-in{ padding:0 16px 14px; font-size:.93rem; }
.kyb-acc-in > :first-child{ margin-top:0; }
.kyb-acc-in ul{ margin:0 0 6px 1.1em; }
.kyb-acc-in .kyb-ptable{ max-width:none; font-size:.85rem; }
.kyb-acc-in .kyb-ptable th, .kyb-acc-in .kyb-ptable td{ padding:8px 6px; }
@media (max-width:640px){ .kyb-acc-grid{ grid-template-columns:1fr; } }
.kyb-acc-col{ display:flex; flex-direction:column; gap:12px; min-width:0; }
@media (max-width:640px){ .kyb-acc-grid{ gap:12px; } }
/* มือถือ: คอลัมน์เดียว เรียงตามลำดับเดิม (order) */
@media (max-width:640px){ .kyb-acc-grid{ display:flex; flex-direction:column; } .kyb-acc-col{ display:contents; } }
@media (max-width:640px){ .kyb-acc-grid{ align-items:stretch; } }
.kyb-act-content .kyb-acc-in ul.is-no{ list-style:none; margin-left:0; }
.kyb-act-content .kyb-acc-in ul.is-no li{ list-style:none; position:relative; padding-left:20px; }
.kyb-act-content .kyb-acc-in ul.is-no li::before{ content:"✕"; position:absolute; left:0; color:#e07a6a; font-weight:700; }

/* UX Builder: รายการที่ยังไม่ได้เลือกโพสต์ */
.kyb-ux-pick{ padding:28px 16px; border:2px dashed #c9a227; border-radius:10px; text-align:center; color:#8a6d00; background:#fffaf0; font-size:.9rem; }
.kyb-amen-img{ width:34px; height:34px; object-fit:contain; display:block; margin:0 auto 10px; }
/* ปุ่มของกิจกรรม (ปุ่มหลัก + ปุ่มที่ 2) */
.kyb-act-btns{ display:flex; flex-wrap:wrap; gap:12px; }
.kyb-act-btns .kyb-btn{ margin:0; }
@media (max-width:640px){ .kyb-act-btns .kyb-btn{ flex:1 1 100%; justify-content:center; } }
/* หัวข้อกิจกรรมเลือกระดับได้ (h1/h2/h3/p) — หน้าตาเดียวกับ h2 เดิม */
.kyb-act .kyb-act-title{ font-size:clamp(1.9rem,3.6vw,2.8rem); margin:0 0 14px; color:inherit; line-height:1.05; text-transform:uppercase; }
/* หลายปุ่มต่อกัน */
.kyb-act-body > .kyb-btn + .kyb-btn{ margin-left:10px; }
@media (max-width:640px){ .kyb-act-body > .kyb-btn + .kyb-btn{ margin-left:0; margin-top:10px; } }
/* element ของ Flatsome ที่แทรกในกิจกรรม */
.kyb-act-body > .text, .kyb-act-body > .img, .kyb-act-body > .video{ margin-bottom:16px; }
/* ชิ้นย่อยของ section ข้อมูล (KYB_UX_Parts) */
.kyb-txt > .kyb-p-btn, .kyb-stay-about > .kyb-p-btn{ margin:14px 10px 0 0; align-self:flex-start; }
.kyb-combine > .kyb-p-btn{ margin:0 6px 12px; }
.kyb-combine > .kyb-p-btn:last-of-type{ margin-bottom:0; }
.kyb-combine > .kyb-combine-soc{ margin-top:22px; }
@media (max-width:640px){ .kyb-combine > .kyb-p-btn{ display:flex; justify-content:center; margin:0 0 12px; } }
/* หน้าแรก: วันไฟต์ + จุดเด่นแยกชิ้น (UX Builder) */
.kyb-own-fi{ display:flex; flex-wrap:wrap; justify-content:center; column-gap:32px; }
.kyb-own-fi > *{ flex:0 0 100%; }
.kyb-own-fi > .kyb-feature{ flex:0 0 calc(25% - 24px); margin-top:64px; }
.kyb-own-fi > .kyb-feature ~ .kyb-feature{ }
@media (max-width:900px){ .kyb-own-fi > .kyb-feature{ flex-basis:calc(50% - 16px); } }
@media (max-width:520px){ .kyb-own-fi > .kyb-feature{ flex-basis:100%; margin-top:40px; } }
.kyb-feature svg, .kyb-feature .kyb-feature-img{ width:62px; height:62px; color:var(--kyb-gold); margin:0 auto 18px; display:block; object-fit:contain; }
.kyb-feature h3{ text-transform:none; font-size:1.45rem; color:var(--kyb-black); margin-bottom:10px; }
.kyb-feature p{ font-size:.95rem; color:var(--kyb-charcoal); margin:0; }
/* หัวข้อแยกชิ้น (ผังที่นั่ง / More than a fight night) */
.kyb-own-head > div > p:not(.kyb-eyebrow){ max-width:520px; margin:8px 0 0; color:var(--kyb-charcoal); }
.kyb-dark .kyb-own-head > div > p:not(.kyb-eyebrow){ color:var(--kyb-paper); opacity:.72; }
.kyb-own-head h2{ margin-bottom:0; }
.kyb-seatmap-side > .kyb-p-btn{ margin:0 10px 10px 0; }
/* ผังที่นั่งแบบแยกชิ้น: รายละเอียดข้างผัง */
.kyb-seatmap-own{ margin-top:0; align-items:center; }
.kyb-seatmap-side > .kyb-eyebrow{ margin-bottom:6px; }
.kyb-seatmap-side > .kyb-p-title{ margin:0 0 10px; }
.kyb-seatmap-side > p:not(.kyb-eyebrow){ margin:0 0 22px; opacity:.72; font-size:.95rem; }
.kyb-seatmap-zones.kyb-seat-one{ margin:0 0 12px; }
.kyb-seatmap-zones.kyb-seat-one + :not(.kyb-seat-one){ margin-top:12px; }
/* แถบแดง Reserve แยกชิ้น: เส้นบน + หัวข้อ + ปุ่ม กึ่งกลาง */
.kyb-reserve-own{ text-align:center; }
.kyb-reserve-own::before{ content:""; display:block; width:100px; height:4px; background:rgba(255,255,255,.35); margin:0 auto 26px; }
.kyb-reserve-own > .kyb-p-title{ margin:0 0 28px; color:inherit; }

/* ===== UX Builder: กล่องที่มีชิ้นย่อย — ตัวห่อของ UX Builder ไม่ทำให้ grid/คอลัมน์เพี้ยน =====
   (UX Builder ใส่ชิ้นย่อยไว้ใน <div class="text"><content> แล้วห่อแต่ละชิ้นด้วย <uxb-wrapper>) */
.kyb-s div.text:has(> content), .kyb-s content{ display:contents; }
.kyb-own-fi uxb-wrapper{ flex:0 0 100%; }
.kyb-own-fi uxb-wrapper:has(> .kyb-feature){ flex:0 0 calc(25% - 24px); width:auto; margin-top:64px; }
@media (max-width:900px){ .kyb-own-fi uxb-wrapper:has(> .kyb-feature){ flex-basis:calc(50% - 16px); } }
@media (max-width:520px){ .kyb-own-fi uxb-wrapper:has(> .kyb-feature){ flex-basis:100%; margin-top:40px; } }
.kyb-own-fi uxb-wrapper > .kyb-feature{ margin-top:0; }
.kyb-split-own uxb-wrapper, .kyb-grid uxb-wrapper, .kyb-amen uxb-wrapper, .kyb-pkg uxb-wrapper{ width:auto; min-width:0; }
/* About Us แยกชิ้น: คอลัมน์เดียว (ไม่มีกล่อง Important Information) · หัวข้อ Dropdown */
.kyb-stay.kyb-stay-own{ grid-template-columns:minmax(0,1fr); }
.kyb-stay-own .kyb-stay-about{ max-width:860px; }
.kyb-drop details{ padding:16px 0; }
.kyb-drop details p{ margin:10px 0 0; color:var(--kyb-charcoal); font-size:.95rem; }
.kyb-stay-about > .kyb-eyebrow, .kyb-stay-about uxb-wrapper > .kyb-eyebrow{ margin-top:30px; }
/* รูป + ข้อความ (About Us และ section ข้อมูลอื่น) */
.kyb-mrow{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:40px; align-items:center; margin:44px 0; }
.kyb-mrow.is-right{ grid-template-columns:minmax(0,6fr) minmax(0,5fr); }
.kyb-mrow.is-right > figure{ order:2; }
.kyb-mrow.no-img{ grid-template-columns:1fr; }
.kyb-mrow > figure{ margin:0; border-radius:var(--kyb-radius); overflow:hidden; box-shadow:0 14px 36px rgba(0,0,0,.14); cursor:zoom-in; aspect-ratio:4/3; }
.kyb-mrow > figure img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.kyb-mrow > figure:hover img{ transform:scale(1.03); }
.kyb-mrow-body h3{ font-size:clamp(1.3rem,2.2vw,1.7rem); margin:0 0 12px; }
.kyb-mrow-body p{ margin:0 0 12px; line-height:1.7; }
.kyb-mrow-body .kyb-eyebrow{ margin-bottom:8px; }
@media (max-width:849px){ .kyb-mrow, .kyb-mrow.is-right{ grid-template-columns:1fr; gap:18px; margin:32px 0; } .kyb-mrow.is-right > figure{ order:0; } }
/* ข้อความเน้นปิดท้าย */
.kyb-p-quote{ font-style:italic; font-size:1.12rem; line-height:1.7; border-left:3px solid var(--kyb-gold); padding:4px 0 4px 18px; margin:36px 0 20px; }
.kyb-stay-own .kyb-stay-about{ max-width:none; }
.kyb-stay-own .kyb-stay-about > p:not(.kyb-eyebrow):not(.kyb-p-quote), .kyb-stay-own .kyb-stay-about > .kyb-faq, .kyb-stay-own .kyb-stay-about uxb-wrapper > .kyb-faq{ max-width:860px; }

/* ===== เทรนเนอร์: รูปโปรไฟล์วงกลม (ไม่มีพื้นการ์ด) ===== */
.kyb-card.kyb-trainer{ background:transparent; border:0; box-shadow:none; overflow:visible; align-items:center; text-align:center; }
.kyb-card.kyb-trainer:hover{ transform:none; box-shadow:none; }
.kyb-trainer .kyb-media{ width:min(200px, 72%); aspect-ratio:1/1; border-radius:50%; overflow:hidden; margin:0 auto; border:4px solid var(--kyb-gold); box-shadow:0 0 0 6px rgba(240,185,11,.15), 0 14px 30px rgba(0,0,0,.35); transition:transform .3s, box-shadow .3s; }
.kyb-trainer .kyb-media img, .kyb-trainer .kyb-media svg{ width:100%; height:100%; object-fit:cover; }
.kyb-trainer:hover .kyb-media{ transform:translateY(-4px); box-shadow:0 0 0 8px rgba(240,185,11,.25), 0 18px 36px rgba(0,0,0,.4); }
.kyb-trainer .kyb-card-body{ padding:18px 6px 0; align-items:center; background:transparent; }
.kyb-trainer .kyb-tag{ background:transparent; color:var(--kyb-gold); padding:0; letter-spacing:.16em; }
.kyb-trainer h3{ font-size:1.12rem; margin:6px 0 4px; }
.kyb-dark .kyb-trainer h3{ color:#fff; }
.kyb-trainer p{ font-size:.88rem; opacity:.75; }
.kyb-dark .kyb-trainer p{ color:var(--kyb-paper); }

/* ปฏิทินไฟต์แบบกะทัดรัด — ให้เห็น Upcoming Battles ต่อจากปฏิทินในจอเดียว */
.kyb-fcal{ max-width:720px; }
.kyb-fcal-cell{ min-height:50px; padding:5px 7px; }
.kyb-fcal-n{ font-size:.9rem; margin:0 0 2px; }
.kyb-fcal-head span{ padding:4px 8px; font-size:.76rem; }
.kyb-fcal-bar{ margin-bottom:10px; }
.kyb-fcal-day{ margin-top:12px; }
.kyb-cal-sec .kyb-center-head{ margin-bottom:16px; }
section.kyb-cal-sec{ padding-top:56px; padding-bottom:28px; }
section.kyb-cal-sec + section.kyb-sec{ padding-top:44px; }
@media (max-width:849px){ .kyb-fcal-cell{ min-height:48px; padding:5px; } }

/* การ์ดไฟต์ใต้ปฏิทิน (กล่องแคบ 720px): วันที่ | ชื่อ+รายละเอียด+ปุ่มซื้อ | รูป */
@media (min-width:901px){
  .kyb-fcal-day .kyb-fight{ grid-template-columns:84px 1fr 180px; grid-template-areas:"d i m" "d b m"; gap:10px 20px; padding:14px; }
  .kyb-fcal-day .kyb-fight > .kyb-datebox{ grid-area:d; }
  .kyb-fcal-day .kyb-fight > div:nth-child(2){ grid-area:i; align-self:end; min-width:0; }
  .kyb-fcal-day .kyb-fight > .kyb-btn{ grid-area:b; align-self:start; justify-self:start; }
  .kyb-fcal-day .kyb-fight > .kyb-media{ grid-area:m; }
  .kyb-fcal-day .kyb-fight.is-past{ grid-template-areas:"d i" "d b"; }
}
.kyb-fcal-day .kyb-fight h3{ font-size:1.25rem; line-height:1.15; margin:6px 0 4px; }
.kyb-fcal-day .kyb-fight .kyb-meta{ font-size:.84rem; line-height:1.45; }

/* ช่องคูปองในหน้าจอง */
.kyb-s .kyb-bk-coupon{ display:flex; gap:8px; margin:14px 0 6px; }
.kyb-s .kyb-bk-coupon input{ flex:1; min-width:0; height:42px; margin:0; padding:0 12px; border:1px solid var(--kyb-line); border-radius:8px; font-size:.92rem; text-transform:uppercase; letter-spacing:.04em; box-shadow:none; }
.kyb-s .kyb-bk-coupon input::placeholder{ text-transform:none; letter-spacing:0; }
.kyb-s .kyb-bk-coupon button{ height:42px; min-height:0; margin:0; padding:0 18px; border:1px solid #000; border-radius:8px; background:#000; color:var(--kyb-gold); font-weight:700; font-size:.85rem; cursor:pointer; }
.kyb-s .kyb-bk-coupon button:disabled{ opacity:.5; }
.kyb-bk-coupon-msg{ margin:0 0 8px; font-size:.84rem; color:#b32d2e; }
.kyb-bk-coupon-msg.is-ok{ color:#1e7e34; }
.kyb-bk-total s{ opacity:.5; font-weight:400; font-size:.8em; margin-right:4px; }

/* หน้ารวมแพ็กเกจที่ยังไม่มีแพ็กเกจ */
.kyb-pkg-empty{ max-width:560px; margin:0 auto; padding:34px 30px; text-align:center; border:1px dashed var(--kyb-line); border-radius:var(--kyb-radius); background:var(--kyb-rice,#faf6ec); }
.kyb-pkg-empty p{ margin:0 0 20px; color:var(--kyb-charcoal); }
.kyb-pkg-empty strong{ display:block; margin-bottom:6px; font-size:1.15rem; color:#000; text-transform:uppercase; letter-spacing:.04em; }
.kyb-pkg-grid:empty{ display:none; }

/* เมนูชั้น 3 (เช่น Yao Island Resort → Tent / Bungalow): ซ่อนไว้ ชี้หรือกดลูกศรแล้วกางลงมา */
.kyb-sub-row{ display:flex; align-items:center; }
.kyb-sub-row > .kyb-sub-link{ flex:1; min-width:0; }
.kyb-s .kyb-sub3-toggle{ flex:none; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; min-height:0; margin:0; padding:0; border:0; border-radius:6px; background:none; color:inherit; cursor:pointer; }
.kyb-s .kyb-sub3-toggle svg{ transition:transform .15s; }
.kyb-sub3{ display:none; }
.kyb-sub-group.is-open > .kyb-sub3{ display:block; }
.kyb-sub-group.is-open .kyb-sub3-toggle svg{ transform:rotate(180deg); }
@media (min-width:1061px){
  /* ชี้แล้วกางค้างไว้ (JS ใส่ is-open) จนกว่าจะออกจากเมนูนั้น — รายการด้านล่างจึงไม่เด้งหนีเมาส์ */
  .kyb-sub-group:focus-within > .kyb-sub3{ display:block; }
  .kyb-s .kyb-sub3-toggle:hover{ background:#faf5f3; }
}
@media (max-width:1060px){
  .kyb-s .kyb-sub3-toggle{ width:44px; height:40px; }
}

/* การ์ด Coming soon ของ Other Accommodations (ขึ้นเมื่อกดปุ่มกรองนั้น) */
.kyb-room-soon{ grid-column:1 / -1; max-width:620px; margin:0 auto; padding:34px 30px; text-align:center; border:1px dashed var(--kyb-line); border-radius:var(--kyb-radius); background:var(--kyb-rice,#faf6ec); }
#kyb-rooms:not([data-filter="other-accommodations"]) .kyb-room-soon{ display:none !important; }
.kyb-room-soon .kyb-eyebrow{ justify-content:center; }
.kyb-room-soon h3{ margin:4px 0 10px; text-transform:uppercase; }
.kyb-room-soon p{ color:var(--kyb-charcoal); margin:0 0 18px; }

/* การ์ด Combine it with a Fight Night — พื้นรูปไฟต์โทนมืด ขอบทอง */
.kyb-combine{ position:relative; isolation:isolate; overflow:hidden; background:#0d0d0d; color:#fff; border:1px solid rgba(240,185,11,.55); border-radius:20px; padding:72px 40px 56px; text-align:center; box-shadow:0 30px 70px rgba(0,0,0,.55); }
.kyb-combine::before{ content:""; position:absolute; inset:0; z-index:-2; background:var(--kyb-cb-img, none) center 35%/cover no-repeat; opacity:.55; transform:scale(1.03); }
.kyb-combine::after{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(120% 90% at 50% 40%, rgba(10,10,10,.55) 0%, rgba(10,10,10,.88) 70%, #0a0a0a 100%); }
.kyb-combine-kicker{ display:inline-flex; align-items:center; gap:12px; margin:0 0 14px !important; font-size:.78rem !important; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--kyb-gold) !important; }
.kyb-combine-kicker::before, .kyb-combine-kicker::after{ content:""; width:28px; height:2px; background:var(--kyb-gold); }
.kyb-combine h2, .kyb-combine h3{ color:#fff !important; text-shadow:0 2px 18px rgba(0,0,0,.5); }
.kyb-combine p{ color:rgba(255,255,255,.82); }
.kyb-combine .kyb-btn-line{ background:transparent; color:#fff; border-color:rgba(255,255,255,.7); }
.kyb-combine .kyb-btn-line:hover{ background:#fff; color:#000; border-color:#fff; }
.kyb-combine .kyb-btn-gold{ box-shadow:0 8px 24px rgba(240,185,11,.28); }
.kyb-combine-soc{ border-top-color:rgba(255,255,255,.14) !important; }
@media (max-width:700px){ .kyb-combine{ padding:52px 20px 40px; border-radius:16px; } .kyb-combine-kicker{ letter-spacing:.16em; } .kyb-combine-kicker::before, .kyb-combine-kicker::after{ width:16px; } }

/* ================= Latest News ================= */
.kyb-news-topics{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:-8px 0 30px; }
.kyb-s .kyb-news-topics a.kyb-chip{ text-decoration:none; }
.kyb-s .kyb-news-topics a.kyb-chip.is-active{ background:#000; border-color:#000; color:var(--kyb-gold); }
/* ป้ายหมวด */
.kyb-ntag{ display:inline-block; padding:5px 11px; border-radius:20px; background:#000; color:var(--kyb-gold) !important; font-size:.66rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; line-height:1.2; text-decoration:none !important; }
.kyb-ntag.is-announcements{ background:var(--kyb-gold); color:#000 !important; }
.kyb-ntag.is-results{ background:var(--kyb-ember,#b8321f); color:#fff !important; }
.kyb-ntag.is-island-life{ background:#1f6f63; color:#fff !important; }
/* ประกาศปักหมุด */
.kyb-news-pins{ display:grid; gap:10px; margin:0 0 30px; }
.kyb-s a.kyb-news-pin{ display:flex; align-items:center; gap:16px; padding:16px 20px; border:1px solid #000; border-left:5px solid var(--kyb-gold); border-radius:12px; background:#faf6ec; color:#000; text-decoration:none; transition:transform .2s, box-shadow .2s; }
.kyb-s a.kyb-news-pin:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.1); color:#000; }
.kyb-news-pin-ic{ flex:none; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#000; color:var(--kyb-gold); }
.kyb-news-pin-ic svg{ width:18px; height:18px; }
.kyb-news-pin-txt{ flex:1; min-width:0; }
.kyb-news-pin-txt small{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#8a6d0b; }
.kyb-news-pin-txt strong{ display:block; font-size:1.05rem; line-height:1.35; }
/* ข่าวเด่น */
.kyb-s a.kyb-news-feat{ display:grid; grid-template-columns:1.25fr 1fr; margin:0 0 30px; border:1px solid #ececec; border-radius:16px; overflow:hidden; background:#fff; color:#000; text-decoration:none; box-shadow:0 8px 30px rgba(0,0,0,.08); transition:transform .2s, box-shadow .2s; }
.kyb-s a.kyb-news-feat:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.14); color:#000; }
.kyb-news-feat-img .kyb-media{ height:100%; min-height:340px; border-radius:0; }
.kyb-news-feat-body{ display:flex; flex-direction:column; justify-content:center; padding:40px 40px 36px; }
.kyb-news-meta{ display:flex; align-items:center; gap:12px; margin:0 0 14px; font-size:.84rem; color:var(--kyb-charcoal); }
.kyb-s .kyb-news-feat-body h3{ margin:0 0 12px; font-size:1.75rem; line-height:1.2; color:#000; }
.kyb-news-feat-body p{ margin:0 0 22px; color:var(--kyb-charcoal); }
.kyb-news-feat-body .kyb-btn{ align-self:flex-start; }
/* การ์ดข่าว */
.kyb-news-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.kyb-s a.kyb-ncard{ display:flex; flex-direction:column; border:1px solid #ececec; border-radius:14px; overflow:hidden; background:#fff; color:#000; text-decoration:none; box-shadow:0 4px 18px rgba(0,0,0,.07); transition:transform .2s, box-shadow .2s; }
.kyb-s a.kyb-ncard:hover{ transform:translateY(-4px); box-shadow:0 14px 34px rgba(0,0,0,.13); color:#000; }
.kyb-ncard-img{ position:relative; }
.kyb-ncard-img .kyb-media{ aspect-ratio:16/10; border-radius:0; }
.kyb-ncard-img .kyb-ntag{ position:absolute; z-index:3; top:12px; left:12px; }
.kyb-ncard-body{ display:flex; flex-direction:column; flex:1; padding:16px 18px 18px; }
.kyb-ncard-body time{ font-size:.78rem; color:#8a8a8a; margin-bottom:6px; }
.kyb-s .kyb-ncard-body h3{ margin:0 0 8px; font-size:1.08rem; line-height:1.35; text-transform:none; letter-spacing:0; color:#000; }
.kyb-ncard-body p{ margin:0 0 14px; font-size:.9rem; color:var(--kyb-charcoal); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.kyb-ncard-body .kyb-more{ margin-top:auto; font-weight:700; font-size:.85rem; color:#000; }
.kyb-s a.kyb-ncard:hover .kyb-more, .kyb-s a.kyb-news-feat:hover .kyb-arr{ color:var(--kyb-ember,#b8321f); }
.kyb-news-empty{ max-width:560px; margin:0 auto; padding:34px; text-align:center; border:1px dashed var(--kyb-line); border-radius:14px; background:#faf6ec; }
.kyb-news-empty strong{ display:block; font-size:1.1rem; text-transform:uppercase; margin-bottom:6px; }
.kyb-news-empty p{ margin:0; color:var(--kyb-charcoal); }
@media (max-width:900px){
  .kyb-s a.kyb-news-feat{ grid-template-columns:1fr; }
  .kyb-news-feat-img .kyb-media{ min-height:0; aspect-ratio:16/9; }
  .kyb-news-feat-body{ padding:24px 22px; }
  .kyb-s .kyb-news-feat-body h3{ font-size:1.35rem; }
  .kyb-news-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
}
@media (max-width:600px){ .kyb-news-grid{ grid-template-columns:1fr; } .kyb-news-topics{ justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; } .kyb-news-topics .kyb-chip{ flex:none; } }

/* หน้าอ่านข่าว */
.kyb-article{ background:#fff; }
.kyb-article-narrow{ max-width:760px !important; }
.kyb-article-head{ background:#0b0b0b; color:#fff; padding:56px 0 64px; }
.kyb-article-head.has-img{ padding-bottom:150px; }
.kyb-s .kyb-article-back{ display:inline-block; margin-bottom:22px; color:rgba(255,255,255,.7); font-size:.85rem; text-decoration:none; }
.kyb-s .kyb-article-back:hover{ color:var(--kyb-gold); }
.kyb-article-head p{ margin:0 0 14px; }
.kyb-s .kyb-article-head h1{ margin:0 0 16px; color:#fff; font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.15; }
.kyb-article-meta{ display:flex; gap:10px; font-size:.9rem; color:rgba(255,255,255,.65); }
.kyb-article-cover{ margin:-110px auto 0; max-width:1040px; }
.kyb-article-cover img{ display:block; width:100%; max-height:560px; object-fit:cover; border-radius:16px; box-shadow:0 24px 60px rgba(0,0,0,.25); }
.kyb-article-cover figcaption{ margin-top:8px; font-size:.8rem; color:#8a8a8a; text-align:center; }
.kyb-article-body{ padding:44px 0 10px; font-size:1.08rem; line-height:1.8; color:#222; }
.kyb-article-body > *:first-child{ margin-top:0; }
.kyb-s .kyb-article-body h2{ margin:38px 0 14px; font-size:1.5rem; color:#000; }
.kyb-s .kyb-article-body h3{ margin:30px 0 10px; font-size:1.2rem; color:#000; text-transform:none; letter-spacing:0; }
.kyb-article-body p{ margin:0 0 20px; }
.kyb-article-body ul, .kyb-article-body ol{ margin:0 0 22px 1.2em; }
.kyb-article-body li{ margin-bottom:6px; }
.kyb-article-body img{ border-radius:12px; }
.kyb-article-body blockquote{ margin:28px 0; padding:6px 0 6px 22px; border-left:4px solid var(--kyb-gold); font-size:1.15rem; font-style:italic; color:#000; }
.kyb-s .kyb-article-body a{ color:#b8321f; text-decoration:underline; text-underline-offset:3px; }
.kyb-article-share{ display:flex; align-items:center; gap:10px; margin:10px 0 56px; padding-top:22px; border-top:1px solid var(--kyb-line); }
.kyb-article-share strong{ margin-right:6px; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; }
.kyb-s .kyb-article-share a, .kyb-s .kyb-article-share button{ display:inline-flex; align-items:center; justify-content:center; height:40px; min-width:40px; min-height:0; margin:0; padding:0 12px; border:1px solid var(--kyb-line); border-radius:20px; background:#fff; color:#000; font-size:.82rem; font-weight:700; cursor:pointer; text-decoration:none; }
.kyb-article-share svg{ width:18px; height:18px; }
.kyb-s .kyb-article-share a.is-fb:hover{ background:#1877f2; border-color:#1877f2; color:#fff; }
.kyb-s .kyb-article-share a.is-wa:hover{ background:#25d366; border-color:#25d366; color:#fff; }
.kyb-s .kyb-article-share button:hover{ background:#000; border-color:#000; color:var(--kyb-gold); }
.kyb-article-more{ padding:56px 0 72px; background:#f6f3ec; }
.kyb-article-more-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:22px; }
.kyb-s .kyb-article-more-head h2{ margin:0; font-size:1.6rem; }
.kyb-s .kyb-article-more-head a{ font-weight:700; color:#000; white-space:nowrap; }
@media (max-width:700px){ .kyb-article-head{ padding:40px 0 48px; } .kyb-article-head.has-img{ padding-bottom:90px; } .kyb-article-cover{ margin-top:-60px; padding:0 16px; } .kyb-article-body{ font-size:1rem; } }

/* ================= Contact ================= */
.kyb-ct-kicker{ display:inline-flex; align-items:center; gap:10px; margin:0 0 12px; font-size:.78rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--kyb-gold); }
.kyb-ct-kicker::before{ content:""; width:28px; height:2px; background:currentColor; }
.kyb-s.kyb-ct-hero{ position:relative; isolation:isolate; overflow:hidden; padding:110px 0 150px; background:#0b0b0b; color:#fff; }
.kyb-ct-hero::before{ content:""; position:absolute; inset:0; z-index:-2; background:var(--kyb-ct-img,none) center 40%/cover no-repeat; opacity:.5; }
.kyb-ct-hero::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(8,8,8,.92) 0%, rgba(8,8,8,.7) 45%, rgba(8,8,8,.35) 100%); }
.kyb-s .kyb-ct-hero h1{ margin:0 0 14px; color:#fff; font-size:clamp(2.6rem,6vw,4.4rem); line-height:1.05; }
.kyb-ct-lead{ max-width:540px; margin:0 0 28px; font-size:1.08rem; color:rgba(255,255,255,.8); }
.kyb-ct-quick{ display:flex; flex-wrap:wrap; gap:12px; }
.kyb-s a.kyb-ct-q{ display:inline-flex; align-items:center; gap:10px; padding:12px 20px; border:1px solid rgba(255,255,255,.35); border-radius:40px; background:rgba(255,255,255,.06); color:#fff; font-weight:700; font-size:.9rem; text-decoration:none; backdrop-filter:blur(4px); transition:background .2s, border-color .2s, transform .2s; }
.kyb-s a.kyb-ct-q:hover{ background:#fff; border-color:#fff; color:#000; transform:translateY(-2px); }
.kyb-s a.kyb-ct-q.is-wa{ background:#25d366; border-color:#25d366; }
.kyb-s a.kyb-ct-q.is-wa:hover{ background:#1ebe5a; border-color:#1ebe5a; color:#fff; }
.kyb-ct-q svg{ width:18px; height:18px; }
.kyb-s.kyb-ct-main{ position:relative; z-index:2; margin-top:-90px; padding:0 0 80px; background:transparent; }
.kyb-ct-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:start; }
.kyb-ct-info, .kyb-ct-card{ background:#fff; border:1px solid #ececec; border-radius:18px; box-shadow:0 20px 50px rgba(0,0,0,.12); }
.kyb-ct-info{ padding:32px 30px 30px; }
.kyb-s .kyb-ct-info h2{ margin:0 0 18px; font-size:1.4rem; color:#000; }
.kyb-ct-list{ list-style:none; margin:0 0 22px; padding:0; }
.kyb-ct-list li{ display:flex; gap:14px; padding:14px 0; border-bottom:1px dashed var(--kyb-line); }
.kyb-ct-list li:last-child{ border-bottom:0; }
.kyb-ct-list .kyb-ct-ic{ flex:none; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#000; color:var(--kyb-gold); }
.kyb-ct-ic svg{ width:18px; height:18px; }
.kyb-ct-list small{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#8a8a8a; margin-bottom:2px; }
.kyb-ct-list b, .kyb-ct-list a{ display:block; font-weight:700; color:#000; text-decoration:none; overflow-wrap:anywhere; }
.kyb-ct-list a:hover{ color:var(--kyb-ember,#b8321f); }
.kyb-ct-list div > span{ display:block; font-size:.9rem; color:var(--kyb-charcoal); }
.kyb-ct-map{ border-radius:12px; overflow:hidden; }
.kyb-ct-map iframe{ display:block; width:100%; height:260px; border:0; }
.kyb-ct-card{ padding:36px 36px 34px; }
.kyb-ct-card .kyb-ct-kicker{ color:#8a6d0b; }
.kyb-s .kyb-ct-card h2{ margin:0 0 6px; font-size:1.6rem; color:#000; }
.kyb-ct-sub{ margin:0 0 24px; color:var(--kyb-charcoal); }
.kyb-s .kyb-ct-form{ padding:0; overflow:visible; }
.kyb-ct-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.kyb-s .kyb-ct-form .kyb-enq-f{ max-width:none; margin:0 0 16px; }
.kyb-s .kyb-ct-form .kyb-enq-f > label{ margin-bottom:7px; font-size:.82rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#333; }
.kyb-s .kyb-ct-form .kyb-enq-f input, .kyb-s .kyb-ct-form .kyb-enq-f select, .kyb-s .kyb-ct-form .kyb-enq-f textarea{ min-height:48px; padding:12px 14px; border:1px solid #e2ddd3; border-radius:10px; background:#fbfaf7; font-size:.95rem; transition:border-color .15s, background .15s; }
.kyb-s .kyb-ct-form .kyb-enq-f input:focus, .kyb-s .kyb-ct-form .kyb-enq-f select:focus, .kyb-s .kyb-ct-form .kyb-enq-f textarea:focus{ background:#fff; border-color:var(--kyb-gold); outline:3px solid rgba(240,185,11,.25); outline-offset:0; }
.kyb-s .kyb-ct-send{ width:100%; justify-content:center; margin-top:6px; min-height:52px; font-size:.95rem; }
.kyb-ct-card .kyb-form-ok{ padding:16px 18px; border-radius:10px; background:#eef8ee; color:#1c5b24; }
@media (max-width:900px){
  .kyb-s.kyb-ct-hero{ padding:70px 0 120px; }
  .kyb-ct-grid{ grid-template-columns:1fr; }
  .kyb-ct-card{ order:-1; }
}
@media (max-width:600px){
  .kyb-ct-row{ grid-template-columns:1fr; gap:0; }
  .kyb-ct-card, .kyb-ct-info{ padding:26px 18px; border-radius:14px; }
  .kyb-s a.kyb-ct-q{ padding:10px 16px; }
}

/* Contact: ไอคอนโซเชียลในการ์ด Find us · การ์ดสองใบสูงเท่ากัน */
.kyb-ct-grid{ align-items:stretch; }
.kyb-ct-info{ display:flex; flex-direction:column; }
.kyb-ct-list{ margin-bottom:8px; }
.kyb-ct-social{ padding:16px 0 20px; border-top:1px dashed var(--kyb-line); }
.kyb-ct-social small{ display:block; margin-bottom:12px; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#8a8a8a; }
.kyb-ct-social .kyb-ct-soc{ justify-content:flex-start; margin:0; padding:0; border:0; }
.kyb-ct-map{ flex:1; display:flex; min-height:240px; }
.kyb-ct-map iframe{ flex:1; height:auto; min-height:240px; }
@media (max-width:900px){ .kyb-ct-map{ flex:none; } .kyb-ct-map iframe{ height:260px; } }

/* แผนที่: เอาเมาส์ชี้แล้วการ์ดยกขึ้น แผนที่ซูมเข้าเล็กน้อยและเป็นสีเต็ม */
.kyb-map{ position:relative; transition:transform .35s ease, box-shadow .35s ease; }
.kyb-map iframe{ transition:transform .6s cubic-bezier(.2,.7,.2,1), filter .4s; transform-origin:50% 50%; }
.kyb-map:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(0,0,0,.18); }
.kyb-map:hover iframe{ transform:scale(1.06); filter:none; }
@media (prefers-reduced-motion:reduce){ .kyb-map, .kyb-map iframe{ transition:none; } .kyb-map:hover, .kyb-map:hover iframe{ transform:none; } }
