.stayhost-notice,.stayhost-context-placeholder{padding:16px 18px;border:1px solid #d7dee8;border-radius:12px;background:#f8fafc;margin:14px 0}.stayhost-notice-warning{border-color:#f1c56b;background:#fff9eb}.stayhost-notice-error{border-color:#ef9a9a;background:#fff1f1}.stayhost-context-placeholder{border-style:dashed;text-align:center;color:#5c6675}.stayhost-auth-card,.stayhost-account-card{max-width:720px;margin:24px auto;padding:28px;border:1px solid #e3e7ed;border-radius:18px;background:#fff;box-shadow:0 10px 35px rgba(15,23,42,.06)}.stayhost-auth-card h2,.stayhost-account-card h2{margin-top:0}.stayhost-auth-card input[type=text],.stayhost-auth-card input[type=email],.stayhost-auth-card input[type=password],.stayhost-auth-card .input{display:block;width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #cfd7e2;border-radius:9px;margin-top:6px}.stayhost-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stayhost-button,.stayhost-auth-card input[type=submit]{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:9px;border:1px solid currentColor;text-decoration:none;cursor:pointer}.stayhost-button-secondary{background:transparent}.stayhost-auth-help{font-size:.94em}.stayhost-auth-links{display:flex;gap:14px;align-items:center}.stayhost-account-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.stayhost-account-actions{display:flex;gap:10px;flex-wrap:wrap}.stayhost-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}@media(max-width:680px){.stayhost-field-grid{grid-template-columns:1fr}.stayhost-account-card{align-items:flex-start;flex-direction:column}}
.stayhost-login-experience{width:min(1120px,calc(100% - 32px));min-height:650px;margin:clamp(40px,7vw,90px) auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);overflow:hidden;border:1px solid var(--sh-border,#dce4e0);border-radius:28px;background:#fff;box-shadow:0 28px 80px rgba(18,40,33,.13)}.stayhost-login-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,6vw,74px)}.stayhost-login-panel>h1{margin:8px 0 14px;font-size:clamp(42px,6vw,72px);letter-spacing:-.045em}.stayhost-auth-eyebrow{color:var(--sh-accent,#a56945);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.stayhost-auth-intro{max-width:620px;color:#65736d;line-height:1.7}.stayhost-login-panel .stayhost-auth-card{width:100%;max-width:none;margin:18px 0 0;padding:0;border:0;border-radius:0;box-shadow:none}.stayhost-auth-card label{color:#344840;font-size:12px;font-weight:800}.stayhost-auth-card input[type=text],.stayhost-auth-card input[type=password]{min-height:52px;background:#fbfcfb}.stayhost-login-form .stayhost-button{min-height:50px;padding-inline:28px;background:var(--sh-primary,#26352f);color:#fff;font-weight:800}.stayhost-login-assurance{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,62px);background:linear-gradient(145deg,var(--sh-primary,#26352f),#102b26);color:#fff}.stayhost-login-assurance h2{margin:12px 0 28px;font-size:clamp(30px,4vw,48px)}.stayhost-login-assurance ul{display:grid;gap:14px;margin:0;padding:0;list-style:none}.stayhost-login-assurance li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.16);font-weight:700}.stayhost-login-assurance li:before{content:'✓';margin-right:10px;color:var(--sh-accent,#dcb27d)}@media(max-width:780px){.stayhost-login-experience{grid-template-columns:1fr}.stayhost-login-assurance{min-height:330px}.stayhost-login-panel{padding:38px 24px}}
.stayhost-menu-account>a{font-weight:800}.stayhost-menu-account>a:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* v0.4.4 Elementor detail fragments: stable single wrapper classes allow real theme-owned Flexbox columns. */
.stayhost-detail-fragment-hero .anywhere-stay-detail-main{display:none!important}
.stayhost-detail-fragment-main .anywhere-stay-detail-sidebar{display:none!important}
.stayhost-detail-fragment-main .anywhere-stay-detail-main{display:block!important;width:100%!important;max-width:none!important}
.stayhost-detail-fragment-main .anywhere-stay-detail-content{width:100%!important;max-width:none!important}
.stayhost-detail-fragment-sidebar .anywhere-stay-detail-content{display:none!important}
.stayhost-detail-fragment-sidebar .anywhere-stay-detail-main{display:block!important;width:100%!important;max-width:none!important}
.stayhost-detail-fragment-sidebar .anywhere-stay-detail-sidebar{display:grid!important;width:100%!important;max-width:none!important;position:static!important;top:auto!important}
.stayhost-detail-fragment-hero.anywhere-stay-detail-page,.stayhost-detail-fragment-main.anywhere-stay-detail-page,.stayhost-detail-fragment-sidebar.anywhere-stay-detail-page{width:100%!important;max-width:none!important;margin:0!important}

/* v0.4.5 true detail fragments: Elementor owns layout; Core contributes only the requested component. */
.stayhost-detail-fragment{display:block;width:100%;max-width:none;min-width:0;margin:0;padding:0}
.stayhost-detail-fragment>.anywhere-accommodation-detail-hero,
.stayhost-detail-fragment>.anywhere-stay-detail-content,
.stayhost-detail-fragment>.anywhere-stay-detail-sidebar{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important}
.stayhost-detail-fragment-main>.anywhere-stay-detail-content{display:block!important}
.stayhost-detail-fragment-sidebar>.anywhere-stay-detail-sidebar{display:grid!important;position:static!important;top:auto!important}
/* v0.5.3 branded guest/manager authentication */
.stayhost-notice-success{border-color:#8bc7a6;background:#effaf4;color:#204c35}
.stayhost-auth-links{flex-wrap:wrap}
.stayhost-auth-manager{font-weight:800}
.stayhost-manager-login-experience .stayhost-login-assurance{background:linear-gradient(145deg,var(--sh-primary,#26352f),#0b1d19)}
.stayhost-register-experience .stayhost-auth-card input[type=email],.stayhost-password-experience .stayhost-auth-card input[type=text],.stayhost-password-experience .stayhost-auth-card input[type=password]{min-height:52px;background:#fbfcfb}
.stayhost-register-experience .stayhost-button,.stayhost-password-experience .stayhost-button{min-height:50px;padding-inline:28px;background:var(--sh-primary,#26352f);color:#fff;font-weight:800}


/* Heading with Icon: scoped widget layout; page structure remains Elementor-owned. */
.staymanager-icon-heading{display:flex;flex-direction:row;align-items:center;justify-content:var(--staymanager-heading-alignment,flex-start);gap:12px;width:100%;color:inherit;text-decoration:none}
.staymanager-icon-heading-title{margin:0;min-width:0;overflow-wrap:anywhere}
.staymanager-icon-heading-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:28px;line-height:1}
.staymanager-icon-heading-icon svg{width:1em;height:1em;display:block;fill:currentColor}

/* PMS facts as an inline subheading, with responsive Elementor overrides. */
.staymanager-accommodation-facts{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:var(--staymanager-facts-align,flex-start);align-items:var(--staymanager-facts-align,flex-start);gap:12px 22px;list-style:none;margin:12px 0 16px;padding:0;font-size:16px;color:inherit}
.staymanager-accommodation-facts .staymanager-accommodation-fact{display:inline-flex;align-items:center;gap:8px;margin:0;padding:0;min-width:0}
.staymanager-accommodation-facts .staymanager-fact-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;line-height:1}
.staymanager-accommodation-facts .staymanager-fact-icon svg{width:1em;height:1em;fill:currentColor;display:block}

/* Enquiry feedback and calendars remain usable in narrow Elementor containers. */
.anywhere-property-booking-form label[hidden]{display:none!important}
.stayhost-booking-validation{width:100%;margin:12px 0;font-size:.95em;overflow-wrap:anywhere}
.anywhere-calendar-toolbar{flex-wrap:wrap}
.anywhere-calendar-toolbar .stayhost-calendar-reset{width:auto;height:auto;flex-basis:100%;padding:8px 12px;font-size:14px;line-height:1.4}
.anywhere-stay-availability-calendar[data-month-view="two"]{container-type:inline-size}
.stayhost-calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.stayhost-calendar-months>div{min-width:0}
.stayhost-calendar-month-heading{display:block;text-align:center;margin:12px 0;font-size:1rem;overflow-wrap:normal}
.stayhost-calendar-second-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.anywhere-stay-availability-calendar[data-month-view="two"] .anywhere-calendar-toolbar .anywhere-calendar-title{display:none}
@container(max-width:600px){.stayhost-calendar-months{grid-template-columns:1fr}}
@media(max-width:640px){.stayhost-calendar-months{grid-template-columns:1fr}}

/* Standalone Elementor title; the parent container controls its placement. */
.staymanager-accommodation-title{width:100%;min-width:0;overflow-wrap:anywhere}
.staymanager-accommodation-title .staymanager-accommodation-name{margin:0 0 12px;color:inherit}
.staymanager-accommodation-title .staymanager-accommodation-name a{color:inherit;text-decoration:inherit}
.staymanager-accommodation-title .staymanager-accommodation-subheading{margin:0 0 12px;white-space:normal}
.staymanager-accommodation-title .staymanager-accommodation-facts{justify-content:var(--staymanager-facts-align,var(--staymanager-title-align,flex-start));align-items:var(--staymanager-facts-align,var(--staymanager-title-align,flex-start))}

/* Compact defaults. Elementor device controls override the variables on this widget. */
.stayhost-fixed-accommodation-calendar{padding:var(--stayhost-calendar-padding,16px);gap:12px}
.stayhost-fixed-accommodation-calendar :is(.anywhere-calendar-grid,.stayhost-calendar-second-grid){gap:var(--stayhost-calendar-cell-gap,4px)}
.stayhost-fixed-accommodation-calendar :is(.anywhere-calendar-day,.anywhere-calendar-empty){min-height:var(--stayhost-calendar-cell-height,48px);min-width:0}
.stayhost-fixed-accommodation-calendar .anywhere-calendar-day span{font-size:var(--stayhost-calendar-day-size,14px)}
.stayhost-fixed-accommodation-calendar .anywhere-calendar-day small{font-size:var(--stayhost-calendar-label-size,9px)}
.stayhost-fixed-accommodation-calendar .anywhere-calendar-weekday{font-size:var(--stayhost-calendar-weekday-size,11px)}
.stayhost-fixed-accommodation-calendar .stayhost-calendar-months{gap:var(--stayhost-calendar-month-gap,14px)}
.stayhost-fixed-accommodation-calendar .stayhost-calendar-month-heading{font-size:14px;margin:8px 0}
.stayhost-fixed-accommodation-calendar .anywhere-calendar-toolbar{padding:6px;gap:8px}
.stayhost-fixed-accommodation-calendar .anywhere-calendar-toolbar .stayhost-calendar-reset{flex-basis:auto;padding:6px 10px;font-size:12px}
@media(max-width:640px){.stayhost-fixed-accommodation-calendar :is(.anywhere-calendar-day,.anywhere-calendar-empty){min-height:var(--stayhost-calendar-cell-height,42px)}}

/* Standalone description: compact defaults, with Elementor typography overrides. */
.elementor-widget-stayhost_detail_description .stayhost-description-content{min-width:0;max-width:100%;box-sizing:border-box}
.elementor-widget-stayhost_detail_description .stayhost-description-content>h2{font-size:clamp(24px,2.5vw,34px);line-height:1.25;margin:0 0 18px;overflow-wrap:anywhere}
.elementor-widget-stayhost_detail_description .anywhere-property-description{line-height:1.65;overflow-wrap:anywhere}
.elementor-widget-stayhost_detail_description .anywhere-property-description> :first-child{margin-top:0}
.elementor-widget-stayhost_detail_description .anywhere-property-description> :last-child{margin-bottom:0}
.elementor-widget-stayhost_detail_description .anywhere-accommodation-room-summary{margin:18px 0 0}
.elementor-widget-stayhost_detail_description .anywhere-accommodation-specs{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px 24px;width:auto}
.elementor-widget-stayhost_detail_description .anywhere-accommodation-spec{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:flex-start;gap:8px;min-width:0}
.elementor-widget-stayhost_detail_description .anywhere-accommodation-spec-value{overflow-wrap:anywhere}
.elementor-widget-stayhost_detail_description .anywhere-accommodation-detail-meta{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 24px;list-style:none;margin:18px 0 0;padding:0}
.elementor-widget-stayhost_detail_description .anywhere-accommodation-detail-meta>li{list-style:none;margin:0;padding:0;min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.elementor-widget-stayhost_detail_description .anywhere-accommodation-specs,.elementor-widget-stayhost_detail_description .anywhere-accommodation-detail-meta{gap:8px 16px}}

/* Accommodation Rules retains rich text and wraps within Elementor containers. */
.elementor-widget-stayhost_detail_policies .stayhost-detail-policies{min-width:0;max-width:100%;overflow-wrap:anywhere}
.elementor-widget-stayhost_detail_policies .stayhost-detail-policies>section{box-sizing:border-box;min-width:0;max-width:100%}
.elementor-widget-stayhost_detail_policies .stayhost-detail-policies h3{font-size:clamp(22px,2vw,28px);line-height:1.3;margin-top:0}
.elementor-widget-stayhost_detail_policies .stayhost-detail-policies p,.elementor-widget-stayhost_detail_policies .stayhost-detail-policies li{line-height:1.65}
.elementor-widget-stayhost_detail_policies .stayhost-detail-policies ul,.elementor-widget-stayhost_detail_policies .stayhost-detail-policies ol{padding-inline-start:1.5em}

/* Description-only output has no generated title, facts or card framing. */
.staymanager-description-only{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.staymanager-description-only>:first-child{margin-top:0}
.staymanager-description-only>:last-child{margin-bottom:0}
.staymanager-description-only img,.staymanager-description-only video{max-width:100%;height:auto}
