:root{--gh-green:#05772c;--gh-green-dark:#04521f;--gh-ink:#0f2a1a;--gh-gold:#ff6a00;--gh-gold-dark:#d95a00;--gh-cream:#f3f7f1;--gh-line:#dfe8dc;--gh-muted:#5f6f66;
--bs-body-font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--bs-body-color:var(--gh-ink);--bs-body-bg:#f8faf6;--bs-border-radius:.75rem}
html{-webkit-text-size-adjust:100%}body{overflow-x:hidden}
body.gh{font-family:var(--bs-body-font-family)}
.gh h1,.gh h2,.gh h3,.gh .serif{font-family:'Poppins',system-ui,sans-serif;font-weight:700;letter-spacing:-.01em}
.gh-nav{background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:3px solid var(--gh-green);padding:.5rem 0}
.gh-brand{display:flex;align-items:center;gap:.65rem;color:var(--gh-ink);text-decoration:none;line-height:1}.gh-logo{height:52px;width:52px;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 0 0 2px var(--gh-line)}.gh-brand b{display:block;font-weight:800;letter-spacing:2px;color:var(--gh-green);font-size:1.05rem}.gh-brand small{display:block;font-size:.55rem;letter-spacing:2px;margin-top:4px;font-weight:600;color:var(--gh-gold)}
.gh-nav .nav-link{font-weight:500;font-size:.92rem;color:var(--gh-ink);padding:.5rem .85rem}
.gh-nav .nav-link:hover,.gh-nav .nav-link.active{color:var(--gh-green)}
.btn-gold{--bs-btn-color:#fff;--bs-btn-bg:var(--gh-gold);--bs-btn-border-color:var(--gh-gold);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--gh-gold-dark);--bs-btn-hover-border-color:var(--gh-gold-dark);--bs-btn-active-bg:var(--gh-gold-dark);--bs-btn-active-border-color:var(--gh-gold-dark);--bs-btn-disabled-bg:var(--gh-gold);--bs-btn-disabled-border-color:var(--gh-gold);font-weight:600}
.btn-ink{--bs-btn-color:#fff;--bs-btn-bg:var(--gh-ink);--bs-btn-border-color:var(--gh-ink);--bs-btn-hover-color:#fff;--bs-btn-bg:var(--gh-green);--bs-btn-border-color:var(--gh-green);--bs-btn-hover-bg:var(--gh-green-dark);--bs-btn-hover-border-color:var(--gh-green-dark);--bs-btn-active-bg:var(--gh-green-dark);font-weight:600}
.btn-outline-ink{--bs-btn-color:var(--gh-green);--bs-btn-border-color:var(--gh-green);--bs-btn-hover-bg:var(--gh-green);--bs-btn-hover-color:#fff;font-weight:600}
.btn-lg{padding:.9rem 1.4rem}
.form-control,.form-select{border-color:#d9d3c6;background-color:#fff}
.form-control:focus,.form-select:focus{border-color:var(--gh-gold);box-shadow:0 0 0 .22rem rgba(255,106,0,.2)}
.form-floating>label{color:var(--gh-muted)}
.gh-hero{background:linear-gradient(115deg,rgba(4,82,31,.95),rgba(5,119,44,.78) 55%,rgba(5,119,44,.5)),url('https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=1800&q=70') center/cover;color:#fff;padding:3rem 0 5.5rem;border-bottom:5px solid var(--gh-gold)}
.gh-hero h1{font-size:clamp(1.8rem,5vw,3rem);margin:0 0 .5rem;color:#fff}
.gh-hero p{color:#e6f3e8;margin:0;max-width:34rem}
.gh-pull{margin-top:-3.2rem;position:relative;z-index:2}
.gh-card{background:#fff;border:1px solid var(--gh-line);border-radius:1rem;box-shadow:0 18px 45px -22px rgba(5,60,25,.35)}
.gh-card-pad{padding:1.5rem}@media(min-width:768px){.gh-card-pad{padding:2.2rem}}
.gh-section-title{display:flex;align-items:center;gap:.6rem;font-size:1.25rem;margin:0 0 1.1rem}
.gh-section-title i{color:var(--gh-gold)}
/* stepper */
.gh-steps{list-style:none;display:flex;gap:.5rem;padding:0;margin:0 0 1.6rem;flex-wrap:wrap}
.gh-steps li{display:flex;align-items:center;gap:.55rem;font-size:.85rem;font-weight:500;color:#aab1ad}
.gh-steps li+li:before{content:"";width:2rem;height:1px;background:var(--gh-line);margin-right:.5rem}
.gh-steps span{width:1.7rem;height:1.7rem;border-radius:50%;border:1px solid var(--gh-line);display:grid;place-items:center;font-size:.78rem;background:#fff}
.gh-steps li.now{color:var(--gh-ink);font-weight:700}.gh-steps li.now span{background:var(--gh-green);border-color:var(--gh-green);color:#fff}
.gh-steps li.done{color:var(--gh-gold-dark)}.gh-steps li.done span{background:var(--gh-gold);border-color:var(--gh-gold);color:#fff}
/* summary */
.gh-summary{position:sticky;top:96px;overflow:hidden}@media(max-width:991.98px){.gh-summary{position:static}}
.gh-summary img{width:100%;height:210px;object-fit:cover;background:var(--gh-cream)}
.gh-price{font-family:'Poppins',sans-serif;font-size:1.5rem;color:var(--gh-gold-dark);font-weight:600}
.gh-line{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.94rem}
.gh-line span:first-child{color:var(--gh-muted)}
.gh-total{border-top:1px dashed var(--gh-line);margin-top:.4rem;padding-top:1rem;font-size:1.1rem}
.gh-total b{font-family:'Poppins',sans-serif;font-size:1.6rem}
.gh-trust{display:flex;flex-direction:column;gap:.45rem;font-size:.85rem;color:var(--gh-muted);margin-top:1.1rem}
.gh-trust i{color:var(--gh-gold);margin-right:.4rem}
/* room cards */
.gh-room{overflow:hidden;height:100%;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.gh-room:hover{transform:translateY(-4px);box-shadow:0 24px 50px -22px rgba(29,41,38,.38)}
.gh-room .ph{position:relative;aspect-ratio:16/10;background:var(--gh-cream) center/cover no-repeat}
.gh-room .tag{position:absolute;top:.9rem;left:.9rem}
.gh-room .body{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.gh-room h2{font-size:1.4rem;margin:0}
.gh-room .desc{color:var(--gh-muted);font-size:.93rem;line-height:1.65;margin:.7rem 0 1rem}
.gh-facts{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.2rem}
.gh-facts span{font-size:.78rem;background:var(--gh-cream);padding:.3rem .65rem;border-radius:2rem;color:var(--gh-ink)}
.gh-facts i{color:var(--gh-gold);margin-right:.3rem}
.gh-room .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--gh-line);padding-top:1rem}
/* confirmation */
.gh-check{width:84px;height:84px;border-radius:50%;background:#e6f3ea;color:#2f7a46;display:grid;place-items:center;font-size:2.6rem;margin:0 auto 1.2rem;box-shadow:0 0 0 10px #f1f8f3}
.gh-code{display:inline-flex;align-items:center;gap:.9rem;border:1.5px dashed var(--gh-gold);background:#fff6ee;max-width:100%;border-radius:.9rem;padding:.9rem 1.2rem;font-size:clamp(1.05rem,4.6vw,1.5rem);letter-spacing:2px;font-weight:700}
.gh-code button{border:0;background:var(--gh-gold);color:#fff;border-radius:.5rem;padding:.35rem .6rem;font-size:.95rem;letter-spacing:0}
.gh-detail{background:var(--gh-cream);border-radius:.9rem;padding:1rem 1.15rem;height:100%}
.gh-detail small{display:block;color:var(--gh-muted);font-size:.74rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem}
.gh-detail b{font-size:1.02rem}
.gh-status{font-weight:600;padding:.5em .8em;border-radius:2rem}
.gh-footer{background:var(--gh-green-dark);color:#cfe3d3;font-size:.9rem;border-top:5px solid var(--gh-gold)}
.gh-footer h6{color:#fff;font-weight:700;margin-bottom:.8rem}
.gh-footer a{color:#cfe3d3;text-decoration:none}.gh-footer a:hover{color:#fff}
@media print{.gh-nav,.gh-footer,.no-print{display:none!important}.gh-card{box-shadow:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.gh-tabs{display:inline-flex;background:var(--gh-cream);border-radius:3rem;padding:.3rem;gap:.2rem;margin-bottom:1.2rem}
.gh-tabs a{padding:.5rem 1.2rem;border-radius:3rem;font-weight:600;font-size:.9rem;color:var(--gh-muted);text-decoration:none;display:flex;align-items:center;gap:.4rem}
.gh-tabs a.on{background:var(--gh-green);color:#fff}
.gh-tabs a:not(.on):hover{color:var(--gh-ink)}

/* ---- mobile / tablet polish ---- */
.form-control,.form-select,textarea{font-size:16px} /* stops iPhone zoom on focus */
.btn{min-height:44px}
.gh-nav .navbar-collapse{padding:.6rem 0}
@media(max-width:767.98px){.gh-logo{height:44px;width:44px}.gh-brand b{font-size:.95rem}.gh-nav .nav-link{padding:.7rem .2rem;border-bottom:1px solid var(--gh-line)}.gh-nav .btn-gold{width:100%;margin-top:.6rem}.gh-hero{padding:2.2rem 0 4.6rem}.gh-pull{margin-top:-2.6rem}.gh-steps li+li:before{width:.8rem}.gh-steps{gap:.3rem}.gh-steps li{font-size:.76rem}.gh-room .foot{flex-wrap:wrap}.gh-room .foot .btn{width:100%}.gh-tabs{display:flex}.gh-tabs a{flex:1;justify-content:center}}
@media(min-width:768px) and (max-width:991.98px){.gh-pull{margin-top:-3rem}}
.gh-room .ph{aspect-ratio:16/10}
.gh-room .tag{box-shadow:0 4px 12px rgba(0,0,0,.18)}
:focus-visible{outline:3px solid rgba(255,106,0,.55);outline-offset:2px}
