.request-page{max-width:1120px;margin:32px auto;padding:0 20px 60px}.request-page nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.request-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr);gap:22px}.request-page .panel{margin:20px 0}.request-page label{display:grid;gap:7px;margin:14px 0}.request-page input,.request-page select,.request-page textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:12px;border:1px solid #d7c9ba;border-radius:8px;background:#fffefa}.request-page button,.request-page a.action{min-height:44px}.request-page fieldset{border:0;padding:0;margin:18px 0}.contact-choices{display:flex;gap:12px}.contact-choices label{flex:1;margin:8px 0}.contact-choices span{display:block;text-align:center;border:1px solid #d7c9ba;border-radius:10px;background:#faf4ec;padding:14px;color:#204b50;font-weight:600;cursor:pointer}.contact-choices input{position:absolute;opacity:0;width:1px;height:1px}.contact-choices label:has(input:checked) span{background:#204b50;color:white;border-color:#204b50}.contact-choices label:has(input:focus-visible) span{outline:3px solid #b88d59;outline-offset:2px}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.request-full{grid-column:1/-1}.request-notice{font-size:14px;color:#59655f;line-height:1.6}.request-row{border:1px solid #e1d6c7;padding:18px;border-radius:12px;margin:12px 0;background:#fffdfa}.request-row h3{margin:4px 0 12px}.request-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.request-unread{color:#a64626;font-weight:bold}.request-message{padding:12px 16px;background:#f2eee7;border-radius:9px;margin:12px 0;overflow-wrap:anywhere}.request-message.facility{background:#e7f0ec}.request-actions{display:flex;gap:10px;flex-wrap:wrap}.request-page [role=status]{white-space:pre-wrap;overflow-wrap:anywhere}.request-detail{max-width:650px;width:calc(100% - 28px);max-height:90dvh;overflow:auto;border:1px solid #d7c9ba;border-radius:16px;padding:24px;box-sizing:border-box;background:#fffaf4}.request-detail::backdrop{background:#163b3555}.request-detail input,.request-detail select,.request-detail textarea{width:100%;box-sizing:border-box;font:inherit;padding:12px}.request-detail label{display:grid;gap:8px;margin:14px 0}.request-detail button{min-height:44px}.request-readonly{white-space:pre-wrap;overflow-wrap:anywhere}.request-alert{position:fixed;bottom:20px;left:20px;z-index:15;max-width:calc(100vw - 40px);padding:15px;background:#204b50;color:white;border-radius:12px;box-shadow:0 4px 18px #0002}.request-alert a{color:white}.publication-checklist{line-height:1.8}.facility-heart{font-size:25px;min-width:44px}.facility-heart[aria-pressed=true]{color:#c52c42}.request-page .request-thumb{width:100%;height:150px;object-fit:cover;border-radius:9px}.print-profile{display:none}@media(max-width:760px){.request-layout,.request-grid{grid-template-columns:1fr}.request-page{padding:0 16px 45px}.request-page h1{font-size:34px}.request-full{grid-column:auto}.request-detail{padding:18px}}@media print{body>*{display:none!important}body>.print-profile{display:block!important;padding:20px;color:black}body>.print-profile section{margin:18px 0}body>.print-profile img{max-width:220px;max-height:140px;object-fit:cover}}

/* V60.1: signed-out Log in link on the referral/tour page */
.request-login{display:inline-block;margin-left:6px;padding:10px 18px;border-radius:12px;text-decoration:none;font-weight:600}

/* V64: book a tour without an account */
.guest-tour .guest-intro{margin-top:0;font-size:17px}
.guest-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.guest-error{color:#a64626;font-weight:600;min-height:1em;margin:8px 0}
.guest-tour button[type=submit]{width:100%;font-size:18px}
.guest-confirm:focus{outline:none}
.guest-confirm-intro{font-size:18px;line-height:1.5;margin-top:0}
.guest-details{display:grid;grid-template-columns:max-content 1fr;gap:10px 18px;margin:18px 0;font-size:17px}
.guest-details dt{color:#59655f}
.guest-details dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.guest-back{display:inline-block;padding:12px 20px;border-radius:12px;text-decoration:none;font-weight:600}
@media(max-width:760px){.guest-details{grid-template-columns:1fr;gap:2px}.guest-details dd{margin-bottom:10px}}
.guest-optional{font-weight:400;color:#59655f}

/* V69: request banner with checkboxes, Mark as read / Keep as new / Mark All as Read */
.request-alert{width:min(540px,calc(100vw - 40px));box-sizing:border-box;padding:12px 14px;font:15px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;display:flex;flex-direction:column;max-height:min(70vh,560px)}
.request-alert[hidden]{display:none}
.request-alert .rb-head{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}
.request-alert .rb-title{margin:0;font-weight:700;flex:1 1 60%;order:0}
.request-alert .rb-close{order:1}.request-alert .rb-inbox{order:2}.request-alert .rb-toggle{order:3}.request-alert .rb-sound{order:4}
.request-alert .rb-inbox{font-weight:600;margin-right:auto}
.request-alert button{font:600 13px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;min-height:36px;padding:7px 11px;border-radius:9px;border:1px solid #ffffff55;background:#ffffff1a;color:#fff;cursor:pointer}
.request-alert button:hover:not(:disabled){background:#ffffff33}
.request-alert button:disabled{opacity:.45;cursor:default}
.request-alert button:focus-visible,.request-alert a:focus-visible,.request-alert input:focus-visible{outline:3px solid #f0c98a;outline-offset:2px}
.request-alert .rb-body{display:flex;flex-direction:column;min-height:0;margin-top:10px;border-top:1px solid #ffffff33;padding-top:10px}
.request-alert .rb-body[hidden]{display:none}
.request-alert .rb-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.request-alert .rb-selectall{display:flex;align-items:center;gap:6px;margin-right:4px;cursor:pointer;font-weight:600;font-size:14px}
.request-alert input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:#f0c98a;cursor:pointer;flex:none}
.request-alert .rb-all{background:#fffdf9;color:#204b50;border-color:#fffdf9}
.request-alert .rb-all:hover:not(:disabled){background:#f4ead9}
.request-alert .rb-note{margin:6px 0 0;font-size:13px;min-height:1px;color:#e6efe9}
.request-alert .rb-note:empty{display:none}
.request-alert .rb-list{list-style:none;margin:8px 0 0;padding:0;overflow:auto;min-height:0;flex:1 1 auto;overscroll-behavior:contain}
.request-alert .rb-row{display:flex;gap:10px;align-items:flex-start;padding:8px 6px;border-radius:8px}
.request-alert .rb-row+.rb-row{border-top:1px solid #ffffff1f}
.request-alert .rb-row.rb-new{background:#ffffff14}
.request-alert .rb-check{display:flex;padding:2px 0;cursor:pointer}
.request-alert .rb-text{min-width:0;flex:1}
.request-alert .rb-line1{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.request-alert .rb-name{font-weight:600;overflow-wrap:anywhere}
.request-alert .rb-row:not(.rb-new) .rb-name{font-weight:400}
.request-alert .rb-line2{font-size:13px;color:#d7e4de;margin-top:2px}
.request-alert .rb-badge{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#f0c98a;color:#1c3a3e}
.request-alert .rb-badge.rb-read{background:transparent;color:#d7e4de;border:1px solid #ffffff55}
@media(max-width:600px){.request-alert{left:10px;right:10px;bottom:10px;width:auto;max-width:none;max-height:65vh}}
html.app-mode .request-alert{bottom:calc(100px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 190px - env(safe-area-inset-bottom,0px))}
@media print{.request-alert{display:none!important}}
