/*
 * myguideqr 0.32.0 — Visitor Visual System
 * This stylesheet is the final visitor-facing visual authority. It is loaded after the historical frontend.css
 * and normalizes every visible visitor component through one token system.
 */

body.sgwp-visitor-system-v032 {
    --sgwp-v-radius-xl: 34px;
    --sgwp-v-radius-lg: 26px;
    --sgwp-v-radius-md: 20px;
    --sgwp-v-radius-pill: 999px;
    --sgwp-v-gap: 14px;
    --sgwp-v-shadow: 0 20px 46px var(--sgwp-theme-shadow);
    --sgwp-v-inset: inset 0 1px 0 rgba(255,255,255,.55);
    --sgwp-v-card-bg: var(--sgwp-theme-card);
    --sgwp-v-card-bg-2: var(--sgwp-theme-card-2);
    --sgwp-v-panel-bg: var(--sgwp-theme-panel);
    --sgwp-v-panel-bg-2: var(--sgwp-theme-panel-2);
    --sgwp-v-text: var(--sgwp-theme-text);
    --sgwp-v-muted: var(--sgwp-theme-muted);
    --sgwp-v-border: var(--sgwp-theme-border);
    --sgwp-v-accent: var(--sgwp-accent);
    --sgwp-v-on-accent: var(--sgwp-theme-on-accent);
    --sgwp-v-primary: var(--sgwp-primary);
    --sgwp-v-on-primary: var(--sgwp-on-primary, #ffffff);
    margin: 0 !important;
    min-height: 100vh;
    color: var(--sgwp-v-text) !important;
    background: var(--sgwp-v-panel-bg) !important;
    background:
        radial-gradient(circle at 18% -8%, rgba(255,255,255,.14), transparent 30%),
        linear-gradient(180deg, var(--sgwp-v-panel-bg), var(--sgwp-v-panel-bg-2)) !important;
    font-family: var(--sgwp-font-body, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    line-height: 1.55;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.sgwp-visitor-system-v032 *,
body.sgwp-visitor-system-v032 *::before,
body.sgwp-visitor-system-v032 *::after {
    box-sizing: border-box;
}

body.sgwp-visitor-system-v032 svg {
    stroke: currentColor;
}

body.sgwp-visitor-system-v032 .sgwp-icon-shell {
    width: min(100%, 520px) !important;
    margin: 0 auto !important;
    padding: 16px 12px 34px !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-card {
    position: relative;
    overflow: hidden;
    min-height: calc(100vh - 32px);
    border: 1px solid var(--sgwp-v-border) !important;
    border-radius: var(--sgwp-v-radius-xl) !important;
    background: var(--sgwp-v-card-bg) !important;
    background:
        radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--sgwp-v-accent) 15%, transparent), transparent 28%),
        linear-gradient(180deg, var(--sgwp-v-card-bg), var(--sgwp-v-card-bg-2)) !important;
    color: var(--sgwp-v-text) !important;
    box-shadow: 0 30px 80px var(--sgwp-theme-shadow), var(--sgwp-v-inset) !important;
    padding: 30px 18px 24px !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-card::before {
    border-color: var(--sgwp-v-border) !important;
    opacity: .38 !important;
}

body.sgwp-visitor-system-v032 :is(h1,h2,h3,h4,strong,label,.sgwp-visitor-accordion-title,.sgwp-social-tile-label,.sgwp-contact-tile-text strong,.sgwp-place-public-title,.sgwp-suite-public-copy h3,.sgwp-booking-title,.sgwp-icon-empty h2) {
    color: var(--sgwp-v-text) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-icon-subtitle,.sgwp-icon-note,.sgwp-icon-footer,.sgwp-icon-welcome,.sgwp-visitor-accordion-content,.sgwp-contact-tile-text small,.sgwp-contact-group-intro,.sgwp-location-note,.sgwp-social-tile small,.sgwp-place-public-subtitle,.sgwp-place-public-short,.sgwp-place-public-address,.sgwp-place-public-info,.sgwp-suite-public-subtitle,.sgwp-suite-public-info,.sgwp-suite-public-info-muted,.sgwp-booking-helper,.sgwp-booking-disclaimer,.sgwp-booking-privacy,.sgwp-icon-empty p) {
    color: var(--sgwp-v-muted) !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-brand {
    padding: 6px 8px 24px !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-logo {
    filter: none !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-monogram {
    border-color: var(--sgwp-v-border) !important;
    background: color-mix(in srgb, var(--sgwp-v-accent) 12%, var(--sgwp-v-card-bg)) !important;
    color: var(--sgwp-v-text) !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-brand h1 {
    font-family: var(--sgwp-font-heading, Georgia, "Times New Roman", serif) !important;
    color: var(--sgwp-v-text) !important;
    text-shadow: none !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-subtitle::before,
body.sgwp-visitor-system-v032 .sgwp-icon-subtitle::after {
    background: var(--sgwp-v-accent) !important;
    opacity: .74 !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-welcome,
body.sgwp-visitor-system-v032 .sgwp-icon-empty {
    border: 1px solid var(--sgwp-v-border) !important;
    border-radius: var(--sgwp-v-radius-md) !important;
    background: var(--sgwp-v-card-bg) !important;
    box-shadow: var(--sgwp-v-inset) !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-quick-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 2px 0 16px !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-quick,
body.sgwp-visitor-system-v032 .sgwp-icon-tile,
body.sgwp-visitor-system-v032 .sgwp-visitor-accordion,
body.sgwp-visitor-system-v032 .sgwp-social-tile,
body.sgwp-visitor-system-v032 .sgwp-contact-tile,
body.sgwp-visitor-system-v032 .sgwp-place-public-card,
body.sgwp-visitor-system-v032 .sgwp-suite-public-card,
body.sgwp-visitor-system-v032 .sgwp-booking-form,
body.sgwp-visitor-system-v032 .sgwp-booking-contact-card,
body.sgwp-visitor-system-v032 .sgwp-booking-contact-note,
body.sgwp-visitor-system-v032 .sgwp-place-public-details,
body.sgwp-visitor-system-v032 .sgwp-suite-detail-panel-inner,
body.sgwp-visitor-system-v032 .sgwp-modal-card,
body.sgwp-visitor-system-v032 .sgwp-modal-body {
    border: 1px solid var(--sgwp-v-border) !important;
    background: var(--sgwp-v-card-bg) !important;
    background: linear-gradient(145deg, var(--sgwp-v-card-bg), var(--sgwp-v-card-bg-2)) !important;
    color: var(--sgwp-v-text) !important;
    box-shadow: var(--sgwp-v-shadow), var(--sgwp-v-inset) !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-quick,
body.sgwp-visitor-system-v032 .sgwp-icon-tile {
    min-height: 96px !important;
    border-radius: var(--sgwp-v-radius-lg) !important;
    color: var(--sgwp-v-text) !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-quick-symbol,
body.sgwp-visitor-system-v032 .sgwp-icon-symbol,
body.sgwp-visitor-system-v032 .sgwp-visitor-accordion-symbol,
body.sgwp-visitor-system-v032 .sgwp-social-tile-icon,
body.sgwp-visitor-system-v032 .sgwp-contact-tile-icon {
    border: 1px solid var(--sgwp-v-border) !important;
    background: color-mix(in srgb, var(--sgwp-v-accent) 14%, var(--sgwp-theme-chip)) !important;
    color: var(--sgwp-v-text) !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-label,
body.sgwp-visitor-system-v032 .sgwp-icon-quick span:last-child {
    color: var(--sgwp-v-text) !important;
    font-family: var(--sgwp-font-heading, Georgia, "Times New Roman", serif) !important;
}

body.sgwp-visitor-system-v032 .sgwp-visitor-accordion-list {
    display: grid !important;
    gap: 12px !important;
}

body.sgwp-visitor-system-v032 .sgwp-visitor-accordion {
    border-radius: var(--sgwp-v-radius-lg) !important;
    overflow: hidden !important;
}

body.sgwp-visitor-system-v032 .sgwp-visitor-accordion.is-open,
body.sgwp-visitor-system-v032 .sgwp-visitor-accordion:focus-within,
body.sgwp-visitor-system-v032 .sgwp-icon-quick:hover,
body.sgwp-visitor-system-v032 .sgwp-icon-tile:hover {
    border-color: color-mix(in srgb, var(--sgwp-v-accent) 58%, var(--sgwp-v-border)) !important;
}

body.sgwp-visitor-system-v032 .sgwp-visitor-accordion-toggle {
    color: var(--sgwp-v-text) !important;
}

body.sgwp-visitor-system-v032 .sgwp-visitor-accordion-arrow {
    color: var(--sgwp-v-muted) !important;
}

body.sgwp-visitor-system-v032 .sgwp-visitor-accordion-body {
    border-top: 1px solid var(--sgwp-v-border) !important;
}

body.sgwp-visitor-system-v032 .sgwp-modal-detail-grid div,
body.sgwp-visitor-system-v032 .sgwp-suite-detail-facts div,
body.sgwp-visitor-system-v032 .sgwp-booking-status,
body.sgwp-visitor-system-v032 .sgwp-booking-field,
body.sgwp-visitor-system-v032 .sgwp-contact-tile,
body.sgwp-visitor-system-v032 .sgwp-social-tile {
    background: color-mix(in srgb, var(--sgwp-v-card-bg) 90%, var(--sgwp-v-panel-bg)) !important;
    color: var(--sgwp-v-text) !important;
    border-color: var(--sgwp-v-border) !important;
}

body.sgwp-visitor-system-v032 .sgwp-modal-detail-grid span,
body.sgwp-visitor-system-v032 .sgwp-suite-detail-facts span {
    color: var(--sgwp-v-muted) !important;
}

body.sgwp-visitor-system-v032 .sgwp-code,
body.sgwp-visitor-system-v032 .sgwp-modal-detail-grid strong,
body.sgwp-visitor-system-v032 .sgwp-suite-detail-facts strong {
    color: var(--sgwp-v-text) !important;
}

body.sgwp-visitor-system-v032 .sgwp-suite-public-card,
body.sgwp-visitor-system-v032 .sgwp-place-public-card {
    border-radius: var(--sgwp-v-radius-lg) !important;
    overflow: hidden !important;
}

body.sgwp-visitor-system-v032 .sgwp-suite-public-photo,
body.sgwp-visitor-system-v032 .sgwp-place-public-photo {
    background: color-mix(in srgb, var(--sgwp-v-accent) 14%, var(--sgwp-v-card-bg)) !important;
    color: var(--sgwp-v-text) !important;
}

body.sgwp-visitor-system-v032 .sgwp-suite-public-copy,
body.sgwp-visitor-system-v032 .sgwp-place-public-copy {
    color: var(--sgwp-v-text) !important;
}

body.sgwp-visitor-system-v032 .sgwp-suite-public-eyebrow,
body.sgwp-visitor-system-v032 .sgwp-place-public-eyebrow {
    color: var(--sgwp-v-text) !important;
    opacity: .88 !important;
    letter-spacing: .14em !important;
}

body.sgwp-visitor-system-v032 .sgwp-suite-public-copy h3,
body.sgwp-visitor-system-v032 .sgwp-place-public-heading h3 {
    color: var(--sgwp-v-text) !important;
    font-family: var(--sgwp-font-heading, Georgia, "Times New Roman", serif) !important;
}

body.sgwp-visitor-system-v032 .sgwp-suite-public-subtitle,
body.sgwp-visitor-system-v032 .sgwp-place-public-subtitle,
body.sgwp-visitor-system-v032 .sgwp-place-public-short,
body.sgwp-visitor-system-v032 .sgwp-place-public-address {
    color: var(--sgwp-v-muted) !important;
    opacity: 1 !important;
}

body.sgwp-visitor-system-v032 .sgwp-suite-public-specs,
body.sgwp-visitor-system-v032 .sgwp-place-public-heading span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    border: 1px solid var(--sgwp-v-border) !important;
    border-radius: var(--sgwp-v-radius-pill) !important;
    background: color-mix(in srgb, var(--sgwp-v-card-bg) 88%, var(--sgwp-theme-chip)) !important;
    color: var(--sgwp-v-text) !important;
    font-weight: 850 !important;
    opacity: 1 !important;
    box-shadow: var(--sgwp-v-inset) !important;
}

body.sgwp-visitor-system-v032 .sgwp-place-public-actions,
body.sgwp-visitor-system-v032 .sgwp-suite-public-actions,
body.sgwp-visitor-system-v032 .sgwp-suite-detail-actions,
body.sgwp-visitor-system-v032 .sgwp-booking-contact-actions,
body.sgwp-visitor-system-v032 .sgwp-visitor-accordion-actions,
body.sgwp-visitor-system-v032 .sgwp-icon-drawer-actions {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
}

body.sgwp-visitor-system-v032 .sgwp-action-surface,
body.sgwp-visitor-system-v032 .sgwp-suite-action,
body.sgwp-visitor-system-v032 .sgwp-modal-copy,
body.sgwp-visitor-system-v032 .sgwp-booking-submit,
body.sgwp-visitor-system-v032 .sgwp-visitor-accordion-actions a,
body.sgwp-visitor-system-v032 .sgwp-icon-drawer-actions a,
body.sgwp-visitor-system-v032 .sgwp-place-public-actions a,
body.sgwp-visitor-system-v032 .sgwp-place-public-actions button,
body.sgwp-visitor-system-v032 .sgwp-suite-detail-actions a,
body.sgwp-visitor-system-v032 .sgwp-booking-contact-actions a {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 0 14px !important;
    border: 1px solid var(--sgwp-v-border) !important;
    border-radius: var(--sgwp-v-radius-pill) !important;
    background: var(--sgwp-v-card-bg) !important;
    color: var(--sgwp-v-text) !important;
    font: inherit !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 12px 28px var(--sgwp-theme-shadow), var(--sgwp-v-inset) !important;
    cursor: pointer !important;
    opacity: 1 !important;
}

body.sgwp-visitor-system-v032 .sgwp-action-accent,
body.sgwp-visitor-system-v032 .sgwp-suite-action-map,
body.sgwp-visitor-system-v032 .sgwp-visitor-accordion-actions a:first-child,
body.sgwp-visitor-system-v032 .sgwp-icon-drawer-actions a:first-child {
    background: var(--sgwp-v-accent) !important;
    color: var(--sgwp-v-on-accent) !important;
    border-color: var(--sgwp-v-accent) !important;
}

body.sgwp-visitor-system-v032 .sgwp-action-primary,
body.sgwp-visitor-system-v032 .sgwp-suite-action-booking,
body.sgwp-visitor-system-v032 .sgwp-place-public-primary,
body.sgwp-visitor-system-v032 .sgwp-booking-action,
body.sgwp-visitor-system-v032 .sgwp-booking-submit,
body.sgwp-visitor-system-v032 .sgwp-modal-copy {
    background: var(--sgwp-v-primary) !important;
    color: var(--sgwp-v-on-primary) !important;
    border-color: var(--sgwp-v-primary) !important;
}

body.sgwp-visitor-system-v032 .sgwp-action-neutral,
body.sgwp-visitor-system-v032 .sgwp-suite-action-details,
body.sgwp-visitor-system-v032 .sgwp-place-public-actions button:not(.sgwp-action-primary) {
    background: var(--sgwp-v-card-bg) !important;
    color: var(--sgwp-v-text) !important;
    border-color: var(--sgwp-v-border) !important;
}

body.sgwp-visitor-system-v032 .sgwp-action-surface svg,
body.sgwp-visitor-system-v032 .sgwp-suite-action svg,
body.sgwp-visitor-system-v032 .sgwp-modal-copy svg,
body.sgwp-visitor-system-v032 .sgwp-booking-submit svg {
    width: 16px !important;
    height: 16px !important;
    stroke: currentColor !important;
}

body.sgwp-visitor-system-v032 [data-sgwp-suite-toggle][aria-expanded="true"] {
    background: color-mix(in srgb, var(--sgwp-v-accent) 18%, var(--sgwp-v-card-bg)) !important;
    color: var(--sgwp-v-text) !important;
    border-color: color-mix(in srgb, var(--sgwp-v-accent) 60%, var(--sgwp-v-border)) !important;
}

body.sgwp-visitor-system-v032 .sgwp-booking-form input,
body.sgwp-visitor-system-v032 .sgwp-booking-form textarea,
body.sgwp-visitor-system-v032 .sgwp-booking-form select,
body.sgwp-visitor-system-v032 .sgwp-modal-card input,
body.sgwp-visitor-system-v032 .sgwp-modal-card textarea,
body.sgwp-visitor-system-v032 .sgwp-modal-card select {
    border: 1px solid var(--sgwp-v-border) !important;
    border-radius: 16px !important;
    background: color-mix(in srgb, var(--sgwp-v-card-bg) 92%, var(--sgwp-v-panel-bg)) !important;
    color: var(--sgwp-v-text) !important;
    font: inherit !important;
    box-shadow: var(--sgwp-v-inset) !important;
}

body.sgwp-visitor-system-v032 .sgwp-booking-form input::placeholder,
body.sgwp-visitor-system-v032 .sgwp-booking-form textarea::placeholder,
body.sgwp-visitor-system-v032 .sgwp-modal-card input::placeholder,
body.sgwp-visitor-system-v032 .sgwp-modal-card textarea::placeholder {
    color: var(--sgwp-v-muted) !important;
    opacity: 1 !important;
}

body.sgwp-visitor-system-v032 .sgwp-booking-status.is-success {
    background: #e8f7ee !important;
    color: #155b2f !important;
    border-color: #b7e2c6 !important;
}

body.sgwp-visitor-system-v032 .sgwp-booking-status.is-error {
    background: #fdeaea !important;
    color: #842020 !important;
    border-color: #f2b8b8 !important;
}

@media (max-width: 420px) {
    body.sgwp-visitor-system-v032 .sgwp-icon-shell { padding: 0 !important; }
    body.sgwp-visitor-system-v032 .sgwp-icon-card { min-height: 100vh; border-radius: 0 !important; }
    body.sgwp-visitor-system-v032 .sgwp-icon-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    body.sgwp-visitor-system-v032 .sgwp-place-public-actions,
    body.sgwp-visitor-system-v032 .sgwp-suite-public-actions,
    body.sgwp-visitor-system-v032 .sgwp-suite-detail-actions,
    body.sgwp-visitor-system-v032 .sgwp-booking-contact-actions,
    body.sgwp-visitor-system-v032 .sgwp-visitor-accordion-actions {
        grid-template-columns: 1fr !important;
    }
    body.sgwp-visitor-system-v032 .sgwp-action-surface,
    body.sgwp-visitor-system-v032 .sgwp-suite-action,
    body.sgwp-visitor-system-v032 .sgwp-modal-copy,
    body.sgwp-visitor-system-v032 .sgwp-booking-submit,
    body.sgwp-visitor-system-v032 .sgwp-visitor-accordion-actions a,
    body.sgwp-visitor-system-v032 .sgwp-icon-drawer-actions a,
    body.sgwp-visitor-system-v032 .sgwp-place-public-actions a,
    body.sgwp-visitor-system-v032 .sgwp-place-public-actions button,
    body.sgwp-visitor-system-v032 .sgwp-suite-detail-actions a,
    body.sgwp-visitor-system-v032 .sgwp-booking-contact-actions a {
        justify-content: center !important;
    }
}

/* myguideqr 0.34.0 — strict surface-based contrast layer
   Rule: white text only on dark surfaces, dark text only on light surfaces. */
body.sgwp-visitor-system-v032 {
    --sgwp-v-frame-text: var(--sgwp-on-frame-b, var(--sgwp-theme-text));
    --sgwp-v-panel-text: var(--sgwp-on-panel, var(--sgwp-theme-text));
    --sgwp-v-panel-2-text: var(--sgwp-on-panel-2, var(--sgwp-v-panel-text));
    --sgwp-v-card-text: var(--sgwp-on-card, var(--sgwp-theme-text));
    --sgwp-v-card-2-text: var(--sgwp-on-card-2, var(--sgwp-v-card-text));
    --sgwp-v-chip-text: var(--sgwp-on-chip, var(--sgwp-v-card-text));
    --sgwp-v-accent-text: var(--sgwp-on-accent, var(--sgwp-theme-on-accent));
    --sgwp-v-primary-text: var(--sgwp-on-primary, #ffffff);
    --sgwp-v-muted-on-card: color-mix(in srgb, var(--sgwp-v-card-text) 72%, var(--sgwp-theme-muted));
    --sgwp-v-muted-on-panel: color-mix(in srgb, var(--sgwp-v-panel-text) 68%, var(--sgwp-theme-muted));
    color: var(--sgwp-v-panel-text) !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-card {
    color: var(--sgwp-v-panel-text) !important;
}

body.sgwp-visitor-system-v032 .sgwp-icon-card :is(h1,h2,h3,h4,strong,b,label,.sgwp-icon-label,.sgwp-visitor-accordion-title,.sgwp-social-tile-label,.sgwp-contact-tile-text strong,.sgwp-place-public-heading h3,.sgwp-suite-public-copy h3,.sgwp-booking-title,.sgwp-icon-empty h2) {
    color: var(--sgwp-v-panel-text) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-icon-quick,.sgwp-icon-tile,.sgwp-visitor-accordion,.sgwp-social-tile,.sgwp-contact-tile,.sgwp-place-public-card,.sgwp-suite-public-card,.sgwp-booking-form,.sgwp-booking-contact-card,.sgwp-booking-contact-note,.sgwp-place-public-details,.sgwp-suite-detail-panel-inner,.sgwp-modal-card,.sgwp-modal-body,.sgwp-icon-empty) {
    background: linear-gradient(145deg, var(--sgwp-v-card-bg), var(--sgwp-v-card-bg-2)) !important;
    color: var(--sgwp-v-card-text) !important;
    border-color: var(--sgwp-v-border) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-icon-quick,.sgwp-icon-tile,.sgwp-visitor-accordion,.sgwp-social-tile,.sgwp-contact-tile,.sgwp-place-public-card,.sgwp-suite-public-card,.sgwp-booking-form,.sgwp-booking-contact-card,.sgwp-booking-contact-note,.sgwp-place-public-details,.sgwp-suite-detail-panel-inner,.sgwp-modal-card,.sgwp-modal-body,.sgwp-icon-empty) :is(h1,h2,h3,h4,strong,b,label,.sgwp-visitor-accordion-title,.sgwp-social-tile-label,.sgwp-contact-tile-text strong,.sgwp-place-public-heading h3,.sgwp-suite-public-copy h3,.sgwp-booking-title) {
    color: var(--sgwp-v-card-text) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-icon-subtitle,.sgwp-icon-note,.sgwp-icon-footer,.sgwp-icon-welcome,.sgwp-visitor-accordion-content,.sgwp-contact-tile-text small,.sgwp-contact-group-intro,.sgwp-location-note,.sgwp-social-tile small,.sgwp-place-public-subtitle,.sgwp-place-public-short,.sgwp-place-public-address,.sgwp-place-public-info,.sgwp-suite-public-subtitle,.sgwp-suite-public-info,.sgwp-suite-public-info-muted,.sgwp-booking-helper,.sgwp-booking-disclaimer,.sgwp-booking-privacy,.sgwp-icon-empty p,.sgwp-suite-detail-facts span,.sgwp-modal-detail-grid span) {
    color: var(--sgwp-v-muted-on-card) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-visitor-accordion-symbol,.sgwp-icon-quick-symbol,.sgwp-icon-symbol,.sgwp-social-tile-icon,.sgwp-contact-tile-icon,.sgwp-suite-public-specs,.sgwp-place-public-heading span,.sgwp-modal-detail-grid div,.sgwp-suite-detail-facts div) {
    background: var(--sgwp-v-card-bg-2) !important;
    color: var(--sgwp-v-card-2-text) !important;
    border-color: var(--sgwp-v-border) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-visitor-accordion-symbol,.sgwp-icon-quick-symbol,.sgwp-icon-symbol,.sgwp-social-tile-icon,.sgwp-contact-tile-icon,.sgwp-suite-public-specs,.sgwp-place-public-heading span,.sgwp-modal-detail-grid div,.sgwp-suite-detail-facts div) :is(strong,b,span,svg) {
    color: inherit !important;
    stroke: currentColor !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-modal-detail-grid strong,.sgwp-suite-detail-facts strong,.sgwp-code) {
    color: var(--sgwp-v-card-2-text) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-action-surface,.sgwp-suite-action,.sgwp-modal-copy,.sgwp-booking-submit,.sgwp-visitor-accordion-actions a,.sgwp-icon-drawer-actions a,.sgwp-place-public-actions a,.sgwp-place-public-actions button,.sgwp-suite-detail-actions a,.sgwp-booking-contact-actions a) {
    background: var(--sgwp-v-card-bg) !important;
    color: var(--sgwp-v-card-text) !important;
    border-color: var(--sgwp-v-border) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-action-surface,.sgwp-suite-action,.sgwp-modal-copy,.sgwp-booking-submit,.sgwp-visitor-accordion-actions a,.sgwp-icon-drawer-actions a,.sgwp-place-public-actions a,.sgwp-place-public-actions button,.sgwp-suite-detail-actions a,.sgwp-booking-contact-actions a) :is(span,svg) {
    color: inherit !important;
    stroke: currentColor !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-action-accent,.sgwp-suite-action-map,.sgwp-visitor-accordion-actions a:first-child,.sgwp-icon-drawer-actions a:first-child) {
    background: var(--sgwp-v-accent) !important;
    color: var(--sgwp-v-accent-text) !important;
    border-color: var(--sgwp-v-accent) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-action-primary,.sgwp-suite-action-booking,.sgwp-place-public-primary,.sgwp-booking-action,.sgwp-booking-submit,.sgwp-modal-copy) {
    background: var(--sgwp-v-primary) !important;
    color: var(--sgwp-v-primary-text) !important;
    border-color: var(--sgwp-v-primary) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-action-neutral,.sgwp-suite-action-details,.sgwp-place-public-actions button:not(.sgwp-action-primary)) {
    background: var(--sgwp-v-card-bg) !important;
    color: var(--sgwp-v-card-text) !important;
    border-color: var(--sgwp-v-border) !important;
}

body.sgwp-visitor-system-v032 [data-sgwp-suite-toggle][aria-expanded="true"] {
    background: var(--sgwp-v-card-bg-2) !important;
    color: var(--sgwp-v-card-2-text) !important;
    border-color: color-mix(in srgb, var(--sgwp-v-accent) 55%, var(--sgwp-v-border)) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-booking-field input,.sgwp-booking-field textarea,.sgwp-booking-field select,.sgwp-modal-card input,.sgwp-modal-card textarea,.sgwp-modal-card select) {
    background: var(--sgwp-v-card-bg-2) !important;
    color: var(--sgwp-v-card-2-text) !important;
    border-color: var(--sgwp-v-border) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-booking-field input,.sgwp-booking-field textarea,.sgwp-booking-field select,.sgwp-modal-card input,.sgwp-modal-card textarea,.sgwp-modal-card select)::placeholder {
    color: color-mix(in srgb, var(--sgwp-v-card-2-text) 62%, transparent) !important;
    opacity: 1 !important;
}

body.sgwp-visitor-system-v032 .sgwp-booking-status.is-success {
    background: #e8f7ee !important;
    color: #155b2f !important;
    border-color: #b7e2c6 !important;
}

body.sgwp-visitor-system-v032 .sgwp-booking-status.is-error {
    background: #fdeaea !important;
    color: #842020 !important;
    border-color: #f2b8b8 !important;
}

/* myguideqr 0.37.0 — emergency phone cards use same audited surfaces */
body.sgwp-visitor-system-v032 :is(.sgwp-emergency-card,.sgwp-emergency-extra-note) {
    background: var(--sgwp-v-card-bg) !important;
    color: var(--sgwp-v-card-text) !important;
    border-color: var(--sgwp-v-border) !important;
}
body.sgwp-visitor-system-v032 .sgwp-emergency-icon {
    background: var(--sgwp-v-card-bg-2) !important;
    color: var(--sgwp-v-card-2-text) !important;
    border-color: var(--sgwp-v-border) !important;
}
body.sgwp-visitor-system-v032 .sgwp-emergency-text strong,
body.sgwp-visitor-system-v032 .sgwp-emergency-text small {
    color: var(--sgwp-v-card-text) !important;
}
body.sgwp-visitor-system-v032 .sgwp-emergency-text em,
body.sgwp-visitor-system-v032 .sgwp-emergency-extra-note {
    color: var(--sgwp-v-muted-on-card) !important;
}
body.sgwp-visitor-system-v032 .sgwp-emergency-call {
    background: var(--sgwp-v-accent) !important;
    color: var(--sgwp-v-accent-text) !important;
}

/* myguideqr 0.38.0 — final visitor typography and button QA */
body.sgwp-visitor-system-v032 :is(.sgwp-icon-card,.sgwp-icon-quick,.sgwp-icon-tile,.sgwp-visitor-accordion,.sgwp-social-tile,.sgwp-contact-tile,.sgwp-place-public-card,.sgwp-suite-public-card,.sgwp-booking-form,.sgwp-booking-contact-card,.sgwp-booking-contact-note,.sgwp-place-public-details,.sgwp-suite-detail-panel-inner,.sgwp-modal-card,.sgwp-modal-body,.sgwp-icon-empty,.sgwp-emergency-card,.sgwp-emergency-extra-note) {
    border-color: color-mix(in srgb, var(--sgwp-v-card-text, var(--sgwp-theme-text)) 16%, var(--sgwp-v-border, var(--sgwp-theme-border))) !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-action-surface,.sgwp-suite-action,.sgwp-modal-copy,.sgwp-booking-submit,.sgwp-visitor-accordion-actions a,.sgwp-icon-drawer-actions a,.sgwp-place-public-actions a,.sgwp-place-public-actions button,.sgwp-suite-detail-actions a,.sgwp-booking-contact-actions a,.sgwp-emergency-call) {
    min-height: 42px !important;
    padding: 9px 14px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-suite-public-copy h3,.sgwp-place-public-heading h3,.sgwp-visitor-accordion-title,.sgwp-social-tile-label,.sgwp-contact-tile-text strong,.sgwp-emergency-text strong) {
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-suite-public-subtitle,.sgwp-suite-public-info,.sgwp-place-public-subtitle,.sgwp-place-public-short,.sgwp-place-public-address,.sgwp-place-public-info,.sgwp-emergency-text small,.sgwp-emergency-text em) {
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
}

body.sgwp-visitor-system-v032 :is(.sgwp-suite-public-specs,.sgwp-place-public-heading span) {
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
}


/* Full demo icon gallery */
.sgwp-showcase-icon-gallery-intro {
    margin: 0 0 1rem;
    color: var(--sgwp-muted, #64748b);
}
.sgwp-showcase-icon-group {
    margin: 1rem 0 1.15rem;
}
.sgwp-showcase-icon-group h3 {
    margin: 0 0 .65rem;
    font-size: .95rem;
}
.sgwp-showcase-icon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(142px, 1fr));
    gap: .55rem;
}
.sgwp-showcase-icon-chip {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 44px;
    padding: .55rem .65rem;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: .8rem;
    background: rgba(255, 255, 255, .72);
}
.sgwp-showcase-icon-chip-symbol {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
.sgwp-showcase-icon-chip-symbol svg {
    width: 21px;
    height: 21px;
}


/* myguideqr 2.32.8 — full demo realistic media and locked demo links */
body.sgwp-visitor-system-v032 .sgwp-guide-hero-photo {
    margin: 18px 0 0;
    overflow: hidden;
    border-radius: 26px;
    border: 1px solid color-mix(in srgb, var(--sgwp-v-card-text, #0f172a) 14%, transparent);
    box-shadow: 0 18px 48px rgba(15, 23, 42, .16);
    background: rgba(255, 255, 255, .58);
}
body.sgwp-visitor-system-v032 .sgwp-guide-hero-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.sgwp-demo-link-toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    z-index: 100000;
    width: min(92vw, 460px);
    padding: 16px 18px;
    border-radius: 20px;
    background: rgba(15, 23, 42, .96);
    color: #fff;
    box-shadow: 0 24px 70px rgba(2, 6, 23, .38);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.35;
    text-align: center;
    pointer-events: none;
    opacity: 0;
    transform: translate(-50%, 16px) scale(.98);
    transition: opacity .18s ease, transform .18s ease;
}
.sgwp-demo-link-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
}


/* myguideqr 2.32.9 — premium demo refinement, fact cards and defensive responsive actions */
body.sgwp-visitor-system-v032 .sgwp-guide-fact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 136px), 1fr));
    gap: 10px;
    margin: 0 0 16px;
}
body.sgwp-visitor-system-v032 .sgwp-guide-fact-card {
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid color-mix(in srgb, var(--sgwp-v-card-text, #0f172a) 12%, transparent);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,255,255,.58));
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}
body.sgwp-visitor-system-v032 .sgwp-guide-fact-card span {
    display: block;
    margin: 0 0 4px;
    color: var(--sgwp-v-muted, #64748b);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
body.sgwp-visitor-system-v032 .sgwp-guide-fact-card strong {
    display: block;
    color: var(--sgwp-v-card-text, #0f172a);
    font-size: 15px;
    font-weight: 950;
    line-height: 1.22;
    overflow-wrap: anywhere;
}
body.sgwp-visitor-system-v032 .sgwp-suite-public-spec-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 0;
}
body.sgwp-visitor-system-v032 .sgwp-suite-public-spec-grid .sgwp-suite-public-specs {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    min-height: 36px;
    margin: 0 !important;
    padding: 8px 11px;
    border: 1px solid color-mix(in srgb, var(--sgwp-v-card-text, #0f172a) 11%, transparent);
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    color: var(--sgwp-v-card-text, #0f172a);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.16;
    overflow-wrap: anywhere;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .07);
}
body.sgwp-visitor-system-v032 .sgwp-suite-detail-facts-premium {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 132px), 1fr));
    gap: 10px;
}
body.sgwp-visitor-system-v032 .sgwp-suite-detail-facts-premium > div {
    min-width: 0;
    border-radius: 16px;
    background: rgba(255,255,255,.72);
}
body.sgwp-visitor-system-v032 :is(.sgwp-quick-actions,.sgwp-modal-actions,.sgwp-place-actions,.sgwp-place-card-actions,.sgwp-suite-public-actions,.sgwp-suite-detail-actions,.sgwp-contact-grid,.sgwp-social-grid,.sgwp-review-grid,.sgwp-emergency-grid) {
    min-width: 0 !important;
}
body.sgwp-visitor-system-v032 :is(.sgwp-suite-public-actions,.sgwp-suite-detail-actions,.sgwp-place-actions,.sgwp-place-card-actions,.sgwp-modal-actions) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 136px), 1fr)) !important;
    gap: 9px !important;
    align-items: stretch !important;
}
body.sgwp-visitor-system-v032 :is(.sgwp-action-surface,.sgwp-suite-action,.sgwp-place-action,.sgwp-place-card-action,.sgwp-modal-copy,.sgwp-contact-tile,.sgwp-social-tile,.sgwp-review-tile,.sgwp-emergency-call) {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    min-height: 42px;
    height: auto !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: center;
    line-height: 1.18;
}
body.sgwp-visitor-system-v032 :is(.sgwp-action-surface,.sgwp-suite-action,.sgwp-place-action,.sgwp-place-card-action,.sgwp-modal-copy) span {
    min-width: 0;
    overflow-wrap: anywhere;
}
body.sgwp-visitor-system-v032 .sgwp-contact-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)) !important;
    gap: 10px !important;
}
body.sgwp-visitor-system-v032 .sgwp-contact-tile {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: stretch !important;
    text-align: left !important;
}
body.sgwp-visitor-system-v032 :is(.sgwp-contact-tile-text,.sgwp-contact-tile-label,.sgwp-contact-tile-value,.sgwp-social-tile-label,.sgwp-review-tile-label,.sgwp-emergency-text) {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-gallery-premium {
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 26px;
    padding: 18px;
    background: radial-gradient(circle at top left, rgba(15,118,110,.16), transparent 34%), linear-gradient(135deg, rgba(255,255,255,.94), rgba(248,250,252,.72));
    box-shadow: 0 22px 62px rgba(15, 23, 42, .12);
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-gallery-top {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 0 16px;
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-gallery-headcopy { min-width: 0; }
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-kicker {
    display: inline-flex;
    margin: 0 0 8px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(15,118,110,.12);
    color: #0f766e;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-gallery-premium h3 {
    margin: 0 0 6px;
    font-size: clamp(18px, 2.6vw, 24px);
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-stat {
    flex: 0 0 auto;
    min-width: 96px;
    padding: 12px 14px;
    border-radius: 20px;
    background: rgba(15, 23, 42, .92);
    color: #fff;
    text-align: center;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .18);
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-stat strong {
    display: block;
    font-size: 24px;
    line-height: 1;
    font-weight: 950;
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-stat span {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.15;
    opacity: .82;
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-group-premium {
    margin: 14px 0 0;
    padding: 12px;
    border-radius: 20px;
    background: rgba(255,255,255,.56);
    border: 1px solid rgba(15, 23, 42, .07);
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-group-premium h3 {
    margin-bottom: 10px;
    font-size: 14px;
    letter-spacing: .01em;
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 142px), 1fr));
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-chip {
    min-width: 0;
    border-radius: 16px;
    background: rgba(255,255,255,.84);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
}
body.sgwp-visitor-system-v032 .sgwp-showcase-icon-chip-label {
    min-width: 0;
    overflow-wrap: anywhere;
    font-weight: 850;
    line-height: 1.18;
}
@media (max-width: 520px) {
    body.sgwp-visitor-system-v032 .sgwp-showcase-icon-gallery-premium { padding: 14px; border-radius: 22px; }
    body.sgwp-visitor-system-v032 .sgwp-showcase-icon-gallery-top { flex-direction: column; }
    body.sgwp-visitor-system-v032 .sgwp-showcase-icon-stat { width: 100%; }
    body.sgwp-visitor-system-v032 :is(.sgwp-suite-public-actions,.sgwp-suite-detail-actions,.sgwp-place-actions,.sgwp-place-card-actions,.sgwp-modal-actions) { grid-template-columns: 1fr !important; }
    body.sgwp-visitor-system-v032 :is(.sgwp-action-surface,.sgwp-suite-action,.sgwp-place-action,.sgwp-place-card-action,.sgwp-modal-copy,.sgwp-contact-tile,.sgwp-social-tile,.sgwp-review-tile) { font-size: 13px !important; padding-inline: 12px !important; }
}


/* v2.32.14: visitor weather module */
.sgwp-weather-public{
    display:grid;
    gap:14px;
    padding:16px;
    border:1px solid color-mix(in srgb,var(--sgwp-accent,#b8a27a) 24%,var(--sgwp-theme-border,#e5e7eb));
    border-radius:22px;
    background:linear-gradient(145deg,color-mix(in srgb,var(--sgwp-accent,#b8a27a) 8%,var(--sgwp-theme-card,#fff)),var(--sgwp-theme-card,#fff));
    color:var(--sgwp-on-card,var(--sgwp-theme-text,#111827));
    box-shadow:0 14px 32px color-mix(in srgb,var(--sgwp-theme-shadow,rgba(15,23,42,.12)) 60%,transparent);
}
.sgwp-weather-current{
    display:flex;
    align-items:center;
    gap:14px;
}
.sgwp-weather-symbol{
    flex:0 0 58px;
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:20px;
    background:color-mix(in srgb,var(--sgwp-accent,#b8a27a) 13%,var(--sgwp-theme-panel,#f8fafc));
    font-size:30px;
    line-height:1;
}
.sgwp-weather-current-copy{
    min-width:0;
}
.sgwp-weather-location,
.sgwp-weather-current-copy small,
.sgwp-weather-source,
.sgwp-weather-facts span,
.sgwp-weather-day span,
.sgwp-weather-day small{
    color:var(--sgwp-c-card-muted,var(--sgwp-theme-muted,#64748b));
}
.sgwp-weather-location{
    display:block;
    margin-bottom:2px;
    font-size:12px;
    font-weight:750;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.sgwp-weather-current-copy strong{
    display:block;
    font-size:34px;
    line-height:1;
    letter-spacing:-.05em;
    color:var(--sgwp-accent,#b8a27a);
}
.sgwp-weather-current-copy small{
    display:block;
    margin-top:5px;
    font-size:13px;
    line-height:1.35;
}
.sgwp-weather-facts,
.sgwp-weather-daily{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.sgwp-weather-facts div,
.sgwp-weather-day{
    min-width:0;
    padding:10px 11px;
    border:1px solid color-mix(in srgb,var(--sgwp-accent,#b8a27a) 15%,var(--sgwp-theme-border,#e5e7eb));
    border-radius:15px;
    background:color-mix(in srgb,var(--sgwp-theme-panel,#f8fafc) 68%,transparent);
}
.sgwp-weather-facts span,
.sgwp-weather-day span,
.sgwp-weather-day small{
    display:block;
    font-size:11px;
    line-height:1.25;
}
.sgwp-weather-facts strong,
.sgwp-weather-day strong{
    display:block;
    margin-top:3px;
    font-size:14px;
    line-height:1.2;
    white-space:normal;
}
.sgwp-weather-note{
    margin-top:0;
    font-size:13px;
}
.sgwp-weather-source{
    margin:0;
    font-size:11px;
    line-height:1.35;
}
.sgwp-weather-public-offline{
    border-color:color-mix(in srgb,#f59e0b 30%,var(--sgwp-theme-border,#e5e7eb));
}
@media (max-width:480px){
    .sgwp-weather-current{align-items:flex-start;}
    .sgwp-weather-symbol{width:50px;height:50px;flex-basis:50px;font-size:26px;}
    .sgwp-weather-current-copy strong{font-size:29px;}
    .sgwp-weather-facts,.sgwp-weather-daily{grid-template-columns:1fr;}
}


/* v2.32.15: weather is a basic quick button and follows the selected guide theme. */
body.sgwp-guide .sgwp-icon-quick-weather{
    border-color:color-mix(in srgb,var(--sgwp-accent,#b8a27a) 46%,var(--sgwp-v-border,rgba(15,23,42,.14)))!important;
    background:linear-gradient(145deg,color-mix(in srgb,var(--sgwp-accent,#b8a27a) 13%,var(--sgwp-v-card-bg,#fff)),var(--sgwp-v-card-bg-2,var(--sgwp-v-card-bg,#fff)))!important;
}
body.sgwp-guide .sgwp-icon-quick-weather .sgwp-icon-quick-symbol{
    color:var(--sgwp-on-accent,var(--sgwp-theme-on-accent,#fff))!important;
    background:var(--sgwp-accent,var(--sgwp-theme-accent,#b8a27a))!important;
    border-color:color-mix(in srgb,var(--sgwp-accent,#b8a27a) 58%,transparent)!important;
}

/* v2.32.16: Weather and guest-details use the same visual surface as the other guide buttons/cards. */
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-icon-quick-weather,
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-icon-quick-guest_details {
    border-color: var(--sgwp-v-border, rgba(15, 23, 42, .14)) !important;
    background: linear-gradient(145deg, var(--sgwp-v-card-bg, #fff), var(--sgwp-v-card-bg-2, var(--sgwp-v-card-bg, #fff))) !important;
    color: var(--sgwp-v-text, var(--sgwp-theme-text, #111827)) !important;
    box-shadow: var(--sgwp-v-shadow, 0 18px 42px rgba(15, 23, 42, .12)), var(--sgwp-v-inset, inset 0 1px 0 rgba(255,255,255,.55)) !important;
}
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-icon-quick-weather .sgwp-icon-quick-symbol,
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-icon-quick-guest_details .sgwp-icon-quick-symbol,
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-visitor-accordion-weather .sgwp-visitor-accordion-symbol,
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-visitor-accordion-guest_details .sgwp-visitor-accordion-symbol {
    border-color: var(--sgwp-v-border, rgba(15, 23, 42, .14)) !important;
    background: color-mix(in srgb, var(--sgwp-v-accent, var(--sgwp-accent, #b8a27a)) 14%, var(--sgwp-theme-chip, var(--sgwp-v-card-bg, #fff))) !important;
    color: var(--sgwp-v-text, var(--sgwp-theme-text, #111827)) !important;
}
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-weather-public,
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-guest-details-public {
    border-color: var(--sgwp-v-border, rgba(15, 23, 42, .14)) !important;
    background: linear-gradient(145deg, var(--sgwp-v-card-bg, #fff), var(--sgwp-v-card-bg-2, var(--sgwp-v-card-bg, #fff))) !important;
    color: var(--sgwp-v-text, var(--sgwp-theme-text, #111827)) !important;
    box-shadow: var(--sgwp-v-shadow, 0 18px 42px rgba(15, 23, 42, .12)), var(--sgwp-v-inset, inset 0 1px 0 rgba(255,255,255,.55)) !important;
}
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-weather-symbol,
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-weather-facts div,
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-weather-day {
    border-color: var(--sgwp-v-border, rgba(15, 23, 42, .14)) !important;
    background: color-mix(in srgb, var(--sgwp-v-card-bg, #fff) 90%, var(--sgwp-v-panel-bg, #f8fafc)) !important;
    color: var(--sgwp-v-text, var(--sgwp-theme-text, #111827)) !important;
}
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-weather-current-copy strong {
    color: var(--sgwp-v-text, var(--sgwp-theme-text, #111827)) !important;
}
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-guest-details-intro {
    margin: 0 0 14px;
    color: var(--sgwp-v-muted, var(--sgwp-theme-muted, #64748b));
}
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-guest-details-form em {
    display: inline-flex;
    margin-left: 6px;
    font-style: normal;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--sgwp-v-muted, var(--sgwp-theme-muted, #64748b));
}
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-guest-document-field small {
    display: block;
    margin-top: 6px;
    color: var(--sgwp-v-muted, var(--sgwp-theme-muted, #64748b));
    font-size: 12px;
    line-height: 1.35;
}

/* v2.32.17 — guest-details public form label readability. */
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-guest-details-form .sgwp-booking-field > span{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:5px!important;
    color:var(--sgwp-v-card-text,var(--sgwp-v-text,var(--sgwp-theme-text,#111827)))!important;
    font-weight:650!important;
    letter-spacing:0!important;
    line-height:1.26!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
}
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-guest-details-form .sgwp-booking-field > span em{
    flex:0 0 auto!important;
    margin-left:0!important;
    color:var(--sgwp-v-muted,var(--sgwp-theme-muted,#64748b))!important;
    font-size:10px!important;
    line-height:1!important;
}
body.sgwp-guide.sgwp-visitor-system-v032 .sgwp-guest-details-form :is(input,select,textarea){
    font-weight:500!important;
    letter-spacing:0!important;
}


/* 2.32.57 — Guest-details sensitive data notice and consent UI. */
body.sgwp-guide .sgwp-guest-sensitive-notice{
    margin:0 0 16px;
    padding:14px 16px;
    border:1px solid color-mix(in srgb,var(--sgwp-accent,#b8a27a) 22%,var(--sgwp-v-border,rgba(15,23,42,.14)));
    border-radius:18px;
    background:color-mix(in srgb,var(--sgwp-accent,#b8a27a) 8%,var(--sgwp-v-card-bg,#fff));
    color:var(--sgwp-v-text,var(--sgwp-theme-text,#111827));
}
body.sgwp-guide .sgwp-guest-sensitive-notice strong{
    display:block;
    margin:0 0 6px;
    font-weight:760;
    letter-spacing:-.01em;
}
body.sgwp-guide .sgwp-guest-sensitive-notice p{
    margin:0;
    color:var(--sgwp-v-muted,var(--sgwp-theme-muted,#64748b));
    font-size:13px;
    line-height:1.55;
}
body.sgwp-guide .sgwp-guest-consent-field{
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    padding:14px 16px!important;
    border-radius:16px!important;
    background:color-mix(in srgb,var(--sgwp-theme-chip,#f1f5f9) 70%,var(--sgwp-v-card-bg,#fff))!important;
}
body.sgwp-guide .sgwp-guest-consent-field input[type="checkbox"]{
    width:18px!important;
    height:18px!important;
    margin:2px 0 0!important;
}
body.sgwp-guide .sgwp-guest-consent-field span{
    font-size:13px!important;
    line-height:1.48!important;
    font-weight:620!important;
}


/* 2.39.16 — top quick icons stay two-up on phones. */
@media (max-width: 520px) {
    body.sgwp-visitor-system-v032 .sgwp-icon-quick-grid.sgwp-icon-quick-grid-accordion {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
