/* JT Forest — หน้าแรก 7 ส่วน (Developer Package 16 ต.ค. 2569)
   คลาสขึ้นต้น h7- เพื่อไม่ชนกับ jt.css / Tailwind ของหน้าอื่น */
.h7{--pine:#24392f;--pine2:#1b3028;--ivory:#f8f7f2;--paper:#fffefa;--warm:#f2f0e8;--sage:#859383;--taupe:#988d78;--ink:#2e4037;--muted:#667369;--line:#dcded1;--gold:#b6a17f;color:var(--ink)}
.h7 .h7-serif,.h7 h1,.h7 h2,.h7 h3{font-family:Georgia,'Noto Serif Thai','Times New Roman',serif;font-weight:400}
.h7-wrap{width:min(1220px,calc(100% - 90px));margin:auto}
.h7-section{padding:105px 0}
.h7-eyebrow{font-size:10px;font-weight:700;letter-spacing:.24em;color:var(--taupe);text-transform:uppercase}
.h7-eyebrow::before{content:'—';padding-right:11px}
.h7-display{font:400 clamp(42px,5vw,76px)/1.08 Georgia,'Noto Serif Thai',serif;letter-spacing:-.046em;margin:18px 0 20px;text-wrap:balance}
.h7-display em{color:var(--sage)}
.h7-intro{color:var(--muted);line-height:1.9;font-size:15px;max-width:550px}
.h7-intro p{margin:0 0 1.1em}
.h7-btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:52px;padding:16px 26px;border:1px solid transparent;cursor:pointer;text-align:center;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s}
.h7-btn:hover{transform:translateY(-2px)}
.h7-btn-dark{background:var(--pine);color:#fff}
.h7-btn-outline{background:transparent;color:var(--pine);border-color:var(--pine)}
.h7-btn-light{background:var(--ivory);color:var(--pine)}
.h7-btn-glass{border-color:#f8f7f2;background:transparent;color:#fff}
.h7-btn-text{padding:11px 0;border-bottom:1px solid var(--pine);background:none;color:var(--pine);min-height:0;gap:13px;letter-spacing:.11em}
.h7-num{font-size:10px;letter-spacing:.25em;font-weight:700;color:var(--taupe);text-transform:uppercase}

/* 01 Hero */
.h7-hero{height:min(790px,calc(100svh - 112px));min-height:590px;position:relative;isolation:isolate;display:flex;align-items:center;color:#fff;background:#50624f;overflow:hidden}
.h7-hero .h7-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.h7-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,34,27,.74) 0%,rgba(14,34,27,.44) 50%,rgba(14,34,27,.16) 100%)}
.h7-hero-content{width:min(1220px,calc(100% - 100px));margin:auto;padding:90px 0}
.h7-hero .h7-eyebrow{color:#e5dac5}
.h7-hero h1{font:400 clamp(58px,7.1vw,113px)/.99 Georgia,'Noto Serif Thai',serif;letter-spacing:-.055em;max-width:870px;margin:26px 0 20px;text-wrap:balance}
.h7-descriptor{font:italic 22px Georgia,serif;color:#f6e9d5;margin:0 0 19px}
.h7-description{max-width:615px;line-height:1.9;font-size:15px;color:#f1f1e9}
.h7-description p{margin:0 0 1em}
.h7-hero-actions{margin-top:34px;display:flex;gap:13px;flex-wrap:wrap}
.h7-scroll{position:absolute;bottom:30px;left:max(45px,calc((100vw - 1220px)/2));font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:#f7f0e0}
.h7-video-toggle{position:absolute;right:max(45px,calc((100vw - 1220px)/2));bottom:24px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(22,34,27,.3);color:#fff;font-size:12px}
.h7-paths{display:grid;grid-template-columns:repeat(3,1fr);max-width:1220px;margin:0 auto;padding:29px 0;border-bottom:1px solid var(--line);gap:20px}
.h7-paths a{display:flex;align-items:center;justify-content:space-between;padding:15px 21px;border-right:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pine)}
.h7-paths a:last-child{border-right:0}
.h7-paths a span{font-size:17px;color:var(--sage)}
.h7-paths a:hover{color:#a48d6a}

/* 02 Stays */
.h7-stays{background:var(--ivory)}
.h7-top{display:flex;gap:50px;align-items:end;justify-content:space-between;margin-bottom:45px}
.h7-top .h7-display{max-width:740px;margin-bottom:0}
.h7-top .h7-intro{max-width:390px;margin:0}
.h7-stay-grid{display:grid;grid-template-columns:1.14fr 1fr 1fr;gap:23px}
.h7-stay-card{background:var(--paper);min-width:0;display:flex;flex-direction:column;border:1px solid #e8e8dd}
.h7-stay-img{display:block;height:380px;overflow:hidden;background:#e4e8e1}
.h7-stay-img img{height:100%;width:100%;object-fit:cover;transition:transform .7s}
.h7-stay-card:hover .h7-stay-img img{transform:scale(1.045)}
.h7-stay-card:first-child .h7-stay-img{height:420px}
.h7-stay-body{padding:29px 28px 31px;flex:1;display:flex;flex-direction:column;align-items:flex-start}
.h7-stay-body h3{font-size:31px;letter-spacing:-.035em;margin:15px 0 12px}
.h7-stay-body p{color:var(--muted);font-size:13px;line-height:1.8;min-height:71px;margin:0}
.h7-stay-price{margin:22px 0 19px;font-size:12px;font-weight:700}
.h7-stay-bottom{display:flex;justify-content:center;margin-top:30px}
.h7-note{font-size:11px;color:var(--muted);line-height:1.75;text-align:center;margin-top:27px}

/* 03 Sanctuary */
.h7-exp{background:#ecefe9}
.h7-exp-hero{display:grid;grid-template-columns:1.04fr .96fr;gap:6.8vw;align-items:center}
.h7-exp-photo{height:575px;position:relative;background:#c5d2c4}
.h7-exp-photo img{width:100%;height:100%;object-fit:cover}
.h7-photo-label{position:absolute;left:-1px;bottom:0;background:var(--ivory);color:var(--pine);font:italic 23px Georgia,serif;padding:18px 30px}
.h7-quote{font:italic 30px/1.4 Georgia,serif;color:#5a6e5d;max-width:490px;margin:25px 0}
.h7-exp-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:63px;border-top:1px solid #ccd3c9;border-bottom:1px solid #ccd3c9}
.h7-exp-item{padding:28px 24px 33px;border-right:1px solid #ccd3c9;min-height:156px}
.h7-exp-item:last-child{border:0}
.h7-exp-item h3{font-size:23px;margin:20px 0 8px}
.h7-exp-item p{color:var(--muted);font-size:12px;line-height:1.7;margin:0}

/* 04 Host & 05 Community */
.h7-host{background:#faf9f4}
.h7-community{background:var(--warm)}
.h7-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,7vw,110px);align-items:center}
.h7-host-photos{position:relative;padding-bottom:57px;padding-right:53px}
.h7-host-main,.h7-com-main{width:100%;object-fit:cover;background:#dedbd2}
.h7-host-main{height:610px}
.h7-inset{position:absolute;width:43%;height:215px;object-fit:cover;border:8px solid #faf9f4;box-shadow:0 8px 35px #0001}
.h7-host-photos .h7-inset{right:0;bottom:0}
.h7-com-photos{position:relative;padding:32px 0 55px 40px}
.h7-com-main{height:580px}
.h7-com-photos .h7-inset{left:0;bottom:0;width:42%;height:210px;border-color:var(--warm)}
.h7-two .h7-display{font-size:clamp(48px,5.5vw,79px)}
.h7-lines{margin:35px 0 31px;border-top:1px solid var(--line)}
.h7-lines div{display:flex;gap:28px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}
.h7-lines span{font-size:11px;color:var(--taupe)}
.h7-community .h7-lines{margin:26px 0}
.h7-micro{display:flex;justify-content:space-between;gap:30px;margin-top:70px;padding-top:19px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.12em;color:var(--muted)}
.h7-com-quote{font:italic 25px/1.45 Georgia,serif;color:#5e705f;margin:12px 0 23px;max-width:460px}
.h7-com-note{font-size:11px;color:var(--muted);margin-top:13px}

/* 06 Gallery */
.h7-gallery{background:#faf9f4}
.h7-gal-head{text-align:center;max-width:670px;margin:0 auto 42px}
.h7-gal-head .h7-display{font-size:clamp(44px,5.5vw,75px)}
.h7-gal-head p{font-size:14px;color:var(--muted);line-height:1.9}
.h7-gal-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr;grid-template-rows:235px 235px;gap:14px}
.h7-shot{padding:0;position:relative;border:0;background:#d7ded3;cursor:zoom-in;overflow:hidden;text-align:left}
.h7-shot img{width:100%;height:100%;object-fit:cover;transition:transform .65s}
.h7-shot:hover img{transform:scale(1.045)}
.h7-shot:first-child{grid-row:span 2}
.h7-shot span{position:absolute;bottom:14px;left:16px;background:#f9f8f2e6;padding:8px 11px;font-size:9px;text-transform:uppercase;font-weight:700;letter-spacing:.16em;color:var(--pine)}
.h7-gal-actions{text-align:center;margin-top:28px}
.h7-tagline{text-align:center;margin-top:22px;font:italic 19px Georgia,serif;color:#78877a}

/* 07 Location + final CTA */
.h7-location{background:var(--ivory)}
.h7-location .h7-wrap{display:grid;grid-template-columns:1fr .96fr;gap:7vw;align-items:center}
.h7-location-photo{height:420px;width:100%;object-fit:cover}
.h7-address{border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.h7-address strong{font-size:13px;line-height:1.8;font-weight:400;white-space:pre-line}
.h7-address span{color:var(--taupe);text-transform:uppercase;letter-spacing:.18em;display:block;margin-bottom:8px;font-size:10px}
.h7-location .h7-intro{margin-bottom:30px}
.h7-last{position:relative;isolation:isolate;background:var(--pine);min-height:595px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:95px 28px;overflow:hidden}
.h7-last .h7-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.h7-last::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0f2a20d7,#152c228c 48%,#0f2a20d7)}
.h7-last .h7-eyebrow{color:#eddec4}
.h7-last h2{font:400 clamp(62px,7.5vw,114px)/1.06 Georgia,'Noto Serif Thai',serif;letter-spacing:-.048em;margin:24px 0}
.h7-last h2 em{color:#e0d9c6}
.h7-last p{color:#ecece3;font-size:15px;line-height:1.9;max-width:570px;margin:0 auto 32px}
.h7-last-actions{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}

/* Lightbox แบบเลื่อนภาพ */
.lightbox-controls{width:min(1050px,100%);display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:13px;color:#fff;font-size:12px}
.lightbox-controls button{position:static!important;background:transparent;color:#fff;border:1px solid #fffa;padding:8px 15px;font-size:12px!important;cursor:pointer}
.lightbox.open{flex-direction:column}

@media(max-width:1160px){.h7-wrap{width:min(1220px,calc(100% - 55px))}.h7-stay-img{height:320px}.h7-stay-card:first-child .h7-stay-img{height:355px}.h7-stay-body{padding:22px}.h7-stay-body h3{font-size:25px}}
@media(max-width:850px){.h7-section{padding:78px 0}.h7-hero{min-height:650px}.h7-hero-content{width:calc(100% - 55px)}.h7-hero h1{font-size:clamp(54px,8vw,83px)}.h7-paths{padding:18px 26px}.h7-paths a{padding:13px;font-size:9px}.h7-stay-grid{gap:14px}.h7-stay-img,.h7-stay-card:first-child .h7-stay-img{height:280px}.h7-stay-body h3{font-size:23px}.h7-exp-hero,.h7-two{gap:36px}.h7-exp-photo,.h7-host-main,.h7-com-main{height:450px}.h7-exp-item{padding:24px 16px}.h7-exp-item h3{font-size:20px}.h7-gal-grid{grid-template-rows:185px 185px}.h7-location .h7-wrap{gap:35px}.h7-location-photo{height:360px}}
@media(max-width:680px){.h7-wrap{width:calc(100% - 40px)}.h7-section{padding:68px 0}.h7-hero{min-height:620px;height:calc(100svh - 100px);max-height:850px}.h7-hero::before{background:linear-gradient(90deg,#132b23d4,#122a2290 78%,#17312645)}.h7-hero-content{width:calc(100% - 44px);padding:70px 0}.h7-hero h1{font-size:clamp(53px,12vw,74px)}.h7-descriptor{font-size:19px}.h7-description{font-size:13px;line-height:1.85}.h7-hero-actions{flex-direction:column;align-items:stretch}.h7-hero-actions .h7-btn{width:100%;max-width:360px}.h7-scroll{left:22px;bottom:20px}.h7-video-toggle{right:22px;bottom:12px}.h7-paths{grid-template-columns:1fr;padding:18px 22px;gap:0}.h7-paths a{font-size:10px;border-right:0;border-bottom:1px solid var(--line);padding:17px 5px}.h7-paths a:last-child{border:0}.h7-top{flex-direction:column;gap:15px;align-items:start;margin-bottom:30px}.h7-display{font-size:clamp(42px,10vw,57px)}.h7-intro{font-size:13px}.h7-stay-grid{grid-template-columns:1fr;gap:18px}.h7-stay-img,.h7-stay-card:first-child .h7-stay-img{height:270px}.h7-stay-body h3{font-size:29px}.h7-stay-body p{min-height:0}.h7-exp-hero,.h7-two,.h7-location .h7-wrap{display:flex;flex-direction:column;align-items:stretch;gap:29px}.h7-exp-photo{height:330px}.h7-photo-label{font-size:18px;padding:14px 22px}.h7-quote{font-size:23px}.h7-exp-grid{grid-template-columns:1fr 1fr;margin-top:38px}.h7-exp-item{border-right:1px solid #ccd3c9;border-bottom:1px solid #ccd3c9;min-height:125px;padding:22px 16px}.h7-exp-item:nth-child(2){border-right:0}.h7-exp-item:nth-child(n+3){border-bottom:0}.h7-exp-item h3{font-size:21px;margin:11px 0 7px}.h7-exp-item p{font-size:11px}.h7-host-photos{padding-right:35px;padding-bottom:38px}.h7-host-main{height:405px}.h7-inset{height:150px!important;border-width:6px}.h7-two .h7-display{font-size:clamp(49px,11vw,62px)}.h7-micro{margin-top:38px;flex-direction:column;gap:6px}.h7-com-photos{order:1;padding:15px 0 38px 33px}.h7-com-main{height:380px}.h7-com-quote{font-size:22px}.h7-lines div{gap:16px}.h7-gal-head{margin-bottom:27px}.h7-gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 165px 165px;gap:10px}.h7-shot:first-child{grid-row:span 1;grid-column:span 2}.h7-shot span{font-size:8px;bottom:8px;left:8px}.h7-location-photo{height:280px}.h7-address{flex-wrap:wrap}.h7-last{min-height:520px;padding:75px 23px}.h7-last h2{font-size:clamp(57px,11.6vw,77px)}.h7-last-actions{flex-direction:column;align-items:center}.h7-last-actions .h7-btn{width:100%;max-width:335px}}
