/* myguideqr 0.33.0 — clean visitor design system
   A single source of truth for contrast, cards, actions, pills and detail panels. */
:root { color-scheme: light; }

body.sgwp-guide {
    --sgwp-surface: linear-gradient(145deg, color-mix(in srgb, var(--sgwp-theme-card, #fff) 96%, transparent), color-mix(in srgb, var(--sgwp-theme-card-2, #f8f3ea) 92%, transparent));
    --sgwp-surface-flat: color-mix(in srgb, var(--sgwp-theme-card, #fff) 92%, var(--sgwp-theme-panel, #fbfaf7));
    --sgwp-surface-soft: color-mix(in srgb, var(--sgwp-theme-card-2, #f8f3ea) 88%, var(--sgwp-theme-panel, #fbfaf7));
    --sgwp-surface-chip: color-mix(in srgb, var(--sgwp-accent, #b8a27a) 14%, var(--sgwp-theme-chip, #f0eadf));
    --sgwp-border: var(--sgwp-theme-border, rgba(42,35,27,.10));
    --sgwp-shadow-soft: 0 14px 32px var(--sgwp-theme-shadow, rgba(32,25,16,.12));
    --sgwp-shadow-card: 0 22px 52px var(--sgwp-theme-shadow, rgba(32,25,16,.12)), inset 0 1px 0 color-mix(in srgb, var(--sgwp-theme-card, #fff) 70%, transparent);
    --sgwp-action-radius: 999px;
    --sgwp-action-height: 44px;
    margin: 0;
    min-height: 100vh;
    background:
        radial-gradient(circle at 18% -12%, color-mix(in srgb, var(--sgwp-accent, #b8a27a) 22%, transparent), transparent 34%),
        radial-gradient(circle at 94% 4%, color-mix(in srgb, var(--sgwp-theme-card, #fff) 12%, transparent), transparent 26%),
        linear-gradient(135deg, var(--sgwp-theme-frame-a, #08090c), var(--sgwp-theme-frame-b, #17191f));
    color: var(--sgwp-theme-text, #151515);
    font-family: var(--sgwp-font-body, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: 16px;
    line-height: 1.56;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.sgwp-guide *,
body.sgwp-guide *::before,
body.sgwp-guide *::after { box-sizing: border-box; }
body.sgwp-guide svg { display: block; width: 1em; height: 1em; stroke: currentColor; }
body.sgwp-guide a { color: inherit; }
body.sgwp-guide [hidden] { display: none !important; }
body.sgwp-modal-lock { overflow: hidden; }

.sgwp-icon-shell {
    width: min(100%, 540px);
    margin: 0 auto;
    padding: clamp(12px, 2.5vw, 22px) clamp(10px, 2vw, 16px) 36px;
}

.sgwp-icon-card {
    position: relative;
    overflow: hidden;
    min-height: calc(100vh - 34px);
    padding: clamp(22px, 5vw, 36px) clamp(14px, 4vw, 24px) 24px;
    border: 1px solid var(--sgwp-border);
    border-radius: clamp(28px, 6vw, 40px);
    background:
        radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--sgwp-accent, #b8a27a) 14%, transparent), transparent 32%),
        radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--sgwp-theme-card, #fff) 66%, transparent), transparent 28%),
        linear-gradient(180deg, var(--sgwp-theme-panel, #fbfaf7), var(--sgwp-theme-panel-2, #f2eee8));
    color: var(--sgwp-theme-text, #151515);
    box-shadow: 0 34px 84px color-mix(in srgb, var(--sgwp-theme-shadow, rgba(32,25,16,.12)) 74%, rgba(0,0,0,.34)), inset 0 1px 0 color-mix(in srgb, var(--sgwp-theme-card, #fff) 70%, transparent);
}

.sgwp-icon-card::before {
    content: "";
    position: absolute;
    top: -96px;
    left: -102px;
    width: 260px;
    height: 260px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--sgwp-accent, #b8a27a) 32%, transparent);
    opacity: .44;
    pointer-events: none;
}

.sgwp-icon-brand {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    gap: 8px;
    text-align: center;
    padding: 4px 6px 22px;
}

.sgwp-icon-logo {
    display: block;
    width: auto;
    max-width: min(240px, 82vw);
    max-height: 120px;
    object-fit: contain;
    margin: 0 auto 8px;
    filter: drop-shadow(0 12px 22px color-mix(in srgb, var(--sgwp-theme-shadow, rgba(32,25,16,.12)) 34%, transparent));
}

.sgwp-icon-monogram {
    display: grid;
    place-items: center;
    min-width: 74px;
    height: 74px;
    padding: 0 18px;
    margin: 0 auto 8px;
    border: 1px solid color-mix(in srgb, var(--sgwp-accent, #b8a27a) 42%, var(--sgwp-border));
    border-radius: 26px;
    background: color-mix(in srgb, var(--sgwp-theme-card, #fff) 70%, transparent);
    color: color-mix(in srgb, var(--sgwp-accent, #b8a27a) 76%, var(--sgwp-theme-text, #151515));
    font-family: var(--sgwp-font-heading, var(--sgwp-font-body, Inter, sans-serif));
    font-size: 31px;
    font-weight: 760;
    letter-spacing: .08em;
    box-shadow: var(--sgwp-shadow-soft), inset 0 1px 0 color-mix(in srgb, var(--sgwp-theme-card, #fff) 82%, transparent);
}

.sgwp-icon-brand h1 {
    margin: 0;
    max-width: 100%;
    color: var(--sgwp-theme-text, #151515);
    font-family: var(--sgwp-font-heading, var(--sgwp-font-body, Inter, sans-serif));
    font-size: clamp(32px, 9vw, 52px);
    font-weight: 760;
    letter-spacing: -.035em;
    line-height: 1.02;
    overflow-wrap: anywhere;
}

.sgwp-icon-subtitle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 6px 0 0;
    color: var(--sgwp-theme-muted, #716a60);
    font-family: var(--sgwp-font-label, var(--sgwp-font-body, Inter, sans-serif));
    font-size: 12px;
    font-weight: 820;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.sgwp-icon-subtitle::before,
.sgwp-icon-subtitle::after { content:""; width:32px; height:1px; background:var(--sgwp-accent,#b8a27a); opacity:.72; }
.sgwp-icon-note { margin: 4px 0 0; color: var(--sgwp-theme-muted, #716a60); font-size: 13px; font-weight: 650; }

.sgwp-icon-welcome,
.sgwp-icon-empty,
.sgwp-suite-intro,
.sgwp-place-intro,
.sgwp-booking-disclaimer,
.sgwp-booking-status {
    position: relative;
    z-index: 1;
    padding: 14px 16px;
    border: 1px solid var(--sgwp-border);
    border-radius: 22px;
    background: color-mix(in srgb, var(--sgwp-theme-card, #fff) 72%, transparent);
    color: var(--sgwp-theme-muted, #716a60);
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--sgwp-theme-card, #fff) 70%, transparent);
}
.sgwp-icon-welcome { margin: 0 0 16px; text-align: center; font-size: 14px; }
.sgwp-icon-welcome p,
.sgwp-icon-empty p,
.sgwp-suite-intro p,
.sgwp-place-intro p,
.sgwp-booking-public p { margin: 0 0 9px; }
.sgwp-icon-welcome p:last-child,
.sgwp-icon-empty p:last-child,
.sgwp-suite-intro p:last-child,
.sgwp-place-intro p:last-child,
.sgwp-booking-public p:last-child { margin-bottom: 0; }

.sgwp-icon-quick-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin: 4px 0 14px;
}

.sgwp-icon-quick,
.sgwp-visitor-accordion-toggle {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    border: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.sgwp-icon-quick {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 10px 14px;
    border: 1px solid var(--sgwp-border);
    border-radius: 999px;
    background: var(--sgwp-surface);
    color: var(--sgwp-theme-text, #151515);
    box-shadow: var(--sgwp-shadow-soft);
    text-align: left;
    font-weight: 820;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.sgwp-icon-quick:hover,
.sgwp-icon-quick:focus-visible { transform: translateY(-1px); border-color: color-mix(in srgb, var(--sgwp-accent,#b8a27a) 45%, var(--sgwp-border)); outline: none; }
.sgwp-icon-quick-symbol {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 999px;
    background: var(--sgwp-surface-chip);
    color: var(--sgwp-theme-text, #151515);
    border: 1px solid color-mix(in srgb, var(--sgwp-theme-text,#151515) 10%, transparent);
}
.sgwp-icon-quick-symbol svg { width: 22px; height: 22px; }

.sgwp-visitor-accordion-list { position: relative; z-index: 1; display: grid; gap: 12px; }
.sgwp-visitor-accordion {
    overflow: hidden;
    border: 1px solid var(--sgwp-border);
    border-radius: 26px;
    background: var(--sgwp-surface);
    color: var(--sgwp-theme-text, #151515);
    box-shadow: var(--sgwp-shadow-card);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.sgwp-visitor-accordion.is-open { border-color: color-mix(in srgb, var(--sgwp-accent,#b8a27a) 48%, var(--sgwp-border)); }
.sgwp-visitor-accordion-toggle { display: grid; grid-template-columns: 48px minmax(0, 1fr) 26px; align-items: center; gap: 12px; min-height: 76px; padding: 12px 14px; background: transparent; text-align: left; }
.sgwp-visitor-accordion-symbol { display:grid; place-items:center; width:48px; height:48px; border-radius:18px; background:var(--sgwp-surface-chip); color:var(--sgwp-theme-text,#151515); border:1px solid color-mix(in srgb, var(--sgwp-theme-text,#151515) 10%, transparent); }
.sgwp-visitor-accordion-symbol svg { width:25px; height:25px; }
.sgwp-visitor-accordion-title { min-width:0; color:var(--sgwp-theme-text,#151515); font-family:var(--sgwp-font-heading,var(--sgwp-font-body,Inter,sans-serif)); font-size:18px; font-weight:760; letter-spacing:-.02em; overflow-wrap:anywhere; }
.sgwp-visitor-accordion-arrow { display:grid; place-items:center; width:26px; height:26px; border-radius:999px; color:var(--sgwp-theme-muted,#716a60); background:color-mix(in srgb, var(--sgwp-theme-chip,#f0eadf) 80%, transparent); transition:transform .18s ease; }
.sgwp-visitor-accordion.is-open .sgwp-visitor-accordion-arrow { transform: rotate(180deg); }
.sgwp-visitor-accordion-body { padding: 0 14px 16px 14px; }
.sgwp-visitor-accordion-content { padding: 14px; border-top: 1px solid var(--sgwp-border); color: var(--sgwp-theme-muted,#716a60); }
.sgwp-visitor-accordion-content :is(h1,h2,h3,h4,strong,b,label) { color: var(--sgwp-theme-text,#151515); }
.sgwp-visitor-accordion-content p { margin: 0 0 10px; }
.sgwp-visitor-accordion-content p:last-child { margin-bottom: 0; }

.sgwp-visitor-accordion-actions,
.sgwp-suite-public-actions,
.sgwp-suite-detail-actions,
.sgwp-place-public-actions,
.sgwp-booking-contact-actions,
.sgwp-icon-drawer-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(124px, 1fr)); gap: 9px; align-items: stretch; margin-top: 14px; }

.sgwp-action-surface,
.sgwp-visitor-accordion-actions a,
.sgwp-suite-public-actions a,
.sgwp-suite-public-actions button,
.sgwp-suite-detail-actions a,
.sgwp-place-public-actions a,
.sgwp-place-public-actions button,
.sgwp-booking-action,
.sgwp-booking-submit,
.sgwp-booking-contact-actions a,
.sgwp-modal-copy,
.sgwp-icon-drawer-actions a {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: var(--sgwp-action-height);
    width: 100%;
    padding: 0 14px;
    border: 1px solid var(--sgwp-border);
    border-radius: var(--sgwp-action-radius);
    background: var(--sgwp-surface);
    color: var(--sgwp-theme-text,#151515) !important;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.15;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 12px 26px var(--sgwp-theme-shadow,rgba(32,25,16,.12)), inset 0 1px 0 color-mix(in srgb, var(--sgwp-theme-card,#fff) 70%, transparent);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.sgwp-action-surface:hover,
.sgwp-action-surface:focus-visible,
.sgwp-visitor-accordion-actions a:hover,
.sgwp-suite-public-actions a:hover,
.sgwp-suite-public-actions button:hover,
.sgwp-suite-detail-actions a:hover,
.sgwp-place-public-actions a:hover,
.sgwp-place-public-actions button:hover,
.sgwp-booking-action:hover,
.sgwp-booking-submit:hover,
.sgwp-booking-contact-actions a:hover,
.sgwp-modal-copy:hover,
.sgwp-icon-drawer-actions a:hover { transform: translateY(-1px); border-color: color-mix(in srgb, var(--sgwp-accent,#b8a27a) 42%, var(--sgwp-border)); outline: none; }
.sgwp-action-accent,
.sgwp-suite-action-map,
.sgwp-suite-detail-actions .sgwp-action-accent { background: linear-gradient(145deg, color-mix(in srgb, var(--sgwp-accent,#b8a27a) 88%, #fff 12%), var(--sgwp-accent,#b8a27a)) !important; color: var(--sgwp-theme-on-accent,#111827) !important; border-color: color-mix(in srgb, var(--sgwp-accent,#b8a27a) 62%, var(--sgwp-border)) !important; }
.sgwp-action-primary,
.sgwp-booking-action,
.sgwp-booking-submit,
.sgwp-suite-action-booking,
.sgwp-place-public-primary,
.sgwp-modal-copy { background: linear-gradient(145deg, color-mix(in srgb, var(--sgwp-primary,#1f6feb) 92%, #fff 8%), var(--sgwp-primary,#1f6feb)) !important; color: var(--sgwp-on-primary,#fff) !important; border-color: color-mix(in srgb, var(--sgwp-primary,#1f6feb) 62%, var(--sgwp-border)) !important; }
.sgwp-action-neutral,
.sgwp-suite-action-details,
.sgwp-place-public-actions button,
.sgwp-booking-contact-actions a { background: var(--sgwp-surface) !important; color: var(--sgwp-theme-text,#151515) !important; }
[data-sgwp-suite-toggle].sgwp-action-neutral[aria-expanded="true"],
.sgwp-place-public-actions button[aria-expanded="true"] { background: linear-gradient(145deg, color-mix(in srgb, var(--sgwp-accent,#b8a27a) 20%, var(--sgwp-theme-card,#fff)), color-mix(in srgb, var(--sgwp-accent,#b8a27a) 28%, var(--sgwp-theme-card-2,#f8f3ea))) !important; border-color: color-mix(in srgb, var(--sgwp-accent,#b8a27a) 48%, var(--sgwp-border)) !important; }
.sgwp-action-surface svg,
.sgwp-suite-action-icon svg { stroke: currentColor; }

.sgwp-modal-detail-grid,
.sgwp-suite-detail-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 2px 0 12px; }
.sgwp-modal-detail-grid div,
.sgwp-suite-detail-facts div { padding: 12px; border: 1px solid var(--sgwp-border); border-radius: 17px; background: color-mix(in srgb, var(--sgwp-theme-card,#fff) 88%, var(--sgwp-theme-panel,#fbfaf7)); color: var(--sgwp-theme-muted,#716a60); }
.sgwp-modal-detail-grid span,
.sgwp-suite-detail-facts span { display:block; margin-bottom:3px; color:var(--sgwp-theme-muted,#716a60); font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.sgwp-modal-detail-grid strong,
.sgwp-suite-detail-facts strong,
.sgwp-code { display:block; color:var(--sgwp-theme-text,#151515); font-weight:860; overflow-wrap:anywhere; }
.sgwp-code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }

.sgwp-social-grid,
.sgwp-contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(128px,1fr)); gap:10px; }
.sgwp-social-tile,
.sgwp-contact-tile { display:grid; gap:8px; justify-items:center; align-content:center; min-height:118px; padding:14px 10px; border:1px solid var(--sgwp-border); border-radius:22px; background:var(--sgwp-surface); color:var(--sgwp-theme-text,#151515); text-align:center; text-decoration:none; box-shadow:var(--sgwp-shadow-soft); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.sgwp-contact-tile { justify-items:start; text-align:left; grid-template-columns:44px 1fr; min-height:88px; align-content:center; }
.sgwp-social-tile:hover,
.sgwp-contact-tile:hover,
.sgwp-social-tile:focus-visible,
.sgwp-contact-tile:focus-visible { transform:translateY(-1px); border-color:color-mix(in srgb, var(--sgwp-accent,#b8a27a) 42%, var(--sgwp-border)); outline:none; }
.sgwp-social-tile-icon,
.sgwp-contact-tile-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:16px; background:var(--sgwp-surface-chip); color:var(--sgwp-theme-text,#151515); border:1px solid color-mix(in srgb, var(--sgwp-theme-text,#151515) 10%, transparent); }
.sgwp-social-tile-icon svg,
.sgwp-contact-tile-icon svg { width:24px; height:24px; }
.sgwp-social-tile-label,
.sgwp-contact-tile-text strong { color:var(--sgwp-theme-text,#151515); font-family:var(--sgwp-font-heading,var(--sgwp-font-body,Inter,sans-serif)); font-size:15px; font-weight:760; line-height:1.2; }
.sgwp-contact-tile-text small { display:block; margin-top:3px; color:var(--sgwp-theme-muted,#716a60); font-size:12px; line-height:1.32; overflow-wrap:anywhere; }
.sgwp-contact-group-intro,
.sgwp-location-note { color: var(--sgwp-theme-muted,#716a60); }

.sgwp-suite-directory,
.sgwp-place-directory { display:grid; gap:16px; margin-top:4px; }
.sgwp-suite-public-card,
.sgwp-place-public-card { overflow:hidden; border:1px solid var(--sgwp-border); border-radius:28px; background:var(--sgwp-surface); color:var(--sgwp-theme-text,#151515); box-shadow:var(--sgwp-shadow-card); }
.sgwp-suite-public-photo,
.sgwp-place-public-photo { display:grid; place-items:center; width:100%; aspect-ratio:16/9.6; margin:0; overflow:hidden; background:color-mix(in srgb, var(--sgwp-accent,#b8a27a) 14%, var(--sgwp-theme-chip,#f0eadf)); color:var(--sgwp-theme-text,#151515); }
.sgwp-suite-public-photo img,
.sgwp-place-public-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.sgwp-suite-public-photo-empty svg,
.sgwp-place-public-photo-empty svg { width:46px; height:46px; }
.sgwp-suite-public-copy,
.sgwp-place-public-copy { padding:clamp(16px,4vw,22px); }
.sgwp-suite-public-eyebrow,
.sgwp-place-public-eyebrow { margin:0 0 8px; color:color-mix(in srgb, var(--sgwp-theme-text,#151515) 78%, var(--sgwp-theme-muted,#716a60)); font-size:12px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.sgwp-suite-public-copy h3,
.sgwp-place-public-heading h3 { margin:0; color:var(--sgwp-theme-text,#151515); font-family:var(--sgwp-font-heading,var(--sgwp-font-body,Inter,sans-serif)); font-size:clamp(25px,7vw,39px); font-weight:760; letter-spacing:-.045em; line-height:1.06; overflow-wrap:anywhere; }
.sgwp-place-public-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:8px; }
.sgwp-place-public-heading span { flex:0 0 auto; padding:6px 9px; border:1px solid var(--sgwp-border); border-radius:999px; background:var(--sgwp-surface-chip); color:var(--sgwp-theme-text,#151515); font-size:11px; font-weight:850; }
.sgwp-suite-public-subtitle,
.sgwp-place-public-subtitle,
.sgwp-place-public-short,
.sgwp-place-public-address { margin:8px 0 0; color:color-mix(in srgb, var(--sgwp-theme-text,#151515) 78%, var(--sgwp-theme-muted,#716a60)); font-size:15px; font-weight:730; line-height:1.36; }
.sgwp-suite-public-specs { display:inline-flex; align-items:center; min-height:40px; margin:13px 0 0 !important; padding:0 16px; border:1px solid var(--sgwp-border); border-radius:999px; background:color-mix(in srgb, var(--sgwp-theme-card,#fff) 82%, var(--sgwp-theme-chip,#f0eadf)); color:var(--sgwp-theme-text,#151515); font-size:14px; font-weight:820; line-height:1.2; box-shadow:inset 0 1px 0 color-mix(in srgb, var(--sgwp-theme-card,#fff) 72%, transparent); }
.sgwp-suite-public-info,
.sgwp-place-public-details { color:var(--sgwp-theme-muted,#716a60); font-size:14px; line-height:1.62; }
.sgwp-suite-public-detail-panel,
.sgwp-place-public-details { margin-top:14px; }
.sgwp-suite-detail-panel-inner,
.sgwp-place-public-details { padding:15px; border:1px solid var(--sgwp-border); border-radius:22px; background:color-mix(in srgb, var(--sgwp-theme-card,#fff) 86%, var(--sgwp-theme-panel,#fbfaf7)); box-shadow:inset 0 1px 0 color-mix(in srgb, var(--sgwp-theme-card,#fff) 70%, transparent); }
.sgwp-suite-detail-panel-inner h4 { margin:0 0 10px; color:var(--sgwp-theme-text,#151515); font-size:15px; font-weight:880; }

.sgwp-booking-public { color:var(--sgwp-theme-muted,#716a60); }
.sgwp-booking-public > p { margin:0 0 12px; }
.sgwp-booking-disclaimer { margin:0 0 14px; color:color-mix(in srgb, var(--sgwp-theme-text,#151515) 74%, var(--sgwp-theme-muted,#716a60)); }
.sgwp-booking-status { margin-bottom:14px; color:var(--sgwp-theme-text,#151515); }
.sgwp-booking-status.is-success { border-color:color-mix(in srgb, #22c55e 42%, var(--sgwp-border)); background:color-mix(in srgb, #22c55e 10%, var(--sgwp-theme-card,#fff)); }
.sgwp-booking-status.is-error { border-color:color-mix(in srgb, #ef4444 42%, var(--sgwp-border)); background:color-mix(in srgb, #ef4444 10%, var(--sgwp-theme-card,#fff)); }
.sgwp-booking-form { display:grid; gap:12px; padding:14px; border:1px solid var(--sgwp-border); border-radius:24px; background:var(--sgwp-surface); color:var(--sgwp-theme-text,#151515); }
.sgwp-booking-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.sgwp-booking-field { display:grid; gap:6px; margin:0; color:var(--sgwp-theme-text,#151515); font-weight:820; }
.sgwp-booking-field-full { grid-column:1/-1; }
.sgwp-booking-field input,
.sgwp-booking-field textarea,
.sgwp-booking-field select { width:100%; border:1px solid var(--sgwp-border); border-radius:16px; padding:12px 13px; background:color-mix(in srgb, var(--sgwp-theme-card,#fff) 90%, var(--sgwp-theme-panel,#fbfaf7)); color:var(--sgwp-theme-text,#151515); font:inherit; box-shadow:inset 0 1px 0 color-mix(in srgb, var(--sgwp-theme-card,#fff) 70%, transparent); }
.sgwp-booking-field input::placeholder,
.sgwp-booking-field textarea::placeholder { color:var(--sgwp-theme-muted,#716a60); opacity:.9; }
.sgwp-booking-privacy { color:var(--sgwp-theme-muted,#716a60); font-size:13px; }
.sgwp-booking-hp { display:none !important; }

.sgwp-icon-empty { text-align:center; margin-top:10px; }
.sgwp-icon-empty h2 { margin:0 0 8px; color:var(--sgwp-theme-text,#151515); font-family:var(--sgwp-font-heading,var(--sgwp-font-body,Inter,sans-serif)); font-size:26px; line-height:1.12; }
.sgwp-icon-footer { position:relative; z-index:1; padding:22px 8px 0; color:var(--sgwp-theme-muted,#716a60); font-size:12px; text-align:center; }
.sgwp-icon-footer p { margin:0; }

.sgwp-icon-overlay[aria-hidden="true"] { display:none; }
.sgwp-icon-overlay { position:fixed; inset:0; z-index:99999; display:grid; align-items:end; padding:14px; background:rgba(0,0,0,.42); }
.sgwp-icon-drawer { width:min(100%,520px); margin:0 auto; border:1px solid var(--sgwp-border); border-radius:28px; background:var(--sgwp-surface); color:var(--sgwp-theme-text,#151515); box-shadow:0 24px 60px rgba(0,0,0,.28); }
.sgwp-modal-copy.is-copied { filter:saturate(1.1) brightness(.98); }

@media (max-width:520px) {
    .sgwp-icon-shell { padding:0; }
    .sgwp-icon-card { min-height:100vh; border-radius:0; border-left:0; border-right:0; }
    .sgwp-icon-brand h1 { font-size:clamp(30px,10vw,44px); }
    .sgwp-visitor-accordion-toggle { grid-template-columns:44px minmax(0,1fr) 24px; padding:11px 12px; }
    .sgwp-visitor-accordion-symbol { width:44px; height:44px; }
    .sgwp-booking-form-grid { grid-template-columns:1fr; }
}
@media (max-width:390px) {
    .sgwp-visitor-accordion-actions,
    .sgwp-suite-public-actions,
    .sgwp-place-public-actions,
    .sgwp-suite-detail-actions,
    .sgwp-booking-contact-actions { grid-template-columns:1fr; }
    .sgwp-action-surface,
    .sgwp-visitor-accordion-actions a,
    .sgwp-suite-public-actions a,
    .sgwp-suite-public-actions button,
    .sgwp-place-public-actions a,
    .sgwp-place-public-actions button,
    .sgwp-booking-contact-actions a { justify-content:flex-start; }
}

/* 2.39.16 — keep the top visitor quick icons in two columns on mobile.
   Do not apply this to the lower action rows; only the animated top icons. */
@media (max-width: 520px) {
    .sgwp-icon-quick-grid.sgwp-icon-quick-grid-accordion {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* myguideqr 0.35.0 — reviews section */
.sgwp-review-public { display:grid; gap:12px; }
.sgwp-review-intro { margin:0; color:var(--sgwp-theme-muted,#716a60); }
.sgwp-review-intro p { margin:0 0 8px; }
.sgwp-review-intro p:last-child { margin-bottom:0; }
.sgwp-review-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(128px,1fr)); gap:10px; }
.sgwp-review-tile { display:grid; gap:8px; justify-items:center; align-content:center; min-height:126px; padding:14px 10px; border:1px solid var(--sgwp-border); border-radius:22px; background:var(--sgwp-surface); color:var(--sgwp-theme-text,#151515); text-align:center; text-decoration:none; box-shadow:var(--sgwp-shadow-soft); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.sgwp-review-tile:hover,
.sgwp-review-tile:focus-visible { transform:translateY(-1px); border-color:color-mix(in srgb, var(--sgwp-accent,#b8a27a) 42%, var(--sgwp-border)); outline:none; }
.sgwp-review-tile-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:16px; background:var(--sgwp-surface-chip); color:var(--sgwp-theme-text,#151515); border:1px solid color-mix(in srgb, var(--sgwp-theme-text,#151515) 10%, transparent); }
.sgwp-review-tile-icon svg { width:25px; height:25px; }
.sgwp-review-tile-label { color:var(--sgwp-theme-text,#151515); font-family:var(--sgwp-font-heading,var(--sgwp-font-body,Inter,sans-serif)); font-size:15px; font-weight:780; line-height:1.2; }
.sgwp-review-tile-cta { color:var(--sgwp-theme-muted,#716a60); font-size:11px; font-weight:820; letter-spacing:.05em; text-transform:uppercase; }
body.sgwp-guide[class*="sgwp-theme-"] .sgwp-review-tile { border-color:var(--sgwp-border); background:var(--sgwp-surface); color:var(--sgwp-theme-text); }
body.sgwp-guide[class*="sgwp-theme-"] .sgwp-review-tile-label { color:var(--sgwp-theme-text); }
body.sgwp-guide[class*="sgwp-theme-"] .sgwp-review-tile-cta,
body.sgwp-guide[class*="sgwp-theme-"] .sgwp-review-intro { color:var(--sgwp-theme-muted); }
body.sgwp-guide[class*="sgwp-theme-"] .sgwp-review-tile-icon { background:var(--sgwp-surface-chip); color:var(--sgwp-theme-text); border-color:color-mix(in srgb, var(--sgwp-theme-text) 10%, transparent); }

/* myguideqr 0.37.0 — Greek phone/emergency contact cards */
.sgwp-emergency-public {
    display: grid;
    gap: 12px;
}
.sgwp-emergency-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}
.sgwp-emergency-card {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    min-height: 86px;
    padding: 14px !important;
    text-align: left;
    white-space: normal !important;
}
.sgwp-emergency-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 17px;
    background: var(--sgwp-surface-chip, color-mix(in srgb, var(--sgwp-accent, #b8a27a) 16%, var(--sgwp-surface, #fff)));
    color: var(--sgwp-theme-text, #151515);
    border: 1px solid color-mix(in srgb, var(--sgwp-theme-text, #151515) 10%, transparent);
}
.sgwp-emergency-icon svg {
    width: 25px;
    height: 25px;
}
.sgwp-emergency-text {
    min-width: 0;
    display: block;
}
.sgwp-emergency-text strong,
.sgwp-emergency-text small,
.sgwp-emergency-text em {
    display: block;
}
.sgwp-emergency-text strong {
    color: var(--sgwp-theme-text, #151515);
    font-family: var(--sgwp-font-heading, var(--sgwp-font-body, Inter, sans-serif));
    font-size: 15px;
    font-weight: 780;
    line-height: 1.18;
}
.sgwp-emergency-text small {
    margin-top: 3px;
    color: var(--sgwp-theme-text, #151515);
    font-size: 13px;
    font-weight: 850;
    overflow-wrap: anywhere;
}
.sgwp-emergency-text em {
    margin-top: 3px;
    color: var(--sgwp-theme-muted, #716a60);
    font-style: normal;
    font-size: 12px;
    line-height: 1.28;
}
.sgwp-emergency-call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--sgwp-accent, #b8a27a);
    color: var(--sgwp-theme-on-accent, #111827);
    font-size: 11px;
    font-weight: 920;
    white-space: nowrap;
}
.sgwp-emergency-extra-note {
    padding: 13px 14px;
    border: 1px solid var(--sgwp-border, rgba(17,24,39,.10));
    border-radius: 18px;
    background: var(--sgwp-surface-soft, color-mix(in srgb, var(--sgwp-surface, #fff) 88%, var(--sgwp-surface-2, #f8fafc)));
    color: var(--sgwp-theme-muted, #716a60);
}
.sgwp-emergency-extra-note p { margin: 0 0 8px; }
.sgwp-emergency-extra-note p:last-child { margin-bottom: 0; }
body.sgwp-guide[class*="sgwp-theme-"] .sgwp-emergency-card {
    background: var(--sgwp-action-neutral-bg, var(--sgwp-surface)) !important;
    color: var(--sgwp-theme-text) !important;
    border-color: var(--sgwp-border) !important;
}
body.sgwp-guide[class*="sgwp-theme-"] .sgwp-emergency-icon {
    background: var(--sgwp-surface-chip) !important;
    color: var(--sgwp-theme-text) !important;
}
body.sgwp-guide[class*="sgwp-theme-"] .sgwp-emergency-call {
    background: var(--sgwp-accent) !important;
    color: var(--sgwp-theme-on-accent) !important;
}
@media (max-width: 430px) {
    .sgwp-emergency-card {
        grid-template-columns: 44px minmax(0, 1fr);
    }
    .sgwp-emergency-call {
        grid-column: 1 / -1;
        justify-self: start;
    }
}


/* myguideqr 2.32.9 — defensive responsive action surfaces */
.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;
    min-width: 0;
    max-width: 100%;
    height: auto;
    min-height: 42px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
.sgwp-contact-tile {
    grid-template-columns: 46px minmax(0, 1fr);
}
.sgwp-contact-tile-text,
.sgwp-contact-tile-label,
.sgwp-contact-tile-value {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}
