/* Style from guides.weekaway.com/rundle-ridge-app (summit-app/app.css), exact values */
:root{--bg:#F8F8F8;--card:#fff;--surface-2:#F1F1EF;--forest:#1F3326;--sage:#6E7A6B;--ink:#161616;--grey:#6B6B6B;--grey-2:#9A9A9A;
--line:rgba(22,22,22,0.10);--hair-2:rgba(22,22,22,0.06);--mute:#6B6B6B;--mute2:#9A9A9A;--p:#1F3326;--p2:#2E4A37;--pt:#F1F1EF;
--r:8px;--sh:0 1px 2px rgba(22,22,22,0.04),0 8px 24px -16px rgba(22,22,22,0.18);--ease:cubic-bezier(0.4,0,0.2,1)}
html,body{background:var(--bg);font-size:15px;color:var(--ink)}
#app{max-width:440px;padding:0 17px 120px}
.sub{color:var(--grey);font-size:15px}.lead{color:var(--grey);font-size:15.5px;line-height:1.5}
.card,.tile,.up,.cat{border-radius:8px;box-shadow:var(--sh);border:1px solid var(--hair-2)}
.btn{background:var(--forest)}.btn:hover:not(:disabled){background:#2E4A37}
.seg button.on,.addb.on{background:var(--forest);border-color:var(--forest)}
.ibadge{width:44px;height:44px;border-radius:10px;background:var(--surface-2)!important;color:var(--forest)!important}
.ibadge.solid{background:var(--forest)!important;color:#fff!important}
.ph{font-size:30px;line-height:1.1;letter-spacing:-0.015em}
/* white top header */
.rtop{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 16px;margin:0 -17px;background:rgba(255,255,255,0.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.rtop .topbar-logo{height:28px;width:auto;display:block}
.rtop .topbar-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--ink);border-radius:50%}
.rtop .topbar-icon .ic{width:22px;height:22px}
.subbar{background:rgba(255,255,255,0.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);margin:0 -17px;padding:0 12px;height:60px;z-index:30}
.subbar h1{font-family:var(--sans);font-weight:500;font-size:15px;letter-spacing:0.01em}
/* hero */
.rhero{position:relative;min-height:380px;background-size:cover;background-position:center;display:flex;align-items:flex-end;margin:0 -17px}
.rhero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,30,24,0.40) 0%,rgba(20,30,24,0.05) 38%,rgba(20,30,24,0.74) 100%)}
.rhero-inner{position:relative;padding:24px 24px 30px;color:#fff}
.rhero-eyebrow{font-family:var(--sans);font-weight:500;font-size:11px;color:#fff;letter-spacing:0.18em;text-transform:uppercase;opacity:0.92;margin-bottom:10px}
.rhero-title{font-family:var(--serif);font-weight:400;font-size:46px;line-height:0.98;color:#fff;letter-spacing:-0.015em;margin:0;text-shadow:0 1px 24px rgba(20,30,24,0.35)}
.rhero-sub{font-family:var(--sans);font-weight:350;font-size:15px;line-height:1.45;margin:14px 0 0;max-width:30ch;color:rgba(255,255,255,0.9)}
/* stay card */
.stay-card{background:#fff;border:1px solid var(--hair-2);border-radius:8px;margin:22px 0;box-shadow:var(--sh);overflow:hidden}
.stay-row{display:flex;align-items:stretch;width:100%}
.stay-half{flex:1;display:flex;align-items:center;gap:13px;padding:17px 18px}
.stay-div{width:1px;background:var(--hair-2);margin:14px 0;flex:0 0 auto}
.stay-ic{width:36px;height:36px;flex:0 0 auto;border-radius:8px;background:var(--surface-2);color:var(--forest);display:flex;align-items:center;justify-content:center}
.stay-meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.stay-k{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--grey-2)}
.stay-v{font-family:var(--serif);font-size:20px;line-height:1;color:var(--ink);letter-spacing:-0.01em}
.stay-d{font-family:var(--sans);font-size:12px;color:var(--grey)}
.stay-note{border-top:1px solid var(--hair-2);padding:14px 17px 15px;display:flex;gap:10px;align-items:flex-start;background:var(--surface-2)}
.stay-note .ic{flex:0 0 auto;color:var(--sage);margin-top:3px}
.stay-note p{font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--grey);margin:0}
/* list cards */
.navgrid{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.navcard{display:flex;align-items:center;gap:14px;width:100%;background:#fff;border:1px solid var(--hair-2);border-radius:8px;padding:16px;text-align:left;box-shadow:var(--sh);transition:transform .12s var(--ease)}
.navcard:active{transform:scale(0.985)}
.navcard-ic{width:44px;height:44px;flex:0 0 auto;border-radius:10px;background:var(--surface-2);color:var(--forest);display:flex;align-items:center;justify-content:center}
.navcard-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.navcard-title{font-family:var(--serif);font-size:19px;line-height:1.1;letter-spacing:-0.01em;color:var(--ink)}
.navcard-desc{font-family:var(--sans);font-size:15px;color:var(--grey)}
.navcard-chev{color:var(--grey-2)}
.sec-t{font-family:var(--serif);font-size:24px;letter-spacing:-0.01em;margin:26px 0 4px}
/* tab bar */
.tabbar{position:fixed;left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:412px;z-index:90;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:2px;padding:7px 9px;background:rgba(226,222,216,0.74);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border:1px solid rgba(255,255,255,0.55);border-radius:999px;box-shadow:0 8px 30px -8px rgba(22,22,22,0.28),0 2px 8px -2px rgba(22,22,22,0.12)}
.tabbar-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px 6px;border-radius:999px;color:var(--grey);font-family:var(--sans);transition:color .15s,background .18s var(--ease)}
.tabbar-btn .ic{width:22px;height:22px;stroke-width:1.6}
.tabbar-btn span{font-size:10px;font-weight:500;letter-spacing:0.02em}
.tabbar-btn.active{color:var(--ink);background:rgba(255,255,255,0.85)}
@media(min-width:768px){.ph{font-size:30px}}
/* v2: borderless rectangles like the guide app */
.opt,.quote,.lrow,.uprow,.cnt,.stepacc,.stepbody,.lang,.cardsel,.pay button,.btn.ghost,.addb,.seg button,.inp,.round,.timer div,.chip.req,.chip.done,.cnt .ctl button{border:0!important}
.opt,.lrow,.uprow,.cnt,.stepacc,.lang,.cardsel,.quote{background:#fff;border-radius:8px;box-shadow:var(--sh)}
.opt{padding:6px}.opt .top{background:var(--surface-2)!important;border-radius:8px}
.opt.on,.lang.on,.cardsel{background:#F1F1EF!important}.opt.on .top{background:#E7EAE5!important}
.radio{border:0!important;background:#E4E4E1}.opt.on .radio{border:0!important;background:var(--forest) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.opt.chk:has(input:checked){background:#F1F1EF!important}
.inp,.seg button,.addb,.pay button,.btn.ghost,.cnt .ctl button,.round{background:#F1F1EF}
.seg button.on,.addb.on{background:var(--forest)}
.btn.ghost{background:#F1F1EF!important}
.quote{color:var(--grey);margin:8px}
/* v2 hero: darker, title higher, note overlaid */
.rhero{min-height:460px;align-items:stretch}
.rhero-scrim{background:linear-gradient(180deg,rgba(0,0,0,0.55) 0%,rgba(0,0,0,0.38) 45%,rgba(0,0,0,0.78) 100%)}
.rhero-inner{display:flex;flex-direction:column;justify-content:space-between;width:100%;padding:44px 24px 24px;gap:28px}
.rhero-note{display:flex;gap:10px;align-items:flex-start;background:rgba(0,0,0,0.38);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;padding:12px 14px}
.rhero-note .ic{color:#fff;flex:0 0 auto;margin-top:3px;opacity:.9}
.rhero-note p{margin:0;font-size:14px;line-height:1.5;color:rgba(255,255,255,0.92)}
/* v3: stay card overlaps hero bottom */
.rhero{min-height:400px}
.rhero-inner{justify-content:flex-start;padding:44px 24px 96px}
.rhero+.stay-card{position:relative;z-index:2;margin-top:-64px;box-shadow:0 1px 2px rgba(22,22,22,0.06),0 18px 40px -18px rgba(22,22,22,0.35)}
