/* Layout design foundation adapted from safariants_hotel.html */

:root{--ink:#202923;--muted:#737d76;--line:#e4e8e5;--paper:#fff;--soft:#f1f3f2;--green:#397653;--shadow:0 2px 10px #14251a0a}
*{box-sizing:border-box}html,body{margin:0;height:100%;color:var(--ink);background:#f0f2f1;font:15px/1.45 "Facebook Sans",Helvetica,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{color:inherit;text-decoration:none}
.topbar{height:70px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:22px;padding:0 28px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:23px;letter-spacing:-.8px;white-space:nowrap}.mark{width:34px;height:34px;border:2px solid #7ea98b;border-radius:50% 50% 50% 8px;display:grid;place-items:center;transform:rotate(-45deg);color:var(--green)}.mark span{transform:rotate(45deg)}.brand em{font-style:normal;color:var(--green)}.search{height:42px;max-width:680px;flex:1;display:flex;align-items:center;background:#f1f3f2;border-radius:24px;padding:0 15px;gap:9px}.search input{width:100%;border:0;outline:0;background:transparent}.top-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.top-icon{border:0;background:#f0f2f1;border-radius:50%;width:39px;height:39px;font-size:19px}.avatar{width:37px;height:37px;border-radius:50%;object-fit:cover}
.page{height:calc(100vh - 70px);display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,2fr);gap:18px;padding:16px;max-width:1700px;margin:auto}.pane{min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d8ddda transparent;padding:0 2px 24px}.pane::-webkit-scrollbar{width:6px}.pane::-webkit-scrollbar-thumb{background:#d8ddda;border-radius:9px}.widget,.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden;box-shadow:var(--shadow)}.widget-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #edf0ee;font-weight:750;font-size:16px}.widget-head small{font-size:11px;color:#89918c;font-weight:600;letter-spacing:.5px}.subtle{font-size:12px;color:var(--muted)}.quiet-link{background:none;border:0;padding:3px;color:#5d7665;font-weight:650}.soft-btn{border:1px solid #e1e6e2;background:#f4f6f5;border-radius:8px;padding:9px 13px;font-weight:650}.soft-btn:hover,.word-action:hover{background:#edf1ee}.mini-place{display:flex;gap:10px;align-items:center;padding:10px 14px}.mini-place img{width:65px;height:54px;object-fit:cover;border-radius:7px}.mini-place b{font-size:13px;display:block}.mini-place small{font-size:11px;color:var(--muted)}.rating{color:#bd8532;font-size:12px}.people{display:flex;gap:12px;overflow:auto;padding:15px}.person{min-width:62px;text-align:center;font-size:11px;color:#56645b}.person img{width:50px;height:50px;object-fit:cover;border-radius:50%;display:block;margin:0 auto 6px}.ad-card{padding:10px}.ad-card img{width:100%;height:125px;object-fit:cover;border-radius:8px}.ad-tag{font-size:10px;color:#8a938d;text-transform:uppercase;letter-spacing:1px;margin-top:8px}.ad-card b{display:block;margin:3px 0}.ad-card p{font-size:13px;color:var(--muted);margin:3px 0 9px}.footer{display:flex;flex-wrap:wrap;gap:10px 15px;padding:13px 12px;font-size:12px;color:#727c75}.footer a:hover{text-decoration:underline}.reminder{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid #edf0ee}.reminder b{font-size:13px}.fineprint{font-size:11px;color:var(--muted);line-height:1.5;padding:0 14px 12px;margin:0}
.hero{height:min(68vh,660px);min-height:460px;position:relative;border-radius:14px;overflow:hidden;background:#dbe3dc;margin-bottom:13px}.hero>img{width:100%;height:100%;object-fit:cover;display:block}.hero:after{content:"";position:absolute;inset:32% 0 0;background:linear-gradient(transparent,#101a15bf)}.hero-top{position:absolute;top:15px;left:16px;right:16px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:8px}.hero-chip{border:1px solid #ffffff90;background:#ffffffdf;border-radius:20px;padding:7px 11px;font-size:12px;font-weight:700}.hero-content{position:absolute;bottom:19px;left:22px;right:22px;z-index:2;color:white}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800;opacity:.9}.hero h1{font-size:clamp(32px,3.4vw,49px);letter-spacing:-1.5px;line-height:1.03;margin:7px 0 9px}.hero-desc{max-width:680px;color:#f4f6f4;font-size:15px;margin:0 0 13px}.hero-meta{display:flex;gap:15px;align-items:center;flex-wrap:wrap;font-size:13px}.hero-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.hero-actions button{border:1px solid #ffffff72;background:#ffffffea;color:#28372d;border-radius:7px;padding:9px 12px;font-weight:700}.floating-actions{position:sticky;top:0;z-index:15;display:none;background:#f1f3f2f2;backdrop-filter:blur(8px);border:1px solid #e2e6e3;border-radius:0 0 10px 10px;margin:-16px 0 13px;padding:8px;gap:6px;flex-wrap:wrap;box-shadow:0 2px 8px #17251b0a}.floating-actions button{border:0;background:#fff;border-radius:7px;padding:8px 10px;font-size:12px;font-weight:700}.main-pane.scrolled .floating-actions{display:flex}.score-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}.score{padding:13px 14px;background:#fff;border:1px solid var(--line);border-radius:10px}.score b{display:block;font-size:21px}.score span{font-size:12px;color:var(--muted)}.score .stars{color:#c48a35;font-size:14px}.panel{padding:17px}.panel h2{font-size:20px;letter-spacing:-.4px;margin:0 0 11px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-title h2{margin:0}.gallery{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:8px;padding:12px}.gallery button{padding:0;border:0;position:relative;border-radius:9px;overflow:hidden;background:#e5e9e6}.gallery img{width:100%;height:145px;object-fit:cover;display:block}.gallery .more{position:absolute;inset:0;display:grid;place-items:center;background:#16251b70;color:white;font-weight:800}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-card{border:1px solid var(--line);border-radius:11px;overflow:hidden}.room-card>img{width:100%;height:180px;object-fit:cover;display:block}.room-info{padding:13px}.room-info h3{font-size:16px;margin:0 0 5px}.room-info p{font-size:13px;color:var(--muted);margin:0 0 8px}.room-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.price{font-weight:800;font-size:17px}.price small{font-size:11px;font-weight:400;color:var(--muted)}.amenities{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}.amenities span{background:#f2f4f2;border-radius:20px;padding:5px 8px;font-size:11px;color:#627066}.details-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail{border:1px solid var(--line);border-radius:9px;padding:13px}.detail b{display:block;margin-bottom:5px}.detail p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.comment-form{display:flex;gap:9px;padding:13px 15px;border-bottom:1px solid #edf0ee}.comment-form img{width:36px;height:36px;border-radius:50%;object-fit:cover}.comment-form textarea{resize:vertical;min-height:40px;max-height:100px;flex:1;border:1px solid #e0e5e1;border-radius:18px;padding:10px 13px}.comment{padding:14px 15px;border-bottom:1px solid #edf0ee}.comment-top{display:flex;gap:9px;align-items:center}.comment-top img{width:36px;height:36px;border-radius:50%;object-fit:cover}.comment-top b{font-size:13px}.comment-top small{display:block;font-size:11px;color:var(--muted)}.comment p{font-size:14px;color:#4d5a51;margin:9px 0}.comment-tools{display:flex;gap:14px;flex-wrap:wrap}.word-action{border:0;background:transparent;border-radius:6px;padding:5px 7px;font-size:12px;color:#69766d}.word-action.active{color:#3f7955;font-weight:750}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-grid label{font-size:12px;color:#59675e;font-weight:700}.booking-grid input,.booking-grid select{display:block;width:100%;margin-top:5px;border:1px solid #dfe4e1;border-radius:8px;padding:11px;background:white;color:var(--ink)}.booking-summary{background:#f5f7f5;border-radius:9px;padding:13px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.booking-summary b{font-size:19px}.location-box{height:185px;background:#e9eee8;overflow:hidden}.location-box svg{width:100%;height:100%;display:block}.location-caption{padding:12px 15px;display:flex;justify-content:space-between;gap:10px;align-items:center}.nearby-row{display:flex;gap:10px;padding:11px 13px;border-bottom:1px solid #edf0ee}.nearby-row img{width:76px;height:65px;object-fit:cover;border-radius:8px}.nearby-row b{display:block;font-size:13px}.nearby-row small{font-size:11px;color:var(--muted)}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(15px);opacity:0;pointer-events:none;background:#26382c;color:white;padding:11px 16px;border-radius:9px;z-index:60;transition:.2s;max-width:90vw}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.modal-bg{display:none;position:fixed;inset:0;background:#101b1580;z-index:50;align-items:center;justify-content:center;padding:18px}.modal-bg.show{display:flex}.modal{width:min(560px,100%);max-height:88vh;overflow:auto;background:white;border-radius:14px;padding:20px}.modal h2{margin:0 0 5px}.modal p{color:var(--muted)}.modal-close{float:right;border:0;background:#eff2f0;border-radius:50%;width:32px;height:32px}
@media(max-width:850px){.page{grid-template-columns:230px minmax(0,1fr);height:auto;min-height:calc(100vh - 70px)}.pane{overflow:visible}.hero{height:570px}.room-grid{grid-template-columns:1fr}.room-card>img{height:220px}.score-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.topbar{height:auto;min-height:65px;padding:10px 12px;gap:10px;flex-wrap:wrap}.brand{font-size:21px}.search{order:3;flex-basis:100%;max-width:none}.top-actions{gap:5px}.page{display:flex;flex-direction:column;height:auto;padding:10px;gap:10px}.main-pane{order:1}.left-pane{order:2}.hero{height:70vh;min-height:450px;max-height:650px}.hero-content{left:15px;right:15px;bottom:15px}.hero h1{font-size:35px}.hero-meta{gap:8px}.score-row{grid-template-columns:repeat(2,minmax(0,1fr))}.details-list,.booking-grid{grid-template-columns:1fr}.gallery img{height:100px}.room-grid{grid-template-columns:1fr}.floating-actions{top:0}}
/* Dynamic PHP template compatibility overrides */
body.layout-business .page{display:block;height:auto;min-height:70vh;max-width:1280px;margin:22px auto;padding:0 18px;overflow:visible}
body.layout-business .page>.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;height:auto;min-height:0;padding:0;max-width:none}
@media(max-width:720px){body.layout-business .page>.layout{display:flex;flex-direction:column;padding:0}}
