:root{--text:#2b2b2b;--muted:#666;--bg:#ffffff;--soft:#f6f6f4;--line:#e6e6e6;--accent:#c0622f;--accent-dark:#a3501f;--head:'Poppins',Arial,sans-serif;--body:'Open Sans',Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--text);background:var(--bg);line-height:1.7;font-size:16px}
img{display:block;max-width:100%}
a{color:var(--accent)}
.wrap{width:min(1160px,100% - 32px);margin:0 auto}
h1,h2,h3{font-family:var(--head);font-weight:600;line-height:1.25;color:#1f1f1f}
h2{font-size:clamp(26px,3.2vw,36px);margin-bottom:12px}
h3{font-size:20px}
.sub{color:var(--muted);max-width:680px}
.center{text-align:center}.center .sub{margin:0 auto}
section{padding:80px 0}
.soft{background:var(--soft)}
.btn{display:inline-block;padding:13px 26px;border-radius:6px;font-family:var(--head);font-weight:500;font-size:15px;text-decoration:none;transition:.2s}
.btn--main{background:var(--accent);color:#fff}.btn--main:hover{background:var(--accent-dark)}
.btn--white{background:#fff;color:var(--text)}.btn--white:hover{background:#eee}
.btn--wa{background:#25d366;color:#fff}.btn--wa:hover{background:#1fb457}

/* header */
.hd{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:84px}
.logo img{height:68px;width:auto}
.nav{display:flex;gap:28px;align-items:center}
.nav a{color:var(--text);text-decoration:none;font-family:var(--head);font-weight:500;font-size:15px}
.nav a:hover{color:var(--accent)}
.nav .btn{color:#fff;padding:10px 20px}
.burger{display:none;background:none;border:0;font-size:28px;cursor:pointer;color:var(--text)}

/* hero */
.hero{position:relative;height:min(78vh,680px);min-height:460px;display:flex;align-items:center}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.38)}
.hero .wrap{position:relative;z-index:2;color:#fff;text-align:center}
.hero h1{color:#fff;font-size:clamp(30px,4.6vw,54px);margin-bottom:14px}
.hero p{font-size:18px;max-width:640px;margin:0 auto 26px}
.hero .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* highlights */
.hl{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:-50px;position:relative;z-index:3}
.hl div{background:#fff;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.08);padding:22px;text-align:center}
.hl b{display:block;font-family:var(--head);font-size:22px;color:var(--accent)}
.hl span{font-size:14px;color:var(--muted)}

/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.about img{border-radius:10px;width:100%;aspect-ratio:4/3;object-fit:cover}
.about p{margin-bottom:12px;color:#444}
.checks{list-style:none;margin:18px 0 26px;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.checks li{padding-left:26px;position:relative}
.checks li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}

/* tents */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
@media (max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}}
.card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.07);display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.card .b{padding:22px;display:flex;flex-direction:column;flex:1}
.card .cap{color:var(--muted);font-size:14px;margin:2px 0 12px}
.card ul{list-style:none;margin-bottom:18px;font-size:15px}
.card li{padding:5px 0 5px 24px;position:relative;border-bottom:1px solid #f0f0f0}
.card li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.card .pr{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}
.card .pr strong{font-family:var(--head);font-size:28px;color:#1f1f1f}
.card .pr small{display:block;color:var(--muted);font-size:13px}

/* bathroom */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.grid3 img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}
.amen{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px;text-align:center}
.amen div{padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff}
.amen b{display:block;font-family:var(--head);font-weight:500}
.amen span{font-size:14px;color:var(--muted)}

/* program */
.prog{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:36px}
.prog div{background:#fff;border-radius:10px;padding:20px;border-top:4px solid var(--accent);box-shadow:0 3px 12px rgba(0,0,0,.05)}
.prog time{font-family:var(--head);font-weight:600;color:var(--accent)}
.prog b{display:block;margin:4px 0}
.prog span{font-size:14px;color:var(--muted)}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}
.gal a{display:block;overflow:hidden;border-radius:8px}
.gal img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:.3s}
.gal a:hover img{transform:scale(1.04)}

/* location */
.dist{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 26px}
.dist div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}
.dist strong{display:block;font-family:var(--head);font-size:24px;color:var(--accent)}
.dist span{font-size:14px;color:var(--muted)}

.map{margin-top:40px}
.map iframe{display:block;width:100%;height:420px;border:0;border-radius:10px;box-shadow:0 4px 18px rgba(0,0,0,.07)}
@media (max-width:520px){.map iframe{height:320px}}

/* faq */
.faq{max-width:820px;margin:36px auto 0}
.faq details{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;background:#fff}
.faq summary{cursor:pointer;padding:16px 20px;font-family:var(--head);font-weight:500;list-style:none;display:flex;justify-content:space-between}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-size:20px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{padding:0 20px 16px;color:#555}

/* contact */
.contact{background:var(--accent);color:#fff;text-align:center}
.contact h2{color:#fff}
.contact p{max-width:560px;margin:0 auto 24px;opacity:.95}

footer{background:#1f1f1f;color:#b5b5b5;font-size:14.5px}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding:60px 0 44px}
.ft img{height:90px;width:auto;margin-bottom:14px}
.ft h4{font-family:var(--head);font-weight:500;color:#fff;font-size:16px;margin-bottom:14px}
.ft ul{list-style:none}
.ft li{margin-bottom:8px}
.ft a{color:#b5b5b5;text-decoration:none}.ft a:hover{color:#fff}
.ft .price{color:#fff;float:right}
.ft .btn{margin-top:14px;color:#fff;padding:10px 20px}
.ft .btn:hover{color:#fff}
.fb{border-top:1px solid #333;padding:18px 0;font-size:13px;color:#8a8a8a}
.fb .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.wa{position:fixed;right:20px;bottom:20px;z-index:30;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.lb{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:42px;cursor:pointer;padding:10px 18px}
.lb .x{top:8px;right:12px}.lb .p{left:8px}.lb .n{right:8px}

@media (max-width:900px){
  section{padding:60px 0}
  .nav{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;flex-direction:column;padding:20px;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .burger{display:block}
  .hl{grid-template-columns:1fr 1fr}
  .about{grid-template-columns:1fr;gap:30px}
  .cards{grid-template-columns:1fr}
  .amen{grid-template-columns:1fr 1fr}
  .prog{grid-template-columns:1fr 1fr}
  .gal{grid-template-columns:1fr 1fr}
  .ft{grid-template-columns:1fr 1fr;gap:30px}
}
@media (max-width:520px){
  .checks{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .prog{grid-template-columns:1fr}
  .hero p{font-size:16px}
  .hl{gap:10px}.hl div{padding:14px 8px;min-width:0}.hl b{font-size:17px;overflow-wrap:anywhere}.hl span{font-size:12.5px}
  .ft{grid-template-columns:1fr}
}

/* inner pages */
.nav a.on{color:var(--accent)}
.card h3 a{color:inherit;text-decoration:none}
.card .more{display:inline-block;margin-top:14px;font-weight:600;font-size:14px;text-decoration:none}
.phero{position:relative;padding:0;height:420px;display:flex;align-items:flex-end}
.phero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.6))}
.phero .wrap{position:relative;z-index:2;color:#fff;padding-bottom:44px}
.phero h1{color:#fff;font-size:clamp(28px,4vw,46px);margin:6px 0 8px;max-width:860px}
.phero p{font-size:18px;max-width:700px}
.crumbs{font-size:14px;opacity:.9}.crumbs a{color:#fff}
.detail{display:grid;grid-template-columns:1fr 340px;gap:50px;align-items:start}
.detail p{margin-bottom:14px;color:#444}
.detail h2{margin-bottom:16px}
.mt{margin:30px 0 14px}
.book{position:sticky;top:104px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;box-shadow:0 6px 24px rgba(0,0,0,.06)}
.book__p strong{display:block;font-family:var(--head);font-size:36px;color:var(--accent);line-height:1.1}
.book__p small{color:var(--muted)}
.book .btn{display:block;text-align:center;margin-top:18px}
.book__n{font-size:13px;color:var(--muted);text-align:center;margin-top:10px}
.facts{margin-top:16px;border-top:1px solid var(--line)}
.facts div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.facts dt{color:var(--muted)}.facts dd{font-weight:600;text-align:right;word-break:break-word}
.gal--3{grid-template-columns:repeat(3,1fr);margin-top:0}
.acards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.acards--2{grid-template-columns:repeat(2,1fr)}
.acard{display:flex;flex-direction:column;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.07);text-decoration:none;color:var(--text);transition:.2s}
.acard:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.1)}
.acard img{width:100%;aspect-ratio:3/2;object-fit:cover}
.acard .b{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.acard h3{font-size:18px;margin-bottom:6px}
.acard p{font-size:14px;color:var(--muted);margin-bottom:14px}
.tag{margin-top:auto;align-self:flex-start;background:#fbeee6;color:var(--accent-dark);font-weight:600;font-size:14px;padding:5px 12px;border-radius:20px}
.seo__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:24px}
.seo h3{font-size:18px;margin-bottom:8px}
.seo p{color:#444;font-size:15.5px}
.credits{margin-top:24px;padding-left:20px}
.credits li{margin-bottom:10px;font-size:15px}
.cform{display:grid;gap:14px;margin-top:20px}
.cform label{display:grid;gap:6px;font-weight:600;font-size:14px}
.cform input,.cform select,.cform textarea{font:inherit;font-weight:400;padding:11px 12px;border:1px solid #d6d6d6;border-radius:6px;background:#fff;width:100%}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--accent);border-color:transparent}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cbtns{display:flex;gap:12px;flex-wrap:wrap}
.cbtns .btn{border:0;cursor:pointer}
@media (max-width:900px){
  .detail{grid-template-columns:1fr}
  .book{position:static}
  .acards,.seo__cols{grid-template-columns:1fr 1fr}
  .phero{height:340px}
}
@media (max-width:600px){
  .acards,.acards--2,.seo__cols,.row2{grid-template-columns:1fr}
  .gal--3{grid-template-columns:1fr 1fr}
  .phero p{font-size:16px}
}

/* booking & extra pages */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.total{background:var(--soft);border-radius:8px;padding:14px 16px;font-size:15px}
.total:empty{display:none}
.total strong{font-family:var(--head);font-size:22px;color:var(--accent)}
.b-msg{font-size:15px}
.b-msg.ok{background:#e9f8ef;color:#17633a;border:1px solid #bfe8cf;border-radius:8px;padding:14px 16px}
.b-msg.err{background:#fdecec;color:#9b1c1c;border:1px solid #f5c2c2;border-radius:8px;padding:14px 16px}
.bsteps{margin:16px 0 4px 18px;font-size:14.5px;color:#444}
.bsteps li{margin-bottom:8px}
.book .btn+.btn{margin-top:10px}
.steps3{list-style:none;margin:18px 0 26px;display:grid;gap:14px}
.steps3 li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.steps3 b{display:block;font-family:var(--head);font-weight:500}
.steps3 span{color:var(--muted);font-size:15px}
.howto{background:#fff;border-radius:10px;padding:22px;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.howto h3{margin-bottom:8px}
.howto p{color:#444;font-size:15.5px}
.dist--4{grid-template-columns:repeat(4,1fr);max-width:1000px;margin:30px auto 0}
.gps{margin-top:12px;font-size:14px;color:var(--muted)}
@media (max-width:900px){.dist--4{grid-template-columns:1fr 1fr}}

.ttable{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;margin-top:10px}
.ttable th,.ttable td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:15px}
.ttable th{background:#fbeee6;font-family:var(--head);font-weight:500}

/* tent pages – booking style */
.tp{padding:22px 0 0}
.tp__crumbs{font-size:13.5px;color:var(--muted);margin-bottom:8px}.tp__crumbs a{color:var(--muted)}
.tp__h1{font-size:clamp(26px,3.2vw,36px);margin-bottom:6px}
.tp__loc{display:flex;align-items:center;gap:6px;font-size:14.5px;color:#444}.tp__loc .ic{width:18px;height:18px}
.tp__badges{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
.tp__badges span{background:#e9f8ef;color:#17633a;font-size:13px;font-weight:600;padding:5px 12px;border-radius:20px}
.pg{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:210px 210px;gap:8px;border-radius:14px;overflow:hidden}
.pg__i{display:block;overflow:hidden}
.pg__i[hidden]{display:none}
.pg__i img{width:100%;height:100%;object-fit:cover;transition:.3s}
.pg__i:hover img{transform:scale(1.03)}
.pg__main{grid-row:span 2}
.pg__all{position:absolute;right:14px;bottom:14px;background:#fff;border:0;border-radius:8px;padding:9px 14px;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.tp__body{padding:34px 0 70px}
.tp__grid{display:grid;grid-template-columns:1fr 370px;gap:44px;align-items:start}
.tp__main h2{font-size:22px;margin:34px 0 12px}
.tp__main p{color:#444;margin-bottom:12px}
.ic{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.keyf{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border:1px solid var(--line);border-radius:12px;padding:16px}
.keyf div{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600}
.hl2,.amen2,.info,.yes,.no{list-style:none}
.hl2 li{display:flex;gap:10px;padding:5px 0;color:#333}
.amen2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px}
.amen2 li{display:flex;align-items:center;gap:10px;font-size:15px}
.inex{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.inex>div{border:1px solid var(--line);border-radius:12px;padding:18px}
.inex h3{font-size:17px;margin-bottom:10px}
.yes li,.no li{padding:5px 0 5px 26px;position:relative;font-size:15px}
.yes li::before{content:"✓";position:absolute;left:0;color:#1f9d55;font-weight:700}
.no li::before{content:"✕";position:absolute;left:0;color:#c0392b;font-weight:700}
.info li{padding:6px 0 6px 18px;position:relative;color:#333}
.info li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.map--in{margin-top:12px}.map--in iframe{height:320px}
.faq--in{margin:0}
.pb{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.pb__top{margin-bottom:14px}
.pb__top small{display:block;color:var(--muted);font-size:13px}
.pb__p{display:block;font-family:var(--head);font-size:34px;line-height:1.1;color:#1f1f1f}
.pb__p--req{font-size:24px;color:var(--accent)}
.pb .cform{gap:10px;margin:0}
.pb .cform label{font-size:13px}
.pb .cform input,.pb .cform select{padding:9px 10px}
.pb .total{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center}
.pb .total small{grid-column:1/-1;color:var(--muted);font-size:12.5px}
.pb .total strong{font-size:22px}
.pb .b-send{width:100%;border:0;cursor:pointer;font-size:16px;padding:14px}
.pb__ok{list-style:none;margin:14px 0 6px}
.pb__ok li{display:flex;gap:8px;align-items:center;font-size:14px;padding:3px 0;color:#17633a}
.pb__ok .ic{stroke:#1f9d55;width:18px;height:18px}
.pb__wa{display:block;text-align:center;margin-top:10px}
.mbar{display:none}
@media (max-width:980px){
  .tp__grid{grid-template-columns:1fr}
  .pb{position:static}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;background:#fff;border-top:1px solid var(--line);padding:10px 16px;align-items:center;justify-content:space-between;box-shadow:0 -4px 16px rgba(0,0,0,.08)}
  .mbar b{font-family:var(--head);font-size:20px;display:block;line-height:1.1}.mbar small{color:var(--muted);font-size:12.5px}
  body:has(.mbar) .wa{bottom:84px}
  body:has(.mbar) footer{padding-bottom:70px}
}
@media (max-width:700px){
  .pg{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:10px;height:260px}
  .pg__i{flex:0 0 88%;scroll-snap-align:start;height:100%}
  .pg__i[hidden]{display:none}
  .keyf{grid-template-columns:1fr 1fr}
  .amen2,.inex{grid-template-columns:1fr}
}
@media (max-width:700px){.keyf div{font-size:13.5px;gap:8px}.keyf{padding:12px}}

.pg--3{grid-template-columns:2fr 1fr}
.pg--2{grid-template-columns:1fr 1fr;grid-template-rows:420px}
.pg--2 .pg__main{grid-row:auto}
.tp__lead{font-size:18px;color:#333;margin-bottom:18px}
.keyf--act div{align-items:flex-start}
.keyf--act span small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}
@media (max-width:700px){.pg--2,.pg--3{display:flex}}

/* language switcher */
.langs{display:flex;gap:2px;align-items:center}
.nav .langs a{font-size:12px;font-weight:600;letter-spacing:.03em;padding:5px 6px;border-radius:5px;color:#777}
.nav .langs a:hover{color:var(--accent)}
.nav .langs a.cur{background:#fbeee6;color:var(--accent)}
@media (min-width:901px) and (max-width:1180px){.nav{gap:16px}.nav a{font-size:14px}}
@media (max-width:900px){.nav .langs{order:-1;margin-bottom:6px}.nav .langs a{font-size:14px;padding:6px 10px}}
