*{box-sizing:border-box}body{margin:0;background:#f1f5fa;font-family:Arial,sans-serif;color:#19384a}p{line-height:1.7}h1{font-size:clamp(27px,5vw,40px);line-height:1.2;margin:12px 0}h2{font-size:22px;margin:0 0 18px}.guest-portal{max-width:760px;margin:0 auto;padding:32px 20px 64px}.guest-portal-logo{display:block;width:140px;height:140px;object-fit:contain;border-radius:50%;clip-path:circle(44% at 50% 50%);margin:0 auto 30px}.detail{background:#fff;border:1px solid #e1e7ed;border-radius:16px;padding:28px;margin:24px 0}.guest-welcome{color:#087eac;font-weight:600;margin-top:24px}.badge{display:inline-block;background:#e7f2f8;color:#25617c;padding:6px 8px;border-radius:4px;font-size:13px;font-weight:600}.dates{display:flex;gap:40px;flex-wrap:wrap;margin:24px 0 10px}.dates small{display:block;color:#62718a;font-size:11px;letter-spacing:1px;margin-bottom:8px}.dates strong{font-size:23px}.guest-instructions{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}.helper{font-size:13px;color:#62718a;line-height:1.7}.guest-arrival-guide{display:grid;gap:28px}.guest-arrival-step{min-width:0}.guest-arrival-step+.guest-arrival-step{border-top:1px solid #e1e7ed;padding-top:28px}.guest-arrival-step h2{margin:14px 0 10px}.guest-arrival-step>a,.guest-card-guide>a{display:block;margin-top:18px;border:1px solid #e1e7ed;border-radius:12px;overflow:hidden;background:#fff}.guest-arrival-step>a:focus-visible,.guest-card-guide>a:focus-visible{outline:3px solid #087eac;outline-offset:4px}.guest-arrival-step img{display:block;width:100%;height:auto}.guest-arrival-step .helper{margin-bottom:0}[hidden]{display:none!important}@media(max-width:680px){.guest-portal{padding:24px 16px 40px}.detail{padding:20px}.dates{gap:24px}.dates strong{font-size:21px}}

.access-code{font-size:32px;font-weight:700;letter-spacing:6px;color:#19384a;margin:12px 0}

/* Guest stay orientations */
.guest-orientations .orientation-welcome{margin:-4px 0 22px;color:#62718a}
.orientation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.orientation-card{min-width:0;padding:20px;border:1px solid #dbe4f0;border-radius:12px;background:#f2f6fc}
.orientation-card h3{font-size:16px;line-height:1.4;margin:0 0 10px;color:#102f61;font-weight:700}
.orientation-card p{font-size:14px;line-height:1.65;margin:0;color:#344454}
.orientation-card p+p{margin-top:8px}.orientation-wide{grid-column:1/-1}
.orientation-cleaning{background:#fcf8ed}.orientation-note{font-style:italic;color:#62718a!important}
.orientation-smoking{background:#fff4f4;border-color:#efb9bf}.orientation-smoking h3{color:#a22535}
.orientation-wifi{display:flex;gap:24px;align-items:flex-start}.orientation-wifi-text{flex:1;min-width:0}
.orientation-wifi dl{margin:18px 0 16px;font-size:14px;overflow-wrap:anywhere}.orientation-wifi dt{font-size:12px;color:#62718a;margin-top:10px}.orientation-wifi dd{margin:3px 0 0;font-weight:600;user-select:all}
.orientation-qr{flex:0 0 160px;margin:0;text-align:center}.orientation-qr img{display:block;width:160px;height:160px;background:white;border-radius:8px}.orientation-qr figcaption{font-size:12px;line-height:1.5;color:#62718a;margin-top:10px}
.wifi-copy{appearance:none;display:inline-block;border:0;border-radius:8px;background:#102f61;color:white;padding:12px 18px;font:600 14px Arial,sans-serif;cursor:pointer;min-height:44px}.wifi-copy:hover{background:#1b477e}.wifi-copy:focus-visible{outline:3px solid #087eac;outline-offset:3px}
.orientation-card .wifi-copy-status{font-size:12px;margin-top:10px}.wifi-copy-status:empty{display:none}
@media(max-width:560px){.orientation-grid{grid-template-columns:minmax(0,1fr)}.orientation-card{padding:18px}.orientation-wifi{flex-direction:column;gap:20px}.orientation-qr{flex-basis:auto;align-self:center;max-width:230px}.orientation-qr img{width:180px;height:180px;margin:auto}}

.guest-help h2{margin-bottom:10px}.guest-help p{margin:0 0 20px}.guest-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 20px;border-radius:10px;background:#137749;color:#fff;text-decoration:none;font-size:15px;font-weight:600;line-height:1.5}.guest-whatsapp svg{flex-shrink:0}.guest-whatsapp:hover{background:#0e603a}.guest-whatsapp:focus-visible{outline:3px solid #087eac;outline-offset:4px}@media(max-width:560px){.guest-whatsapp{width:100%;padding:14px 16px}}
