 :root{--forest:#123b2e;--forest-deep:#0b2b22;--forest-soft:#215643;--gold:#e9b85c;--gold-light:#f6d99a;--cream:#f7f4ec;--paper:#fffdf8;--ink:#18231d;--muted:#69736b;--line:#e8e4d9;--shadow:0 20px 60px rgba(20,45,32,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}h1,h2,h3,h4,.section-title{font-family:'Playfair Display',serif;font-weight:600;letter-spacing:-.035em}a{text-decoration:none}.topbar{background:#09271f;color:#d9e6dc;font-size:.78rem;letter-spacing:.035em;padding:8px 0}.topbar i{color:var(--gold);margin-right:6px}.site-nav{background:rgba(12,45,34,.97);padding:15px 0;box-shadow:0 10px 30px #071d1722}.brand{display:inline-flex;align-items:center;gap:10px;color:white;font-weight:700;letter-spacing:.14em;font-size:1rem;line-height:1.05}.brand:hover{color:white}.brand small{display:block;font-size:.52rem;letter-spacing:.18em;font-weight:500;margin-top:6px;color:#d9d9c9}.site-logo{width:205px;height:auto;display:block;object-fit:contain}.footer-logo{width:235px;filter:brightness(1.08)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e9b85c99;border-radius:50%;color:var(--gold);font-size:1.45rem}.navbar-nav .nav-link{color:#e6eee7!important;font-size:.9rem;padding:12px 14px!important}.navbar-nav .nav-link:hover{color:var(--gold)!important}.btn{border-radius:4px;font-weight:700;letter-spacing:.01em;padding:12px 20px;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));border:1px solid var(--gold);color:#173526;box-shadow:0 9px 24px #e9b85c33}.btn-gold:hover{background:#f6d99a;color:#102d21;box-shadow:0 12px 28px #e9b85c55}.btn-dark-green{background:var(--forest);border:1px solid var(--forest);color:white}.btn-dark-green:hover{background:var(--forest-soft);color:white}.hero{position:relative;min-height:690px;display:flex;align-items:center;color:white;background-position:center calc(50% + var(--parallax-shift,0px));background-size:cover;overflow:hidden}.hero-home{background-image:none;min-height:min(790px,83vh)}.hero-slides{position:absolute;inset:0;z-index:0}.hero-slide{position:absolute;inset:-10px;background-position:center;background-size:cover;opacity:0;transform:scale(1.04);transition:opacity 1.8s ease-in-out,transform 7s ease}.hero-slide.active{opacity:1;transform:scale(1)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,29,21,.86) 0%,rgba(8,33,24,.62) 45%,rgba(8,33,24,.08) 100%),linear-gradient(0deg,rgba(5,26,19,.45),transparent 40%)}.hero-content{position:relative;z-index:1;padding-top:40px;padding-bottom:70px}.eyebrow{font-size:.72rem;letter-spacing:.22em;font-weight:700;color:var(--gold);margin-bottom:20px}.eyebrow span{display:inline-block;width:32px;height:1px;background:var(--gold);vertical-align:middle;margin-right:10px}.hero h1,.page-hero h1{font-size:clamp(3.2rem,7vw,6.4rem);line-height:1.02;max-width:800px;margin-bottom:25px}.hero h1 em,.page-hero h1 em,.section-title em{color:var(--gold);font-weight:500}.hero-lead{max-width:560px;color:#e4e9e2;font-size:1.08rem;margin-bottom:32px}.hero-note{margin-top:50px;color:#e8e5d8;font-size:.8rem;letter-spacing:.05em}.hero-note i{color:var(--gold);margin-right:8px}.hero-scroll{position:absolute;right:5%;bottom:42px;font-size:.62rem;letter-spacing:.2em;color:#f1f0e8;display:flex;align-items:center;gap:12px;writing-mode:vertical-rl}.hero-scroll span{height:50px;width:1px;background:var(--gold)}.booking-strip{position:relative;z-index:3;margin-top:-1px;background:var(--gold);padding:24px 0;box-shadow:0 12px 35px #30240b18}.quick-book label{display:block;font-size:.7rem;text-transform:uppercase;font-weight:800;letter-spacing:.13em;margin:0 0 7px;color:#254031}.form-control,.form-select{border-radius:3px;border:1px solid #dedfd6;min-height:48px;padding:12px 14px;background-color:#fff}.form-control:focus,.form-select:focus{border-color:#c99b3e;box-shadow:0 0 0 .2rem #e9b85c30}.section-pad{padding:100px 0}.eyebrow-dark{color:#9a742c}.section-title{font-size:clamp(2.5rem,4vw,4.25rem);line-height:1.12;margin-bottom:22px}.section-title em{color:#b78a37}.muted-copy{color:var(--muted);font-size:1.03rem}.room-card{height:100%;background:white;box-shadow:0 12px 35px #152f2010;transition:transform .35s,box-shadow .35s;overflow:hidden}.room-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.room-photo{height:275px;background-size:cover;background-position:center;transition:transform .65s;position:relative}.room-card:hover .room-photo{transform:scale(1.035)}.room-double{background-image:url('https://tembotarangirelodge.com/wp-content/uploads/2021/12/double-mpya-WhatsApp-Image-2026-05-18-at-08.14.22.jpeg')}.room-triple{background-image:url('https://tembotarangirelodge.com/wp-content/uploads/2021/12/tipple-weka-hii.jpg')}.room-single{background-image:url('https://tembotarangirelodge.com/wp-content/uploads/2021/12/single.jpeg')}.room-twin{background-image:url('https://tembotarangirelodge.com/wp-content/uploads/2026/05/weka-hii-kwenye-twin-WhatsApp-Image-2026-05-18-at-11.51.36.jpeg')}.room-info{padding:28px 27px 30px;position:relative;background:white}.room-tag{display:inline-block;font-size:.64rem;letter-spacing:.15em;font-weight:800;color:#a27b32;margin-bottom:12px}.room-info h3{font-size:1.8rem;margin-bottom:12px}.room-info p{color:var(--muted);font-size:.93rem;min-height:76px}.room-info a{display:inline-block;margin-top:8px;color:var(--forest);font-size:.85rem;font-weight:800}.room-info a i{color:#b18431;margin-left:8px;transition:margin .2s}.room-info a:hover i{margin-left:14px}.experience-section{padding:100px 0;background:#102f24 url('https://tembotarangirelodge.com/wp-content/uploads/2026/05/town-IMG_9718-copy.jpg') center calc(50% + var(--parallax-shift,0px))/cover no-repeat;position:relative}.experience-section:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09271d77,#0c2d22e8 43%,#0c2d22f2)}.experience-panel{position:relative;background:#103b2ed9;color:white;padding:58px 55px;border:1px solid #d9b65c55;backdrop-filter:blur(4px)}.experience-panel .section-title{font-size:clamp(2.5rem,4vw,4rem)}.experience-panel p{color:#d8e0d8;max-width:530px}.experience-points{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px}.experience-points div{display:flex;gap:9px;align-items:center;color:#f1eee1;font-size:.83rem}.experience-points i{color:var(--gold);font-size:1.2rem}.quote-section{background:var(--cream)}.quote-icon{color:#bd913e;font-size:2.5rem}.quote-text{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3vw,2.8rem);max-width:800px;margin:10px auto 25px;line-height:1.35}.page-hero{min-height:420px;padding:95px 0 85px;color:white;display:flex;align-items:center;background-position:center calc(50% + var(--parallax-shift,0px));background-size:cover;position:relative;overflow:hidden}.page-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09271ee8,#09271e88 75%,#09271e55)}.page-hero .container{position:relative}.page-hero h1{font-size:clamp(3rem,6vw,5.4rem);margin-bottom:18px}.page-hero p{max-width:590px;color:#e1e9e1;font-size:1.05rem}.about-hero{background-image:url('https://tembotarangirelodge.com/wp-content/uploads/2026/05/town-IMG_9718-copy.jpg')}.contact-hero{background-image:url('https://tembotarangirelodge.com/wp-content/uploads/2026/05/yangaIMG_9623-2-copy.jpg')}.booking-hero{background-image:url('https://tembotarangirelodge.com/wp-content/uploads/2026/05/IMG_9716-copy1920by1080.jpg')}.room-card-wide{display:grid;grid-template-columns:48% 52%;min-height:320px}.room-card-wide .room-photo{height:100%;min-height:320px}.room-card-wide .room-info{padding:35px}.room-card-wide .room-info p{min-height:auto}.notice-card{display:flex;align-items:center;gap:20px;padding:24px 28px;background:var(--cream);border:1px solid var(--line)}.notice-card>i{font-size:1.8rem;color:#ad812f}.notice-card strong{font-size:1rem}.notice-card p{font-size:.9rem;color:var(--muted)}.about-image{min-height:480px;background:url('https://tembotarangirelodge.com/wp-content/uploads/2025/02/DSC04612-1-950x713.jpg') center/cover;position:relative;box-shadow:22px 22px 0 var(--gold-light)}.stats-band{background:var(--forest);color:white;padding:50px 0}.stats-band strong{display:block;font-family:'Playfair Display',serif;font-size:3rem;color:var(--gold)}.stats-band span{display:block;color:#d6e1d8;font-size:.86rem}.stats-band small{display:block;color:#c6d2c8;text-align:center;margin-top:25px;font-size:.7rem}.contact-item{display:flex;align-items:center;gap:17px;padding:18px 0;border-bottom:1px solid var(--line)}.contact-item>i{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--cream);color:#ad812f;font-size:1.2rem}.contact-item small{display:block;color:#a27b32;font-size:.65rem;font-weight:800;letter-spacing:.14em}.contact-item strong{font-weight:600;font-size:.94rem}.contact-form-card,.booking-form-card{padding:38px;background:white;box-shadow:var(--shadow);border:1px solid #eee9dd}.contact-form-card h3{font-size:2rem;margin-bottom:25px}.booking-section{background:#f7f5ef}.booking-form-card .section-title{font-size:2.7rem}.form-label{font-size:.82rem;font-weight:700;color:#334239}.booking-aside{background:white;box-shadow:var(--shadow);position:sticky;top:115px}.aside-image{height:240px;background:url('https://tembotarangirelodge.com/wp-content/uploads/2026/05/IMG_9716-copy1920by1080.jpg') center/cover}.aside-content{padding:30px}.aside-content h3{font-size:2rem}.aside-content p{color:var(--muted);font-size:.92rem}.aside-content ul{list-style:none;padding:0;margin:25px 0 0}.aside-content li{margin:10px 0;color:#334239;font-size:.88rem}.aside-content li i{color:#b18431;margin-right:8px}.success-section{min-height:60vh;display:flex;align-items:center;background:var(--cream)}.success-icon{display:grid;place-items:center;width:75px;height:75px;margin:0 auto 25px;background:#e5efdf;color:#2b7444;border-radius:50%;font-size:2rem}.success-copy{max-width:620px}.reference-number{display:inline-block;padding:12px 20px;background:white;border:1px solid var(--line)}.site-footer{background:#09271f;color:#d8e3d9;padding:65px 0 20px}.footer-brand{margin-bottom:5px}.footer-copy{max-width:350px;color:#aebfb3;font-size:.9rem}.site-footer h6{font-size:.75rem;color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px}.site-footer a:not(.brand){display:block;color:#d8e3d9;margin:9px 0;font-size:.87rem}.site-footer a:hover{color:var(--gold)}.site-footer p{font-size:.9rem;color:#d8e3d9}.footer-cta{color:var(--gold)!important}.footer-bottom{border-top:1px solid #ffffff20;margin-top:45px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:.72rem;color:#9eb2a3}.footer-bottom a{margin:0!important;font-size:.72rem!important}.floating-book{display:none;position:fixed;bottom:18px;right:18px;z-index:50;width:54px;height:54px;border-radius:50%;background:var(--gold);color:#163627;place-items:center;font-size:1.4rem;box-shadow:0 8px 25px #0003}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.admin-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(130deg,#09271fdd,#123b2ee6),url('https://tembotarangirelodge.com/wp-content/uploads/2026/05/IMG_9716-copy1920by1080.jpg') center/cover}.login-card{width:min(100%,440px);padding:42px;background:white;box-shadow:0 30px 90px #001b123d}.login-brand{color:var(--forest);margin-bottom:35px}.login-brand:hover{color:var(--forest)}.login-brand small{color:#7b877e}.login-card h1{font-size:2.6rem}.login-card>p{color:var(--muted);margin-bottom:25px}.back-home{display:block;text-align:center;color:var(--muted);font-size:.82rem;margin-top:25px}.admin-body{background:#f5f6f1;min-height:100vh}.admin-sidebar{width:260px;position:fixed;inset:0 auto 0 0;background:#0b2d23;color:white;padding:28px 20px;display:flex;flex-direction:column;z-index:5}.admin-sidebar .brand{font-size:.9rem;margin:0 0 36px 5px}.admin-user{display:flex;align-items:center;gap:12px;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;padding:20px 5px;margin-bottom:22px}.avatar{width:40px;height:40px;display:grid;place-items:center;background:var(--gold);color:#123b2e;border-radius:50%;font-weight:800}.admin-user strong,.admin-user small{display:block}.admin-user strong{font-size:.84rem}.admin-user small{font-size:.7rem;color:#a8beb0}.admin-sidebar nav a{display:flex;align-items:center;gap:12px;color:#c5d6ca;padding:13px 14px;border-radius:4px;margin:3px 0;font-size:.87rem}.admin-sidebar nav a i{font-size:1.1rem}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#ffffff12;color:var(--gold)}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff20;padding:20px 5px 0;font-size:.7rem;letter-spacing:.1em}.sidebar-bottom small{color:#9bb3a2;letter-spacing:0}.admin-main{margin-left:260px;padding:42px clamp(22px,4vw,58px);max-width:1800px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.admin-kicker{font-size:.68rem;font-weight:800;letter-spacing:.2em;color:#9b772e}.admin-top h1{font-size:2.5rem;margin:5px 0}.admin-top p{color:var(--muted);margin:0}.admin-stat{height:100%;min-height:180px;padding:24px;background:white;border:1px solid #ebece5;box-shadow:0 7px 22px #203a2710}.stat-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;font-size:1.2rem;margin-bottom:16px}.icon-gold{background:#fff2d5;color:#a67720}.icon-orange{background:#ffeadc;color:#c56a25}.icon-green{background:#e2f3e5;color:#34814b}.icon-blue{background:#e2f0fa;color:#3c7aa6}.admin-stat span,.admin-stat small{display:block;color:var(--muted);font-size:.8rem}.admin-stat strong{display:block;font-family:'Playfair Display',serif;font-size:2.4rem;line-height:1.2;margin:5px 0}.admin-stat small{font-size:.7rem}.admin-panel{background:white;border:1px solid #e9ebe4;box-shadow:0 7px 22px #203a270b}.panel-heading{padding:25px 28px;display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-heading h2{font-family:'DM Sans',sans-serif;font-weight:700;font-size:1.08rem;letter-spacing:0;margin:0 0 5px}.panel-heading p{color:var(--muted);font-size:.8rem;margin:0}.panel-heading>a{color:#8c6826;font-size:.82rem;font-weight:800}.admin-table{margin:0;vertical-align:middle;white-space:nowrap}.admin-table thead th{background:#f8f9f5;color:#7c867d;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;padding:14px 18px;border-color:#eef0e9}.admin-table tbody td{padding:18px;border-color:#f0f1eb;font-size:.81rem}.admin-table tbody tr:hover{background:#fffdf7}.admin-table td strong,.admin-table td small{display:block}.admin-table td small{font-size:.7rem;color:#879087;margin-top:4px;white-space:normal}.status{display:inline-block;border-radius:30px;padding:6px 10px;font-size:.68rem;font-weight:800}.status-pending{background:#fff1d5;color:#95671c}.status-confirmed{background:#e0f2e5;color:#267144}.status-cancelled{background:#ffe5e2;color:#a63b34}.status-completed{background:#e7edf4;color:#4b647b}.table-action{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f3f5ef;color:#3c5e47}.admin-foot{color:#899289;font-size:.75rem;margin-top:20px}.booking-filters{display:flex;gap:12px;padding:22px;border-bottom:1px solid #eef0e9}.search-wrap{position:relative;flex:1}.search-wrap i{position:absolute;left:13px;top:13px;color:#8d988e}.search-wrap .form-control{padding-left:38px}.booking-filters .form-select{width:180px}.panel-bottom{padding:15px 22px;color:var(--muted);font-size:.75rem}.detail-panel{padding-bottom:25px}.detail-grid{padding:0 28px;display:grid;grid-template-columns:1fr 1fr;gap:25px 20px}.detail-grid small{display:block;font-size:.63rem;color:#8a968b;letter-spacing:.12em;font-weight:800;margin-bottom:6px}.detail-grid strong,.detail-grid a{font-size:.87rem;color:#283b30}.detail-panel hr{margin:28px;border-color:#eceee7}.detail-panel h6,.detail-notes{margin-left:28px;margin-right:28px}.detail-notes{color:#5c695f;font-size:.88rem}.status-form{padding:0 25px 25px}.message-row{display:flex;gap:18px;padding:25px;border-bottom:1px solid #edf0e8}.message-avatar{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:#fff0d1;color:#9c742b}.message-content{flex:1;min-width:0}.message-content small,.message-content>a{font-size:.78rem;color:#7e897f}.message-content p{margin:13px 0 0;white-space:normal;overflow-wrap:anywhere}.message-content>a{display:block;margin-top:3px;color:#8a682d}@media(max-width:991px){.hero{min-height:650px}.hero-home{min-height:680px}.section-pad{padding:75px 0}.room-card-wide{display:block}.room-card-wide .room-photo{height:260px;min-height:0}.experience-panel{padding:40px 32px}.admin-sidebar{width:220px}.admin-main{margin-left:220px;padding:30px 22px}.admin-top h1{font-size:2rem}.admin-stat{padding:18px;min-height:165px}}@media(max-width:767px){.topbar .container{justify-content:center!important}.hero-home{min-height:680px;background-position:60% center}.hero h1{font-size:3.5rem}.hero-scroll{display:none}.booking-strip{padding:20px 0}.section-pad{padding:65px 0}.room-photo{height:240px}.experience-section{padding:55px 0}.experience-panel{padding:32px 25px}.experience-points{display:grid;gap:12px}.page-hero{min-height:350px;padding:70px 0}.page-hero h1{font-size:3.2rem}.about-image{min-height:330px;box-shadow:12px 12px 0 var(--gold-light)}.notice-card{align-items:flex-start;flex-wrap:wrap}.notice-card .btn{margin-left:0!important}.contact-form-card,.booking-form-card{padding:25px 20px}.booking-form-card .section-title{font-size:2.2rem}.floating-book{display:grid}.site-footer{padding-top:50px}.footer-bottom{flex-direction:column;gap:8px}.admin-sidebar{position:relative;width:100%;height:auto;padding:15px 18px}.admin-sidebar .brand{margin:0}.admin-user,.sidebar-bottom{display:none}.admin-sidebar nav{display:flex;flex-wrap:wrap;margin-top:12px;gap:3px}.admin-sidebar nav a{padding:9px 10px;font-size:.75rem}.admin-main{margin:0;padding:25px 15px}.admin-top{align-items:flex-start;flex-direction:column}.admin-top h1{font-size:2rem}.stat-cards{--bs-gutter-x:.6rem;--bs-gutter-y:.6rem}.admin-stat{padding:15px;min-height:155px}.admin-stat strong{font-size:2rem}.admin-stat span{font-size:.7rem}.admin-stat small{font-size:.65rem}.panel-heading{padding:20px}.booking-filters{flex-wrap:wrap;padding:15px}.search-wrap{flex-basis:100%}.booking-filters .form-select{flex:1;width:auto}.detail-grid{padding:0 20px;grid-template-columns:1fr 1fr;gap:20px 12px}.detail-panel hr{margin:22px}.detail-panel h6,.detail-notes{margin-left:20px;margin-right:20px}.status-form{padding:0 20px 20px}.login-card{padding:30px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Room detail gallery and image-first room navigation */
.room-photo-link{display:block;cursor:pointer;position:relative}
.room-photo-link:after{content:'View photos  ↗';position:absolute;left:18px;bottom:18px;background:#0b2b22e8;color:#fff;padding:9px 13px;border:1px solid #e9b85c99;font-size:.72rem;letter-spacing:.04em;opacity:0;transform:translateY(6px);transition:.25s}
.room-photo-link:hover:after,.room-photo-link:focus-visible:after{opacity:1;transform:translateY(0)}
.room-detail-hero{position:relative;overflow:hidden;padding:55px 0 62px;color:white;background:linear-gradient(110deg,#09271ff5,#123b2edb),url('https://tembotarangirelodge.com/wp-content/uploads/2026/05/IMG_9716-copy1920by1080.jpg') center/cover}
.back-link{display:inline-block;color:#f4dfb0;font-size:.83rem;margin-bottom:28px}
.back-link:hover{color:white}.back-link i{margin-right:7px}
.room-detail-hero h1{font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.05;margin:0 0 15px}
.room-detail-hero p{max-width:650px;color:#d9e5dc;margin:0;font-size:1rem}
.room-detail-section{background:#f7f5ef}
.gallery-shell{background:white;padding:12px;box-shadow:var(--shadow);border:1px solid #eee9dd}
.room-gallery{overflow:hidden;background:#102b21}
.room-gallery .carousel-inner,.room-gallery .carousel-item{height:clamp(300px,48vw,560px)}
.gallery-main-image{width:100%;height:100%;object-fit:cover;display:block;animation:galleryFade .55s ease}
@keyframes galleryFade{from{opacity:.6;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}
.gallery-counter{position:absolute;right:18px;bottom:18px;background:#09271fd9;color:#fff;padding:8px 12px;border:1px solid #e9b85c88;border-radius:2px;font-size:.76rem;letter-spacing:.05em}
.gallery-arrow{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#09271fc9;border:1px solid #f4d18a;color:#fff;font-size:1.1rem;transition:.2s}
.room-gallery .carousel-control-prev,.room-gallery .carousel-control-next{width:12%;opacity:1}
.room-gallery .carousel-control-prev:hover .gallery-arrow,.room-gallery .carousel-control-next:hover .gallery-arrow{background:var(--gold);color:#102d21}
.room-gallery .carousel-indicators{margin-bottom:16px;gap:5px}
.room-gallery .carousel-indicators [data-bs-target]{width:7px;height:7px;border:0;border-radius:50%;background:var(--gold);opacity:.65}
.room-gallery .carousel-indicators .active{opacity:1;transform:scale(1.25)}
.gallery-thumbnails{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;padding:13px 0 0}
.gallery-thumb{position:relative;overflow:hidden;padding:0;border:2px solid transparent;background:#eee;aspect-ratio:1.18;cursor:pointer;transition:border-color .2s,transform .2s}
.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s,opacity .2s}
.gallery-thumb span{position:absolute;right:5px;bottom:5px;background:#09271dcc;color:white;font-size:.62rem;padding:2px 5px}
.gallery-thumb:hover img{transform:scale(1.07)}
.gallery-thumb.active{border-color:#c99b3e;box-shadow:0 0 0 2px #e9b85c44}
.gallery-thumb.active:after{content:'✓';position:absolute;top:5px;left:5px;background:var(--gold);color:#173526;width:21px;height:21px;border-radius:50%;font-size:.72rem;font-weight:800;display:grid;place-items:center}
.gallery-hint{margin:12px 3px 2px;color:#7b867d;font-size:.72rem}.gallery-hint i{color:#ad812f;margin-right:6px}
.room-description-card{padding:35px 12px 5px}.room-description-card .section-title{font-size:clamp(2rem,3.2vw,3rem)}.room-description-card>p{max-width:760px;color:var(--muted)}
.amenity-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.amenity-list span{display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--line);padding:10px 13px;color:#3b4d41;font-size:.78rem}.amenity-list i{color:#a77c2c;font-size:1rem}
.room-booking-card{position:sticky;top:110px;padding:30px;background:white;box-shadow:var(--shadow);border-top:3px solid var(--gold)}
.room-booking-card h3{font-size:2rem;margin-bottom:12px}.room-booking-card>p{font-size:.9rem;color:var(--muted);margin-bottom:23px}
.booking-card-note{display:flex;gap:10px;align-items:flex-start;color:#6c796e;font-size:.72rem;margin-top:17px}.booking-card-note i{color:#2f7c4c;font-size:1.1rem}
.room-booking-card hr{border-color:var(--line);margin:25px 0}
.mini-contact{display:flex;gap:12px;align-items:center}.mini-contact>i{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--cream);color:#a77c2c}.mini-contact small{display:block;color:#8d712f;font-size:.63rem;font-weight:800;letter-spacing:.12em}.mini-contact strong{font-size:.88rem}
@media(max-width:767px){.room-detail-hero{padding:40px 0 45px}.room-gallery .carousel-inner,.room-gallery .carousel-item{height:320px}.gallery-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.gallery-thumb{aspect-ratio:1.4}.room-booking-card{position:static}.room-description-card{padding:30px 3px 0}.gallery-shell{padding:7px}.gallery-arrow{width:36px;height:36px}}

/* Live availability + breakfast booking UI */
.stay-summary{display:flex;gap:10px;flex-wrap:wrap}.stay-summary span{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;background:#f7f4ec;border:1px solid #e8e4d9;border-radius:999px;font-size:.78rem;color:#435047}.stay-summary i{color:#ad812f}
.availability-note{display:flex;gap:15px;padding:18px 22px;background:#fff8e8;border:1px solid #ead9ad;color:#554525}.availability-note>i{font-size:1.35rem;color:#b18431}.availability-note p{margin:3px 0 0;color:#766d59;font-size:.84rem}
.availability-table-wrap{background:#fff;border:1px solid var(--line);box-shadow:0 12px 35px #152f2010}.availability-table{margin:0;min-width:1050px}.availability-table thead th{background:#103b2e;color:#fff;border:0;padding:17px 15px;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap}.availability-table tbody td{padding:18px 15px;border-color:#eee9dd}.availability-table tbody tr:hover{background:#fffdf7}.room-sub{font-size:.74rem;color:#7a847d;margin-top:3px}.remaining-good{color:#247444}.remaining-zero{color:#b33a2e}.availability-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:800}.availability-badge.available{background:#e7f4ea;color:#216b3c}.availability-badge.unavailable{background:#f9e8e5;color:#a33c31}
.selected-room-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin:25px 0 30px;border:1px solid var(--line)}.selected-room-summary>div{background:#fff;padding:18px}.selected-room-summary span{display:block;color:#7b857d;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:5px}.selected-room-summary strong{font-size:1rem}
.breakfast-title{font-size:1.45rem;margin:15px 0}.breakfast-title i{color:#b18431;margin-right:8px}.breakfast-table{border:1px solid var(--line);margin-bottom:25px}.breakfast-table th{background:#f7f4ec;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#566057}.breakfast-table td,.breakfast-table th{padding:14px;border-color:var(--line)}.breakfast-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.breakfast-choice label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px;background:#fff;border:1px solid var(--line);cursor:pointer}.breakfast-choice label:has(input:checked){border-color:#c99b3e;background:#fff9eb;box-shadow:0 0 0 2px #e9b85c22}.breakfast-choice label.disabled{opacity:.55;cursor:not-allowed}.breakfast-choice span{font-weight:800;color:#9a742c}
@media(max-width:900px){.selected-room-summary{grid-template-columns:repeat(2,1fr)}.breakfast-choice{grid-template-columns:1fr}}
@media(max-width:600px){.selected-room-summary{grid-template-columns:1fr}.stay-summary span{width:100%;justify-content:center}.availability-note{padding:15px}.booking-form-card{padding:25px 18px}}

@media(max-width:575.98px){.site-logo{width:165px}.footer-logo{width:205px}.hero-home{min-height:680px}.hero-slide{background-position:center}.hero h1{font-size:clamp(2.8rem,14vw,4.2rem)}}

.admin-sidebar .site-logo{width:190px;max-width:100%;height:auto}.admin-sidebar .brand{display:block}.admin-sidebar .brand:hover{opacity:.95}

/* Enhanced room pricing, low-stock alerts and breakfast checkbox */
.availability-badge.low-stock{background:#fff0f0;color:#c51f2a;border:1px solid #f0a6aa;animation:lowStockPulse 1.8s ease-in-out infinite}
.remaining-low{color:#c51f2a!important;font-weight:900}
@keyframes lowStockPulse{0%,100%{box-shadow:0 0 0 0 rgba(197,31,42,.08)}50%{box-shadow:0 0 0 5px rgba(197,31,42,.08)}}
.room-edit-form{margin:0}.room-edit-grid{display:grid;grid-template-columns:1fr 1.25fr 1.25fr 1.2fr auto;gap:10px;align-items:end}.small-edit-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#68736b;font-weight:800;margin-bottom:4px}.room-edit-status{padding-bottom:1px}.room-edit-save{padding-bottom:1px}.room-edit-save .btn{white-space:nowrap}
.breakfast-option-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin:10px 0 18px;background:#fffaf0;border:1px solid #ead8ae;border-radius:12px}.breakfast-option-price{font-weight:900;color:#9a742c;text-align:right}.breakfast-checkbox{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;transition:.2s}.breakfast-checkbox:has(input:checked){border-color:#c99b3e;background:#fff9eb;box-shadow:0 0 0 2px #e9b85c22}.breakfast-checkbox.disabled{opacity:.55;cursor:not-allowed}.breakfast-check-text{display:flex;flex-direction:column;flex:1}.breakfast-check-text small{color:#7a847d;margin-top:3px}.breakfast-check-total{font-weight:900;color:#9a742c;white-space:nowrap}
@media(max-width:900px){.room-edit-grid{grid-template-columns:1fr 1fr}.room-edit-status,.room-edit-save{align-self:center}.breakfast-option-card{align-items:flex-start;flex-direction:column}.breakfast-option-price{text-align:left}.breakfast-checkbox{align-items:flex-start}.breakfast-check-total{margin-left:auto}}

/* Guest accounts */
.auth-card{max-width:720px;background:#fff;padding:42px;box-shadow:var(--shadow);border:1px solid var(--line)}
.guest-nav-link{position:relative}
.guest-notification-dot{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:5px;padding:0 5px;border-radius:999px;background:var(--gold);color:#173526;font-size:.68rem;font-weight:800}
.login-required-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;margin-bottom:25px;border:1px solid #e8d4a9;background:#fff9ea}
.login-required-banner i{font-size:1.6rem;color:#b18431;margin-right:10px;vertical-align:middle}
.login-required-banner strong{font-size:1.05rem}
.account-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(320px,1.25fr);gap:24px}
.account-card{background:#fff;border:1px solid var(--line);box-shadow:0 12px 35px #152f2010;padding:28px}
.account-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}
.account-card-head h3{margin:0;font-size:1.5rem}
.account-card-head>i{font-size:2.1rem;color:#b18431}
.account-badge{background:#edf5ef;color:var(--forest);border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:800}
.account-detail{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0;font-size:.9rem}
.account-detail span{color:var(--muted)}
.account-detail strong{text-align:right;overflow-wrap:anywhere}
.guest-message{border:1px solid var(--line);padding:16px;margin-bottom:12px;background:#fff}
.guest-message.unread{border-left:4px solid var(--gold);background:#fffaf0}
.guest-message small{color:var(--muted)}
.guest-message p{margin:10px 0;font-size:.9rem;white-space:normal}
.availability-badge.pending{background:#fff3cd;color:#856404}
.availability-badge.confirmed{background:#e8f5ec;color:#176b36}
.availability-badge.cancelled{background:#fdecec;color:#a11d1d}
.availability-badge.completed{background:#e9eefc;color:#284b9b}

/* Help/support floating panel */
.hp-help-fab{position:fixed;right:22px;bottom:22px;z-index:1080;border:0;border-radius:999px;background:var(--forest);color:#fff;display:flex;align-items:center;gap:10px;padding:11px 17px 11px 11px;box-shadow:0 16px 38px rgba(9,39,31,.28);font-weight:800;transition:transform .2s,box-shadow .2s}
.hp-help-fab:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(9,39,31,.34)}
.hp-help-fab-ico,.hp-help-fab-x{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:#173526}
.hp-help-fab-x{display:none}
.hp-help-fab.is-open .hp-help-fab-ico{display:none}
.hp-help-fab.is-open .hp-help-fab-x{display:grid}
.hp-help-panel{position:fixed;right:22px;bottom:82px;width:min(420px,calc(100vw - 30px));z-index:1079;background:#fff;border:1px solid #e4dfd1;box-shadow:0 24px 70px rgba(12,45,34,.25);transform:translateY(14px) scale(.98);opacity:0;transition:opacity .2s,transform .2s;overflow:hidden}
.hp-help-panel.is-visible{opacity:1;transform:translateY(0) scale(1)}
.hp-help-head{display:flex;align-items:center;gap:12px;padding:17px 18px;background:var(--forest);color:#fff}
.hp-help-ico{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e9b85c88;border-radius:50%;color:var(--gold);font-size:1.15rem}
.hp-help-title{font-weight:800;font-size:1.05rem}
.hp-help-sub{font-size:.75rem;color:#d8e3db}
.hp-help-x{border:0;background:transparent;color:#fff;font-size:1rem;padding:5px}
.hp-help-body{padding:18px}
.hp-help-group+.hp-help-group{margin-top:18px}
.hp-help-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#6d5524;margin-bottom:8px}
.hp-help-row{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:9px 10px}
.hp-help-numtxt{flex:1;font-size:.9rem;font-weight:700;overflow-wrap:anywhere}
.hp-help-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:.95rem}
.hp-help-btn.call{background:#edf5ef;color:var(--forest)}
.hp-help-btn.wa{background:#edf8f0;color:#1b7f42}
.hp-help-foot{padding:12px 18px;border-top:1px solid var(--line);background:#fbfaf6}
.hp-help-legend{display:flex;gap:18px;font-size:.75rem;color:var(--muted)}
.hp-help-legend i{margin-right:4px}
@media(max-width:767px){
  .auth-card{padding:25px 18px}
  .account-grid{grid-template-columns:1fr}
  .login-required-banner{align-items:flex-start;flex-direction:column}
  .hp-help-fab{right:14px;bottom:14px}
  .hp-help-panel{right:14px;bottom:76px;width:calc(100vw - 28px)}
}
