.visitor-menu{position:relative;font-size:.76rem;z-index:40}
.visitor-menu summary{display:flex;align-items:center;gap:9px;min-height:44px;white-space:nowrap}
.visitor-options{position:absolute;top:calc(100% + 10px);right:0;width:240px;max-width:calc(100vw - 40px);padding:12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 40px #193c2e16}
.visitor-options a,.visitor-options button{display:block;padding:11px 14px;width:100%;text-align:left;color:var(--ink);font:inherit;background:transparent;border:0}
.visitor-options a:hover,.visitor-options button:hover{background:var(--sage)}
.visitor-options form{margin:5px 0 0;border-top:1px solid var(--line);padding-top:5px}
.visitor-greeting{display:block;padding:9px 14px 14px;font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.visitor-page{max-width:1100px;padding-block:20px 56px}
.visitor-page-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.visitor-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:24px;font-size:.85rem}
.visitor-tabs a{padding:12px 0;border-bottom:2px solid transparent}
.visitor-tabs a[aria-current=page]{border-color:var(--forest)}
.booking-page .booking-demo-note{font-size:.75rem;line-height:1.5;color:var(--muted);margin:20px auto 0;max-width:820px}
.visitor-empty{padding:56px 32px;background:var(--paper);border:1px solid var(--line);text-align:center}
.visitor-empty h2{font-size:2rem;margin-bottom:28px}
.visitor-reservations{display:grid;gap:24px}
.visitor-reservation{display:flex;background:var(--paper);border:1px solid var(--line);min-width:0}
.visitor-reservation-photo{width:32%;max-width:350px;flex-shrink:0}
.visitor-reservation-photo img{height:100%;width:100%;object-fit:cover;aspect-ratio:4/3}
.visitor-reservation-body{padding:28px 36px;min-width:0}
.visitor-status{display:inline-block;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;background:var(--sage);color:var(--forest);padding:5px 10px;margin-bottom:16px}
.visitor-reservation h2{font-size:2.3rem;margin-bottom:12px}
.visitor-reservation p{font-size:.85rem;margin-bottom:12px;color:var(--muted)}
.visitor-reservation .visitor-price{font-size:1rem;color:var(--ink)}
.visitor-back{margin-bottom:24px}
.visitor-detail{display:grid;grid-template-columns:1fr 1.2fr;background:var(--paper);border:1px solid var(--line)}
.visitor-detail-photo{width:100%;height:100%;max-height:720px;object-fit:cover}
.visitor-detail-body{padding:38px;min-width:0}
.visitor-detail h2{margin-bottom:16px}
.visitor-dates{font-size:.9rem;color:var(--muted)}
.visitor-reference{font-size:.7rem;color:var(--muted);overflow-wrap:anywhere}
.visitor-reference strong{font-weight:400;letter-spacing:.03em}
.visitor-totals{margin:24px 0}
.visitor-totals>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.84rem}
.visitor-totals dd{margin:0;text-align:right}
.visitor-detail-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.visitor-pagination{display:flex;justify-content:space-between;gap:30px;margin-top:28px}
.visitor-demo{font-size:.75rem;color:var(--muted);margin-top:28px}
@media(max-width:1100px){.header-actions{gap:15px}.desktop-nav{gap:20px}.site-header{gap:20px}.visitor-detail{grid-template-columns:1fr 1.3fr}}
@media(max-width:700px){.visitor-menu summary>span:not(:last-child){display:none}.visitor-options{right:-60px}.visitor-page{padding-block:12px 36px}.visitor-reservation{display:block}.visitor-reservation-photo{display:block;width:100%;max-width:none}.visitor-reservation-photo img{height:180px;aspect-ratio:16/9}.visitor-reservation-body{padding:24px}.visitor-detail{display:block}.visitor-detail-photo{height:230px}.visitor-detail-body{padding:24px}.visitor-tabs{gap:24px;margin-bottom:20px}.visitor-detail h2{font-size:2.5rem}}
