/* 4.0.16: layout fixes only, using the installed Rifugio design tokens. */
/* 4.1.4: local-time welcome, without replacing the pre-arrival countdown. */
#rdbg-guidebook.rdbg-app .rdbg-home-heading>.rdbg-home-greeting{margin-block:12px 0;font-size:var(--text-body);color:var(--color-secondary);overflow-wrap:anywhere}
/* 4.1.2: the Home plate fills its content column, on desktop as well as phones. */
#rdbg-guidebook.rdbg-app [data-screen="home"] figure:is(.rdbg-pre-plate,.rdbg-home-plate){display:block!important;width:100%!important;max-width:none!important;height:clamp(240px,32vw,420px)!important;margin:0 0 28px!important;flex:none}
#rdbg-guidebook.rdbg-app [data-screen="home"] figure:is(.rdbg-pre-plate,.rdbg-home-plate)>img{display:block;width:100%!important;height:100%!important;object-fit:cover}
#rdbg-guidebook.rdbg-app .rdbg-stay-main>.rdbg-stay-passkeys.rdbg-card{grid-column:1/-1;border:1px solid var(--border-hairline)!important;border-radius:var(--radius-card)!important;background:var(--color-surface-warm)!important;padding:24px!important}
#rdbg-guidebook.rdbg-app .rdbg-stay-passkeys>.rdbg-passkeys{max-width:none;border:0;padding:0;margin:0}
#rdbg-guidebook.rdbg-app .rdbg-stay-passkeys [data-pk-register]{background:var(--color-secondary)!important;color:var(--color-accent)!important;border-radius:var(--radius-control)!important;min-height:44px;box-shadow:none}
#rdbg-guidebook.rdbg-app .rdbg-stay-main>.rdbg-welcome-reopen{grid-column:1/-1}
#rdbg-guidebook.rdbg-app [data-rdbg-welcome-result]:empty{display:none}
#rdbg-guidebook.rdbg-app :is(.rdbg-pre-plate,.rdbg-home-plate,.rdbg-home-stay-card figure,.rdbg-stay-aside)[hidden] { display:none !important; }
#rdbg-guidebook.rdbg-app .rdbg-topbar { gap:24px; height:auto !important; min-height:64px; padding-block:10px; }
#rdbg-guidebook.rdbg-app .rdbg-topbar__guest-actions { display:flex; align-items:center; justify-content:flex-end; gap:20px; margin-inline-start:auto; min-width:0; }
#rdbg-guidebook.rdbg-app .rdbg-topbar-guest { overflow-wrap:anywhere; min-width:0; color:var(--color-secondary) !important; }
#rdbg-guidebook.rdbg-app :is([data-screen="home"],[data-screen="stay"]) { min-width:0; }
#rdbg-guidebook.rdbg-app [data-screen="home"] { padding-top:24px; }
#rdbg-guidebook.rdbg-app :is([data-screen="home"],[data-screen="stay"]) h1 { font-size:min(var(--text-h1),3.5rem) !important; line-height:1.03 !important; overflow-wrap:anywhere; }
#rdbg-guidebook.rdbg-app :is(.rdbg-pre-head,.rdbg-home-hero--pending) { display:grid; grid-template-columns:minmax(0,1fr) minmax(200px,280px); align-items:start; gap:24px; padding-top:0; margin-bottom:28px; }
#rdbg-guidebook.rdbg-app .rdbg-pre-head > div { min-width:0; }
#rdbg-guidebook.rdbg-app .rdbg-pre-head h1 { margin-block:10px 12px !important; }
#rdbg-guidebook.rdbg-app .rdbg-pre-actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; margin:0; padding:0; }
#rdbg-guidebook.rdbg-app .rdbg-pre-actions .rdbg-button { width:100%; min-width:0; white-space:normal; text-align:center; }
#rdbg-guidebook.rdbg-app .rdbg-pre-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
#rdbg-guidebook.rdbg-app .rdbg-pre-grid > * { min-width:0; width:100%; max-width:none !important; margin:0 !important; }
#rdbg-guidebook.rdbg-app .rdbg-pre-grid .rdbg-pre-door { opacity:1; }
#rdbg-guidebook.rdbg-app .rdbg-pre-door p { opacity:1; }
#rdbg-guidebook.rdbg-app .rdbg-pre-list__label { opacity:1 !important; color:var(--color-secondary); }
#rdbg-guidebook.rdbg-app .rdbg-pre-checklist { padding:22px; background:var(--color-surface-warm); border:1px solid var(--border-hairline); border-radius:var(--radius-card); }
#rdbg-guidebook.rdbg-app .rdbg-pre-checklist h2 { margin:0 0 12px !important; font-size:var(--text-h4) !important; }
#rdbg-guidebook.rdbg-app .rdbg-pre-list { max-width:none; margin:0; }
#rdbg-guidebook.rdbg-app .rdbg-pre-grid .rdbg-arrive-card { grid-column:1/-1; }
#rdbg-guidebook.rdbg-app .rdbg-home-cards { grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:24px; max-width:none; align-items:stretch; }
#rdbg-guidebook.rdbg-app .rdbg-home-cards > * { min-width:0; height:auto; }
#rdbg-guidebook.rdbg-app .rdbg-home-cards > .rdbg-home-section { display:block; }
#rdbg-guidebook.rdbg-app .rdbg-home-summary { flex-wrap:wrap; min-width:0; }
#rdbg-guidebook.rdbg-app .rdbg-stay-v4 { display:block; width:100%; }
#rdbg-guidebook.rdbg-app .rdbg-stay-main { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; max-width:none; min-width:0; }
#rdbg-guidebook.rdbg-app .rdbg-stay-main > * { min-width:0; max-width:none; width:100%; margin:0 !important; }
#rdbg-guidebook.rdbg-app .rdbg-stay-summary { padding:22px; border:1px solid var(--border-hairline); border-radius:var(--radius-card); }
#rdbg-guidebook.rdbg-app .rdbg-stay-details > div { gap:12px; flex-wrap:wrap; }
#rdbg-guidebook.rdbg-app .rdbg-stay-details dd { overflow-wrap:anywhere; min-width:0; }
#rdbg-guidebook.rdbg-app .rdbg-stay-access { scroll-margin-top:90px; grid-column:1/-1; }
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:none; margin:0; padding:0; min-width:0; }
#rdbg-guidebook.rdbg-app .rdbg-door > :is(.rdbg-door__primary,.rdbg-door__secondary) { min-width:0; }
#rdbg-guidebook.rdbg-app .rdbg-door__secondary .rdbg-door__window { margin-top:0; }
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__keypad { grid-template-columns:100px minmax(0,1fr); gap:16px; padding:16px 0 !important; }
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__keypad img { max-height:180px; width:100%; object-fit:contain; }
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__keypad h2 { font-size:var(--text-h4) !important; }
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__head { flex-wrap:wrap; gap:12px; }
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door h2 { font-size:var(--text-h3) !important; }
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__help { margin-top:18px; padding:16px !important; }
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__help { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; }
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__help p { flex-basis:100%; }
#rdbg-guidebook.rdbg-app :is(.rdbg-stay-access,.rdbg-home-cards,.rdbg-pre-grid) :is(button,a) { min-height:44px; }
#rdbg-guidebook.rdbg-app .rdbg-stay-access :is(.rdbg-door__keypad,.rdbg-door__help) { background:transparent !important; border:0 !important; box-shadow:none !important; border-radius:0 !important; }
#rdbg-guidebook.rdbg-app :is(.rdbg-home-cards,.rdbg-stay-main) .rdbg-checkin-cta { display:grid; grid-template-columns:48px minmax(0,1fr); gap:16px; }
#rdbg-guidebook.rdbg-app :is(.rdbg-home-cards,.rdbg-stay-main) .rdbg-checkin-cta__action { grid-column:1/-1; align-items:stretch; min-width:0; }
#rdbg-guidebook.rdbg-app :is(.rdbg-home-cards,.rdbg-stay-main) .rdbg-checkin-link { width:100%; white-space:normal; text-align:center; }
#rdbg-guidebook.rdbg-app :is(.rdbg-home-cards,.rdbg-stay-main,.rdbg-pre-grid) :is(p,h2,h3,a,button) { overflow-wrap:anywhere; }
@media(max-width:900px) {
 #rdbg-guidebook.rdbg-app .rdbg-mobile-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; height:auto; min-height:72px; }
 #rdbg-guidebook.rdbg-app .rdbg-mobile-header .rdbg-topbar-guest { grid-column:1/-1; text-align:end; font-size:var(--text-caption); line-height:1.2; }
 #rdbg-guidebook.rdbg-app :is(.rdbg-pre-head,.rdbg-home-hero--pending) { grid-template-columns:minmax(0,1fr); }
 #rdbg-guidebook.rdbg-app .rdbg-pre-actions { flex-direction:row; flex-wrap:wrap; }
 #rdbg-guidebook.rdbg-app .rdbg-pre-actions .rdbg-button { flex:1 1 200px; }
}
@media(max-width:700px) {
 #rdbg-guidebook.rdbg-app :is(.rdbg-pre-grid,.rdbg-home-cards,.rdbg-stay-main) { grid-template-columns:minmax(0,1fr); gap:18px; }
 #rdbg-guidebook.rdbg-app :is([data-screen="home"],[data-screen="stay"]) h1 { font-size:min(var(--text-h1),2.5rem) !important; }
 #rdbg-guidebook.rdbg-app .rdbg-pre-head { gap:18px; }
 #rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door { grid-template-columns:minmax(0,1fr); }
 #rdbg-guidebook.rdbg-app .rdbg-topbar__guest-actions { gap:12px; }
}
#rdbg-guidebook.rdbg-app .rdbg-home-events{grid-column:1/-1;min-width:0;width:100%}
/* 4.1.3: compact editorial blocks, without interfering with the theme or chat provider. */
#rdbg-guidebook.rdbg-app .rdbg-home-events{margin-block-start:40px;padding-block-start:8px}
#rdbg-guidebook.rdbg-app .rdbg-home-events .rdbg-section-heading{margin-block-end:20px}
#rdbg-guidebook.rdbg-app .rdbg-pre-checklist{padding:24px!important}
#rdbg-guidebook.rdbg-app .rdbg-pre-checklist h2{margin:0 0 16px!important}
#rdbg-guidebook.rdbg-app .rdbg-pre-list{margin:0;padding:0;list-style:none;display:grid;gap:0}
#rdbg-guidebook.rdbg-app .rdbg-pre-list>li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 0;min-height:44px;border-bottom:1px solid var(--border-hairline)}
#rdbg-guidebook.rdbg-app .rdbg-pre-list>li:last-child{border-bottom:0}
#rdbg-guidebook.rdbg-app .rdbg-pre-list>li>a,#rdbg-guidebook.rdbg-app .rdbg-pre-list>li>button{margin:0;min-height:44px}
#rdbg-guidebook.rdbg-app .rdbg-pre-list__mark{flex:none}
#rdbg-guidebook.rdbg-app .rdbg-welcome-home-link{margin-inline-start:auto!important;font-size:var(--text-caption)!important}
#rdbg-guidebook.rdbg-app .rdbg-welcome-home-link[hidden]{display:none!important}
#rdbg-guidebook.rdbg-app .rdbg-pre-list>.rdbg-pre-list__house{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
#rdbg-guidebook.rdbg-app .rdbg-pre-list>.rdbg-pre-list__house>button{width:auto!important;min-width:0;padding-inline:0!important}
#rdbg-guidebook.rdbg-app .rdbg-pre-list>.rdbg-pre-list__house>.rdbg-welcome-home-link{margin:0!important;font-size:13px!important;letter-spacing:0!important}
@media(max-width:1050px){#rdbg-guidebook.rdbg-app .rdbg-pre-list>.rdbg-pre-list__house{grid-template-columns:1fr}#rdbg-guidebook.rdbg-app .rdbg-pre-list>.rdbg-pre-list__house>.rdbg-welcome-home-link{justify-self:start;margin-inline-start:32px!important}}
#rdbg-guidebook.rdbg-app .rdbg-pre-door{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px;padding:24px!important}
#rdbg-guidebook.rdbg-app .rdbg-pre-door>.rdbg-tag{display:inline-flex!important;width:auto!important;max-width:100%;align-self:flex-start;line-height:1.4!important;padding:5px 12px!important;white-space:normal}
#rdbg-guidebook.rdbg-app .rdbg-pre-door :is(h2,p){margin:0!important}
#rdbg-guidebook.rdbg-app .rdbg-stay-main{align-items:stretch;gap:24px}
#rdbg-guidebook.rdbg-app .rdbg-stay-summary,#rdbg-guidebook.rdbg-app .rdbg-stay-booking{padding:24px!important;height:auto;align-self:stretch}
#rdbg-guidebook.rdbg-app .rdbg-stay-dates-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}
#rdbg-guidebook.rdbg-app .rdbg-stay-dates-row>div{min-width:0;padding:0!important}
#rdbg-guidebook.rdbg-app .rdbg-stay-dates-row strong{font-size:var(--text-h4)!important;line-height:1.2!important}
#rdbg-guidebook.rdbg-app .rdbg-stay-details>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,1fr);align-items:start;gap:16px}
#rdbg-guidebook.rdbg-app .rdbg-stay-details dd{margin:0;text-align:end}
#rdbg-guidebook.rdbg-app .rdbg-stay-details .rdbg-status{max-width:100%;white-space:normal;line-height:1.4;overflow-wrap:anywhere;text-align:center;padding:6px 10px;height:auto}
#rdbg-guidebook.rdbg-app .rdbg-stay-access{padding:24px!important}
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door{gap:24px;align-items:start}
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__secondary{display:contents}
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__primary{grid-column:1;grid-row:1}
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__window{grid-column:2;grid-row:1;border:0;margin:0;padding:0}
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__keypad{grid-column:1;display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;margin:0;padding:0!important;align-items:center}
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__keypad figure{width:80px;max-width:100%}
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__keypad img{max-height:140px}
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__help{grid-column:2;margin:0;padding:16px 0!important;align-self:start}
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__head{margin:0 0 16px}
#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door__msg{margin:16px 0;max-width:60ch;line-height:1.45}
#rdbg-guidebook.rdbg-app [data-screen=arrive]>.rdbg-screen__body{max-width:none;width:100%}
#rdbg-guidebook.rdbg-app .rdbg-arrive{max-width:none;display:block}
#rdbg-guidebook.rdbg-app .rdbg-arrive__overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start;margin-block:20px 32px}
#rdbg-guidebook.rdbg-app :is(.rdbg-arrive__route,.rdbg-parking){min-width:0}
#rdbg-guidebook.rdbg-app .rdbg-arrive__map{margin:0 0 20px}
#rdbg-guidebook.rdbg-app .rdbg-parking{padding:24px!important}
#rdbg-guidebook.rdbg-app .rdbg-parking h2{margin:0 0 16px;font-size:var(--text-h3)}
#rdbg-guidebook.rdbg-app .rdbg-parking p{max-width:65ch;line-height:1.45}
#rdbg-guidebook.rdbg-app .rdbg-parking-map{display:block;width:100%;height:420px;min-height:300px;border:1px solid var(--border-hairline);border-radius:var(--radius-card);margin-block:20px}
#rdbg-guidebook.rdbg-app .rdbg-arrive__modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#rdbg-guidebook.rdbg-app [data-screen=support] .rdbg-screen__body{max-width:none}
#rdbg-guidebook.rdbg-app .rdbg-support{max-width:none;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
#rdbg-guidebook.rdbg-app .rdbg-support-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;max-width:none;margin:0}
#rdbg-guidebook.rdbg-app .rdbg-support .rdbg-contact-row{display:flex;min-width:0;gap:16px;padding:20px;border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:var(--color-surface-warm)}
#rdbg-guidebook.rdbg-app .rdbg-contact-row span{min-width:0}
#rdbg-guidebook.rdbg-app .rdbg-contact-row strong{font:700 20px/1.3 var(--font-body)!important;display:block}
#rdbg-guidebook.rdbg-app .rdbg-contact-row small{font:400 18px/1.4 var(--font-body)!important;opacity:1;overflow-wrap:anywhere;display:block;margin-top:6px}
#rdbg-guidebook.rdbg-app .rdbg-support-ai{grid-column:1;grid-row:3/span 2;padding:24px!important;min-width:0}
#rdbg-guidebook.rdbg-app .rdbg-support-ai h2{font-size:var(--text-h3)!important;margin:0 0 12px}
#rdbg-guidebook.rdbg-app .rdbg-support-ai>p{max-width:65ch;line-height:1.5;margin-bottom:20px}
#rdbg-guidebook.rdbg-app .rdbg-support-ai__chat{min-width:0;max-width:100%;overflow-wrap:anywhere}
#rdbg-guidebook.rdbg-app .rdbg-support-ai__chat>*{min-width:0;max-width:100%;box-sizing:border-box}
#rdbg-guidebook.rdbg-app .rdbg-support-ai__chat :is(iframe,textarea){max-width:100%;width:100%;box-sizing:border-box}
#rdbg-guidebook.rdbg-app .rdbg-support-hours{grid-column:1/-1;margin:0}
#rdbg-guidebook.rdbg-app .rdbg-emergency{grid-column:2;padding:20px!important;margin:0}
#rdbg-guidebook.rdbg-app .rdbg-emergency p{margin:0 0 12px;line-height:1.4}
#rdbg-guidebook.rdbg-app .rdbg-emergency p:last-child{margin:0}
#rdbg-guidebook.rdbg-app .rdbg-support-faq{grid-column:2;margin:0}
#rdbg-guidebook.rdbg-app .rdbg-support-faq summary{min-height:48px;line-height:1.4;padding:16px}
@media(max-width:1100px){#rdbg-guidebook.rdbg-app .rdbg-arrive__overview{grid-template-columns:1fr}#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door{grid-template-columns:1fr}#rdbg-guidebook.rdbg-app .rdbg-stay-access .rdbg-door :is(.rdbg-door__primary,.rdbg-door__window,.rdbg-door__keypad,.rdbg-door__help){grid-column:1;grid-row:auto}}
@media(max-width:700px){
 #rdbg-guidebook.rdbg-app :is(.rdbg-support,.rdbg-support-list,.rdbg-arrive__modes){grid-template-columns:minmax(0,1fr)}
 #rdbg-guidebook.rdbg-app .rdbg-support>*{grid-column:1;grid-row:auto}
 #rdbg-guidebook.rdbg-app .rdbg-welcome-home-link{margin-inline-start:36px!important}
 #rdbg-guidebook.rdbg-app .rdbg-parking-map{height:380px}
 #rdbg-guidebook.rdbg-app :is(.rdbg-parking,.rdbg-stay-access,.rdbg-stay-booking,.rdbg-stay-summary,.rdbg-support-ai){padding:20px!important}
}
@media(max-width:360px){#rdbg-guidebook.rdbg-app .rdbg-stay-dates-row{grid-template-columns:1fr}#rdbg-guidebook.rdbg-app .rdbg-stay-details>div{grid-template-columns:1fr}#rdbg-guidebook.rdbg-app .rdbg-stay-details dd{text-align:start}}
