.reservation-portal{box-sizing:border-box;background:var(--rilo-bg,#f8f4ee);width:100%;max-width:808px;min-height:100svh;color:var(--rilo-text,#2a2320);font:15px/1.5 var(--rilo-font,system-ui);font-variant-numeric:tabular-nums;margin:0 auto;padding:24px}.reservation-portal *{box-sizing:border-box}.reservation-portal [hidden]{display:none!important}.reservation-portal[data-framed=true]{min-height:0}.rp-main{width:100%;max-width:760px;margin:auto}.rp-heading{align-items:center;gap:12px;padding-bottom:16px;display:flex}.rp-heading>div{min-width:0}.rp-name{font:500 34px/1.1 var(--rilo-heading-font,serif);letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:balance;hyphens:auto;margin:0}.rp-eyebrow{color:var(--rilo-muted,#74685e);letter-spacing:.16em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.rp-tagline{color:var(--rilo-muted);margin:8px 0 0;font-size:14px}.rp-entry-actions{flex-direction:column;gap:8px;display:flex}.rp-entry-actions:has(>button:not([hidden])){margin-bottom:16px}.rp-gift-pill,.rp-back,.rp-tabs button{border:1px solid var(--rilo-border);background:var(--rilo-paper,#fffdf9);min-height:44px;color:var(--rilo-accent-text);font:600 14px/1.5 var(--rilo-font,system-ui);cursor:pointer;border-radius:999px;padding:10px 18px}.rp-back{text-underline-offset:3px;background:0 0;text-decoration:underline}.rp-gift-pill[aria-pressed=true],.rp-tabs button[aria-pressed=true]{background:var(--rilo-accent-soft)}.rp-tabs{margin:0 0 16px}.rp-tabs button{width:100%}.reservation-portal :is(button,a):focus-visible,.rp-return:focus-visible{outline:2px solid var(--rilo-accent-text);outline-offset:3px}.reservation-portal button:hover{background:var(--rilo-accent-soft)}.rp-module{min-height:340px}.rp-module>*{width:100%;display:block}.rp-demo,.rp-footer{color:var(--rilo-muted);font-size:13px;line-height:1.6}.rp-demo{text-align:center}.rp-footer{border-top:1px solid var(--rilo-border);text-align:center;margin-top:32px;padding-top:24px}.rp-footer p{margin:0}.rp-recover{min-height:44px;color:var(--rilo-text);text-underline-offset:3px;padding:11px 0;display:block}.rp-contact{gap:2px;margin:0 0 16px;font-style:normal;display:grid}.rp-contact strong{font:500 18px/1.3 var(--rilo-heading-font)}.rp-contact a{min-height:44px;color:inherit;text-underline-offset:4px;overflow-wrap:anywhere;padding:10px 0;display:inline-block}.reservation-portal .rilo-signature{margin-top:12px}.rp-return-nav{background:var(--rilo-bg,#f8f4ee);font-family:var(--rilo-font,system-ui);padding:8px max(16px,50% - 380px) 0}.rp-return{max-width:100%;min-height:44px;color:var(--rilo-text);font:500 17px/1.2 var(--rilo-heading-font,serif);letter-spacing:-.01em;align-items:center;gap:6px;margin-left:-10px;padding:0 10px;text-decoration:none;display:inline-flex}.rp-return svg{flex:none;width:20px;height:20px}.rp-return span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rp-return:hover span{text-underline-offset:4px;text-decoration:underline}.rp-closed{padding:8px 0}.rp-closed-title{font:500 26px/1.15 var(--rilo-heading-font);letter-spacing:-.02em;margin:0 0 10px}.rp-closed-text{max-width:34em;margin:0 0 22px;font-size:16px;line-height:1.6}.rp-actions{gap:10px;margin:0 0 18px;display:grid}.rp-action{border:1px solid var(--rilo-border);border-radius:var(--rilo-radius);background:var(--rilo-paper);min-height:62px;color:var(--rilo-text);align-content:center;gap:2px;padding:12px 22px;text-decoration:none;display:grid}.rp-actions>.rp-action:first-child{background:var(--rilo-accent-fill,var(--rilo-accent));color:var(--rilo-on-accent)}.rp-action span{font-size:16px;font-weight:600}.rp-action small{overflow-wrap:anywhere;font-size:14px}.rp-closed-address{margin:0 0 18px;font-size:15px}.rp-closed-address span{letter-spacing:.16em;text-transform:uppercase;color:var(--rilo-muted);font-size:11px;font-weight:700;display:block}.rp-closed a:not(.rp-action){color:var(--rilo-accent-text);padding-block:14px}.rp-closed-gift{display:none}.reservation-portal[data-closed-view=true] .rp-module{min-height:0}.reservation-portal[data-closed-view=true] .rp-contact{display:none}.rp-payment{text-align:center;padding:30px 12px}.rp-payment h2{font:500 28px var(--rilo-heading-font)}.rp-payment a{background:var(--rilo-accent-fill,var(--rilo-accent));max-width:380px;min-height:48px;color:var(--rilo-on-accent);border-radius:999px;margin:24px auto;padding:12px 22px;font-weight:700;text-decoration:none;display:block}.rp-payment p{font-size:14px;line-height:1.7}.reservation-portal[data-confirmed=true] :is(.rp-tabs,.rp-entry-actions,.rp-demo,.rp-recover){display:none!important}@media (width>=720px){.rp-entry-actions{flex-flow:wrap}.rp-tabs button{width:auto}.rp-return-nav{padding-inline:max(24px,50% - 380px)}}@media (width<=719px){.rp-return-nav:has(+.reservation-portal[data-entry=booking][data-engaged=true]){display:none}.reservation-portal{padding:20px 16px 16px}.rp-name{font-size:26px}.reservation-portal[data-engaged=true] :is(.rp-heading,.rp-entry-actions,.rp-tabs,.rp-demo){display:none!important}.reservation-portal:has(.rp-module>[data-bar]){padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))}.rp-module>[data-bar]{padding-bottom:0}}.reservation-portal[data-gift-frame=true]{align-items:center;min-height:100svh;display:grid}.reservation-portal[data-gift-frame=true] .rp-module{min-height:0}@media (prefers-reduced-motion:reduce){.reservation-portal[data-gift-frame=true]:not([data-gift-resolved=true]) .rp-main{visibility:hidden}}
