@import url("/_content/Guestivity.Shared.UI/css/help.css");
@import url("/_content/Guestivity.Shared.UI/css/creator-partnerships.css");
@import url("/_content/Guestivity.Shared.UI/css/booking-extras.css");
@import url("/_content/Guestivity.Shared.UI/css/guest-message-choices.css");
@import url("/_content/Guestivity.Shared.UI/css/reservation-message-choices.css");
@import url("/_content/Guestivity.Shared.UI/css/booking-phone-proof.css");
@import url("/_content/Guestivity.Shared.UI/css/company-marketing-choices.css");
:root {
    --gstvt-ink: #1e1e1e;
    --gstvt-highlight-yellow: #ffe600;
    --gstvt-sidebar-width: 17.5rem;
    --gstvt-sidebar-width-mobile: 19rem;
    --gstvt-muted: #6d7280;
    --gstvt-blue: #456bf3;
    --gstvt-blue-strong: #2f73f6;
    --gstvt-violet: #6938d3;
    --gstvt-green: #18a968;
    --gstvt-emerald: #247652;
    --gstvt-canvas: #f6f7fb;
    --gstvt-soft: #e9e9f1;
    --gstvt-soft-blue: #eef3ff;
    --gstvt-soft-violet: #f1edff;
    --gstvt-line: #d8dbe6;
    --gstvt-shadow-soft: 0 14px 36px rgba(31, 42, 68, 0.06);
    --font-sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    --tracking-normal: 0;
    --background: #ffffff;
    --foreground: var(--gstvt-ink);
    --card: #ffffff;
    --card-foreground: var(--gstvt-ink);
    --popover: #ffffff;
    --popover-foreground: var(--gstvt-ink);
    --primary: var(--gstvt-blue);
    --primary-foreground: #ffffff;
    --secondary: var(--gstvt-soft);
    --secondary-foreground: var(--gstvt-ink);
    --muted: #f4f6fb;
    --muted-foreground: var(--gstvt-muted);
    --accent: var(--gstvt-soft-blue);
    --accent-foreground: var(--gstvt-blue);
    --destructive: #d84d4d;
    --destructive-foreground: #ffffff;
    --border: var(--gstvt-line);
    --input: var(--gstvt-line);
    --ring: rgba(69, 107, 243, 0.45);
    --radius: 0.5rem;
    --hbs-ink: var(--gstvt-ink);
    --hbs-muted: var(--gstvt-muted);
    --hbs-green: #263440;
    --hbs-green-2: var(--gstvt-blue);
    --hbs-coral: var(--gstvt-violet);
    --hbs-gold: #c79a38;
    --hbs-paper: #ffffff;
    --hbs-canvas: var(--gstvt-canvas);
    --hbs-line: var(--gstvt-line);
    --hbs-soft-green: var(--gstvt-soft-blue);
    --hbs-soft-coral: var(--gstvt-soft-violet);
    --hbs-radius: 8px;
}

body {
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    letter-spacing: 0;
}

/* Public feature stories and CMS detail pages. */
.gstvt-feature-section { padding: 88px 0; color: var(--gstvt-ink); }
.gstvt-feature-heading { max-width: 850px; margin-bottom: 64px; }
.gstvt-feature-heading h2, .gstvt-feature-detail-hero h1 { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.12; letter-spacing: -.035em; margin-bottom: 24px; }
.gstvt-feature-heading > p:last-of-type, .gstvt-feature-detail-hero .container > p:last-of-type { font-size: 1.15rem; color: var(--gstvt-muted); max-width: 690px; }
.gstvt-feature-links, .gstvt-feature-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.gstvt-feature-links a, .gstvt-feature-tags span { border: 1px solid var(--gstvt-line); padding: 9px 14px; border-radius: 8px; font-size: .9rem; }
.gstvt-feature-links a { color: var(--gstvt-ink); background: var(--gstvt-surface, white); text-decoration: none; }
.gstvt-feature-links a:hover { border-color: var(--gstvt-violet); color: var(--gstvt-violet); }
.gstvt-feature-row { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); gap: 48px; align-items: center; margin-bottom: 88px; scroll-margin-top: 100px; }
.gstvt-feature-row-reverse { grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); }
.gstvt-feature-row-reverse .gstvt-feature-copy { order: 2; }
.gstvt-feature-copy h2, .gstvt-feature-copy h3, .gstvt-feature-relationship h2, .gstvt-feature-relationship h3 { font-size: clamp(1.6rem, 2.4vw, 2.15rem); letter-spacing: -.025em; line-height: 1.2; margin-bottom: 20px; }
.gstvt-feature-copy p, .gstvt-feature-relationship p { line-height: 1.7; }
.gstvt-feature-list { padding-left: 1.2rem; margin: 24px 0; }
.gstvt-feature-list li { padding-left: 5px; margin-bottom: 12px; line-height: 1.55; }
.gstvt-feature-list li::marker { color: var(--gstvt-violet); }
.gstvt-feature-link { font-weight: 600; color: var(--gstvt-violet); text-decoration: underline; text-underline-offset: 5px; }
.gstvt-feature-figure { margin: 0; min-width: 0; }
.gstvt-feature-figure a { display: block; border-radius: 12px; border: 1px solid var(--gstvt-line); overflow: hidden; box-shadow: var(--gstvt-shadow-soft); background: var(--gstvt-canvas); }
.gstvt-feature-figure img { display: block; width: 100%; height: auto; }
.gstvt-feature-calendar { grid-template-columns: minmax(0, 1fr); gap: 32px; }
.gstvt-feature-calendar .gstvt-feature-copy > p:not(.hbs-eyebrow) { max-width: 780px; }
.gstvt-feature-calendar .gstvt-feature-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.gstvt-feature-carousel { min-width: 0; }
.gstvt-feature-carousel .carousel-item { margin-right: -100%; }
.gstvt-feature-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 20px; }
.gstvt-feature-carousel-controls > button { width: 44px; height: 44px; border: 1px solid var(--gstvt-line); border-radius: 50%; background: var(--gstvt-surface, #fff); color: var(--gstvt-ink, #172723); font-size: 1.25rem; }
.gstvt-feature-carousel-controls > button:hover { background: var(--gstvt-canvas); }
.gstvt-feature-carousel-controls .carousel-indicators { position: static; margin: 0; gap: 4px; }
.gstvt-feature-carousel-controls .carousel-indicators button { box-sizing: border-box; width: 32px; height: 44px; border: 0; border-radius: 0; opacity: 1; background: transparent; position: relative; }
.gstvt-feature-carousel-controls .carousel-indicators button::after { content: ''; position: absolute; width: 8px; height: 8px; top: 18px; left: 12px; border-radius: 50%; background: #88918e; }
.gstvt-feature-carousel-controls .carousel-indicators button.active::after { background: #172723; transform: scale(1.4); }
.gstvt-feature-carousel-controls button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 767px) { .gstvt-feature-calendar .gstvt-feature-list { grid-template-columns: minmax(0, 1fr); } }
.gstvt-feature-figure figcaption { margin-top: 14px; font-size: .8rem; line-height: 1.5; color: var(--gstvt-muted); }
.gstvt-feature-relationship { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; background: var(--gstvt-soft-violet); border-radius: 16px; padding: 40px; margin-bottom: 88px; }
.gstvt-feature-relationship h4 { font-size: 1.25rem; margin-bottom: 16px; }
.gstvt-feature-tags { margin-bottom: 20px; }
.gstvt-feature-tags span { background: var(--gstvt-surface, white); }
.gstvt-feature-note { font-size: .85rem; color: var(--gstvt-muted); line-height: 1.6; }
.gstvt-feature-section .gstvt-feature-row:last-child, .gstvt-feature-section .gstvt-feature-relationship:last-child { margin-bottom: 0; }
.gstvt-feature-detail-hero { background: var(--gstvt-canvas); padding: 64px 0; }
.gstvt-feature-detail-hero .hbs-eyebrow { margin-top: 40px; }
.gstvt-feature-detail-hero .btn { margin-top: 12px; }
.gstvt-feature-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: 80px; }
.gstvt-feature-card-grid article { padding: 28px; border: 1px solid var(--gstvt-line); border-radius: 12px; }
.gstvt-feature-card-grid .material-symbols-outlined { color: var(--gstvt-violet); font-size: 2rem; margin-bottom: 24px; }
.gstvt-feature-card-grid h2 { font-size: 1.35rem; margin-bottom: 16px; }
.gstvt-feature-card-grid p { line-height: 1.7; margin: 0; }
.gstvt-feature-payments { margin-bottom: 80px; }
/* CSS-only logo loop: one accessible list and an inert visual duplicate. */
.gstvt-payment-showcase { margin-bottom: 88px; scroll-margin-top: 100px; min-width: 0; }
.gstvt-payment-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.gstvt-payment-heading > div { max-width: 720px; }
.gstvt-payment-heading h3 { font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: -.025em; margin-bottom: 16px; }
.gstvt-payment-heading p:last-child { color: var(--gstvt-muted); line-height: 1.7; margin-bottom: 0; }
.gstvt-logo-motion { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; font-size: .82rem; cursor: pointer; padding: 10px 0; }
.gstvt-logo-motion input { width: 16px; height: 16px; margin: 0; accent-color: var(--gstvt-violet); cursor: pointer; }
.gstvt-logo-motion input:focus-visible { outline: 2px solid var(--gstvt-violet); outline-offset: 4px; }
.gstvt-logo-viewport { overflow: hidden; border-block: 1px solid var(--gstvt-line); padding: 24px 0; mask-image: linear-gradient(to right, transparent, black 3%, black 97%, transparent); }
.gstvt-logo-track { display: flex; width: max-content; animation: gstvt-payment-logo-loop 65s linear infinite; }
.gstvt-logo-group { display: flex; flex-shrink: 0; gap: 12px; list-style: none; margin: 0; padding: 0 12px 0 0; }
.gstvt-logo-tile { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; width: 184px; min-height: 138px; padding: 20px 12px; border: 1px solid var(--gstvt-line); border-radius: 12px; background: var(--gstvt-surface, #fff); }
.gstvt-logo-tile img { display: block; width: 96px; height: 36px; object-fit: contain; }
.gstvt-logo-name { color: var(--gstvt-ink); font-size: .9rem; font-weight: 600; text-align: center; }
.gstvt-logo-status { color: var(--gstvt-muted); font-size: .72rem; text-align: center; }
.gstvt-payment-showcase:has(.gstvt-logo-pause:checked) .gstvt-logo-track,
.gstvt-logo-viewport:hover .gstvt-logo-track { animation-play-state: paused; }
.gstvt-payment-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 32px 0 24px; }
.gstvt-payment-highlights h4 { font-size: 1.05rem; margin-bottom: 12px; }
.gstvt-payment-highlights p { color: var(--gstvt-muted); font-size: .9rem; line-height: 1.7; margin-bottom: 0; }
.gstvt-payment-footer { display: flex; align-items: start; justify-content: space-between; gap: 24px; }
.gstvt-payment-footer p { max-width: 650px; margin: 0; }
.gstvt-payment-footer a { flex-shrink: 0; font-size: .9rem; }
@keyframes gstvt-payment-logo-loop { to { transform: translateX(-50%); } }
@media (max-width: 991.98px) {
    .gstvt-payment-heading { align-items: start; flex-direction: column; gap: 12px; }
    .gstvt-payment-highlights { gap: 20px; }
    .gstvt-payment-footer { flex-direction: column; gap: 12px; }
}
@media (max-width: 575.98px) {
    .gstvt-payment-showcase { margin-bottom: 60px; }
    .gstvt-payment-highlights { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (prefers-reduced-motion: reduce), print {
    .gstvt-logo-track { animation: none; transform: none; width: 100%; }
    .gstvt-logo-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); width: 100%; gap: 12px; padding: 0; }
    .gstvt-logo-tile { width: 100%; }
    .gstvt-logo-group[aria-hidden="true"], .gstvt-logo-motion { display: none; }
    .gstvt-logo-viewport { mask-image: none; overflow: visible; }
}
.gstvt-feature-table-wrap { overflow-x: auto; margin: 28px 0 16px; border: 1px solid var(--gstvt-line); border-radius: 10px; }
.gstvt-feature-table { width: 100%; border-collapse: collapse; min-width: 580px; }
.gstvt-feature-table caption { padding: 12px 20px; font-size: .85rem; }
.gstvt-feature-table th, .gstvt-feature-table td { padding: 18px 20px; border-bottom: 1px solid var(--gstvt-line); text-align: left; vertical-align: top; }
.gstvt-feature-table thead { background: var(--gstvt-canvas); }
.gstvt-feature-table th[scope="row"] { min-width: 145px; }
@media (max-width: 991.98px) {
    .gstvt-feature-row, .gstvt-feature-row-reverse { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-bottom: 60px; }
    .gstvt-feature-row-reverse .gstvt-feature-copy { order: 0; }
    .gstvt-feature-copy { max-width: 680px; }
    .gstvt-feature-relationship { gap: 28px; padding: 28px; margin-bottom: 60px; }
    .gstvt-feature-card-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
    .gstvt-feature-section, .gstvt-feature-detail-hero { padding: 48px 0; }
    .gstvt-feature-heading { margin-bottom: 40px; }
    .gstvt-feature-relationship { grid-template-columns: minmax(0, 1fr); padding: 24px; }
    .gstvt-feature-links { gap: 8px; }
    .gstvt-feature-links a { font-size: .82rem; padding: 9px 11px; }
}

a {
    color: var(--gstvt-blue);
    text-underline-offset: 0.18em;
}

.material-symbols-outlined {
    /*font-size: 1.25rem;
    line-height: 1;
    vertical-align: middle;*/
    font-size: 21px;
    vertical-align: middle;
}

.btn {
    border-radius: var(--hbs-radius);
}

.btn-primary,
.btn-dark {
    --bs-btn-bg: var(--gstvt-blue);
    --bs-btn-border-color: var(--gstvt-blue);
    --bs-btn-hover-bg: #2f58d8;
    --bs-btn-hover-border-color: #2f58d8;
}

.btn-outline-primary {
    --bs-btn-color: var(--gstvt-blue);
    --bs-btn-border-color: rgba(69, 107, 243, 0.42);
    --bs-btn-hover-bg: var(--gstvt-blue);
    --bs-btn-hover-border-color: var(--gstvt-blue);
}

.btn-outline-secondary {
    --bs-btn-color: #56606d;
    --bs-btn-border-color: var(--gstvt-line);
    --bs-btn-hover-color: var(--gstvt-ink);
    --bs-btn-hover-bg: var(--gstvt-soft-blue);
    --bs-btn-hover-border-color: rgba(69, 107, 243, 0.38);
}

.gstvt-workspace-shell .btn-primary,
.gstvt-workspace-shell .btn-dark {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--gstvt-workspace-primary);
    --bs-btn-border-color: var(--gstvt-workspace-primary);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--gstvt-workspace-primary-hover);
    --bs-btn-hover-border-color: var(--gstvt-workspace-primary-hover);
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: var(--gstvt-workspace-primary-hover);
    --bs-btn-active-border-color: var(--gstvt-workspace-primary-hover);
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #6f7378;
    --bs-btn-disabled-border-color: #6f7378;
}

.gstvt-workspace-shell .btn-outline-primary {
    --bs-btn-color: var(--gstvt-workspace-primary);
    --bs-btn-border-color: rgba(0, 0, 0, 0.42);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--gstvt-workspace-primary);
    --bs-btn-hover-border-color: var(--gstvt-workspace-primary);
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: var(--gstvt-workspace-primary);
    --bs-btn-active-border-color: var(--gstvt-workspace-primary);
}

.gstvt-workspace-shell .btn-outline-secondary {
    --bs-btn-hover-color: var(--gstvt-workspace-primary);
    --bs-btn-hover-bg: var(--gstvt-workspace-accent);
    --bs-btn-hover-border-color: rgba(0, 0, 0, 0.28);
}

.form-control,
.form-select {
    min-height: 2.5rem;
    border-color: var(--gstvt-line);
    border-radius: var(--hbs-radius);
    color: var(--gstvt-ink);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--gstvt-blue);
    box-shadow: 0 0 0 0.2rem rgba(69, 107, 243, 0.14);
}

.form-label {
    color: var(--gstvt-muted);
    font-size: 0.78rem;
    font-weight: 650;
}

.gstvt-shell,
.hbs-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.gstvt-workspace-shell,
.gstvt-workspace-sidebar,
.gstvt-sb-sidebar {
    --gstvt-workspace-primary: #000000;
    --gstvt-workspace-primary-hover: #242424;
    --gstvt-workspace-accent: #eef0f3;
    --sidebar: #ffffff;
    --sidebar-foreground: var(--gstvt-ink);
    --sidebar-primary: var(--gstvt-workspace-primary);
    --sidebar-primary-foreground: #ffffff;
    --sidebar-accent: var(--gstvt-workspace-accent);
    --sidebar-accent-foreground: var(--gstvt-workspace-primary);
    --sidebar-border: var(--gstvt-line);
    --sidebar-ring: rgba(0, 0, 0, 0.18);
    --sidebar-width: var(--gstvt-sidebar-width);
    --sidebar-width-mobile: var(--gstvt-sidebar-width-mobile);
    --sidebar-width-icon: 4.25rem;
    --sidebar-menu-button-height: auto;
    --sidebar-menu-button-px: 0.75rem;
    --sidebar-menu-button-py: 0.125rem;
    --sidebar-menu-button-font-size: 0.92rem;
    --sidebar-menu-button-font-weight: 500;
    --sidebar-menu-button-active-font-weight: 550;
    --sidebar-menu-button-active-bg: transparent;
    --sidebar-menu-button-active-color: #000000;
    --sidebar-menu-button-active-shadow: inset 3px 0 0 #000000;
    --sidebar-menu-button-radius: 8px;
    --sidebar-menu-button-gap: 0.7rem;
    --sidebar-menu-gap: 0.125rem;
    --sidebar-group-py: 0.25rem;
    --sidebar-group-label-height: 1.5rem;
    --sidebar-group-label-font-weight: 750;
    --sidebar-content-gap: 0.25rem;
}

.gstvt-workspace-shell {
    height: 100dvh;
    min-height: 100vh;
    overflow: hidden;
    --primary: var(--gstvt-workspace-primary);
    --primary-foreground: #ffffff;
    --accent: var(--gstvt-workspace-accent);
    --accent-foreground: var(--gstvt-workspace-primary);
    --ring: rgba(0, 0, 0, 0.24);
    background: var(--gstvt-canvas);
}

.gstvt-workspace-sidebar-height {
    height: 100dvh;
    min-height: 0;
    max-height: 100dvh;
    overflow: hidden;
}

.gstvt-workspace-sidebar {
    height: 100dvh;
    max-height: 100dvh;
    display: flex;
    flex-direction: column;
    background: var(--gstvt-surface, #ffffff);
    border-right: 1px solid var(--gstvt-line);
    overflow: hidden;
}

.gstvt-workspace-sidebar-header {
    flex: 0 0 auto;
    padding: 1rem;
    border-bottom: 1px solid var(--gstvt-line);
}

.gstvt-sidebar-brand,
.gstvt-sb-brand {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--gstvt-ink);
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.gstvt-sidebar-brand:hover {
    color: #000000;
}

.gstvt-sidebar-switcher {
    margin-top: 0;
}

.gstvt-sidebar-switcher-trigger {
    width: 100%;
    min-height: 4rem;
    justify-content: flex-start;
    gap: 0.65rem;
    padding: 0.6rem 0.7rem;
    color: var(--gstvt-ink) !important;
    background: var(--gstvt-surface-raised, #f8f9fb) !important;
    border: 1px solid var(--gstvt-line) !important;
    border-radius: 8px !important;
    text-align: left;
}

.gstvt-sidebar-switcher-trigger:hover,
.gstvt-sidebar-switcher-trigger:focus-visible {
    color: #000000 !important;
    background: var(--gstvt-surface-raised, #f2f4f8) !important;
}

.gstvt-sidebar-switcher-mark,
.gstvt-sidebar-switcher-row-mark {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #000000;
    font-weight: 800;
    letter-spacing: 0;
}

.gstvt-sidebar-switcher-mark {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 8px;
    font-size: 0.85rem;
}

.gstvt-sidebar-switcher-copy,
.gstvt-sidebar-switcher-row-copy {
    display: grid;
    min-width: 0;
    gap: 0.12rem;
}

.gstvt-sidebar-switcher-copy {
    flex: 1 1 auto;
}

.gstvt-sidebar-switcher-copy span,
.gstvt-workspace-topbar-title span {
    min-width: 0;
    overflow: hidden;
    color: var(--gstvt-muted);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.2;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.gstvt-sidebar-switcher-copy strong,
.gstvt-workspace-topbar-title strong {
    min-width: 0;
    overflow: hidden;
    color: var(--gstvt-ink);
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gstvt-sidebar-switcher-copy span {
    color: color-mix(in srgb, var(--gstvt-muted) 85%, var(--gstvt-ink));
}

.gstvt-sidebar-switcher-copy strong {
    display: -webkit-box;
    font-size: 0.92rem;
    line-height: 1.15;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.gstvt-sidebar-switcher-chevron {
    flex: 0 0 auto;
    margin-left: auto;
    color: var(--gstvt-muted);
}

.gstvt-sidebar-switcher-menu {
    width: 18rem;
    max-width: calc(100vw - 2rem);
}

.gstvt-sidebar-switcher-group-label {
    padding: 0.45rem 0.75rem 0.25rem;
    color: var(--gstvt-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.gstvt-sidebar-switcher-item,
.gstvt-sidebar-switcher-add {
    min-height: 3rem;
    gap: 0.65rem;
}

.gstvt-sidebar-switcher-item.is-active {
    background: #f1f3f8;
}

.gstvt-sidebar-switcher-row-mark {
    width: 2rem;
    height: 2rem;
    border-radius: 8px;
    font-size: 0.72rem;
}

.gstvt-sidebar-switcher-row-copy {
    flex: 1 1 auto;
}

.gstvt-sidebar-switcher-row-copy strong {
    overflow: hidden;
    color: var(--gstvt-ink);
    font-size: 0.92rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gstvt-sidebar-switcher-row-copy span {
    color: var(--gstvt-muted);
    font-size: 0.76rem;
    line-height: 1.2;
}

.gstvt-sidebar-switcher-check {
    flex: 0 0 auto;
    color: #000000;
}

.gstvt-workspace-sidebar-content {
    min-height: 0;
    min-width: 0;
    flex: 1 1 auto;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding: 0.3rem 0.75rem;
}

.gstvt-workspace-sidebar [data-sidebar="group"] {
    gap: 0.25rem;
}

.gstvt-workspace-sidebar ul.pl-0,
.gstvt-workspace-sidebar ol.pl-0,
.gstvt-workspace-sidebar [data-sidebar="menu"].pl-0 {
    padding-left: 0 !important;
}

.gstvt-workspace-sidebar [data-sidebar="group-label"] {
    color: var(--gstvt-muted);
    letter-spacing: 0;
    text-transform: uppercase;
}

.gstvt-sidebar-menu-button {
    position: relative;
    min-height: 1.65rem;
    color: #525960;
    text-decoration: none;border-radius: 0;
}
.gstvt-workspace-sidebar-footer ul {
    margin-bottom: 0
}
.gstvt-workspace-sidebar-footer li:first-child .gstvt-sidebar-menu-button {
    min-height: 2rem;
    margin-bottom: .5rem
}
.gstvt-workspace-sidebar-footer li:last-child .gstvt-sidebar-menu-button {
    margin-bottom: 0;
}
.gstvt-sidebar-menu-button:hover,
.gstvt-sidebar-menu-button[data-active="true"] {
    background: transparent;
    color: #000000;
}

.gstvt-sidebar-menu-button:focus-visible {
    outline: 2px solid var(--gstvt-ink);
    outline-offset: 2px;
}

.gstvt-sidebar-menu-button .material-symbols-outlined {
    color: #2b2b2b;
    flex: 0 0 auto;
    font-size: 1.15rem;
}

.gstvt-message-action {
    isolation: isolate;
    position: relative;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border-radius: 999px !important;
    overflow: visible;
}

.gstvt-message-action svg {
    width: 1.1rem;
    height: 1.1rem;
}

.gstvt-unread-count {
    min-width: 1.35rem;
    height: 1.35rem;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 0 0.38rem;
    color: #ffffff;
    background: #e02424;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

.gstvt-header-unread-count {
    position: absolute;
    top: -0.35rem;
    right: -0.35rem;
    z-index: 2;
    box-shadow: 0 0 0 2px #ffffff;
}

.gstvt-sidebar-unread-count {
    display: none !important;
}

.gstvt-unread-dot {
    width: 0.55rem;
    height: 0.55rem;
    display: inline-block;
    flex: 0 0 auto;
    background: #e02424;
    border-radius: 999px;
    box-shadow: 0 0 0 2px #ffffff;
}

.gstvt-header-unread-dot {
    position: absolute;
    top: 0.35rem;
    right: 0.35rem;
    z-index: 2;
}

.gstvt-sidebar-unread-dot {
    display: block;
    position: absolute;
    top: 50%;
    right: 0.65rem;
    transform: translateY(-50%);
    pointer-events: none;
}

.gstvt-workspace-sidebar-footer {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    padding: 0.75rem;
    background: var(--gstvt-surface, #ffffff);
    border-top: 1px solid var(--gstvt-line);
}

.gstvt-sidebar-account {
    width: 1.75rem;
    height: 1.75rem;
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    color: var(--foreground);
    background: var(--background);
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
}

.gstvt-workspace-inset {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex: 1;
    flex-direction: column;
    background: var(--gstvt-canvas);
    overflow: hidden;
}

.gstvt-workspace-topbar {
    position: sticky;
    top: 0;
    z-index: 1020;
    min-height: 64px;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1.25rem;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--gstvt-line);
    backdrop-filter: blur(10px);
}

.gstvt-workspace-menu-trigger {
    width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #000000;
    background: var(--gstvt-surface, #ffffff);
    border: 1px solid var(--gstvt-line);
    border-radius: 8px;
}

.gstvt-workspace-menu-trigger:hover {
    background: var(--gstvt-workspace-accent);
}

@media (max-width: 767.98px) {
    .blazorblueprint-portal .gstvt-workspace-sidebar.gstvt-mobile-sidebar-closing {
        pointer-events: none;
        animation: gstvt-mobile-sidebar-slide-out 240ms cubic-bezier(0.4, 0, 0.2, 1) forwards !important;
        will-change: transform;
    }

    .blazorblueprint-portal .gstvt-mobile-sidebar-backdrop-closing {
        pointer-events: none;
        animation: gstvt-mobile-sidebar-backdrop-out 240ms ease forwards !important;
        will-change: opacity;
    }
}

.gstvt-menu-toggle-icon {
    width: 1.25rem;
    height: 1rem;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
}

.gstvt-menu-toggle-line {
    display: block;
    width: 1.2rem;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
    transform-origin: center;
    transition:
        transform 0.18s ease,
        width 0.18s ease,
        opacity 0.18s ease;
}

@keyframes gstvt-mobile-sidebar-slide-out {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-100% - 1rem));
    }
}

@keyframes gstvt-mobile-sidebar-backdrop-out {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .blazorblueprint-portal .gstvt-workspace-sidebar.gstvt-mobile-sidebar-closing,
    .blazorblueprint-portal .gstvt-mobile-sidebar-backdrop-closing {
        animation-duration: 80ms !important;
    }
}

.gstvt-workspace-topbar-title {
    min-width: 0;
    display: grid;
    gap: 0.1rem;
    margin-right: auto;
}

.gstvt-workspace-topbar-title strong {
    font-size: 0.98rem;
}

.gstvt-workspace-shell .gstvt-workspace-topbar a.gstvt-shell-action:not(.bg-primary) {
    color: var(--foreground) !important;
    border-color: rgba(0, 0, 0, 0.18);
}

.gstvt-workspace-shell .gstvt-workspace-topbar a.gstvt-shell-action:not(.bg-primary):hover {
    color: var(--accent-foreground) !important;
    background: var(--gstvt-workspace-accent) !important;
    border-color: rgba(0, 0, 0, 0.28);
}

[data-collapsible="icon"] .gstvt-sidebar-brand span,
[data-collapsible="icon"] [data-sidebar="group-label"],
[data-collapsible="icon"] .gstvt-sidebar-switcher-copy,
[data-collapsible="icon"] .gstvt-sidebar-switcher-chevron,
[data-collapsible="icon"] .gstvt-sidebar-menu-button span:not(.material-symbols-outlined):not(.gstvt-sidebar-account):not(.gstvt-unread-dot):not(.gstvt-unread-count) {
    width: 0;
    opacity: 0;
    overflow: hidden;
}

[data-collapsible="icon"] .gstvt-sidebar-switcher-copy,
[data-collapsible="icon"] .gstvt-sidebar-switcher-chevron {
    display: none !important;
}

[data-collapsible="icon"] .gstvt-workspace-sidebar-content {
    padding-inline: 0.5rem;
}

[data-collapsible="icon"] .gstvt-sidebar-unread-count {
    display: none !important;
}

[data-collapsible="icon"] .gstvt-sidebar-unread-dot {
    display: block !important;
    width: 0.36rem;
    height: 0.36rem;
    top: 3px;
    right: 0;
    transform: none;
}

[data-collapsible="icon"] .gstvt-sidebar-switcher-trigger {
    width: 100%;
    max-width: 100%;
    min-height: 2.75rem;
    height: 2.75rem;
    justify-content: center;
    gap: 0 !important;
    padding-inline: 0 !important;
    overflow: hidden;
}

[data-collapsible="icon"] .gstvt-sidebar-switcher-mark {
    width: 2rem;
    height: 2rem;
    max-width: calc(100% - 0.25rem);
    font-size: 0.72rem;
    line-height: 1;
    overflow: hidden;
}

[data-collapsible="icon"] .gstvt-sidebar-brand,
[data-collapsible="icon"] .gstvt-sidebar-menu-button {
    justify-content: center;
}

[data-collapsible="icon"] .gstvt-sidebar-menu-button .material-symbols-outlined {
    font-size: 1.35rem;
}

.gstvt-workspace-sidebar[data-state="expanded"] ~ .gstvt-workspace-inset .gstvt-menu-toggle-line:first-child,
body:has(.blazorblueprint-portal .gstvt-workspace-sidebar[data-state="open"]) .gstvt-workspace-menu-trigger .gstvt-menu-toggle-line:first-child {
    transform: translateY(3px) rotate(45deg);
}

.gstvt-workspace-sidebar[data-state="expanded"] ~ .gstvt-workspace-inset .gstvt-menu-toggle-line:nth-child(2),
body:has(.blazorblueprint-portal .gstvt-workspace-sidebar[data-state="open"]) .gstvt-workspace-menu-trigger .gstvt-menu-toggle-line:nth-child(2) {
    transform: translateY(-3px) rotate(-45deg);
}

.gstvt-workspace-shell .bg-primary,
.gstvt-workspace-shell .hover\:bg-primary\/90:hover {
    background-color: var(--gstvt-workspace-primary) !important;
}

.gstvt-workspace-shell .hover\:bg-primary\/90:hover {
    background-color: var(--gstvt-workspace-primary-hover) !important;
}

.gstvt-workspace-shell .text-primary,
.gstvt-workspace-shell .text-primary-foreground {
    color: var(--gstvt-workspace-primary) !important;
}

.gstvt-workspace-shell .text-primary-foreground {
    color: #ffffff !important;
}

.gstvt-workspace-shell :is(a, button).bg-primary > .material-symbols-outlined {
    color: #ffffff !important;
}

.gstvt-workspace-shell .border-primary {
    border-color: var(--gstvt-workspace-primary) !important;
}

.gstvt-shell-header,
.hbs-header,
.hbs-marketing-header {
    position: sticky;
    top: 0;
    z-index: 1020;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--hbs-line);
    backdrop-filter: blur(10px);
}

.gstvt-shell-header-inner,
.hbs-header-inner {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

.gstvt-shell-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.gstvt-shell-action {
    gap: 0.35rem;
    white-space: nowrap;
    text-decoration: none;
}

.hbs-marketing-header .container {
    min-height: 68px;
}

.hbs-marketing-nav {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.hbs-marketing-nav > a:not(.btn) {
    color: #4f5d57;
    font-size: 0.88rem;
    font-weight: 650;
    text-decoration: none;
}

.hbs-marketing-nav > a:not(.btn):hover {
    color: var(--hbs-green);
}

.gstvt-brand,
.hbs-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: var(--hbs-ink);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.gstvt-brand-mark,
.hbs-brand-mark,
.gstvt-sb-brand > img {
    width: 34px;
    height: 34px;
    display: block;
    flex: 0 0 auto;
    object-fit: contain;
}

.gstvt-primary-nav,
.hbs-primary-nav {
    align-items: stretch;
    align-self: stretch;
    gap: 1.2rem;
    overflow-x: auto;
}

.gstvt-primary-nav a,
.hbs-primary-nav a {
    display: inline-flex;
    align-items: center;
    color: #4e5c56;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
}

.gstvt-primary-nav a.active,
.hbs-primary-nav a.active {
    color: var(--gstvt-blue);
    border-color: var(--gstvt-violet);
}

.gstvt-workspace-shell .gstvt-primary-nav a.active {
    color: var(--gstvt-workspace-primary);
    border-color: var(--gstvt-workspace-primary);
}

.gstvt-main,
.hbs-main {
    flex: 1;
}

.gstvt-main-workspace,
.hbs-main-workspace {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    background: var(--gstvt-canvas);
}

.gstvt-main-workspace:has(.gstvt-messages-page) {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.gstvt-footer,
.hbs-footer {
    padding: 2.25rem 0;
    background: var(--gstvt-surface, white);
    border-top: 1px solid var(--hbs-line);
}

.gstvt-footer a,
.hbs-footer a {
    color: var(--hbs-muted);
    text-decoration: none;
}

.gstvt-mobile-nav,
.hbs-mobile-nav {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 1030;
    min-height: 64px;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    padding-bottom: env(safe-area-inset-bottom);
    background: var(--gstvt-surface, white);
    border-top: 1px solid var(--hbs-line);
}

.gstvt-mobile-nav a,
.gstvt-mobile-nav button,
.hbs-mobile-nav a,
.hbs-mobile-nav button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    color: var(--hbs-muted);
    font-size: 0.68rem;
    text-decoration: none;
    background: transparent;
    border: 0;
    padding: 0;
}

.gstvt-mobile-nav a.active,
.gstvt-mobile-nav button.active,
.hbs-mobile-nav a.active,
.hbs-mobile-nav button.active {
    color: var(--gstvt-blue);
}

.gstvt-workspace-shell .gstvt-mobile-nav a.active,
.gstvt-workspace-shell .gstvt-mobile-nav button.active {
    color: var(--gstvt-workspace-primary);
}

.hbs-eyebrow {
    color: var(--hbs-coral);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.hbs-accent-text {
    color: var(--hbs-coral);
}

.hbs-search-hero {
    position: relative;
    min-height: min(650px, 82vh);
    display: flex;
    align-items: center;
    color: white;
    overflow: hidden;
    background: #325247;
}

.hbs-search-hero > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hbs-search-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(13, 31, 26, 0.78), rgba(13, 31, 26, 0.12));
}

.hbs-hero-copy {
    position: relative;
    z-index: 1;
    max-width: 820px;
}

.hbs-hero-copy h1 {
    max-width: 700px;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(2.4rem, 6vw, 5rem);
    line-height: 1.02;
}

.hbs-search-form {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(135px, 1fr)) auto;
    gap: 0.55rem;
    padding: 0.75rem;
    color: var(--hbs-ink);
    background: var(--gstvt-surface, white);
    border-radius: var(--hbs-radius);
    box-shadow: 0 18px 55px rgba(11, 24, 20, 0.22);
}

.hbs-search-form label,
.hbs-step-value {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--hbs-muted);
    font-size: 0.7rem;
    font-weight: 600;
}

.hbs-search-form input,
.hbs-search-form button {
    min-height: 48px;
}

.hbs-guest-menu {
    width: min(320px, calc(100vw - 2rem));
}

.hbs-search-destination {
    position: relative;
}

.hbs-suggestions {
    position: absolute;
    top: calc(100% + 0.5rem);
    inset-inline: 0;
    z-index: 1040;
    padding: 0.35rem;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
    box-shadow: 0 14px 35px rgba(20, 35, 29, 0.15);
}

.hbs-suggestion {
    width: 100%;
    padding: 0.65rem;
    text-align: left;
    background: transparent;
    border: 0;
    border-radius: 4px;
}

.hbs-suggestion:hover {
    background: var(--hbs-soft-green);
}

.hbs-suggestion-muted {
    padding: 0.65rem;
    color: var(--hbs-muted);
    font-size: 0.85rem;
}

.gstvt-page-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    color: var(--gstvt-ink);
    background: var(--gstvt-surface, #fff);
}

.gstvt-page-header {
    position: sticky;
    top: 0;
    z-index: 1020;
    min-height: 78px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    padding: 0.95rem 1.75rem;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--gstvt-line);
    backdrop-filter: blur(12px);
}

.gstvt-page-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    min-width: 0;
    overflow-x: auto;
}

.gstvt-page-nav a {
    color: #a0a3aa;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    padding: 0.6rem 0;
    border-bottom: 2px solid transparent;
}

.gstvt-page-nav a:hover,
.gstvt-page-nav a.active {
    color: var(--gstvt-blue);
}

.gstvt-page-nav a.active {
    border-color: var(--gstvt-blue);
}

.gstvt-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.7rem;
}

.gstvt-page-actions .btn {
    min-height: 42px;
    align-items: center;
    border-radius: 8px;
    font-weight: 600;
}

.gstvt-page-account {
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    place-items: center;
    color: var(--gstvt-blue);
    background: var(--gstvt-surface, #fff);
    border: 1px solid var(--gstvt-line);
    border-radius: 50%;
    text-decoration: none;
}

button.gstvt-page-account {
    padding: 0;
}

.gstvt-page-main {
    flex: 1;
}

.gstvt-home {
    position: relative;
    overflow: hidden;
    padding: 0;
    background: var(--gstvt-surface, #fff);
}

.gstvt-home-wrap {
    max-width: none;
    padding-inline: 0;
}

.gstvt-home-copy {
    max-width: 820px;
    margin: 0 auto;
    padding: 4.25rem 1rem 5.75rem;
    text-align: center;
}

.gstvt-home-copy h1 {
    margin: 0;
    color: var(--gstvt-ink);
    font-size: 4.5rem;
    font-weight: 800;
    line-height: 0.98;
}

.gstvt-home-copy p:not(.hbs-eyebrow) {
    max-width: 720px;
    margin: 1rem auto 0;
    color: var(--gstvt-muted);
    font-size: 1.12rem;
    line-height: 1.65;
}

.gstvt-app-frame {
    overflow: hidden;
    color: var(--gstvt-ink);
    background: var(--gstvt-surface, #fff);
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.gstvt-frame-bar {
    min-height: 78px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.25rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--gstvt-line);
}

.gstvt-frame-tabs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    min-width: 0;
    overflow-x: auto;
}

.gstvt-frame-tabs a,
.gstvt-frame-account {
    color: #a6a9b0;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.gstvt-frame-tabs a {
    padding: 0.4rem 0;
    border-bottom: 2px solid transparent;
}

.gstvt-frame-tabs a.active {
    color: var(--gstvt-blue);
    border-color: var(--gstvt-blue);
}

.gstvt-frame-account {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--gstvt-ink);
}

.gstvt-frame-account .material-symbols-outlined {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    color: var(--gstvt-blue);
    border: 1px solid var(--gstvt-line);
    border-radius: 50%;
}

.gstvt-frame-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.9rem 2rem 1rem;
}

.gstvt-frame-heading h2 {
    margin: 0;
    font-size: 2rem;
    font-weight: 800;
}

.gstvt-frame-heading p {
    margin: 0.2rem 0 0;
    color: #a2a5ad;
    font-weight: 650;
}

.gstvt-map-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--gstvt-ink);
    font-weight: 700;
}

.gstvt-map-toggle span {
    position: relative;
    display: inline-block;
    width: 2.5rem;
    height: 1.35rem;
    background: var(--gstvt-green);
    border-radius: 999px;
}

.gstvt-map-toggle span::after {
    content: "";
    position: absolute;
    top: 0.18rem;
    right: 0.18rem;
    width: 0.98rem;
    height: 0.98rem;
    background: var(--gstvt-surface, #fff);
    border-radius: 50%;
}

.gstvt-search-panel.hbs-search-form {
    margin: 0 2rem 1.75rem;
    border: 1px solid var(--gstvt-line);
    box-shadow: none;
}

.gstvt-search-panel .input-group-text {
    color: var(--gstvt-blue);
    background: var(--gstvt-surface, #fff);
    border-color: var(--gstvt-line);
}

.gstvt-search-panel .form-control {
    border-color: var(--gstvt-line);
}

.gstvt-search-panel .form-control:focus {
    border-color: rgba(69, 107, 243, 0.55);
    box-shadow: 0 0 0 0.2rem rgba(69, 107, 243, 0.12);
}

.gstvt-frame-body {
    display: grid;
    grid-template-columns: minmax(360px, 0.95fr) minmax(0, 1.35fr);
    gap: 1.5rem;
    padding: 1.5rem 1.5rem 2rem;
    background: var(--gstvt-soft);
}

.gstvt-map-surface {
    position: relative;
    min-height: 640px;
    overflow: hidden;
    background:
        linear-gradient(30deg, transparent 48%, rgba(255, 255, 255, 0.82) 49%, rgba(255, 255, 255, 0.82) 51%, transparent 52%) 0 0 / 150px 150px,
        linear-gradient(120deg, transparent 46%, rgba(255, 255, 255, 0.82) 47%, rgba(255, 255, 255, 0.82) 50%, transparent 51%) 0 0 / 132px 132px,
        #eceef6;
}

.gstvt-map-water {
    position: absolute;
    inset: -4rem auto -4rem 2rem;
    width: 7.8rem;
    background: #50bbe6;
    transform: rotate(-28deg);
}

.gstvt-map-road {
    position: absolute;
    width: 120%;
    height: 0.32rem;
    background: rgba(255, 255, 255, 0.9);
    transform-origin: center;
}

.gstvt-road-one {
    top: 18%;
    left: -10%;
    transform: rotate(-28deg);
}

.gstvt-road-two {
    top: 49%;
    left: -10%;
    transform: rotate(26deg);
}

.gstvt-road-three {
    top: 73%;
    left: -8%;
    transform: rotate(-12deg);
}

.gstvt-map-label {
    position: absolute;
    color: rgba(102, 107, 120, 0.56);
    font-size: 0.78rem;
    font-weight: 700;
    transform: rotate(-25deg);
}

.gstvt-map-label-one {
    top: 24%;
    left: 42%;
}

.gstvt-map-label-two {
    right: 9%;
    bottom: 18%;
}

.gstvt-map-pin {
    position: absolute;
    display: grid;
    width: 5.9rem;
    height: 5.9rem;
    place-items: center;
    background: rgba(105, 56, 211, 0.18);
    border-radius: 50%;
}

.gstvt-map-pin span {
    width: 1.3rem;
    height: 1.3rem;
    background: var(--gstvt-violet);
    border: 0.35rem solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 0.55rem rgba(105, 56, 211, 0.12);
}

.gstvt-map-pin-one {
    left: 54%;
    top: 44%;
}

.gstvt-map-pin-two {
    right: 12%;
    top: 18%;
    transform: scale(0.72);
}

.gstvt-map-card {
    position: absolute;
    left: 36%;
    top: 31%;
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    width: min(17rem, calc(100% - 2rem));
    padding: 0.55rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(216, 219, 230, 0.8);
    border-radius: 8px;
    box-shadow: 0 16px 35px rgba(30, 30, 30, 0.12);
}

.gstvt-map-card img {
    width: 4rem;
    height: 3.6rem;
    object-fit: cover;
    border-radius: 6px;
}

.gstvt-map-card strong,
.gstvt-map-card small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gstvt-map-card strong {
    font-size: 0.88rem;
}

.gstvt-map-card small {
    color: var(--gstvt-violet);
    font-weight: 800;
}

.gstvt-hotel-panel {
    display: grid;
    gap: 1.5rem;
    align-content: start;
    padding-block: 0;
}

.gstvt-hotel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}

.gstvt-hotel-card {
    position: relative;
    overflow: hidden;
    background: var(--gstvt-surface, #fff);
    border: 1px solid transparent;
    border-radius: 8px;
}

.gstvt-hotel-card.is-selected {
    border-color: var(--gstvt-blue);
}

.gstvt-hotel-card a {
    display: grid;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.gstvt-hotel-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.gstvt-save {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    color: rgba(255, 255, 255, 0.9);
    background: rgba(255, 255, 255, 0.24);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    backdrop-filter: blur(10px);
}

.gstvt-hotel-card.is-selected .gstvt-save {
    color: #f46f6f;
}

.gstvt-hotel-card-body {
    display: grid;
    gap: 0.55rem;
    padding: 1rem;
}

.gstvt-hotel-card-body small {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
    color: #a6a9b0;
    font-size: 0.78rem;
    font-weight: 650;
}

.gstvt-hotel-card-body small .material-symbols-outlined {
    color: var(--gstvt-violet);
    font-size: 1rem;
}

.gstvt-hotel-card-body strong {
    font-size: 1.08rem;
    line-height: 1.2;
}

.gstvt-hotel-card-body span {
    color: #9196a2;
    font-size: 0.82rem;
}

.gstvt-hotel-card-body b {
    justify-self: start;
    padding: 0.35rem 0.65rem;
    color: var(--gstvt-ink);
    background: var(--gstvt-surface-raised, #f0f1f6);
    border-radius: 999px;
    font-size: 0.82rem;
}

.gstvt-featured-stay {
    display: grid;
    grid-template-columns: minmax(250px, 0.85fr) minmax(0, 1fr);
    overflow: hidden;
    background: var(--gstvt-surface, #fff);
    border-radius: 8px;
}

.gstvt-featured-stay > img {
    width: 100%;
    height: 100%;
    min-height: 260px;
    object-fit: cover;
}

.gstvt-featured-stay > div {
    padding: 1.6rem;
}

.gstvt-featured-stay small {
    color: var(--gstvt-emerald);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.gstvt-featured-stay h3 {
    margin: 1.2rem 0 0.75rem;
    font-size: 1.6rem;
    font-weight: 800;
}

.gstvt-featured-stay p {
    color: #8a8f9b;
    line-height: 1.65;
}

.gstvt-featured-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.gstvt-home-band {
    padding: 5rem 0;
    background: var(--gstvt-surface, #fff);
}

.hbs-home-band,
.hbs-marketing-section {
    padding: 5rem 0;
}

.hbs-bg-coral {
    background: var(--hbs-soft-coral);
}

.hbs-feature-tile,
.hbs-marketing-feature {
    height: 100%;
    padding: 1.5rem;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.hbs-feature-tile h3,
.hbs-marketing-feature h3 {
    margin-top: 1rem;
    font-size: 1.08rem;
}

.hbs-feature-tile p,
.hbs-marketing-feature p {
    margin-bottom: 0;
    color: var(--hbs-muted);
}

.hbs-search-results-header {
    background: var(--hbs-green);
}

.hbs-search-results-header .hbs-search-form {
    box-shadow: none;
}

.hbs-hotel-card {
    display: grid;
    grid-template-columns: minmax(220px, 33%) 1fr;
    overflow: hidden;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.hbs-hotel-image,
.hbs-room-image,
.hbs-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hbs-hotel-image-link {
    position: relative;
    display: block;
    min-height: 230px;
    overflow: hidden;
}

.hbs-promotion-badge {
    position: absolute;
    z-index: 2;
    top: 0.75rem;
    left: 0.75rem;
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.hbs-promotion-badge.is-partner {
    color: #fff;
    background: #050505;
    border: 1px solid rgba(210, 174, 92, 0.75);
}

.hbs-promotion-badge.is-sponsored {
    color: #111;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(17, 24, 39, 0.16);
}

.hbs-promotion-badge.is-inline {
    position: static;
    width: fit-content;
    margin-bottom: 0.65rem;
    box-shadow: none;
}

.hbs-hotel-card-body {
    padding: 1.35rem;
}

.hbs-image-placeholder,
.hbs-gallery-placeholder {
    height: 100%;
    min-height: 200px;
    display: grid;
    place-items: center;
    color: var(--hbs-muted);
    background: #e5ebe8;
}

.hbs-amenities {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.hbs-amenities span {
    padding: 0.25rem 0.45rem;
    color: #415049;
    background: var(--hbs-soft-green);
    border-radius: 4px;
    font-size: 0.75rem;
}

.hbs-gallery {
    min-height: 340px;
    overflow: hidden;
    border-radius: var(--hbs-radius);
}

.gstvt-hotel-photo-gallery {
    min-height: 420px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 0.6fr));
    grid-template-rows: repeat(2, minmax(170px, 1fr));
    gap: 0.75rem;
}

.gstvt-hotel-photo {
    display: block;
    overflow: hidden;
    color: inherit;
    background: #e5ebe8;
    border-radius: var(--hbs-radius);
    text-decoration: none;
}

.gstvt-hotel-photo-main {
    grid-row: span 2;
}

.gstvt-hotel-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.2s ease;
}

.gstvt-hotel-photo:hover img,
.gstvt-hotel-photo:focus-visible img {
    transform: scale(1.02);
}

.hbs-room-card {
    display: grid;
    grid-template-columns: minmax(190px, 28%) 1fr;
    overflow: hidden;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.hbs-room-content {
    padding: 1.25rem;
}

.hbs-rate-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0;
    border-top: 1px solid var(--hbs-line);
}

.hbs-detail-panel,
.hbs-form-section,
.hbs-sticky-panel,
.hbs-ops-panel {
    padding: 1.35rem;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.hbs-detail-panel,
.hbs-form-section,
.hbs-ops-panel {
    box-shadow: var(--gstvt-shadow-soft);
}

.hbs-sticky-panel {
    position: sticky;
    top: 84px;
}

.gstvt-hotel-inquiry {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--gstvt-line);
}

.gstvt-hotel-inquiry .btn {
    justify-content: center;
}

.gstvt-organization-logo {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--hbs-line);
    border-radius: 8px;
    background: var(--gstvt-surface, #fff);
    color: var(--gstvt-ink);
    font-weight: 800;
}

.gstvt-organization-logo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.gstvt-organization-logo-large {
    width: 88px;
    height: 88px;
    flex-basis: 88px;
    font-size: 1.4rem;
}

.gstvt-organization-logo-editor {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
    background: var(--gstvt-surface, #fff);
}

.gstvt-room-type-thumb {
    width: 128px;
    height: 96px;
    flex: 0 0 128px;
    display: block;
    object-fit: cover;
    border-radius: var(--hbs-radius);
    background: #e5ebe8;
}

.gstvt-inline-gallery-editor {
    padding: 1rem;
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
    background: var(--gstvt-surface-raised, #f8faf9);
}

.gstvt-inline-gallery-column {
    min-height: 100%;
    padding: 0.85rem;
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
    background: var(--gstvt-surface, #fff);
}

.gstvt-media-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.gstvt-media-folder-input {
    max-width: min(100%, 340px);
}

.gstvt-folder-grid,
.gstvt-media-grid,
.gstvt-gallery-order-list {
    display: grid;
    gap: 0.75rem;
}

.gstvt-folder-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

.gstvt-media-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.gstvt-media-grid-compact {
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
}

.gstvt-gallery-order-list-compact {
    max-height: 420px;
    overflow: auto;
    padding-right: 0.15rem;
}

.gstvt-folder-tile,
.gstvt-media-asset,
.gstvt-gallery-order-item {
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.gstvt-folder-tile {
    min-height: 112px;
    display: grid;
    place-items: center;
    gap: 0.35rem;
    padding: 1rem;
    color: var(--gstvt-ink);
    text-align: center;
}

.gstvt-folder-tile:hover,
.gstvt-folder-tile:focus-visible {
    border-color: var(--gstvt-workspace-primary, var(--gstvt-blue));
}

.gstvt-folder-tile .material-symbols-outlined {
    font-size: 2rem;
}

.gstvt-folder-tile strong {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gstvt-media-asset {
    overflow: hidden;
}

.gstvt-media-asset img {
    width: 100%;
    aspect-ratio: 3 / 2;
    display: block;
    object-fit: cover;
    background: #e5ebe8;
}

.gstvt-media-asset-body {
    padding: 0.75rem;
}

.gstvt-media-asset-body strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gstvt-gallery-editor-panel {
    position: sticky;
    top: 84px;
}

.gstvt-gallery-order-item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem;
    cursor: grab;
}

.gstvt-gallery-order-item img {
    width: 96px;
    height: 72px;
    display: block;
    object-fit: cover;
    background: #e5ebe8;
    border-radius: calc(var(--hbs-radius) - 2px);
}

.gstvt-gallery-order-item strong,
.gstvt-gallery-order-item small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gstvt-cancellation-unit-select {
    max-width: 150px;
    flex: 0 0 140px;
}

.hbs-choice-row {
    display: flex;
    gap: 0.75rem;
    padding: 1rem;
    border: 1px solid var(--hbs-line);
}

.hbs-choice-row + .hbs-choice-row {
    margin-top: 0.6rem;
}

.hbs-choice-row label,
.hbs-choice-row small {
    display: block;
}

.hbs-checkout-thumb {
    width: 76px;
    height: 64px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #e5ebe8;
    border-radius: 4px;
}

.hbs-checkout-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hbs-summary-list {
    margin: 0;
}

.hbs-summary-list > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.45rem 0;
}

.hbs-summary-list dt {
    font-weight: 400;
    color: var(--hbs-muted);
}

.hbs-summary-list dd {
    margin: 0;
    text-align: right;
}

.hbs-confirmation-heading {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.hbs-confirmation-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: white;
    background: var(--hbs-green-2);
    border-radius: 50%;
}

.hbs-narrow {
    max-width: 520px;
    margin-inline: auto;
}

.hbs-narrow-page {
    max-width: 720px;
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.hbs-narrow-wide,
.hbs-legal-copy {
    max-width: 860px;
    margin-inline: auto;
}

.hbs-legal-copy h1 {
    font-size: 2.3rem;
}

.hbs-legal-copy h2 {
    margin-top: 2rem;
    font-size: 1.25rem;
}

.hbs-message-thread {
    min-height: 320px;
    max-height: 58vh;
    overflow-y: auto;
    padding: 1rem;
    background: var(--gstvt-surface-raised, #eef2f0);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.hbs-message {
    max-width: 78%;
    margin-bottom: 0.75rem;
    padding: 0.85rem;
    background: var(--gstvt-surface, white);
    border-radius: var(--hbs-radius);
}

.hbs-message-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.35rem;
    color: var(--hbs-muted);
    font-size: 0.75rem;
}

.hbs-message p {
    margin: 0;
    white-space: pre-wrap;
}

.hbs-message-composer {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.6rem;
}

.hbs-payment-element {
    min-height: 120px;
    padding: 1rem;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.hbs-loading-state,
.hbs-empty-state {
    min-height: 240px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    text-align: center;
}

.hbs-empty-state-compact {
    min-height: 220px;
}

.gstvt-workspace-page,
.hbs-workspace-page {
    /* The flex shell sizes the scroller below the actual header height. */
    min-height: 0;
    padding: 1.5rem;
    color: var(--gstvt-ink);
}

.gstvt-messages-page {
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
}

.gstvt-workspace-shell .gstvt-main-workspace a:not(.btn,.inline-flex,[role="button"],[data-slot="button"]),
.gstvt-workspace-shell .gstvt-main-workspace button.btn-link {
    color: var(--bs-link-color);
    text-decoration: none;
}

.gstvt-workspace-shell .gstvt-main-workspace button.btn-link {
    text-decoration: none;
}

.gstvt-workspace-shell .gstvt-loading-state {
    color: var(--gstvt-workspace-primary);
}

.gstvt-workspace-heading,
.hbs-workspace-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.gstvt-workspace-picker,
.hbs-workspace-picker,
.hbs-date-control {
    width: auto;
    min-width: 190px;
}

.gstvt-workspace-picker .form-label {
    margin-bottom: 0.35rem;
    color: var(--hbs-muted);
    font-size: 0.75rem;
    font-weight: 700;
}

.gstvt-workspace-picker-trigger {
    min-width: 210px;
    min-height: 2.5rem;
    border-color: var(--hbs-line);
    border-radius: var(--hbs-radius);
    background: var(--gstvt-surface, white);
}

.gstvt-workspace-picker-trigger svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
}

.gstvt-workspace-alert {
    --gstvt-workspace-alert-accent: var(--border);
    /* Bootstrap's .border uses this token in its !important border shorthand. */
    --bs-border-color: color-mix(in oklab, var(--gstvt-workspace-alert-accent) 30%, transparent);
    background-color: color-mix(in oklab, var(--gstvt-workspace-alert-accent) 8%, var(--card));
    color: var(--foreground);
    margin-bottom: 1rem;
}

/* Keep Blueprint's semantic tones on the current workspace surface in both themes. */
.gstvt-workspace-alert.bg-alert-danger-bg { --gstvt-workspace-alert-accent: var(--alert-danger); }
.gstvt-workspace-alert.bg-alert-info-bg { --gstvt-workspace-alert-accent: var(--alert-info); }
.gstvt-workspace-alert.bg-alert-success-bg { --gstvt-workspace-alert-accent: var(--alert-success); }
.gstvt-workspace-alert.bg-alert-warning-bg { --gstvt-workspace-alert-accent: var(--alert-warning); }

.gstvt-workspace-alert.border-l-4 {
    /* Restore Blueprint's accent width after Bootstrap's .border shorthand. */
    border-left-width: 4px !important;
}

.gstvt-loading-state {
    color: var(--gstvt-blue);
}

.gstvt-kpi-grid,
.hbs-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(135px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.gstvt-kpi,
.hbs-kpi {
    min-height: 120px;
    padding: 1rem;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.gstvt-kpi {
    box-shadow: var(--gstvt-shadow-soft);
}

.gstvt-kpi-heading {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 1.25rem;
}

.gstvt-analytics-kpis .gstvt-kpi-heading .material-symbols-outlined {
    display: inline-flex;
    flex: 0 0 auto;
    margin-top: 0;
    color: var(--hbs-muted);
    font-size: 1.1rem;
}

.gstvt-kpi > .material-symbols-outlined,
.hbs-kpi > .material-symbols-outlined {
        color: var(--hbs-muted);
}

.gstvt-kpi strong,
.hbs-kpi strong {
    display: block;
    margin-top: 0.8rem;
    font-size: 1.5rem;
}

.gstvt-kpi small,
.hbs-kpi small {
    color: var(--hbs-muted);
}

.gstvt-panel-heading,
.hbs-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.gstvt-task-list,
.hbs-task-list,
.gstvt-room-readiness,
.hbs-room-readiness {
    display: grid;
    gap: 0.75rem;
}

.gstvt-task-row,
.hbs-task-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem 0;
    border-top: 1px solid var(--hbs-line);
}

.gstvt-task-row > div,
.gstvt-task-row small,
.hbs-task-row > div,
.hbs-task-row small {
    display: block;
}

.gstvt-task-row small,
.hbs-task-row small {
    margin-top: 0.1rem;
    color: var(--hbs-muted);
}

.gstvt-count-badge {
    min-width: 2rem;
    justify-content: center;
    border: 1px solid #6f7782 !important;
    color: #ffffff !important;
    background-color: #6f7782 !important;
}

.gstvt-status-badge {
    max-width: 100%;
    width: fit-content;
    min-height: 1.5rem;
    height: auto;
    flex: 0 0 auto;
    align-self: flex-start;
    line-height: 1.1;
    white-space: nowrap;    
    margin-top: auto;
    margin-bottom: auto;
}

.gstvt-status-badge.is-success {
    background: color-mix(in srgb, var(--gstvt-green) 14%, white);
    color: #12613d;
}

.gstvt-status-badge.is-warning {
    color: #ffffff;
}

.gstvt-status-badge.is-danger,
.gstvt-status-badge.is-error {
    background: #fde8e8;
    color: #9f3030;
}

.gstvt-status-badge.is-neutral,
.gstvt-status-badge.is-outline {
    background-color: var(--gstvt-surface-raised, #f7f8fb) !important;
    border-color: var(--gstvt-line);
    color: var(--gstvt-ink) !important;
}

.gstvt-status-badge.is-outline {
    background-color: var(--gstvt-surface, #ffffff) !important;
}

.gstvt-badge-dot-success {
    background: var(--gstvt-green);
}

.gstvt-badge-dot-warning {
    background: #c99224;
}

.gstvt-badge-dot-danger {
    background: #d84d4d;
}

.gstvt-badge-dot-neutral {
    background: var(--gstvt-muted);
}

.gstvt-growth-page {
    --gstvt-growth-ink: #080808;
    --gstvt-growth-gold: #c9a24a;
    --gstvt-growth-wine: #3a1117;
}

.gstvt-growth-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(9rem, 0.18fr) minmax(9rem, 0.18fr);
    gap: 1rem;
    align-items: stretch;
    margin-bottom: 1rem;
    padding: clamp(1.1rem, 2vw, 1.6rem);
    color: #fff;
    background:
        linear-gradient(135deg, rgba(58, 17, 23, 0.96), rgba(8, 8, 8, 0.98)),
        #080808;
    border: 1px solid rgba(201, 162, 74, 0.4);
    border-radius: 8px;
    box-shadow: 0 24px 50px rgba(8, 8, 8, 0.16);
}

.gstvt-growth-hero .hbs-eyebrow {
    color: var(--gstvt-growth-gold);
}

.gstvt-growth-hero h2 {
    max-width: 46rem;
    margin: 0 0 0.5rem;
    font-size: clamp(1.7rem, 3vw, 2.75rem);
}

.gstvt-growth-hero p {
    max-width: 52rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
}

.gstvt-growth-cap {
    display: grid;
    align-content: center;
    gap: 0.2rem;
    min-height: 8.5rem;
    padding: 1rem;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 8px;
}

.gstvt-growth-cap strong {
    font-size: 2rem;
    line-height: 1;
}

.gstvt-growth-cap span {
    font-weight: 800;
}

.gstvt-growth-cap small {
    color: rgba(255, 255, 255, 0.66);
}

.gstvt-partner-tier {
    border-color: rgba(201, 162, 74, 0.45);
    box-shadow: 0 16px 36px rgba(8, 8, 8, 0.08);
}

.gstvt-partner-medallion {
    display: inline-grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    flex: 0 0 auto;
    color: #080808;
    background: linear-gradient(135deg, #f4df9c, var(--gstvt-growth-gold));
    border: 1px solid rgba(8, 8, 8, 0.1);
    border-radius: 999px;
    font-weight: 900;
}

.gstvt-growth-list {
    display: grid;
    gap: 0.45rem;
    margin: 0 0 1rem;
    padding-left: 1rem;
    color: var(--gstvt-muted);
}

.gstvt-raise-bid-panel {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(7rem, 0.3fr) minmax(8rem, 0.3fr) auto auto;
    gap: 0.75rem;
    align-items: end;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--gstvt-line);
}

.gstvt-performance-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 0.85rem;
}

.gstvt-performance-card {
    display: grid;
    gap: 1rem;
    min-height: 10rem;
    padding: 1rem;
    background:
        linear-gradient(180deg, rgba(201, 162, 74, 0.08), transparent 65%),
        #fff;
    border: 1px solid rgba(201, 162, 74, 0.28);
    border-radius: 8px;
}

.gstvt-performance-card h3 {
    margin: 0;
    font-size: 1rem;
}

.gstvt-performance-card dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
    margin: 0;
}

.gstvt-performance-card dt {
    color: var(--gstvt-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.gstvt-performance-card dd {
    margin: 0.1rem 0 0;
    color: var(--gstvt-ink);
    font-size: 1.1rem;
    font-weight: 900;
}

.gstvt-room-readiness > div,
.hbs-room-readiness > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
}

.gstvt-status-dot,
.hbs-status-dot {
    width: 0.65rem;
    height: 0.65rem;
    display: inline-block;
    border-radius: 50%;
}

.gstvt-message-workbench {
    min-height: 0;
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
    overflow: hidden;
    background: var(--gstvt-surface, #ffffff);
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.gstvt-message-inbox {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--gstvt-line);
    overflow: hidden;
}

.gstvt-message-inbox-toolbar {
    flex: 0 0 auto;
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
    border-bottom: 1px solid var(--gstvt-line);
}

.gstvt-message-inbox-filter-row {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.gstvt-message-refresh-button {
    flex: 0 0 auto;
}
/*
.gstvt-message-refresh-button .material-symbols-outlined {
    font-size: 1.15rem;
}
*/
.gstvt-message-filter-trigger {
    min-width: 0;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--gstvt-ink);
    border-color: var(--gstvt-line);
    background: var(--gstvt-surface, #ffffff);
}

.gstvt-message-filter-trigger span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gstvt-message-filter-menu {
    min-width: 13rem;
}

.gstvt-message-filter-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.gstvt-message-filter-item.is-active {
    color: var(--gstvt-workspace-primary);
    background: var(--gstvt-workspace-accent);
}

.gstvt-message-filter-check {
    width: 1rem;
    flex: 0 0 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.gstvt-message-inbox-list {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
}

.gstvt-message-inbox-item {
    width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    color: var(--gstvt-ink);
    text-align: left;
    background: var(--gstvt-surface, #ffffff);
    border: 0;
    border-bottom: 1px solid var(--gstvt-line);
}

.gstvt-message-inbox-item:hover,
.gstvt-message-inbox-item.is-active {
    background: var(--gstvt-surface-raised, #f7f8fb);
}

.gstvt-message-inbox-item.is-active {
    box-shadow: inset 3px 0 0 #000000;
}

.gstvt-message-inbox-avatar {
    width: 2.35rem;
    height: 2.35rem;
    display: inline-grid;
    place-items: center;
    color: #ffffff;
    background: #111111;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
}

.gstvt-message-inbox-copy,
.gstvt-message-inbox-copy > span:first-child {
    min-width: 0;
}

.gstvt-message-inbox-copy {
    display: grid;
    gap: 0.25rem;
}

.gstvt-message-inbox-copy > span:first-child {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
}

.gstvt-message-inbox-copy strong,
.gstvt-message-inbox-subject,
.gstvt-message-inbox-preview {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gstvt-message-inbox-copy small,
.gstvt-message-inbox-preview,
.gstvt-message-thread-meta,
.gstvt-message-thread-meta a {
    color: var(--gstvt-muted);
}

.gstvt-message-inbox-subject {
    font-weight: 700;
}

.gstvt-message-inbox-preview {
    font-size: 0.88rem;
}

.gstvt-message-inbox-meta,
.gstvt-message-context-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.gstvt-message-unread {
    align-self: center;
}

.gstvt-message-thread {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    background: var(--gstvt-canvas);
    overflow: hidden;
}

.gstvt-message-thread-header {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: var(--gstvt-surface, #ffffff);
    border-bottom: 1px solid var(--gstvt-line);
}

.gstvt-message-thread-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.75rem;
    font-size: 0.9rem;
}

.gstvt-message-thread-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

.gstvt-message-context {
    flex: 0 0 auto;
    padding: 1rem 1.25rem 0;
}

.gstvt-message-context .bb-bubble-content,
.gstvt-message-context [data-bubble-content] {
    color: var(--gstvt-ink);
}

.gstvt-message-context-badge {
    max-width: 18rem;
}

.gstvt-message-list {
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 1rem 1.25rem;
}

.gstvt-message-list .bb-message,
.gstvt-message-context .bb-message {
    max-width: 100%;
}

.gstvt-message-content-end {
    align-items: flex-end;
}

.gstvt-message-internal-note {
    border-style: dashed !important;
}

.gstvt-message-internal-note small {
    color: var(--gstvt-muted);
    font-weight: 750;
    letter-spacing: 0;
    text-transform: uppercase;
}

.gstvt-message-composer {
    flex: 0 0 auto;
    display: grid;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    background: var(--gstvt-surface, #ffffff);
    border-top: 1px solid var(--gstvt-line);
}

.gstvt-message-composer-input {
    min-height: 6rem;
    resize: vertical;
}

.gstvt-message-composer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.gstvt-message-note-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--gstvt-muted);
}

.gstvt-guest-message-thread {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    min-height: 320px;
    padding: 1rem;
    background: var(--gstvt-surface, #ffffff);
    border: 1px solid var(--gstvt-line);
    border-radius: var(--hbs-radius);
}

.hbs-map-panel {
    position: sticky;
    top: 84px;
    overflow: hidden;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.hbs-map-placeholder {
    min-height: 360px;
    display: grid;
    place-content: center;
    gap: 0.35rem;
    padding: 1rem;
    color: var(--hbs-muted);
    text-align: center;
    background:
        linear-gradient(45deg, transparent 48%, #dce6e1 49%, #dce6e1 51%, transparent 52%),
        linear-gradient(-45deg, transparent 48%, #dce6e1 49%, #dce6e1 51%, transparent 52%),
        #edf2ef;
    background-size: 42px 42px;
}

.hbs-map-placeholder .material-symbols-outlined {
    color: var(--hbs-green);
    font-size: 2rem;
}

.hbs-map-placeholder-sm {
    min-height: 220px;
}

.hbs-booking-totals > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.35rem 0;
}

.hbs-booking-totals dt {
    color: var(--hbs-muted);
    font-weight: 400;
}

.hbs-booking-totals dd {
    margin: 0;
    text-align: right;
}

.hbs-table-shell {
    overflow-x: auto;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
    box-shadow: var(--gstvt-shadow-soft);
}

.hbs-table-shell .table {
    color: var(--gstvt-ink);
}

.hbs-table-shell td,
.hbs-table-shell th {
    border-color: var(--gstvt-line);
}

.hbs-table-shell th {
    color: var(--gstvt-muted);
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}

.hbs-empty-table {
    padding: 2.5rem;
    color: var(--hbs-muted);
    text-align: center;
}

.hbs-filter-tabs {
    width: fit-content;
    max-width: 100%;
    display: flex;
    gap: 0.25rem;
    padding: 0.25rem;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--gstvt-line);
    border-radius: var(--hbs-radius);
    overflow-x: auto;
}

.hbs-filter-tabs button {
    min-height: 2.25rem;
    padding: 0.45rem 0.8rem;
    color: var(--hbs-muted);
    background: transparent;
    border: 0;
    border-radius: calc(var(--hbs-radius) - 2px);
    white-space: nowrap;
}

.hbs-filter-tabs button.active {
    color: var(--gstvt-blue);
    background: var(--gstvt-soft-blue);
}

.gstvt-workspace-shell .hbs-filter-tabs button.active {
    color: var(--gstvt-workspace-primary);
    background: var(--gstvt-workspace-accent);
}

.hbs-housekeeping-board {
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 0.75rem;
    overflow-x: auto;
}

.hbs-housekeeping-column {
    min-height: 420px;
    padding: 0.75rem;
    background: #eef1f7;
    border: 1px solid var(--gstvt-line);
    border-radius: var(--hbs-radius);
}

.hbs-housekeeping-column > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.hbs-housekeeping-column h2 {
    margin: 0;
    font-size: 0.9rem;
}

.hbs-housekeeping-task {
    padding: 0.85rem;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: 4px;
    box-shadow: 0 8px 22px rgba(31, 42, 68, 0.04);
}

.hbs-housekeeping-task p,
.hbs-housekeeping-task small {
    display: block;
    margin: 0.45rem 0 0;
    color: var(--hbs-muted);
    font-size: 0.78rem;
}

.hbs-calendar-table th:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 180px;
    background: var(--gstvt-surface, white);
}

.hbs-calendar-table th span,
.hbs-calendar-table th small {
    display: block;
}

.hbs-calendar-table td {
    min-width: 100px;
    padding: 0.35rem;
}

.hbs-calendar-cell {
    width: 100%;
    min-height: 66px;
    padding: 0.35rem;
    color: var(--hbs-ink);
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: 4px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.hbs-calendar-cell:hover,
.hbs-calendar-cell:focus-visible {
    border-color: rgba(69, 107, 243, 0.55);
    box-shadow: 0 0 0 0.18rem rgba(69, 107, 243, 0.12);
    transform: translateY(-1px);
}

.hbs-calendar-cell span,
.hbs-calendar-cell small {
    display: block;
}

.hbs-calendar-cell small {
    color: var(--hbs-muted);
}

.hbs-calendar-cell.low {
    background: #fff4d8;
    border-color: #e7c76c;
}

.hbs-calendar-cell.closed {
    color: #7c4940;
    background: #fae8e4;
    border-color: #e8b6aa;
}

.hbs-marketing-shell {
    min-height: 100vh;
    background: var(--gstvt-surface, white);
}

.hbs-marketing-hero {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    color: white;
    overflow: hidden;
}

.hbs-marketing-hero-product {
    min-height: min(660px, calc(100vh - 168px));
}

.hbs-marketing-hero > img,
.hbs-marketing-hero-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hbs-marketing-hero > img {
    object-fit: cover;
}

.hbs-marketing-hero-shade {
    background: linear-gradient(90deg, rgba(10, 28, 23, 0.88) 0%, rgba(10, 28, 23, 0.3) 72%);
}

.hbs-marketing-hero-copy {
    position: relative;
    z-index: 1;
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.hbs-marketing-hero-copy h1 {
    max-width: 780px;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(2.8rem, 6vw, 5.8rem);
    line-height: 1;
}

.hbs-marketing-hero-copy p:not(.hbs-eyebrow) {
    max-width: 660px;
    font-size: 1.2rem;
}

.hbs-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.hbs-hero-proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(130px, 1fr));
    gap: 0.75rem;
    max-width: 680px;
    margin-top: 2rem;
}

.hbs-hero-proof > div {
    padding: 1rem;
    background: rgba(255, 255, 255, 0.11);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: var(--hbs-radius);
    backdrop-filter: blur(12px);
}

.hbs-hero-proof strong,
.hbs-hero-proof span {
    display: block;
}

.hbs-hero-proof strong {
    font-size: 1.35rem;
}

.hbs-hero-proof span {
    color: #deebe5;
    font-size: 0.82rem;
}

.hbs-marketing-section-muted {
    background: #edf2ef;
}

.hbs-product-shot {
    width: 100%;
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
    box-shadow: 0 24px 60px rgba(17, 42, 34, 0.16);
}

.hbs-product-command {
    background:
        linear-gradient(180deg, #ffffff 0%, #f7faf8 100%);
}

.hbs-product-ribbon {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 1.25rem;
}

.hbs-product-ribbon span {
    padding: 0.45rem 0.6rem;
    color: var(--gstvt-blue);
    background: var(--gstvt-soft-blue);
    border: 1px solid rgba(69, 107, 243, 0.16);
    border-radius: var(--hbs-radius);
    font-size: 0.82rem;
    font-weight: 650;
}

.hbs-platform-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.hbs-product-module,
.hbs-channel-card,
.hbs-price-card {
    height: 100%;
    padding: 1.25rem;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
    box-shadow: var(--gstvt-shadow-soft);
}

.hbs-product-module > .material-symbols-outlined {
    display: inline-grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    color: white;
    background: var(--gstvt-blue);
    border-radius: var(--hbs-radius);
}

.hbs-product-module h3,
.hbs-channel-card h3,
.hbs-price-card h3 {
    margin: 1rem 0 0.45rem;
    font-size: 1.05rem;
}

.hbs-product-module p,
.hbs-channel-card p,
.hbs-price-card p {
    margin-bottom: 0;
    color: var(--hbs-muted);
}

.hbs-channel-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(180px, 1fr));
    gap: 0.85rem;
}

.hbs-channel-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hbs-channel-grid-compact .hbs-channel-card:last-child {
    grid-column: 1 / -1;
}

.hbs-channel-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.hbs-channel-card-header > .material-symbols-outlined {
    color: var(--gstvt-blue);
    font-size: 1.75rem;
}

.hbs-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.7rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}

.hbs-status-pill.is-next {
    color: var(--gstvt-blue);
    background: var(--gstvt-soft-blue);
}

.hbs-status-pill.is-planned {
    color: #6b4f00;
    background: #fff1c2;
}

.hbs-status-pill.is-muted {
    color: var(--gstvt-muted);
    background: #f4f6fb;
}

.hbs-status-pill.is-optional {
    color: var(--gstvt-violet);
    background: var(--hbs-soft-coral);
}

.hbs-mini-list {
    display: grid;
    gap: 0.4rem;
    margin: 1rem 0 0;
    padding: 0;
    color: #48564f;
    font-size: 0.85rem;
    list-style: none;
}

.hbs-mini-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.45rem;
}

.hbs-mini-list li::before {
    content: "";
    width: 0.42rem;
    height: 0.42rem;
    margin-top: 0.5rem;
    background: var(--hbs-coral);
    border-radius: 50%;
}

.hbs-pricing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.hbs-pricing-grid-compact {
    gap: 0.75rem;
}

.hbs-price-card {
    min-height: 320px;
    padding: 1.5rem;
}

.hbs-price-card h3 {
    font-size: clamp(2rem, 5vw, 3.4rem);
    line-height: 1;
}

.hbs-price-card-accent {
    color: white;
    background: var(--hbs-green);
    border-color: var(--hbs-green);
}

.hbs-price-card-accent p,
.hbs-price-card-accent .hbs-mini-list {
    color: #dce9e4;
}

.hbs-billing-choice {
    min-height: 134px;
    padding: 1rem;
    text-align: left;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
    box-shadow: var(--gstvt-shadow-soft);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.hbs-billing-choice:hover,
.hbs-billing-choice:focus-visible {
    border-color: rgba(69, 107, 243, 0.55);
    box-shadow: 0 0 0 0.2rem rgba(69, 107, 243, 0.12);
    transform: translateY(-1px);
}

.hbs-billing-choice strong,
.hbs-billing-choice small {
    display: block;
}

.hbs-billing-choice strong {
    margin-top: 0.85rem;
    color: var(--gstvt-ink);
    font-size: 1.45rem;
}

.hbs-billing-choice small {
    color: var(--hbs-muted);
}

.hbs-distribution-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.56fr);
    gap: 1rem;
    align-items: stretch;
    padding: 1.35rem;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
    box-shadow: var(--gstvt-shadow-soft);
}

.hbs-distribution-meter {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.hbs-distribution-meter > div,
.hbs-plan-summary > div {
    padding: 1rem;
    background: var(--gstvt-soft-blue);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.hbs-distribution-meter strong,
.hbs-distribution-meter span,
.hbs-plan-summary strong,
.hbs-plan-summary span {
    display: block;
}

.hbs-distribution-meter strong,
.hbs-plan-summary strong {
    color: var(--gstvt-blue);
    font-size: 1.35rem;
}

.hbs-distribution-meter span,
.hbs-plan-summary span {
    color: var(--hbs-muted);
    font-size: 0.78rem;
}

.hbs-timeline-list,
.hbs-plan-summary {
    display: grid;
    gap: 0.75rem;
}

.hbs-timeline-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.85rem 0;
    border-top: 1px solid var(--hbs-line);
}

.hbs-timeline-item:first-child {
    border-top: 0;
}

.hbs-timeline-item > .material-symbols-outlined {
    color: var(--hbs-green-2);
    margin-top: 0.1rem;
}

.hbs-timeline-item strong,
.hbs-timeline-item small {
    display: block;
}

.hbs-timeline-item small {
    color: var(--hbs-muted);
}

.hbs-check-list {
    padding: 0;
    list-style: none;
}

.hbs-check-list li {
    position: relative;
    padding: 0.45rem 0 0.45rem 1.65rem;
}

.hbs-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--hbs-green-2);
    font-weight: 700;
}

.hbs-section-heading {
    max-width: 620px;
    margin-bottom: 2rem;
}

.hbs-marketing-feature > .material-symbols-outlined {
    color: var(--hbs-coral);
    font-size: 2rem;
}

.hbs-marketing-cta {
    padding: 5rem 0;
    color: white;
    text-align: center;
    background: var(--hbs-green);
}

.hbs-marketing-cta p {
    color: #d9e5e0;
}

@media (max-width: 1199.98px) {
    .gstvt-page-nav {
        gap: 1.15rem;
        justify-content: flex-start;
    }

    .gstvt-home-copy h1 {
        font-size: 3.5rem;
    }

    .gstvt-frame-body {
        grid-template-columns: 1fr;
    }

    .gstvt-map-surface {
        min-height: 380px;
    }

    .gstvt-kpi-grid,
    .hbs-kpi-grid {
        grid-template-columns: repeat(3, minmax(140px, 1fr));
    }

    .hbs-platform-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hbs-channel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hbs-housekeeping-board {
        grid-template-columns: repeat(4, 280px);
    }

    .gstvt-gallery-editor-panel {
        position: static;
    }
}

@media (max-width: 991.98px) {
    .gstvt-page-header {
        grid-template-columns: auto auto;
        gap: 0.75rem 1rem;
        padding: 0.85rem 1rem;
    }

    .gstvt-page-nav {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-content: flex-start;
        gap: 1.35rem;
    }

    .gstvt-page-actions {
        justify-self: end;
    }

    .gstvt-hotel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gstvt-featured-stay {
        grid-template-columns: 1fr;
    }

    .hbs-search-form {
        grid-template-columns: 1fr 1fr;
    }

    .hbs-search-destination,
    .hbs-search-submit {
        grid-column: 1 / -1;
    }

    .hbs-marketing-hero {
        min-height: 650px;
    }

    .hbs-marketing-hero-product {
        min-height: min(620px, calc(100vh - 158px));
    }

    .hbs-distribution-hero {
        grid-template-columns: 1fr;
    }

    .gstvt-message-workbench {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(14rem, 36%) minmax(0, 1fr);
    }

    .gstvt-message-inbox {
        max-height: none;
        border-right: 0;
        border-bottom: 1px solid var(--gstvt-line);
    }

    .gstvt-message-thread {
        min-height: 0;
    }

    .gstvt-message-thread-header,
    .gstvt-message-composer-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .gstvt-message-thread-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    .gstvt-home {
        padding: 0;
    }

    .gstvt-home-wrap {
        padding-inline: 0;
    }

    .gstvt-home-copy {
        padding: 3.25rem 1rem 4.5rem;
        text-align: left;
    }

    .gstvt-home-copy h1 {
        font-size: 2.6rem;
    }

    .gstvt-home-copy p:not(.hbs-eyebrow) {
        font-size: 1rem;
    }

    .gstvt-app-frame {
        border-radius: 0;
    }

    .gstvt-frame-heading,
    .gstvt-search-panel.hbs-search-form {
        margin-inline: 0;
    }

    .gstvt-frame-heading {
        align-items: start;
        flex-direction: column;
        padding: 1.25rem 1rem 1rem;
    }

    .gstvt-frame-heading h2 {
        font-size: 1.5rem;
    }

    .gstvt-search-panel.hbs-search-form {
        margin: 0 1rem 1rem;
    }

    .gstvt-frame-body {
        padding: 1rem;
    }

    .gstvt-map-surface {
        min-height: 280px;
    }

    .gstvt-map-card {
        left: 1rem;
        top: 1rem;
    }

    .gstvt-hotel-grid {
        grid-template-columns: 1fr;
    }

    .gstvt-hotel-photo-gallery {
        min-height: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
    }

    .gstvt-hotel-photo-main {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 260px;
    }

    .gstvt-hotel-photo:not(.gstvt-hotel-photo-main) {
        aspect-ratio: 4 / 3;
    }

    .gstvt-main,
    .gstvt-footer,
    .hbs-main,
    .hbs-footer,
    .gstvt-page-main,
    .gstvt-page-footer {
        padding-bottom: calc(64px + env(safe-area-inset-bottom));
    }

    .gstvt-workspace-shell .gstvt-main {
        padding-bottom: 0;
    }

    .gstvt-workspace-topbar {
        gap: 0.65rem;
        padding: 0.65rem 0.9rem;
    }

    .gstvt-workspace-topbar-title strong {
        max-width: 44vw;
    }

    .gstvt-shell-header-inner,
    .hbs-header-inner {
        min-height: 58px;
    }

    .hbs-search-hero {
        min-height: 620px;
        align-items: flex-end;
    }

    .hbs-search-form {
        grid-template-columns: 1fr;
    }

    .hbs-search-form > * {
        grid-column: 1;
    }

    .hbs-hotel-card,
    .hbs-room-card {
        grid-template-columns: 1fr;
    }

    .hbs-hotel-image-link,
    .hbs-room-image {
        min-height: 210px;
    }

    .gstvt-workspace-heading,
    .hbs-workspace-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .gstvt-workspace-picker,
    .hbs-workspace-picker,
    .hbs-date-control {
        width: 100%;
    }

    .gstvt-workspace-picker-trigger {
        min-width: 0;
        width: 100%;
    }

    .gstvt-kpi-grid,
    .hbs-kpi-grid {
        grid-template-columns: repeat(2, minmax(130px, 1fr));
    }

    .hbs-message-composer {
        grid-template-columns: 1fr;
    }

    .gstvt-messages-page .gstvt-message-workbench {
        grid-template-rows: minmax(10.75rem, 24%) minmax(0, 1fr);
    }

    .gstvt-messages-page .gstvt-message-composer-input {
        min-height: 4.75rem;
    }

    .gstvt-messages-page .gstvt-message-composer {
        gap: 0.5rem;
        padding-block: 0.75rem;
    }

    .gstvt-messages-page .gstvt-message-composer-actions {
        align-items: center;
        flex-direction: row;
    }

    .gstvt-message-inbox-toolbar,
    .gstvt-message-thread-header,
    .gstvt-message-context,
    .gstvt-message-list,
    .gstvt-message-composer {
        padding-inline: 1rem;
    }

    .gstvt-message-inbox-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .gstvt-message-unread {
        grid-column: 2;
        justify-self: start;
    }

    .gstvt-growth-hero,
    .gstvt-raise-bid-panel {
        grid-template-columns: 1fr;
    }

    .hbs-marketing-hero {
        min-height: 600px;
    }

    .hbs-marketing-hero-product {
        min-height: auto;
    }

    .hbs-marketing-hero-product .hbs-marketing-hero-copy {
        padding-top: 4rem;
        padding-bottom: 2.25rem;
    }

    .hbs-marketing-hero-product .hbs-hero-proof {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .hbs-marketing-hero-product .hbs-hero-proof > div {
        padding: 0.75rem;
    }

    .hbs-marketing-hero-product .hbs-hero-proof strong {
        font-size: 1rem;
    }

    .hbs-marketing-hero-product .hbs-hero-proof span {
        font-size: 0.68rem;
    }

    .hbs-platform-grid,
    .hbs-channel-grid,
    .hbs-channel-grid-compact,
    .hbs-pricing-grid,
    .hbs-distribution-meter {
        grid-template-columns: 1fr;
    }

    .hbs-channel-grid-compact .hbs-channel-card:last-child {
        grid-column: auto;
    }
}

/* Shared analytics and report controls. */
.gstvt-report-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; }
.gstvt-report-filters > div { flex: 1 1 180px; min-width: 0; }
.gstvt-report-filters .form-select, .gstvt-report-filters .form-control { width: 100%; }
.gstvt-workspace-filters { padding:1rem; border:1px solid var(--gstvt-line); border-radius:var(--hbs-radius); background:var(--gstvt-surface,#fff); }
.gstvt-workspace-filters fieldset { min-width:0; }
.gstvt-workspace-filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:.75rem; }
.gstvt-workspace-filter-grid label { display:block; min-width:0; font-size:.8rem; color:var(--gstvt-muted); }
.gstvt-workspace-filter-grid .form-control,.gstvt-workspace-filter-grid .form-select { width:100%; min-width:0; margin-top:.3rem; }
.gstvt-workspace-filter-search { grid-column:span 2; }
.gstvt-workspace-filter-dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-column:span 2; gap:.75rem; min-width:0; }
.gstvt-workspace-filter-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-top:.75rem; }
.gstvt-workspace-filter-actions [role=status] { margin-inline-start:auto; }
.gstvt-reservations-page .gstvt-workspace-filters { container-type:inline-size; padding:1.25rem; box-shadow:none; }
.gstvt-reservations-page .gstvt-workspace-filter-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.gstvt-reservations-page .gstvt-workspace-filter-grid label { font-weight:600; }
.gstvt-reservations-page .gstvt-workspace-filter-grid input,.gstvt-reservations-page .gstvt-workspace-filter-grid select { font-weight:400; }
.gstvt-reservations-page .gstvt-workspace-filter-actions { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--gstvt-line); }
.gstvt-reservation-heading-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; }
.gstvt-reservations-refresh { display:inline-flex; gap:.4rem; align-items:center; }
.gstvt-reservations-refresh .material-symbols-outlined { font-size:1.15rem; }
.gstvt-reservations-page .hbs-table-shell { box-shadow:none; }
.gstvt-reservations-page .table thead { background:#fafbfc; }
.gstvt-reservations-page .table th,.gstvt-reservations-page .table td { padding:.85rem 1rem; }
.gstvt-reservations-page .table tbody tr:last-child td { border-bottom:0; }
.gstvt-reservation-guest { min-width:12rem; }
.gstvt-reservation-guest strong { font-size:.9rem; font-weight:600; }
.gstvt-reservation-guest small { margin-top:.2rem; font-size:.75rem; }
.gstvt-reservation-stay { white-space:nowrap; font-variant-numeric:tabular-nums; }
.gstvt-reservations-page td.text-end { font-variant-numeric:tabular-nums; white-space:nowrap; }
.gstvt-reservation-status { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .6rem; border-radius:.4rem; font-size:.75rem; font-weight:600; line-height:1.2; white-space:nowrap; background:#f1f3f6; color:#526071; }
.gstvt-reservation-status.is-success { background:#eaf6ef; color:#216342; }
.gstvt-reservation-status.is-warning { background:#fff4db; color:#805918; }
.gstvt-reservation-status.is-outline { background:#f1f3f6; color:#626b78; }
.gstvt-reservation-status-dot { display:inline-block; flex:none; width:.4rem; height:.4rem; border-radius:50%; background:currentColor; }
@container(min-width:1150px) {
    .gstvt-reservations-page .gstvt-workspace-filter-grid { grid-template-columns:minmax(260px,2fr) minmax(140px,1fr) minmax(180px,1.4fr) minmax(280px,2fr) minmax(140px,1fr); }
    .gstvt-reservations-page .gstvt-workspace-filter-search,.gstvt-reservations-page .gstvt-workspace-filter-dates { grid-column:auto; }
}
@container(max-width:700px) {
    .gstvt-reservations-page .gstvt-workspace-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container(max-width:430px) {
    .gstvt-reservations-page .gstvt-workspace-filter-grid,.gstvt-reservations-page .gstvt-workspace-filter-dates { grid-template-columns:minmax(0,1fr); }
    .gstvt-reservations-page .gstvt-workspace-filter-search,.gstvt-reservations-page .gstvt-workspace-filter-dates { grid-column:auto; }
}
@media(max-width:575px) { .gstvt-workspace-filter-grid { grid-template-columns:minmax(0,1fr); }.gstvt-workspace-filter-search,.gstvt-workspace-filter-dates { grid-column:auto; }.gstvt-workspace-filter-dates { grid-template-columns:minmax(0,1fr); }.gstvt-workspace-filter-actions [role=status] { width:100%; margin-inline-start:0; } }
.gstvt-workspace-page .hbs-detail-panel { min-width: 0; }
@media (max-width: 575.98px) { .gstvt-report-filters > div { flex-basis: 100%; } .gstvt-report-filters > button { width: 100%; } }

.gstvt-analytics-kpis { grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); }
.gstvt-analytics-kpis .gstvt-kpi span:not(.material-symbols-outlined) { display: block; color: var(--hbs-muted); font-size: .8rem; margin-top: .35rem; }
/* Shared public website */
:root { --gstvt-public-font: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body, .hbs-marketing-shell, .gstvt-orchard-public { font-family: var(--gstvt-public-font); }
.hbs-marketing-hero h1, .hbs-marketing-shell h1, .hbs-marketing-shell h2, .gstvt-orchard-public h1, .gstvt-orchard-public h2 { font-family: var(--gstvt-public-font); }
.gstvt-site-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; padding:20px 3%; background:var(--gstvt-surface, #fff); border-bottom:1px solid #e7e7e7; position:relative; z-index:1050; font-family:var(--gstvt-public-font); }
.gstvt-site-brand { display:inline-flex; align-items:center; gap:10px; color:#171717; font-size:22px; font-weight:750; text-decoration:none; white-space:nowrap; }.gstvt-site-brand img { width:32px; height:32px; }
.gstvt-site-nav { display:flex; gap:22px; align-items:center; }.gstvt-site-nav a { color:#454545; font-size:14px; font-weight:550; text-decoration:none; white-space:nowrap; }.gstvt-site-nav a:hover, .gstvt-site-nav a:focus-visible { color:#000; text-decoration:underline; text-underline-offset:7px; }
.gstvt-site-actions { display:flex; align-items:center; gap:12px; }.gstvt-site-account { width:42px; height:42px; border:1px solid #ddd; border-radius:50%; display:grid; place-items:center; color:#222; }
.gstvt-site-footer { background:#f6f6f4; color:#252525; border-top:1px solid #e2e2df; margin-top:64px; font-family:var(--gstvt-public-font); }.gstvt-footer-inner { max-width:1600px; margin:auto; padding:48px 4% 24px; }
.gstvt-footer-intro { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:32px; }.gstvt-footer-intro p { color:#666; margin:0; }
.gstvt-footer-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; padding:32px 0 48px; border-top:1px solid #ddd; }.gstvt-footer-columns section { display:flex; flex-direction:column; align-items:start; gap:14px; }.gstvt-footer-columns h2 { font-family:var(--gstvt-public-font); font-size:15px; font-weight:700; margin-bottom:6px; }
.gstvt-site-footer a:not(.gstvt-site-brand) { color:#444; font-size:14px; text-decoration:none; }.gstvt-site-footer a:hover { text-decoration:underline; }.gstvt-footer-bottom { border-top:1px solid #ddd; padding-top:24px; display:flex; gap:24px; flex-wrap:wrap; font-size:13px; color:#666; }.gstvt-footer-bottom nav { display:flex; gap:20px; }.gstvt-footer-bottom > span:last-child { margin-left:auto; }
.gstvt-discover { max-width:1800px; margin:auto; padding:56px 4% 0; }.gstvt-discover-heading h1 { font-family:var(--gstvt-public-font); font-size:clamp(36px,4.5vw,68px); font-weight:650; letter-spacing:-.045em; line-height:1.06; margin:12px 0 20px; }.gstvt-discover-heading > p:last-child { color:#666; font-size:17px; }
.gstvt-discover-search { margin:32px 0 40px; padding:22px; background:var(--gstvt-surface, #fff); border:1px solid #ddd; border-radius:20px; box-shadow:0 8px 32px #00000008; position:relative; z-index:1010; }
.gstvt-discover-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:24px; }.gstvt-discover-toolbar h2 { font-family:var(--gstvt-public-font); font-size:24px; letter-spacing:-.025em; }.gstvt-discover-toolbar p { margin:0; color:#666; }.gstvt-view-toggle { white-space:nowrap; display:inline-flex; gap:8px; align-items:center; }
.gstvt-discover-results { display:grid; gap:28px; }.gstvt-discover-results.is-map { grid-template-columns:1fr 1fr; }.gstvt-discover-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }.is-list .gstvt-discover-cards { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gstvt-stay-card { min-width:0; }.gstvt-stay-card a { color:#222; text-decoration:none; }.gstvt-stay-card img, .gstvt-stay-image-empty { width:100%; aspect-ratio:1.4; object-fit:cover; border-radius:16px; background:#eee; }.gstvt-stay-image-empty { display:grid; place-items:center; }.gstvt-stay-card small { display:block; color:#666; font-size:12px; margin-top:12px; }.gstvt-stay-card h3 { font-size:17px; margin:5px 0; font-weight:650; }.gstvt-stay-card p { font-size:13px; color:#666; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:7px; }.gstvt-stay-card strong { font-size:14px; }.gstvt-stay-card strong span { font-weight:400; color:#666; }
.gstvt-discover-map, .gstvt-search-map { min-width:0; position:sticky; top:20px; align-self:start; }.gstvt-live-map { height:580px; min-height:350px; border-radius:18px; border:1px solid #ddd; z-index:0; background:#edf0e9; }.gstvt-map-price { width:max-content !important; }.gstvt-map-price span { display:block; white-space:nowrap; background:var(--gstvt-surface, #fff); color:#222; padding:7px 11px; border-radius:20px; box-shadow:0 2px 8px #0003; font-family:var(--gstvt-public-font); font-size:12px; font-weight:700; border:1px solid #ddd; }.gstvt-map-price:focus span, .gstvt-map-price:hover span { background:#171717; color:white; }
.gstvt-discover-more { text-align:center; margin-top:40px; }.gstvt-host-invitation { max-width:1600px; margin:80px auto 0; padding:40px 4%; display:grid; grid-template-columns:1fr 1.4fr; align-items:center; gap:48px; background:#f2f4f1; border-radius:24px; }.gstvt-host-invitation h2 { font-size:clamp(28px,3vw,42px); letter-spacing:-.035em; font-family:var(--gstvt-public-font); }.gstvt-host-invitation p { color:#666; }.gstvt-host-invitation img { width:100%; border-radius:14px; border:1px solid #ddd; box-shadow:0 16px 40px #0001; }
.gstvt-search-width { padding-left:3%; padding-right:3%; }.gstvt-search-layout { display:grid; gap:28px; }.gstvt-search-layout.is-map { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }.gstvt-search-cards { min-width:0; }.gstvt-search-layout.is-list { max-width:1300px; margin:auto; }
.gstvt-guest-field { position:relative; min-width:0; }.gstvt-guest-popover { position:absolute; top:100%; right:0; z-index:1100; width:290px; max-width:calc(100vw - 40px); padding:20px; margin-top:8px; background:var(--gstvt-surface, white); color:#222; border:1px solid #ddd; border-radius:16px; box-shadow:0 12px 32px #0002; }.gstvt-guest-popover .btn-group { align-items:center; gap:5px; }.gstvt-guest-popover .btn { min-height:36px; }.gstvt-guest-popover .btn-group .btn { border-radius:50% !important; width:36px; }.gstvt-guest-popover .hbs-step-value { padding:6px; background:transparent; color:#222; opacity:1; }.hbs-search-results-header { position:relative; z-index:1010; }.hbs-search-form > div { min-width:0; }
@media(max-width:1200px) { .gstvt-site-nav { order:3; width:100%; justify-content:center; }.is-list .gstvt-discover-cards { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) { .gstvt-site-header { padding:16px 20px 10px; gap:14px; }.gstvt-site-nav { overflow-x:auto; justify-content:flex-start; gap:20px; padding-bottom:10px; }.gstvt-site-actions .btn { display:none; }.gstvt-discover { padding:32px 20px 0; }.gstvt-discover-search { padding:16px; margin:24px 0; }.gstvt-discover-toolbar { align-items:start; }.gstvt-discover-toolbar h2 { font-size:20px; }.gstvt-discover-toolbar p { font-size:13px; }.gstvt-discover-results.is-map, .gstvt-search-layout.is-map { grid-template-columns:1fr; }.gstvt-discover-results.is-map .gstvt-discover-cards, .gstvt-search-layout.is-map .gstvt-search-cards { display:none; }.gstvt-live-map { height:65vh; }.is-list .gstvt-discover-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.gstvt-host-invitation { margin:48px 20px 0; padding:24px; grid-template-columns:1fr; gap:24px; }.gstvt-host-invitation h2 { font-size:30px; }.gstvt-footer-intro { flex-direction:column; align-items:start; }.gstvt-footer-columns { grid-template-columns:1fr; gap:32px; padding:24px 0; }.gstvt-footer-columns section { padding-bottom:24px; border-bottom:1px solid #ddd; }.gstvt-footer-bottom > span:last-child { margin-left:0; }.gstvt-site-footer { padding-bottom:75px; }.gstvt-search-width { padding-left:20px; padding-right:20px; } }
@media(prefers-reduced-motion:reduce) { .gstvt-live-map * { transition:none !important; } }
.gstvt-site-nav a[aria-current="page"] { color:#111; text-decoration:underline; text-underline-offset:8px; }
.gstvt-discover-search .hbs-search-form { box-shadow:none; background:transparent; padding:0; border:0; }
.gstvt-inspiration { max-width:1600px; margin:80px auto 0; padding:0 4%; }
.gstvt-section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }.gstvt-section-heading h2, .gstvt-offers h2 { font-family:var(--gstvt-public-font); font-size:32px; font-weight:650; letter-spacing:-.035em; }.gstvt-section-heading p { color:#666; margin-bottom:0; }.gstvt-section-heading > a, .gstvt-offers > div > a { color:#4f278d; font-weight:600; font-size:14px; text-underline-offset:4px; }
.gstvt-destination-mosaic { display:grid; grid-template-columns:1.5fr 1fr; grid-template-rows:230px 230px; gap:24px; }.gstvt-destination-scene { position:relative; overflow:hidden; border-radius:20px; color:white; background:#303e3b; }.gstvt-destination-scene:first-child { grid-row:span 2; }.gstvt-destination-scene img { height:100%; width:100%; object-fit:cover; transition:transform .25s; }.gstvt-destination-scene:hover img { transform:scale(1.03); }.gstvt-destination-scene > div { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:end; padding:32px; background:linear-gradient(transparent 20%,#000a); }.gstvt-destination-scene h3 { font-size:28px; font-weight:650; color:white; margin:7px 0 12px; }.gstvt-destination-scene small { text-transform:uppercase; letter-spacing:.1em; font-size:11px; }.gstvt-destination-scene span { font-size:14px; }
.gstvt-destination-rail { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }.gstvt-destination-tile { color:#222; text-decoration:none; min-width:0; }.gstvt-destination-tile img { width:100%; aspect-ratio:1.3; object-fit:cover; border-radius:14px; }.gstvt-destination-tile h3 { font-size:17px; font-weight:650; margin:12px 0 5px; }.gstvt-destination-tile p { font-size:12px; color:#666; }.gstvt-photo-credits { margin-top:18px; font-size:11px; color:#777; }.gstvt-photo-credits a { color:inherit; }.gstvt-photo-credits ul { padding-left:18px; }
.gstvt-offers { max-width:1600px; margin:80px auto 0; padding:48px 4%; display:grid; grid-template-columns:1fr 2fr; gap:40px; background:#f7f4fb; border-radius:24px; }.gstvt-offers p { color:#666; }.gstvt-offer-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }.gstvt-offer-cards article { border:1px solid #e7e2ee; border-radius:18px; background:var(--gstvt-surface, #fff); padding:28px; display:flex; flex-direction:column; align-items:start; }.gstvt-offer-label { font-size:11px; color:#4e307f; background:#f3edf9; border-radius:30px; padding:6px 10px; margin-bottom:20px; }.gstvt-offer-cards h3 { font-size:21px; font-weight:650; }.gstvt-offer-cards strong { margin:auto 0 24px; font-size:24px; }.gstvt-offer-cards small { font-size:12px; color:#666; font-weight:400; }
@media(max-width:1000px) { .gstvt-destination-rail { grid-template-columns:repeat(3,minmax(0,1fr)); }.gstvt-offers { grid-template-columns:1fr; } }
@media(max-width:767px) { .gstvt-inspiration { margin-top:48px; padding:0 20px; }.gstvt-section-heading { flex-direction:column; align-items:start; gap:12px; }.gstvt-section-heading h2, .gstvt-offers h2 { font-size:27px; }.gstvt-destination-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:280px 220px; gap:14px; }.gstvt-destination-scene:first-child { grid-column:span 2; grid-row:span 1; }.gstvt-destination-scene > div { padding:18px; }.gstvt-destination-scene h3 { font-size:21px; }.gstvt-destination-scene small { font-size:9px; }.gstvt-destination-rail { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.gstvt-offers { margin:48px 20px 0; padding:24px; gap:24px; }.gstvt-offer-cards { grid-template-columns:1fr; }.gstvt-offer-cards article { padding:24px; } }
@media(prefers-reduced-motion:reduce) { .gstvt-destination-scene img { transition:none; } }
.gstvt-map-cluster span { display:grid; place-items:center; height:36px; border-radius:24px; background:#242126; color:white; border:2px solid white; box-shadow:0 2px 8px #0003; font:600 12px var(--gstvt-public-font); }

/* Keep revenue rows readable while their containing region scrolls on small screens. */
.gstvt-revenue-panel {
    background: var(--card);
}
.gstvt-revenue-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; align-items: end; margin-bottom: 1rem; }
.gstvt-revenue-filters > div, .gstvt-revenue-filters label { min-width: 0; }
.gstvt-revenue-filters label, .gstvt-revenue-reason { display: grid; gap: .35rem; }
.gstvt-revenue-filters .gstvt-bulk-date-picker, .gstvt-revenue-reason input { width: 100%; min-width: 0; }
.gstvt-revenue-reason { margin-block: 1rem; }

.gstvt-revenue-pricing-table {
    min-width: 42rem;
    table-layout: fixed;
}
.gstvt-revenue-pricing-table th:nth-child(1) { width: 3.5rem; }
.gstvt-revenue-pricing-table th:nth-child(2) { width: 14rem; }
.gstvt-revenue-pricing-table th:nth-child(3) { width: 6rem; }
.gstvt-revenue-pricing-table th:nth-child(4) { width: 7rem; }
.gstvt-revenue-pricing-table th:nth-child(5) { width: 9rem; }

.gstvt-invoice-toolbar, .gstvt-invoice-list-tools { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin:1rem 0; }
.gstvt-invoice-toolbar .badge { margin-right:auto; }
.gstvt-invoice-list-tools label { min-width:12rem; }
.gstvt-invoice-builder { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem; align-items:start; }
.gstvt-invoice-editor { min-width:0; }
.gstvt-invoice-card { background:var(--card,#fff); border:1px solid var(--gstvt-line); border-radius:10px; padding:1.25rem; margin-bottom:1rem; }
.gstvt-invoice-card > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; list-style:none; }
.gstvt-invoice-card > summary::-webkit-details-marker { display:none; }
.gstvt-invoice-card > summary::after { content:""; width:.5rem; height:.5rem; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); flex-shrink:0; margin-right:.25rem; }
.gstvt-invoice-card > summary h2 { margin:0; }
.gstvt-invoice-card[open] > summary { padding-bottom:1rem; margin-bottom:1rem; border-bottom:1px solid var(--gstvt-line); }
.gstvt-invoice-card[open] > summary::after { transform:rotate(225deg); }
.gstvt-invoice-card > summary:focus-visible { outline:2px solid var(--gstvt-ink); outline-offset:5px; border-radius:2px; }
@supports (interpolate-size:allow-keywords) and selector(::details-content) {
    .gstvt-invoice-card { interpolate-size:allow-keywords; }
    .gstvt-invoice-card::details-content {
        block-size:0;
        overflow:clip;
        transition:block-size 260ms ease, content-visibility 260ms allow-discrete;
    }
    .gstvt-invoice-card[open]::details-content { block-size:auto; }
    .gstvt-invoice-card > summary { transition:padding-bottom 260ms ease, margin-bottom 260ms ease; }
    .gstvt-invoice-card > summary::after { transition:transform 260ms ease; }
}
@media (prefers-reduced-motion:reduce), print {
    .gstvt-invoice-card::details-content,
    .gstvt-invoice-card > summary,
    .gstvt-invoice-card > summary::after { transition:none; }
}
.gstvt-invoice-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.gstvt-invoice-fields label, .gstvt-invoice-card label { font-size:.85rem; color:var(--gstvt-muted); }
.gstvt-invoice-card input,.gstvt-invoice-card select,.gstvt-invoice-card textarea { margin-top:.25rem; }
.gstvt-invoice-card label input[type=checkbox] { margin-right:.4rem; }
.gstvt-invoice-line { border:1px solid var(--gstvt-line); border-radius:6px; padding:1rem; margin:1rem 0; min-width:0; }
.gstvt-invoice-line legend { float:none; width:auto; font-size:.8rem; padding:0 .25rem; margin:0; color:var(--gstvt-muted); }
.gstvt-invoice-preview-pane { position:sticky; top:1rem; min-width:0; padding:1.25rem; border-radius:10px; background:#e9ecf1; }
.gstvt-invoice-preview-label { margin-bottom:1rem; font-size:.85rem; color:#596579; }
.gstvt-invoice-logo-picker { padding-bottom:1rem; margin-bottom:1rem; border-bottom:1px solid var(--gstvt-border,#e3e5e8); }
.gstvt-invoice-logo-actions { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.5rem; }
.gstvt-invoice-logo-actions > .btn { display:inline-flex; align-items:center; justify-content:center; min-height:2.5rem; max-width:100%; }
.gstvt-invoice-logo-upload { display:block; flex:1 1 16rem; min-width:0; max-width:100%; font-size:.8rem; }
.gstvt-invoice-logo-upload input { width:100%; max-width:100%; height:2.5rem; padding:0; margin-top:.25rem; line-height:calc(2.5rem - 2px); }
.gstvt-invoice-logo-upload input::file-selector-button { height:100%; padding:0 .75rem; margin:0 .75rem 0 0; line-height:inherit; }
.gstvt-invoice-logo-options { display:grid; grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); gap:.5rem; }
.gstvt-invoice-logo-options button { min-width:0; padding:.5rem; background:var(--gstvt-surface, white); border:1px solid #e3e5e8; border-radius:.4rem; }
.gstvt-invoice-logo-options img { display:block; width:100%; height:64px; object-fit:contain; }
.gstvt-invoice-logo-options span { display:block; margin-top:.4rem; font-size:.7rem; overflow-wrap:anywhere; }
.gstvt-invoice-logo-options button:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
@media(max-width:1199px) { .gstvt-invoice-builder { grid-template-columns:minmax(0,1fr); }.gstvt-invoice-preview-pane { position:static; } }
@media(max-width:575px) { .gstvt-invoice-card,.gstvt-invoice-preview-pane { padding:.85rem; }.gstvt-invoice-fields { grid-template-columns:minmax(0,1fr); } }

/* Hotel and room videos share one property allowance. */
.gstvt-video-editor { border: 1px solid var(--bs-border-color, #d9dce6); border-radius: 12px; padding: 1.25rem; margin: 1.25rem 0; background: var(--bs-body-bg, #fff); container-type: inline-size; }
.gstvt-video-heading, .gstvt-video-usage { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.gstvt-video-usage { justify-content: flex-start; color: var(--bs-secondary-color, #6b7280); font-size: .8rem; margin: 1rem 0; }
.gstvt-video-usage progress { width: 100%; height: .4rem; accent-color: #6f42f5; }
.gstvt-video-editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.gstvt-video-editor-grid > div { min-width: 0; }
.gstvt-video-edit-item { padding: .75rem 0; border-bottom: 1px solid var(--bs-border-color, #d9dce6); }
.gstvt-video-edit-item .form-label { display: block; }
.gstvt-video-library-item { display: flex; gap: .75rem; padding: .75rem 0; border-bottom: 1px solid var(--bs-border-color, #d9dce6); }
.gstvt-video-library-item img { width: 90px; height: 68px; object-fit: cover; border-radius: 6px; }
.gstvt-video-library-item > div { min-width: 0; }
.gstvt-video-library-item strong { display: block; font-size: .85rem; overflow-wrap: anywhere; }
.gstvt-video-library-item small { display: block; color: var(--bs-secondary-color, #6b7280); }
.gstvt-hotel-video { margin: 0 0 1rem; min-width: 0; max-width: 100%; }
.gstvt-hotel-video video { display: block; width: 100%; max-height: 420px; aspect-ratio: 16 / 9; object-fit: contain; background: #15171c; border-radius: 8px; }
.gstvt-hotel-video figcaption { font-size: .85rem; padding-top: .5rem; overflow-wrap: anywhere; }
.gstvt-public-videos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1rem; }
@container (max-width: 600px) { .gstvt-video-editor-grid { grid-template-columns: 1fr; } }

.gstvt-gateway-readiness-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 16px; }
.gstvt-gateway-readiness-card { padding: 20px; border: 1px solid var(--gstvt-line); border-radius: 8px; background: var(--gstvt-surface, white); overflow-wrap: anywhere; }
.gstvt-gateway-readiness-card p { line-height: 1.6; }
.gstvt-gateway-readiness-card .gstvt-status-badge { max-width: 100%; white-space: normal; line-height: 1.4; text-align: left; }
@media (max-width: 767.98px) { .gstvt-gateway-readiness-grid { grid-template-columns: minmax(0, 1fr); } }
.gstvt-payment-review > summary { cursor: pointer; font-weight: 600; }
.gstvt-payment-review > summary span { font-weight: 400; }
.gstvt-payment-review-row { padding-block: 1rem; border-top: 1px solid var(--bs-border-color, #d9dce7); overflow-wrap: anywhere; }
.gstvt-payment-review-reference { flex: 1 1 14rem; min-width: 0; }
@media (prefers-reduced-motion: reduce) {
    .gstvt-payment-review .btn { transition: none; }
}
.gstvt-refund-review-list { list-style: none; padding: 0; margin: .75rem 0; }
.gstvt-refund-review-list li { padding: .75rem; margin-block: .5rem; border: 1px solid var(--bs-border-color, #d9dce7); border-radius: .375rem; overflow-wrap: anywhere; }
.gstvt-refund-review-list p { margin: .5rem 0; }
.gstvt-refund-review-list button { white-space: normal; height: auto; min-height: 2.5rem; }
.gstvt-billing-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:20px; }
.gstvt-billing-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.gstvt-billing-plan { display:flex; flex-direction:column; align-items:flex-start; padding:22px; border:1px solid var(--gstvt-line); border-radius:10px; min-width:0; }
.gstvt-billing-plan.is-current { border-color:var(--gstvt-purple,#6846eb); box-shadow:inset 0 3px 0 var(--gstvt-purple,#6846eb); }
.gstvt-billing-price { font-size:1.8rem; font-weight:650; margin-bottom:12px; }
.gstvt-billing-price span { font-size:.85rem; font-weight:400; color:var(--gstvt-muted,#6c7280); }
.gstvt-billing-plan .btn { margin-top:auto; }
.gstvt-billing-columns { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:24px; align-items:start; }
.gstvt-billing-columns > * { min-width:0; }
.gstvt-billing-gateways { grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr)); gap:12px; align-items:start; }
.gstvt-billing-search { display:block; font-size:.875rem; color:var(--gstvt-muted,#6c7280); margin-bottom:20px; }
.gstvt-billing-search input { margin-top:6px; }
.gstvt-gateway-card-heading { display:flex; align-items:center; gap:12px; min-width:0; }
.gstvt-gateway-card-heading > div { min-width:0; }
.gstvt-gateway-logo { flex:none; display:flex; align-items:center; justify-content:center; width:52px; height:48px; border:1px solid var(--gstvt-line); border-radius:8px; background:var(--gstvt-surface, white); padding:7px; }
.gstvt-gateway-logo img { max-width:100%; height:32px; object-fit:contain; }
.gstvt-gateway-card-actions { display:flex; flex-wrap:wrap; align-items:flex-start; gap:10px; margin:16px 0; }
.gstvt-gateway-card-actions .btn { white-space:normal; text-align:left; }
.gstvt-gateway-details { font-size:.83rem; border-top:1px solid var(--gstvt-line); }
.gstvt-gateway-details summary { cursor:pointer; padding:12px 0 0; font-weight:500; }
.gstvt-gateway-details summary:focus-visible { outline:2px solid var(--gstvt-purple,#6846eb); outline-offset:4px; }
.gstvt-gateway-details > div { padding-top:14px; overflow:hidden; }
.gstvt-gateway-details p:last-child { margin-bottom:0; }
.gstvt-gateway-assignment { display:flex; flex-direction:column; gap:5px; padding:14px; border:1px solid var(--gstvt-line); border-radius:8px; overflow-wrap:anywhere; }
.gstvt-gateway-profile { display:flex; flex-direction:column; gap:3px; padding:12px 0; border-bottom:1px solid var(--gstvt-line); }
.gstvt-billing-text-link { font-size:.83rem; text-decoration:underline; text-underline-offset:3px; }
.gstvt-billing-feedback:empty { display:none; }
.gstvt-billing-feedback:focus { outline:none; }
@supports (interpolate-size: allow-keywords) {
    .gstvt-gateway-details { interpolate-size:allow-keywords; }
    .gstvt-gateway-details::details-content { block-size:0; overflow:hidden; transition:block-size .24s ease, content-visibility .24s allow-discrete; }
    .gstvt-gateway-details[open]::details-content { block-size:auto; }
}
@media (prefers-reduced-motion:reduce) { .gstvt-gateway-details::details-content { transition:none; } }
@media (max-width:1199.98px) { .gstvt-billing-columns { grid-template-columns:minmax(0,1fr); } .gstvt-billing-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; } .gstvt-billing-sidebar > .mt-3 { margin-top:0!important; } }
@media (max-width:767.98px) { .gstvt-billing-plans,.gstvt-billing-sidebar { grid-template-columns:minmax(0,1fr); } .gstvt-billing-section-heading { flex-wrap:wrap; } .gstvt-billing-plan { padding:16px; } }

/* Self-service gateway setup */
.gstvt-gateway-setup { border: 1px solid var(--gstvt-border-color, #d9d9e8); background: var(--gstvt-surface, #fff); }
.gstvt-gateway-setup:focus { outline: 2px solid var(--gstvt-primary, #6d40ef); outline-offset: 3px; }
.gstvt-gateway-setup-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.gstvt-gateway-setup-fields > label { min-width: 0; }
.gstvt-gateway-setup-fields > .gstvt-sampath-wide-field { grid-column: 1 / -1; }
.gstvt-gateway-setup .form-control, .gstvt-gateway-setup .form-select { margin-top: .35rem; }
.gstvt-gateway-setup-steps { padding-left: 1.25rem; }
.gstvt-gateway-setup-steps li { margin-bottom: .6rem; }
.gstvt-gateway-url { overflow-wrap: anywhere; }
@media (max-width: 575.98px) { .gstvt-gateway-setup-fields { grid-template-columns: minmax(0, 1fr); } }

/* Guest website art direction. Scoped to public containers; workspace and admin retain their own design. */
@font-face { font-family: 'Guestivity Editorial'; src: url('../fonts/instrument-serif-regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'Guestivity Editorial'; src: url('../fonts/instrument-serif-italic.ttf') format('truetype'); font-style: italic; font-weight: 400; font-display: swap; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) {
    --gstvt-ink: #233d35; --gstvt-muted: #626b62; --gstvt-blue: #315d48; --gstvt-blue-strong: #244536;
    --gstvt-violet: #49624a; --gstvt-line: #d7d8cd; --gstvt-canvas: #f7f6ef; --gstvt-soft-violet: #e9ecdf;
    --gstvt-soft-blue: #eef0e6; --gstvt-paper: #f7f6ef; --gstvt-forest: #233d35; --gstvt-citron: #e7edb1;
    --gstvt-serif: 'Guestivity Editorial', Georgia, serif; --hbs-blue: #315d48; --hbs-ink: #233d35; --hbs-line: #d7d8cd;
    background: var(--gstvt-paper); color: var(--gstvt-ink); min-height: 100vh;
    font-family: Inter, system-ui, sans-serif; font-weight: 400;
}
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(h1,h2,h3) { font-family: var(--gstvt-serif); font-weight: 400; letter-spacing: -.025em; line-height: 1.06; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(h1,h2,h3) em { font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) h1 { font-size: clamp(2.8rem,5vw,5rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) h2 { font-size: clamp(2rem,3.5vw,3.8rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) h3 { font-size: 1.75rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) a { color: inherit; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(a,button,input,summary,select,textarea):focus-visible { outline: 3px solid #7d8b40; outline-offset: 4px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .text-secondary { color: var(--gstvt-muted) !important; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .text-primary { color: var(--gstvt-forest) !important; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-eyebrow,.gstvt-eyebrow) { color: var(--gstvt-muted); font-family: Inter,system-ui,sans-serif; font-size: .64rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1.65; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .btn { border-radius: 3px; padding: 13px 21px; font-size: .85rem; font-weight: 500; transition: background .2s, color .2s, border-color .2s; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.btn-primary,.btn-dark) { background: var(--gstvt-forest); color: #fff; border-color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.btn-primary,.btn-dark):hover { background: #365a49; border-color: #365a49; color: #fff; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.btn-outline-dark,.btn-outline-secondary) { border-color: #aeb5a8; color: var(--gstvt-forest); background: transparent; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.btn-outline-dark,.btn-outline-secondary):hover { color: #fff; background: var(--gstvt-forest); border-color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .form-control,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .form-select { border-radius: 3px; border-color: var(--gstvt-line); color: #263d33; min-height: 46px; font-size: .92rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .form-label { font-size: .75rem; font-weight: 500; color: #344c3e; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-form-section,.hbs-detail-panel,.hbs-empty-state) { background: #fffefa; border: 1px solid var(--gstvt-line); border-radius: 5px; box-shadow: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.gstvt-main,.gstvt-page-main,.gstvt-public-main) { padding-bottom: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-home-band { display: none; } /* Superseded home-only CMS legacy band. */
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-mobile-nav { background: var(--gstvt-paper); color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-skip { position: absolute; left: 12px; top: -100px; background: var(--gstvt-surface, #fff); padding: 12px 18px; z-index: 10; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-skip:focus { top: 10px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-header { background: rgba(247,246,239,.97); min-height: 90px; padding: 20px 4.5%; border-bottom: 1px solid var(--gstvt-line); gap: 30px; flex-wrap: nowrap; position: sticky; top: 0; z-index: 1040; backdrop-filter: blur(12px); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-brand { font-size: 1.7rem; font-weight: 550; letter-spacing: -.09em; gap: 9px; text-decoration: none; white-space: nowrap; color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-brand img { width: 32px; height: 32px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-brand-period { color: #a5894c; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-nav { display: flex; gap: clamp(20px,3vw,44px); flex: none; order: initial; width: auto; padding: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-nav a { color: var(--gstvt-forest); font-size: .75rem; font-weight: 400; text-decoration: none; position: relative; padding: 6px 0; border: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-nav a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-nav a:hover::after,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-nav a[aria-current=page]::after { transform: scaleX(1); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-actions { display: flex; align-items: center; gap: 20px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-manage-link { font-size: .75rem; text-decoration: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-account { width: 38px; height: 38px; border: 1px solid #b7bfaf; border-radius: 50%; display: grid; place-items: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-menu { display: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-understated-link { display: inline-flex; align-items: center; gap: 24px; width: fit-content; font-size: .77rem; font-weight: 500; text-decoration: none; padding-bottom: 8px; border-bottom: 1px solid currentColor; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-understated-link span { transition: transform .25s; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-understated-link:hover span { transform: translate(3px,-3px); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-hero { max-width: 1700px; margin: auto; padding: 40px 4.5% 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-editorial { display: grid; grid-template-columns: 1.05fr 1fr; min-height: 550px; gap: 34px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story { position: relative; padding: 38px 0 54px; display: flex; flex-direction: column; justify-content: center; align-items: start; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story h1 { font-size: clamp(5rem,8.4vw,9rem); line-height: .91; letter-spacing: -.035em; margin: 27px 0 30px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story h1 em { color: #66744b; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-description { color: var(--gstvt-muted); font-size: .86rem; line-height: 1.9; margin-bottom: 32px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-edition { display: block; font-size: .49rem; letter-spacing: .15em; color: #626b62; position: absolute; bottom: 4px; left: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-sun-dot { width: 7px; height: 7px; border-radius: 50%; background: #b88a45; display: inline-block; margin-right: 7px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo { width: 100%; min-width: 0; margin: 0; position: relative; overflow: hidden; min-height: 550px; background: #d1d5c2; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent,rgba(16,35,29,.74)); pointer-events: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo figcaption { position: absolute; bottom: 28px; left: 28px; right: 28px; z-index: 1; color: #fff; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo figcaption > span { font-family: var(--gstvt-serif); font-style: italic; font-size: 2.5rem; display: block; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo figcaption a { display: flex; justify-content: space-between; align-items: center; text-decoration: none; font-size: .68rem; letter-spacing: .04em; margin-top: 8px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-photo-number { position: absolute; top: 24px; left: 24px; z-index: 1; color: white; font-size: .48rem; letter-spacing: .12em; background: #233d35d9; padding: 7px 10px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-search { margin: 30px 0 0; padding: 23px 28px; background: #fffefa; border: 1px solid var(--gstvt-line); position: relative; z-index: 5; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-search-intro { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-search-intro > span:last-child { font-family: var(--gstvt-serif); font-size: 1.35rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-form { gap: 17px; padding: 0; background: transparent; border: 0; box-shadow: none; border-radius: 0; align-items: end; grid-template-columns: minmax(220px,2fr) 1fr 1fr minmax(150px,1fr) auto; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-form .form-label { margin-bottom: 7px; font-size: .67rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-form .form-control { background-color: #fffefa; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-form .input-group-text { background: #fffefa; border-color: var(--gstvt-line); border-radius: 3px 0 0 3px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-form .hbs-search-submit { height: 46px; min-height: 46px; padding: 10px 22px; border-radius: 3px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-promise { display: flex; justify-content: space-between; gap: 16px; padding: 22px 0; font-size: .65rem; color: #66705f; border-bottom: 1px solid var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-promise span::before { content: '\2022'; margin-right: 10px; color: #78875c; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.gstvt-stay-collection,.gstvt-editorial-destinations,.gstvt-island-story,.gstvt-host-editorial) { width: auto; max-width: 1700px; margin: 0 auto; padding: 100px 4.5%; scroll-margin-top: 95px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 26px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-heading h2 { font-size: clamp(2.5rem,4.3vw,4.7rem); margin-bottom: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-toolbar p { font-size: .72rem; color: var(--gstvt-muted); margin: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-text-button { display: inline-flex; align-items: center; gap: 8px; border: 0; border-bottom: 1px solid var(--gstvt-line); background: transparent; color: var(--gstvt-forest); padding: 8px 0; font-size: .72rem; white-space: nowrap; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-stays { display: grid; grid-template-columns: 1fr 1.05fr; gap: 60px; align-items: stretch; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo { margin: 0; position: relative; min-height: 530px; overflow: hidden; background: #d8ddca; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,#172e25e6); pointer-events: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo figcaption { position: absolute; bottom: 28px; left: 28px; right: 28px; z-index: 1; color: #fff; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo figcaption > span { font-family: var(--gstvt-serif); font-style: italic; font-size: 2.7rem; line-height: 1.05; display: block; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo figcaption a { display: flex; justify-content: space-between; align-items: center; text-decoration: none; font-size: .7rem; margin-top: 16px; gap: 16px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-list { border-top: 1px solid var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-stay { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 16px; padding: 27px 0; border-bottom: 1px solid var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-index { color: var(--gstvt-muted); font-size: .68rem; padding-top: 3px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-caption h3 { font-size: clamp(1.8rem,2.8vw,3rem); margin: 8px 0 15px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-caption h3 a { display: flex; justify-content: space-between; gap: 16px; text-decoration: none; align-items: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-arrow { display: block; font-size: 1.3rem; font-family: Inter,system-ui,sans-serif; transition: transform .25s; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-caption h3 a:hover .gstvt-stay-arrow { transform: translate(3px,-3px); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-caption .gstvt-eyebrow { margin: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: .72rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-meta strong { font-weight: 500; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-map { margin-top: 36px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-map p { font-size: .75rem; margin: 12px 0 0; color: var(--gstvt-muted); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story { margin: 0; padding: 85px 7%; background: #e9ecdf; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story > .gstvt-eyebrow { text-align: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story h2 { font-size: clamp(4rem,8vw,9rem); text-align: center; margin: 32px auto 46px; line-height: .98; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story h2 em { color: #737c52; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 40px; align-items: center; max-width: 1200px; margin: auto; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom p { font-size: .9rem; line-height: 1.9; max-width: 540px; margin: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-symbol { font-size: 5.5rem; color: #7c874b; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom a { justify-self: end; font-size: .7rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-section-heading h2 { font-family: var(--gstvt-serif); font-size: clamp(3rem,4.5vw,5rem); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-section-heading > a { color: var(--gstvt-forest); font-size: .75rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-section-heading p { font-size: .85rem; max-width: 450px; line-height: 1.8; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-mosaic { display: grid; grid-template-columns: 1.2fr .85fr .85fr; grid-template-rows: auto; gap: 28px; padding-top: 30px; align-items: start; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene { color: #fff; grid-column: auto; grid-row: auto; height: 410px; border-radius: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene:first-child { grid-column: auto; grid-row: auto; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene:nth-child(2) { margin-top: 72px; height: 365px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene:nth-child(3) { margin-top: 140px; height: 365px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene > div { padding: 25px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene h3 { font-size: 2.7rem; font-family: var(--gstvt-serif); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene small,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene span { font-size: .69rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-island-story { padding-top: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-island-story .gstvt-section-heading { border-top: 1px solid var(--gstvt-line); padding-top: 55px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-rail { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 38px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile { display: grid; grid-template-columns: 90px 1fr; grid-template-rows: auto auto; column-gap: 20px; border-bottom: 1px solid var(--gstvt-line); padding: 0 0 22px; align-items: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile img { grid-row: 1 / 3; width: 90px; height: 105px; aspect-ratio: auto; border-radius: 0; margin: 0; object-fit: cover; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile h3 { font-family: var(--gstvt-serif); font-size: 2rem; font-weight: 400; align-self: end; margin: 0 0 8px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile p { font-size: .68rem; align-self: start; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-photo-credits { font-size: .64rem; color: var(--gstvt-muted); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story { position: relative; min-height: 510px; display: grid; align-items: center; padding: 70px 8%; overflow: hidden; color: #fff; background: #3d5145; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story > img { position: absolute; width: 100%; height: 100%; object-fit: cover; inset: 0; object-position: center 65%; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#162c25c9,#162c2540); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story > div { position: relative; z-index: 1; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story .gstvt-eyebrow { color: #f0efdf; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story h2 { font-size: clamp(3.5rem,6vw,6.5rem); margin: 25px 0 35px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial h2 { font-size: clamp(3.5rem,5vw,5.8rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial-copy > p:not(.gstvt-eyebrow) { font-size: .86rem; line-height: 1.9; margin: 28px 0; max-width: 370px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial figure { margin: 0; background: #e7e8da; padding: 35px 25px 20px; transform: rotate(-2deg); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial figure img { width: 100%; height: auto; box-shadow: 0 12px 28px #233d3514; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial figcaption { font-size: .62rem; margin-top: 20px; text-align: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-footer { background: var(--gstvt-forest); color: #f5f4e9; border: 0; margin-top: 0; padding-bottom: env(safe-area-inset-bottom); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-inner { max-width: 1700px; padding: 74px 4.5% 26px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-invitation { display: flex; justify-content: space-between; align-items: center; padding-bottom: 65px; border-bottom: 1px solid #f7f6ef38; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-invitation h2 { font-size: clamp(4rem,7vw,8rem); line-height: .95; margin: 22px 0 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-invitation .gstvt-eyebrow { color: #d4dcbf; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-round-link { display: grid; place-items: center; border: 1px solid #c7d5ba88; border-radius: 50%; width: 105px; height: 105px; font-size: 3.2rem; text-decoration: none; color: var(--gstvt-citron); transition: background .25s,color .25s; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-round-link:hover { background: var(--gstvt-citron); color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-content { display: grid; grid-template-columns: 1fr 1.8fr; gap: 60px; padding: 60px 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-intro { display: block; padding: 0; border: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-intro .gstvt-site-brand { color: #fff; font-size: 1.65rem; letter-spacing: -.06em; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-intro img { filter: invert(1); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-intro p { color: #c2cdbf; font-size: .75rem; line-height: 1.9; margin: 24px 0 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; padding: 0; border: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-columns h2 { color: #e9edcf; font-family: Inter,system-ui,sans-serif; letter-spacing: .03em; font-size: .68rem; font-weight: 500; margin-bottom: 22px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-footer a:not(.gstvt-site-brand):not(.gstvt-round-link) { font-size: .71rem; color: #d5ddce; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-columns section a { display: block; margin-bottom: 13px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-bottom { font-size: .64rem; color: #c7d1bf; border-color: #f7f6ef38; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-bottom a { font-size: .64rem !important; }
/* Search, hotel and checkout retain their existing components and state. */
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-results-header { background: #e9ecdf; border-bottom: 1px solid var(--gstvt-line); padding: 12px 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-search-width { max-width: 1600px; padding-left: 4.5%; padding-right: 4.5%; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-search-width > div > div > h1 { font-size: clamp(2.5rem,4vw,4rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-card { border-radius: 4px; border-color: var(--gstvt-line); box-shadow: none; background: #fffefa; overflow: hidden; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-image-link { overflow: hidden; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-image { transition: transform .7s; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-image-link:hover .hbs-hotel-image { transform: scale(1.035); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-card-body { padding: 25px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-card h2 { font-size: 1.9rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-card h2 a { text-decoration: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-amenities span { background: #eef0e6; border-radius: 2px; border-color: #dfe2d7; color: #4b5b48; font-size: .69rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-live-map { border-radius: 4px; border-color: var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hotel-photo-gallery { border-radius: 5px; gap: 10px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-room-card { background: #fffefa; border-color: var(--gstvt-line); border-radius: 4px; box-shadow: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-room-card h3 { font-size: 1.7rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-narrow { padding: 32px; border: 1px solid var(--gstvt-line); background: #fffefa; margin-top: 24px; margin-bottom: 40px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-narrow h1 { font-size: 3.3rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .accordion-item { border-color: var(--gstvt-line); background: #fffefa; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .accordion-button { color: var(--gstvt-forest); background: #fffefa; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .accordion-button:not(.collapsed) { color: var(--gstvt-forest); background: #e9ecdf; }
/* Public product, pricing and informational CMS pages. */
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product { min-height: 600px; background: #e9ecdf; color: var(--gstvt-forest); overflow: hidden; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product > img { left: auto; right: 0; width: 48%; height: 100%; opacity: 1; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-shade { background: linear-gradient(90deg,#e9ecdf 49%,#e9ecdf00 75%); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-copy { color: var(--gstvt-forest); padding-top: 70px; padding-bottom: 65px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-copy > :is(h1,p,.hbs-hero-actions,.hbs-hero-proof) { max-width: 52%; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product h1 { font-family: var(--gstvt-serif); font-size: clamp(3rem,5.5vw,6rem); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product p.text-white { color: #4c604b !important; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .btn-light { background: var(--gstvt-forest); color: white; border-color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .btn-outline-light { border-color: #83927c; color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hero-proof { border-color: #8f9e8466; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hero-proof span { color: #4e604a; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-marketing-section,.gstvt-feature-section) { padding-top: 85px; padding-bottom: 85px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-section-muted { background: #eeeee4; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-section-heading h2,.gstvt-features-title,.gstvt-feature-heading h2) { font-family: var(--gstvt-serif); font-weight: 400; font-size: clamp(2.6rem,4.8vw,5rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-product-module,.hbs-channel-card) { border-radius: 3px; box-shadow: none; background: #fffefa; border-color: var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-product-module h3 { font-size: 1.8rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-product-shot,.gstvt-feature-figure a) { border-radius: 4px; box-shadow: 0 14px 40px #233d350c; border-color: var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-price-card,.hbs-price-card-accent) { border-radius: 4px; background: #fffefa; color: var(--gstvt-forest); border-color: #a1ad95; box-shadow: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-price-card-accent { background: #e7edda; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-price-card-accent :is(p,li) { color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-price-card h3 { font-size: 4rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-relationship { background: #e9ecdf; border-radius: 4px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-copy h3,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-relationship h3 { font-family: var(--gstvt-serif); font-size: clamp(2.2rem,3.5vw,3.5rem); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-links a,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-tags span { border-radius: 2px; background: #fffefa; border-color: var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-detail-hero { background: #e9ecdf; padding: 70px 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-detail-hero h1 { font-family: var(--gstvt-serif); font-size: clamp(3.5rem,6vw,6rem); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-table { background: #fffefa; font-size: .86rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-payment-heading h3 { font-family: var(--gstvt-serif); font-size: clamp(2.7rem,4vw,4rem); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-logo-tile { border-radius: 3px; background: #fffefa; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-cta { background: var(--gstvt-forest); padding: 65px 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-cta .btn-light { color: var(--gstvt-forest); background: var(--gstvt-paper); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-cta h2 { font-family: var(--gstvt-serif); font-weight: 400; font-size: clamp(2.7rem,4.5vw,5rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) [data-gstvt-reveal] { transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.3,1); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-reveal-wait { opacity: 0; transform: translateY(24px); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) [id] { scroll-margin-top: 110px; }
@media (max-width:1100px) {
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-nav { gap: 20px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-actions { gap: 12px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-editorial { min-height: 470px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo { min-height: 470px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story h1 { font-size: clamp(4.5rem,8.6vw,7rem); }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-form { grid-template-columns: 1.6fr 1fr 1fr; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-destination { grid-column: auto; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-field { grid-column: 1 / 3; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom { grid-template-columns: .5fr 2fr; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom a { grid-column: 2; justify-self: start; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile { grid-template-columns: 70px 1fr; gap: 12px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile img { width: 70px; height: 90px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial { gap: 40px; }
}
@media (max-width:767px) {
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-header { min-height: 72px; padding: 16px 5%; gap: 16px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-brand { font-size: 1.5rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-brand img { width: 28px; height: 28px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-nav,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-actions { display: none; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-menu { display: block; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-menu summary { display: flex; gap: 12px; align-items: center; list-style: none; font-size: .75rem; cursor: pointer; padding: 9px 0 9px 12px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-menu summary::-webkit-details-marker { display: none; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-menu nav { position: absolute; left: 0; right: 0; top: 100%; background: var(--gstvt-paper); border-bottom: 1px solid var(--gstvt-line); padding: 18px 5% 25px; box-shadow: 0 12px 18px #233d3512; max-height: 75vh; overflow-y: auto; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-menu nav a { display: flex; justify-content: space-between; text-decoration: none; padding: 13px 0; border-bottom: 1px solid var(--gstvt-line); font-size: .9rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-hero { padding: 20px 5% 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-editorial { grid-template-columns: 1fr; gap: 22px; min-height: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story { padding: 25px 0 13px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story h1 { font-size: clamp(4.6rem,14vw,6.8rem); margin: 21px 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story > .gstvt-eyebrow { font-size: .55rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-description { font-size: .79rem; margin-bottom: 22px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-edition { display: none; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo { min-height: 320px; max-height: 410px; aspect-ratio: 1.3; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo figcaption { left: 20px; bottom: 20px; right: 20px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo figcaption > span { font-size: 2.1rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-search { margin-top: 22px; padding: 19px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-search-intro { flex-direction: column; align-items: start; gap: 3px; margin-bottom: 18px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-form { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 15px 12px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-destination { grid-column: 1 / -1; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-form > .gstvt-guest-field { grid-column: 1 / -1; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-form .hbs-search-submit { grid-column: 1 / -1; width: 100%; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-promise { flex-direction: column; gap: 10px; font-size: .64rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.gstvt-stay-collection,.gstvt-editorial-destinations,.gstvt-island-story,.gstvt-host-editorial) { padding: 65px 5%; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-heading { flex-direction: column; align-items: start; gap: 20px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-heading h2 { font-size: 2.9rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-toolbar { align-items: start; flex-direction: column; gap: 10px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-stays { grid-template-columns: 1fr; gap: 30px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo { min-height: 370px; }


    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-caption h3 { font-size: 2.3rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story { padding: 60px 5%; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story h2 { font-size: clamp(3.7rem,12vw,5.5rem); }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom { grid-template-columns: 1fr; gap: 25px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-symbol { font-size: 3.5rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom a { grid-column: 1; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-section-heading { align-items: start; flex-direction: column; gap: 25px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-section-heading h2 { font-size: 3.2rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-mosaic { grid-template-columns: 1fr; gap: 25px; padding-top: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene:nth-child(2),:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene:nth-child(3) { height: 350px; margin: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-island-story { padding-top: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-rail { grid-template-columns: 1fr 1fr; gap: 24px 18px; overflow: visible; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile { display: block; min-width: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile img { width: 100%; height: auto; aspect-ratio: 1.1; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile h3 { margin: 14px 0 6px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story { min-height: 460px; padding: 50px 5%; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story h2 { font-size: 3.5rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story .gstvt-understated-link { font-size: .68rem; gap: 12px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial { grid-template-columns: 1fr; gap: 40px; overflow: hidden; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial figure { margin: 8px; padding: 25px 15px 15px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-inner { padding: 60px 5% 28px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-invitation { align-items: start; gap: 25px; padding-bottom: 40px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-invitation h2 { font-size: clamp(2.9rem,10vw,5rem); }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-round-link { width: 50px; height: 50px; flex-shrink: 0; font-size: 1.8rem; margin-top: 40px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-content { grid-template-columns: 1fr; gap: 36px; padding: 35px 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-columns { grid-template-columns: 1fr 1fr; gap: 30px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-columns section { border: 0; padding: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-bottom { gap: 17px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-bottom > span:last-child { margin-left: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-footer { padding-bottom: 75px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-card-body { padding: 20px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-narrow { padding: 24px 18px; margin-top: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product { display: block; min-height: 0; padding: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product > img { width: 100%; height: 300px; position: relative; object-fit: cover; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-shade { display: none; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-copy { padding: 36px 5%; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-copy > :is(h1,p,.hbs-hero-actions,.hbs-hero-proof) { max-width: 100%; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product h1 { font-size: 3.4rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-marketing-section,.gstvt-feature-section) { padding-top: 55px; padding-bottom: 55px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-detail-hero { padding: 40px 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-detail-hero h1 { font-size: 3.5rem; }
}
@media (prefers-reduced-motion:reduce) {
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) [data-gstvt-reveal],:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-reveal-wait { opacity: 1; transform: none; transition: none; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(img,.gstvt-stay-arrow,.gstvt-round-link) { transition: none; }
}

/* Discount and gift voucher workspace */
.gstvt-benefit-panel { background: var(--gstvt-surface, #fff); border: 1px solid var(--gstvt-border, #dddfe8); border-radius: 14px; padding: 1.5rem; }
.gstvt-benefit-panel > label { display: block; margin: .85rem 0; }
.gstvt-benefit-panel label { font-size: .875rem; }
.gstvt-benefit-panel label > .form-control, .gstvt-benefit-panel label > .form-select { margin-top: .35rem; }
.gstvt-benefit-receipt { display: flex; gap: 1rem; padding: 1.5rem; background: #f0ecff; color: #25134f; border: 1px solid #d5c7ff; border-radius: 14px; }
.gstvt-benefit-receipt > div { min-width: 0; flex: 1; }
.gstvt-benefits-page .table th { white-space: nowrap; }
@media(max-width: 575px) { .gstvt-benefit-panel { padding: 1rem; } .gstvt-benefit-receipt { padding: 1rem; } }

/* Reservation calendar: pinned room labels, day columns and review-first editing. */
.gstvt-reservation-view-toggle { display:flex; padding:3px; border:1px solid var(--gstvt-line); border-radius:8px; background:var(--gstvt-surface, #fff); }
.gstvt-reservation-view-toggle button { display:flex; align-items:center; gap:6px; border:0; background:transparent; color:var(--gstvt-muted); padding:8px 13px; border-radius:5px; font-weight:600; }
.gstvt-reservation-view-toggle button.is-active { background:var(--primary); color:var(--primary-foreground); }
.gstvt-reservation-view-toggle button:hover:not(.is-active) { background:var(--accent); color:var(--accent-foreground); }
.gstvt-reservation-view-toggle button:focus-visible { outline:2px solid var(--sidebar-primary); outline-offset:2px; }
.gstvt-reservation-view-toggle button .material-symbols-outlined { color:inherit; }
.gstvt-reservation-timeline { background:var(--gstvt-surface, #fff); border:1px solid var(--gstvt-line); border-radius:12px; overflow:hidden; }
.gstvt-timeline-toolbar { padding:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.gstvt-timeline-navigation,.gstvt-timeline-range { display:flex; align-items:center; gap:8px; }
.gstvt-timeline-navigation strong { margin-left:10px; font-size:1.1rem; }
.gstvt-timeline-range input { max-width:165px; }
.gstvt-timeline-range select { width:125px; }
.gstvt-timeline-legend { display:flex; flex-wrap:wrap; align-items:center; gap:18px; padding:0 20px 16px; font-size:.78rem; color:var(--gstvt-muted); }
.gstvt-timeline-legend span { display:flex; align-items:center; gap:6px; }
.gstvt-timeline-legend i { width:8px; height:8px; border-radius:3px; background:var(--gstvt-stay-accent); }
.gstvt-timeline-legend small { margin-left:auto; }
.gstvt-timeline-scroll { overflow:auto; max-height:68vh; overscroll-behavior:contain; border-block:1px solid var(--gstvt-line); }
.gstvt-timeline-grid { --gstvt-label-width:210px; --gstvt-day-width:96px; min-width:calc(var(--gstvt-label-width) + var(--gstvt-days) * var(--gstvt-day-width)); }
.gstvt-timeline-header,.gstvt-timeline-row { display:grid; grid-template-columns:var(--gstvt-label-width) minmax(0,1fr); }
.gstvt-timeline-header { position:sticky; top:0; z-index:5; background:var(--gstvt-surface, #fff); border-bottom:1px solid var(--gstvt-line); }
.gstvt-timeline-label { position:sticky; left:0; z-index:3; background:var(--gstvt-surface, #fff); padding:15px 18px; border-right:1px solid var(--gstvt-line); display:flex; flex-direction:column; justify-content:center; gap:4px; font-size:.85rem; overflow-wrap:anywhere; }
.gstvt-timeline-label small { color:var(--gstvt-muted); font-size:.72rem; font-weight:400; }
.gstvt-timeline-dates,.gstvt-timeline-cells { display:grid; grid-template-columns:repeat(var(--gstvt-days),minmax(0,1fr)); }
.gstvt-timeline-dates>div { text-align:center; min-height:80px; padding:10px 2px 5px; border-right:1px solid #edf0f5; display:flex; flex-direction:column; align-items:center; }
.gstvt-timeline-dates small { color:var(--gstvt-muted); font-size:.7rem; text-transform:uppercase; }
.gstvt-timeline-dates strong { font-size:1.1rem; }
.gstvt-timeline-dates span { font-size:.6rem; text-transform:uppercase; color:var(--gstvt-violet); font-weight:700; }
.gstvt-timeline-room-group { position:relative; }
.gstvt-timeline-group { position:sticky; top:var(--gstvt-timeline-header-height,80px); z-index:4; background:var(--gstvt-surface-raised, #f4f5f9); border-bottom:1px solid var(--gstvt-line); font-size:.75rem; color:var(--gstvt-ink); }
.gstvt-timeline-group-toggle { position:sticky; left:0; display:flex; align-items:center; justify-content:space-between; gap:16px; width:var(--gstvt-timeline-viewport-width,100%); min-height:48px; padding:10px 18px; border:0; background:var(--gstvt-surface-raised, #f4f5f9); color:inherit; text-align:left; }
.gstvt-timeline-group-toggle:hover { background:var(--gstvt-surface-raised, #eceef5); }
.gstvt-timeline-group-title { display:flex; align-items:center; gap:10px; min-width:0; }
.gstvt-timeline-group-title strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gstvt-timeline-chevron { font-size:1.35rem; line-height:1; flex-shrink:0; transform:rotate(0); transition:transform 220ms ease; }
.gstvt-timeline-group-toggle[aria-expanded="true"] .gstvt-timeline-chevron { transform:rotate(90deg); }
.gstvt-timeline-group-summary { flex-shrink:0; color:#515867; font-weight:400; }
.gstvt-timeline-group-panel { display:grid; grid-template-rows:0fr; visibility:hidden; transition:grid-template-rows 220ms ease, visibility 0s 220ms; }
.gstvt-timeline-group-panel.is-expanded { grid-template-rows:1fr; visibility:visible; transition:grid-template-rows 220ms ease, visibility 0s; }
.gstvt-timeline-group-rows { min-height:0; overflow:clip; }
.gstvt-calendar-switch { display:flex; align-items:center; gap:8px; min-height:44px; white-space:nowrap; font-size:.8rem; color:#515867; cursor:pointer; }
.gstvt-calendar-switch input { appearance:none; flex-shrink:0; position:relative; width:34px; height:20px; margin:0; border:1px solid #727986; border-radius:12px; background:#e2e5eb; cursor:pointer; transition:background-color 180ms ease; }
.gstvt-calendar-switch input::after { content:''; position:absolute; width:14px; height:14px; left:2px; top:2px; border-radius:50%; background:#515867; transition:transform 180ms ease; }
.gstvt-calendar-switch input:checked { background:var(--gstvt-violet); border-color:var(--gstvt-violet); }
.gstvt-calendar-switch input:checked::after { transform:translateX(14px); background:var(--gstvt-surface, #fff); }
.gstvt-calendar-switch input:disabled { opacity:.5; cursor:default; }
.gstvt-calendar-switch input:focus-visible,.gstvt-timeline-group-toggle:focus-visible { outline:2px solid var(--gstvt-violet); outline-offset:-2px; }
@media(prefers-reduced-motion:reduce) { .gstvt-timeline-group-panel,.gstvt-timeline-chevron,.gstvt-calendar-switch input,.gstvt-calendar-switch input::after { transition:none; } }
@media(forced-colors:active) { .gstvt-calendar-switch input { appearance:auto; } .gstvt-calendar-switch input::after { display:none; } }
.gstvt-timeline-row { border-bottom:1px solid #edf0f5; min-height:calc(var(--gstvt-lanes) * 66px + 12px); }
.gstvt-timeline-track { position:relative; min-width:0; }
.gstvt-timeline-cells { position:absolute; inset:0; }
.gstvt-timeline-cells>div { border-right:1px solid #edf0f5; }
.gstvt-timeline-dates .is-weekend,.gstvt-timeline-cells .is-weekend { background:#fafbfe; }
.gstvt-timeline-dates .is-today,.gstvt-timeline-cells .is-today { background:#f2edff; border-left:2px solid var(--gstvt-violet); }
.gstvt-reservation-timeline .is-confirmed { --gstvt-stay-accent:#367865; --gstvt-stay-bg:#e3f3ea; --gstvt-stay-ink:#205843; }
.gstvt-reservation-timeline .is-inhouse { --gstvt-stay-accent:#6650b6; --gstvt-stay-bg:#eee8ff; --gstvt-stay-ink:#50398e; }
.gstvt-reservation-timeline .is-pending { --gstvt-stay-accent:#aa751b; --gstvt-stay-bg:#fff2d6; --gstvt-stay-ink:#795412; }
.gstvt-reservation-timeline .is-ended { --gstvt-stay-accent:#89929f; --gstvt-stay-bg:#edf0f4; --gstvt-stay-ink:#535d6c; }
.gstvt-stay-bar { position:absolute; left:calc(var(--gstvt-start) / var(--gstvt-days) * 100% + 3px); width:calc(var(--gstvt-length) / var(--gstvt-days) * 100% - 6px); top:calc(var(--gstvt-lane) * 66px + 10px); height:54px; background:var(--gstvt-stay-bg); border-left:3px solid var(--gstvt-stay-accent); color:var(--gstvt-stay-ink); border-radius:6px; z-index:1; transform-origin:left center; }
.gstvt-stay-bar-main { width:100%; height:100%; display:flex; flex-direction:column; text-align:left; justify-content:center; padding:5px 12px; background:none; border:0; color:inherit; overflow:hidden; border-radius:inherit; }
.gstvt-stay-bar-main strong,.gstvt-stay-bar-main small { max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.gstvt-stay-bar-main strong { font-size:.8rem; }.gstvt-stay-bar-main small { font-size:.67rem; }
.gstvt-stay-bar[data-editable=true] .gstvt-stay-bar-main { cursor:grab; touch-action:pan-y; }
.gstvt-stay-bar:hover { filter:brightness(.98); box-shadow:0 3px 10px #14203314; }
.gstvt-stay-bar:focus-within { outline:2px solid var(--gstvt-violet); outline-offset:2px; z-index:2; }
.gstvt-stay-resize { position:absolute; top:0; bottom:0; width:9px; cursor:ew-resize; z-index:2; touch-action:none; }
.gstvt-stay-resize.is-start { left:0; }.gstvt-stay-resize.is-end { right:0; }
.gstvt-stay-resize::after { content:''; position:absolute; height:16px; width:2px; background:currentColor; top:19px; left:3px; opacity:.25; border-radius:2px; }
.gstvt-stay-bar.is-dragging { opacity:.8; z-index:4; box-shadow:0 6px 18px #14203330; }
.gstvt-timeline-row.is-drop-target .gstvt-timeline-track { outline:2px dashed var(--gstvt-violet); outline-offset:-2px; }
.gstvt-stay-bar.is-clipped-start { border-radius:0 6px 6px 0; border-left-style:dashed; }
.gstvt-stay-bar.is-clipped-end { border-radius:6px 0 0 6px; border-right:2px dashed var(--gstvt-stay-accent); }
.gstvt-timeline-empty { display:flex; flex-direction:column; align-items:center; gap:6px; padding:24px; color:var(--gstvt-muted); }
.gstvt-timeline-footnote { padding:13px 20px; color:var(--gstvt-muted); font-size:.75rem; }
.gstvt-stay-dialog { padding:0; border:1px solid var(--gstvt-line); border-radius:14px; width:min(680px,calc(100vw - 28px)); max-height:90dvh; color:var(--gstvt-ink); box-shadow:0 25px 80px #11182740; }
.gstvt-stay-dialog::backdrop { background:#11182770; }
.gstvt-stay-dialog header { display:flex; justify-content:space-between; align-items:flex-start; padding:24px; border-bottom:1px solid var(--gstvt-line); }
.gstvt-stay-dialog header h2 { font-size:1.5rem; margin:0 0 8px; }.gstvt-stay-dialog header p { margin-bottom:4px; }
.gstvt-stay-dialog-body { padding:24px; }.gstvt-stay-dialog fieldset { border:0; padding:0; }
.gstvt-stay-dialog label { display:block; font-weight:600; font-size:.85rem; margin-bottom:16px; }
.gstvt-stay-dialog label .form-control,.gstvt-stay-dialog label .form-select { margin-top:6px; }
.gstvt-stay-date-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.gstvt-stay-price-note { background:#f5f3fc; padding:16px; border-radius:8px; font-size:.85rem; margin-block:16px; }
.gstvt-stay-price-note p { margin:6px 0 0; color:var(--gstvt-ink); }
.gstvt-stay-dialog .gstvt-stay-check { display:flex; align-items:flex-start; gap:10px; line-height:1.5; }.gstvt-stay-check input { margin-top:4px; accent-color:var(--gstvt-violet); }
.gstvt-stay-comparison { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }
.gstvt-stay-comparison>div { padding:16px; border:1px solid var(--gstvt-line); border-radius:8px; display:flex; flex-direction:column; gap:10px; font-size:.85rem; }
.gstvt-stay-comparison>div:last-child { background:#f2edff; }.gstvt-stay-comparison small,.gstvt-stay-comparison span { color:var(--gstvt-muted); }
.gstvt-stay-warnings { padding-left:22px; font-size:.88rem; }.gstvt-stay-warnings li { margin-bottom:12px; }
.gstvt-stay-dialog footer { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:10px; padding:18px 24px; border-top:1px solid var(--gstvt-line); background:var(--gstvt-surface, #fff); position:sticky; bottom:0; }
.gstvt-stay-dialog footer a { margin-right:auto; font-size:.8rem; }
@media(max-width:767px) {
 .gstvt-reservations-page .hbs-workspace-heading { flex-wrap:wrap; gap:15px; }
 .gstvt-timeline-grid { --gstvt-label-width:135px; --gstvt-day-width:86px; }
 .gstvt-timeline-label { padding:12px; }.gstvt-timeline-toolbar { padding:14px; }
 .gstvt-timeline-navigation { flex-wrap:wrap; }.gstvt-timeline-navigation strong { width:100%; margin:5px 0; }
 .gstvt-timeline-legend { padding:0 14px 12px; gap:10px; }.gstvt-timeline-legend small { margin-left:0; width:100%; }
 .gstvt-stay-comparison { grid-template-columns:1fr; }.gstvt-stay-dialog-body,.gstvt-stay-dialog header { padding:18px; }
 .gstvt-stay-dialog footer { padding:14px; }.gstvt-stay-dialog footer a { flex-basis:100%; }
}
@media(prefers-reduced-motion:no-preference) { .gstvt-stay-dialog[open] { animation:gstvt-stay-dialog-in 160ms ease-out; } @keyframes gstvt-stay-dialog-in { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} } }
.gstvt-reservation-extra-filters { grid-column:1/-1; }
.gstvt-reservation-extra-filters summary { color:var(--gstvt-muted); font-size:.8rem; cursor:pointer; width:fit-content; }
.gstvt-reservation-extra-filter-fields { display:grid; grid-template-columns:2fr 1fr; gap:16px; padding-top:14px; max-width:750px; }
@media(max-width:575px) { .gstvt-reservation-extra-filter-fields { grid-template-columns:1fr; } }
.gstvt-stay-dialog { position:fixed; inset:0; margin:auto; }
.gstvt-stay-warnings { list-style:disc; }
.gstvt-timeline-range .gstvt-timeline-empty-toggle { display:flex; align-items:center; gap:6px; white-space:nowrap; font-size:.78rem; margin-right:8px; color:var(--gstvt-muted); }
.gstvt-timeline-empty-toggle input { accent-color:var(--gstvt-violet); }
@media(max-width:767px) { .gstvt-timeline-range { flex-wrap:wrap; }.gstvt-timeline-range .gstvt-timeline-empty-toggle { width:100%; }.gstvt-timeline-group-toggle { flex-direction:column; align-items:flex-start; gap:4px; padding:10px 12px; }.gstvt-timeline-group-title { max-width:100%; }.gstvt-timeline-group-summary { padding-left:20px; font-size:.7rem; } }
.gstvt-stay-edit-history { margin:0 24px 20px; font-size:.8rem; border-top:1px solid var(--gstvt-line); padding-top:12px; }
.gstvt-stay-edit-history summary { cursor:pointer; font-weight:600; }.gstvt-stay-edit-history p { margin-top:12px; }

.gstvt-stay-dialog { background:var(--gstvt-surface, #fff); }
.gstvt-stay-date-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gstvt-stay-dialog label { min-width:0; }
.gstvt-stay-dialog input,.gstvt-stay-dialog select { min-width:0; max-width:100%; }
@media(max-width:420px) { .gstvt-stay-date-fields { grid-template-columns:1fr; gap:0; } }
/* Calendar capacity and room actions */
.gstvt-booking-window { margin-bottom:16px; padding:15px 20px; border:1px solid var(--gstvt-line); border-radius:10px; background:var(--gstvt-surface, #fff); font-size:.85rem; }
.gstvt-booking-window summary { cursor:pointer; display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:var(--gstvt-ink); }
.gstvt-booking-window summary::before { content:'+'; font-size:1.1rem; }
.gstvt-booking-window[open] summary::before { content:'−'; }
.gstvt-booking-window summary span { margin-left:auto; color:var(--gstvt-muted); font-size:.78rem; }
.gstvt-booking-window>p { margin-top:16px; max-width:760px; }
.gstvt-booking-window label { display:block; margin-bottom:12px; }
.gstvt-booking-window input[type=range] { display:block; width:min(100%,650px); accent-color:var(--gstvt-ink); min-height:30px; }
.gstvt-window-scale { width:min(100%,650px); display:flex; justify-content:space-between; color:var(--gstvt-muted); font-size:.75rem; }
.gstvt-reservation-timeline .is-blocked { --gstvt-stay-accent:#ad533b; --gstvt-stay-bg:#f9e9e3; --gstvt-stay-ink:#813b28; }
.gstvt-stay-bar.is-blocked { background:repeating-linear-gradient(135deg,#f9e9e3,#f9e9e3 7px,#f2dfd6 7px,#f2dfd6 9px); }
.gstvt-timeline-cells>button { border:0; border-right:1px solid #edf0f5; background:transparent; padding:0; min-width:0; color:var(--gstvt-violet); }
.gstvt-timeline-cells>button>span { opacity:0; display:block; font-size:1.25rem; }
.gstvt-timeline-cells>button:not(:disabled):hover { background:#f2edff; }
.gstvt-timeline-cells>button:not(:disabled):hover>span,.gstvt-timeline-cells>button:focus-visible>span { opacity:1; }
.gstvt-timeline-cells>button:focus-visible { outline:2px solid var(--gstvt-violet); outline-offset:-3px; }
.gstvt-timeline-cells>button.gstvt-cell-blocked { background:repeating-linear-gradient(135deg,#fbf2ee,#fbf2ee 7px,#f2e5df 7px,#f2e5df 9px); }
.gstvt-timeline-cells .is-outside-window,.gstvt-timeline-dates .is-outside-window { background:#f0f1f3; color:#69717d; }
.gstvt-timeline-boundary { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:14px 20px 0; color:var(--gstvt-muted); font-size:.8rem; }
.gstvt-timeline-boundary button { margin-left:auto; }
.gstvt-calendar-action-choice { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:24px; }
.gstvt-calendar-action-choice button { display:flex; flex-direction:column; text-align:left; gap:6px; padding:16px; border:1px solid var(--gstvt-line); border-radius:8px; background:var(--gstvt-surface, #fff); color:var(--gstvt-ink); }
.gstvt-calendar-action-choice button.is-selected { background:#f2edff; border-color:var(--gstvt-violet); box-shadow:inset 0 0 0 1px var(--gstvt-violet); }
.gstvt-calendar-action-choice span { font-size:.75rem; color:var(--gstvt-muted); }
.gstvt-room-block-summary { padding:18px; border:1px solid var(--gstvt-line); background:var(--gstvt-surface-raised, #f7f8fb); border-radius:8px; margin-bottom:20px; overflow-wrap:anywhere; }
.gstvt-room-block-summary p { margin:10px 0; }.gstvt-room-block-summary small { color:var(--gstvt-muted); }
.gstvt-calendar-payment-note { padding:12px; background:#fff7df; color:#725118; border-radius:6px; font-size:.82rem; }
.gstvt-stay-dialog .gstvt-timeline-empty-toggle { display:flex; align-items:flex-start; gap:10px; line-height:1.6; }
.gstvt-stay-dialog .gstvt-timeline-empty-toggle input { margin-top:5px; }
@media(max-width:575px) { .gstvt-calendar-action-choice { grid-template-columns:1fr; }.gstvt-booking-window { padding:14px; }.gstvt-booking-window summary span { flex-basis:100%; margin:0; } }
.gstvt-timeline-dates .is-today small,.gstvt-calendar-action-choice .is-selected span { color:#515867; }
/* Scrapbook: shared guest travel space. Light by default; all dark tokens are scoped. */
.gstvt-scrapbook{
  --sb-theme-radius: 0.65rem;
  --sb-theme-background: oklch(1 0 0);
  --sb-theme-foreground: oklch(0.141 0.005 285.823);
  --sb-theme-card: oklch(1 0 0);
  --sb-theme-card-foreground: oklch(0.141 0.005 285.823);
  --sb-theme-popover: oklch(1 0 0);
  --sb-theme-popover-foreground: oklch(0.141 0.005 285.823);
  --sb-theme-primary: oklch(0.488 0.243 264.376);
  --sb-theme-primary-foreground: oklch(0.97 0.014 254.604);
  --sb-theme-secondary: oklch(0.967 0.001 286.375);
  --sb-theme-secondary-foreground: oklch(0.21 0.006 285.885);
  --sb-theme-muted: oklch(0.967 0.001 286.375);
  --sb-theme-muted-foreground: oklch(0.552 0.016 285.938);
  --sb-theme-accent: oklch(0.967 0.001 286.375);
  --sb-theme-accent-foreground: oklch(0.21 0.006 285.885);
  --sb-theme-destructive: oklch(0.577 0.245 27.325);
  --sb-theme-destructive-foreground: oklch(1 0 0);
  --sb-theme-border: oklch(0.92 0.004 286.32);
  --sb-theme-input: oklch(0.92 0.004 286.32);
  --sb-theme-ring: oklch(0.708 0 0);
  --sb-theme-chart-1: oklch(0.809 0.105 251.813);
  --sb-theme-chart-2: oklch(0.623 0.214 259.815);
  --sb-theme-chart-3: oklch(0.546 0.245 262.881);
  --sb-theme-chart-4: oklch(0.488 0.243 264.376);
  --sb-theme-chart-5: oklch(0.424 0.199 265.638);
  --sb-theme-sidebar: oklch(0.985 0 0);
  --sb-theme-sidebar-foreground: oklch(0.141 0.005 285.823);
  --sb-theme-sidebar-primary: oklch(0.546 0.245 262.881);
  --sb-theme-sidebar-primary-foreground: oklch(0.97 0.014 254.604);
  --sb-theme-sidebar-accent: oklch(0.967 0.001 286.375);
  --sb-theme-sidebar-accent-foreground: oklch(0.21 0.006 285.885);
  --sb-theme-sidebar-border: oklch(0.92 0.004 286.32);
  --sb-theme-sidebar-ring: oklch(0.708 0 0);

  --sb-bg:var(--sb-theme-background);
  --sb-panel:var(--sb-theme-card);
  --sb-ink:var(--sb-theme-foreground);
  --sb-muted:var(--sb-theme-muted-foreground);
  --sb-line:var(--sb-theme-border);
  --sb-soft:var(--sb-theme-secondary);
  --sb-accent:var(--sb-theme-primary);
  --sb-green:#1f715c;
  --sb-radius-sm:calc(var(--sb-theme-radius) - 4px);
  --sb-radius-md:calc(var(--sb-theme-radius) - 2px);
  --sb-radius-lg:var(--sb-theme-radius);
  --sb-radius-xl:calc(var(--sb-theme-radius) + 4px);
display:flex;min-height:100dvh;background:var(--sb-bg);color:var(--sb-ink);font-family:inherit;font-size:14px;line-height:1.5}

.gstvt-scrapbook-dark{
  --sb-theme-background: oklch(0.141 0.005 285.823);
  --sb-theme-foreground: oklch(0.985 0 0);
  --sb-theme-card: oklch(0.21 0.006 285.885);
  --sb-theme-card-foreground: oklch(0.985 0 0);
  --sb-theme-popover: oklch(0.21 0.006 285.885);
  --sb-theme-popover-foreground: oklch(0.985 0 0);
  --sb-theme-primary: oklch(0.488 0.243 264.376);
  --sb-theme-primary-foreground: oklch(0.97 0.014 254.604);
  --sb-theme-secondary: oklch(0.274 0.006 286.033);
  --sb-theme-secondary-foreground: oklch(0.985 0 0);
  --sb-theme-muted: oklch(0.274 0.006 286.033);
  --sb-theme-muted-foreground: oklch(0.705 0.015 286.067);
  --sb-theme-accent: oklch(0.274 0.006 286.033);
  --sb-theme-accent-foreground: oklch(0.985 0 0);
  --sb-theme-destructive: oklch(0.704 0.191 22.216);
  --sb-theme-destructive-foreground: oklch(0.985 0 0);
  --sb-theme-border: oklch(1 0 0 / 10%);
  --sb-theme-input: oklch(1 0 0 / 15%);
  --sb-theme-ring: oklch(0.556 0 0);
  --sb-theme-chart-1: oklch(0.809 0.105 251.813);
  --sb-theme-chart-2: oklch(0.623 0.214 259.815);
  --sb-theme-chart-3: oklch(0.546 0.245 262.881);
  --sb-theme-chart-4: oklch(0.488 0.243 264.376);
  --sb-theme-chart-5: oklch(0.424 0.199 265.638);
  --sb-theme-sidebar: oklch(0.21 0.006 285.885);
  --sb-theme-sidebar-foreground: oklch(0.985 0 0);
  --sb-theme-sidebar-primary: oklch(0.623 0.214 259.815);
  --sb-theme-sidebar-primary-foreground: oklch(0.97 0.014 254.604);
  --sb-theme-sidebar-accent: oklch(0.274 0.006 286.033);
  --sb-theme-sidebar-accent-foreground: oklch(0.985 0 0);
  --sb-theme-sidebar-border: oklch(1 0 0 / 10%);
  --sb-theme-sidebar-ring: oklch(0.439 0 0);

  /* Use the supplied light blue for readable text links on dark surfaces. */
  --sb-accent:var(--sb-theme-chart-1);--sb-green:#8fd7bb;color-scheme:dark
}

.gstvt-scrapbook *{box-sizing:border-box}
.gstvt-scrapbook button,.gstvt-scrapbook input,.gstvt-scrapbook select,.gstvt-scrapbook textarea{font:inherit}
.gstvt-scrapbook button{cursor:pointer}
.gstvt-scrapbook button:disabled{opacity:.5;cursor:wait}
.gstvt-scrapbook a{color:inherit;text-decoration:none}
.gstvt-scrapbook button:focus-visible,.gstvt-scrapbook a:focus-visible,.gstvt-scrapbook input:focus-visible,.gstvt-scrapbook textarea:focus-visible,.gstvt-scrapbook select:focus-visible{outline:3px solid var(--sb-theme-ring);outline-offset:3px}
/*.gstvt-scrapbook .material-symbols-outlined{font-size:21px;vertical-align:middle}*/
.gstvt-sb-skip{position:fixed;top:-100px;z-index:1100;background:var(--sb-panel);padding:12px}
.gstvt-sb-skip:focus{top:8px}
.gstvt-sb-sidebar{--sb-panel:var(--sb-theme-sidebar);--sb-ink:var(--sb-theme-sidebar-foreground);--sb-line:var(--sb-theme-sidebar-border);--sb-soft:var(--sb-theme-sidebar-accent);--sidebar-menu-button-active-shadow:inset 3px 0 0 var(--sb-theme-sidebar-primary);width:var(--gstvt-sidebar-width);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:var(--sb-panel);border-right:1px solid var(--sb-line);z-index:40;overflow:hidden}
.gstvt-sb-sidebar-header{flex:0 0 auto;padding:1rem;border-bottom:1px solid var(--sb-line)}
.gstvt-sb-brand{align-self:flex-start;margin:0 0 .5rem;line-height:1.5;letter-spacing:normal}
.gstvt-sb-space{display:flex;align-items:center;gap:10px;min-height:64px;padding:12px 10px;border:1px solid var(--sb-line);border-radius:var(--sb-radius-lg);position:relative;background:var(--sb-soft)}
.gstvt-sb-space>.material-symbols-outlined{color:var(--sb-accent);font-size:25px}
.gstvt-sb-space strong{font-size:.92rem}
.gstvt-sb-space small{display:block;font-size:.76rem;color:color-mix(in srgb,var(--sb-muted) 85%,var(--sb-ink))}
.gstvt-sb-guest{position:absolute;top:-9px;right:9px;background:var(--sb-soft);color:var(--sb-accent);font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px}
.gstvt-sb-sidebar-content{min-height:0;min-width:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:.3rem .75rem}
.gstvt-sb-nav-label{font-size:.75rem;color:var(--sb-muted);letter-spacing:0;margin:.25rem .5rem;height:1.5rem;line-height:1.5rem;font-weight:750}
.gstvt-sb-sidebar nav{display:grid;gap:var(--sidebar-menu-gap);padding:0 .5rem}
.gstvt-sb-sidebar nav a{display:flex;align-items:center;gap:var(--sidebar-menu-button-gap);padding:var(--sidebar-menu-button-py) var(--sidebar-menu-button-px);border-radius:0;color:#525960;font-size:var(--sidebar-menu-button-font-size);font-weight:var(--sidebar-menu-button-font-weight);line-height:1.25rem;min-height:1.65rem;position:relative}
.gstvt-sb-sidebar nav a>.material-symbols-outlined{flex:0 0 auto;font-size:1.15rem;color:#2b2b2b}
.gstvt-sb-sidebar nav a:hover,.gstvt-sb-sidebar nav a.is-active{background:transparent;color:var(--sb-ink)}
.gstvt-sb-sidebar nav a.is-active{box-shadow:var(--sidebar-menu-button-active-shadow);font-weight:var(--sidebar-menu-button-active-font-weight)}
.gstvt-scrapbook-dark .gstvt-sb-sidebar nav a{color:var(--sb-muted)}
.gstvt-scrapbook-dark .gstvt-sb-sidebar nav a>.material-symbols-outlined{color:inherit}
.gstvt-scrapbook-dark .gstvt-sb-sidebar nav a:is(:hover,.is-active){color:var(--sb-ink)}
.gstvt-sb-sidebar nav a small{margin-left:auto;background:var(--sb-soft);padding:1px 7px;border-radius:5px}
.gstvt-sb-sidebar-note{margin:1.25rem .5rem;padding:1rem;border:1px solid var(--sb-line);border-radius:var(--sb-radius-lg);background:var(--sb-soft)}
.gstvt-sb-sidebar-note>.material-symbols-outlined{display:block;color:var(--sb-accent);margin-bottom:12px}
.gstvt-sb-sidebar-note strong{font-size:1rem;letter-spacing:-.025em;line-height:1.3}
.gstvt-sb-sidebar-note p{font-size:.8rem;color:color-mix(in srgb,var(--sb-muted) 85%,var(--sb-ink));margin:9px 0 14px}
.gstvt-sb-sidebar-note button{border:0;background:none;padding:0;width:100%;text-align:left;font-weight:550;color:var(--sb-accent);font-size:.8rem}
.gstvt-sb-sidebar-note button span{float:right}
.gstvt-sb-sidebar-footer{flex:0 0 auto;border-top:1px solid var(--sb-line);padding:.75rem 1.25rem;display:grid;gap:.25rem}
.gstvt-sb-sidebar-footer a{display:flex;gap:var(--sidebar-menu-button-gap);align-items:center;font-size:.92rem;color:var(--sb-muted);min-height:2rem;padding:2px 12px}
.gstvt-sb-sidebar-footer a:hover{color:var(--sb-ink)}
.gstvt-sb-sidebar-footer a>.material-symbols-outlined{font-size:1.15rem}
.gstvt-sb-sidebar-footer a>span:not(.gstvt-sb-avatar){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gstvt-sb-sidebar-footer a small{display:block;font-size:.76rem}
.gstvt-sb-avatar{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;border-radius:50%;background:var(--sb-soft);color:var(--sb-accent);font-weight:700;font-size:11px}
.gstvt-sb-content{margin-left:var(--gstvt-sidebar-width);min-width:0;width:calc(100% - var(--gstvt-sidebar-width))}
.gstvt-sb-topbar{min-height:76px;border-bottom:1px solid var(--sb-line);display:flex;align-items:center;gap:20px;padding:16px 34px;background:var(--sb-panel)}
.gstvt-sb-breadcrumb{font-size:11px;color:var(--sb-muted);white-space:nowrap}
.gstvt-sb-breadcrumb span{margin:0 12px;color:var(--sb-line)}
.gstvt-sb-breadcrumb strong{font-weight:550;color:var(--sb-ink)}
.gstvt-sb-search{display:flex;align-items:center;gap:9px;margin-left:auto;max-width:300px;width:30%;color:var(--sb-muted)}
.gstvt-sb-search input{background:none;border:0;outline:none;width:100%;color:var(--sb-ink);font-size:11px}
.gstvt-sb-icon{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--sb-muted);height:40px;min-width:40px;border-radius:9999px}
.gstvt-sb-icon:hover{background:var(--sb-soft)}
.gstvt-sb-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:var(--sb-radius-md,7px);padding:11px 16px;min-height:42px;background:var(--sb-theme-primary);color:var(--sb-theme-primary-foreground)!important;font-size:11px!important;font-weight:650;white-space:nowrap}
.gstvt-sb-button:hover{filter:brightness(.95)}
.gstvt-sb-outline{background:var(--sb-panel);border-color:var(--sb-line);color:var(--sb-ink)!important}
.gstvt-sb-main{max-width:1600px;margin:auto;padding:36px 34px 64px}
.gstvt-sb-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}
.gstvt-sb-eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:650;color:var(--sb-muted);margin:0 0 10px}
.gstvt-sb-heading h1{font-size:34px;letter-spacing:-1.3px;font-weight:600;line-height:1.2;margin:0 0 11px}
.gstvt-sb-heading h1 em{font-family:'Instrument Serif',Georgia,serif;font-size:1.16em;font-weight:400;color:var(--sb-accent)}
.gstvt-sb-heading p:last-child{color:var(--sb-muted);font-size:12px;margin:0}
.gstvt-sb-discovery-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--sb-line);margin-bottom:18px}
.gstvt-sb-tabs{display:flex;gap:27px}
.gstvt-sb-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--sb-muted);padding:12px 0;font-size:12px;font-weight:600}
.gstvt-sb-tabs button.is-active{color:var(--sb-accent);border-color:var(--sb-accent)}
.gstvt-sb-tabs span{margin-left:4px}
.gstvt-sb-text-button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--sb-muted);font-size:11px!important;font-weight:550;padding:6px 0}
.gstvt-sb-interests{display:flex;gap:8px;overflow-x:auto;margin-bottom:24px;padding-bottom:5px;scrollbar-width:thin}
.gstvt-sb-interests button,.gstvt-sb-interest-picker button{flex-shrink:0;white-space:nowrap;border:1px solid var(--sb-line);padding:8px 13px;background:var(--sb-panel);color:var(--sb-muted);border-radius:30px;font-size:10px}
.gstvt-sb-interests button.is-active,.gstvt-sb-interest-picker button.is-active{border-color:var(--sb-ink);background:var(--sb-ink);color:var(--sb-panel)}
.gstvt-sb-discovery-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:27px}
.gstvt-sb-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}
.gstvt-sb-card{border:1px solid var(--sb-line);border-radius:var(--sb-radius-lg,13px);background:var(--sb-panel);overflow:hidden;min-width:0;box-shadow:0 3px 10px #172a4b03}
.gstvt-sb-card-media{position:relative;display:block;border:0;padding:0;background:#dce5e6;width:100%;aspect-ratio:4/4.3;text-align:left;overflow:hidden;color:#fff}
.gstvt-sb-card-media img,.gstvt-sb-card-media video{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gstvt-sb-card-media:hover img{transform:scale(1.035)}
.gstvt-sb-card-kind{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:5px;border:1px solid #ffffff45;background:#14252355;backdrop-filter:blur(8px);border-radius:5px;padding:5px 8px;font-size:9px}
.gstvt-sb-card-kind .material-symbols-outlined{font-size:14px}
.gstvt-sb-card-overlay{position:absolute;inset:auto 0 0;padding:55px 20px 21px;background:linear-gradient(transparent,#051620b8)}
.gstvt-sb-card-overlay small{display:flex;align-items:center;gap:4px;font-size:10px;margin-bottom:6px}
.gstvt-sb-card-overlay small .material-symbols-outlined{font-size:13px}
.gstvt-sb-card-overlay strong{display:block;font-size:25px;letter-spacing:-.7px;line-height:1.15;overflow-wrap:anywhere}
.gstvt-sb-card-body{padding:14px 15px 11px}
.gstvt-sb-card-author{display:flex;align-items:center;gap:7px;min-width:0}
.gstvt-sb-card-author button,.gstvt-sb-card-author>a{font-size:10px;font-weight:650;background:none;border:0;padding:0;color:var(--sb-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gstvt-sb-card-author>span:last-child{font-size:8px;color:var(--sb-muted);margin-left:auto}
.gstvt-sb-card-body>p{font-size:10px;line-height:1.6;color:var(--sb-muted);height:32px;overflow:hidden;margin:10px 0 12px}
.gstvt-sb-card-actions{border-top:1px solid var(--sb-line);padding-top:9px;display:flex;gap:19px}
.gstvt-sb-card-actions button,.gstvt-sb-reel-actions button{display:flex;align-items:center;gap:5px;background:none;border:0;color:var(--sb-muted);font-size:10px;padding:4px 0;min-height:30px}
.gstvt-sb-card-actions button:last-child{margin-left:auto}
.gstvt-scrapbook .is-liked{color:#da5175!important}
.gstvt-scrapbook .is-liked .material-symbols-outlined,.gstvt-scrapbook .is-saved .material-symbols-outlined{font-variation-settings:'FILL' 1}
.gstvt-scrapbook .is-saved{color:var(--sb-accent)!important}
.gstvt-sb-right-rail{display:grid;align-content:start;gap:24px}
.gstvt-sb-passport{padding:24px 20px;border:1px solid var(--sb-line);border-radius:var(--sb-radius-lg,10px);background:linear-gradient(155deg,var(--sb-soft),var(--sb-panel));position:relative;overflow:hidden}
.gstvt-sb-passport>.material-symbols-outlined{display:block;font-size:35px;color:var(--sb-accent);margin-bottom:24px}
.gstvt-sb-passport>small{font-size:8px;letter-spacing:1.7px;font-weight:650;color:var(--sb-accent)}
.gstvt-sb-passport h2{font-size:23px;letter-spacing:-.8px;font-weight:500;margin:12px 0}
.gstvt-sb-passport h2 em{font-family:'Instrument Serif',Georgia,serif;font-size:28px}
.gstvt-sb-passport p{font-size:11px;color:var(--sb-muted);margin-bottom:22px}
.gstvt-sb-passport .gstvt-sb-button{width:100%;font-size:10px!important;padding:10px}
.gstvt-sb-rail-section>div:first-child{display:flex;align-items:center;justify-content:space-between}
.gstvt-sb-rail-section h2{font-size:12px;margin:0;font-weight:650}
.gstvt-sb-rail-section a{font-size:9px;color:var(--sb-accent)}
.gstvt-sb-rail-section>p{font-size:11px;color:var(--sb-muted);margin:14px 0}
.gstvt-sb-mini-trip{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--sb-line);padding:15px 0;background:none;color:var(--sb-ink)}
.gstvt-sb-mini-trip>.material-symbols-outlined{background:var(--sb-soft);padding:9px;border-radius:var(--sb-radius-md,7px);color:var(--sb-accent)}
.gstvt-sb-mini-trip strong{font-size:11px;display:block;overflow-wrap:anywhere}
.gstvt-sb-mini-trip small{font-size:9px;color:var(--sb-muted)}
.gstvt-sb-mini-trip>span:last-child{margin-left:auto}
.gstvt-sb-fineprint{font-size:10px;color:var(--sb-muted);line-height:2}
.gstvt-sb-media-placeholder{display:grid;place-items:center;height:100%;background:linear-gradient(145deg,#cbdede,#819a96)}
.gstvt-sb-media-placeholder .material-symbols-outlined{font-size:70px;color:#fff8}
.gstvt-sb-play{position:absolute;top:42%;left:42%;font-size:40px!important;background:#0005;padding:10px;border-radius:50%}

.gstvt-sb-welcome{position:relative;display:grid;grid-template-columns:1.2fr 1fr;min-height:540px;overflow:hidden;border-radius:var(--sb-radius-xl,16px);background:var(--sb-panel);border:1px solid var(--sb-line)}
.gstvt-sb-welcome>div{padding:60px 44px;z-index:1}
.gstvt-sb-welcome h1{font-size:48px;line-height:1.12;letter-spacing:-2px;margin:20px 0}
.gstvt-sb-welcome h1 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;color:var(--sb-accent);font-size:1.13em}
.gstvt-sb-welcome p:not(.gstvt-sb-eyebrow){color:var(--sb-muted);font-size:14px;line-height:1.8;max-width:330px;margin-bottom:26px}
.gstvt-sb-welcome small{display:block;color:var(--sb-muted);font-size:10px;margin-top:16px}
.gstvt-sb-welcome>img{height:100%;width:100%;object-fit:cover}
.gstvt-sb-photo-note{position:absolute;bottom:34px;right:28px;color:#fff;font-family:'Instrument Serif',Georgia,serif;font-size:28px;line-height:1.2;font-style:italic;text-shadow:0 2px 9px #000}
.gstvt-sb-intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:36px}
.gstvt-sb-intro-grid article{padding:8px 15px}
.gstvt-sb-intro-grid .material-symbols-outlined{color:var(--sb-accent);font-size:27px;margin-bottom:14px}
.gstvt-sb-intro-grid h2{font-size:16px;letter-spacing:-.5px}
.gstvt-sb-intro-grid p{font-size:12px;color:var(--sb-muted);line-height:1.8}
.gstvt-sb-empty{border:1px dashed var(--sb-line);border-radius:var(--sb-radius-lg,12px);text-align:center;padding:65px 25px;background:var(--sb-panel);margin-bottom:20px}
.gstvt-sb-empty>.material-symbols-outlined{font-size:40px;color:var(--sb-accent);margin-bottom:20px}
.gstvt-sb-empty h2,.gstvt-sb-empty h1{font-size:22px;letter-spacing:-.6px}
.gstvt-sb-empty p{color:var(--sb-muted);max-width:420px;margin:12px auto 23px;line-height:1.8}
.gstvt-sb-loading{min-height:400px;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--sb-muted)}
.gstvt-sb-notice{background:#fff1ed;color:#803424;border:1px solid #edc8be;padding:14px 18px;border-radius:var(--sb-radius-md,8px);margin-bottom:20px;display:flex;justify-content:space-between;gap:10px}
.gstvt-sb-notice button{background:none;border:0;color:inherit}
.gstvt-sb-success{background:#edf8f2;color:#22533d;border-color:#c4e4d3}
.gstvt-sb-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gstvt-sb-new-collection{min-height:280px;border:1px dashed var(--sb-line);border-radius:var(--sb-radius-lg,12px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:var(--sb-panel);color:var(--sb-muted)}
.gstvt-sb-new-collection>.material-symbols-outlined{font-size:32px;color:var(--sb-accent);background:var(--sb-soft);border-radius:50%;padding:12px}
.gstvt-sb-new-collection strong{color:var(--sb-ink);font-size:17px}
.gstvt-sb-new-collection>span:last-child{font-size:11px}
.gstvt-sb-collection{border:1px solid var(--sb-line);border-radius:var(--sb-radius-lg,12px);overflow:hidden;background:var(--sb-panel)}
.gstvt-sb-collection>button{width:100%;padding:0;border:0;background:none;color:inherit;text-align:left}
.gstvt-sb-collection-cover{height:190px;background:linear-gradient(135deg,var(--sb-soft),var(--sb-line));position:relative;display:grid;place-items:center}
.gstvt-sb-collection-cover>img{height:100%;width:100%;object-fit:cover}
.gstvt-sb-collection-cover>.material-symbols-outlined{font-size:44px;color:var(--sb-accent)}
.gstvt-sb-collection-cover>small{position:absolute;bottom:12px;left:12px;padding:4px 8px;background:var(--sb-panel);border-radius:5px;font-size:9px}
.gstvt-sb-collection>button>div:last-child{padding:20px}
.gstvt-sb-collection h2{font-size:17px;overflow-wrap:anywhere}
.gstvt-sb-collection p{color:var(--sb-muted);font-size:12px}
.gstvt-sb-collection>button>div:last-child>span{font-size:10px;color:var(--sb-accent)}
.gstvt-sb-stay{display:flex;align-items:center;gap:25px;padding:25px;background:var(--sb-panel);border:1px solid var(--sb-line);border-radius:var(--sb-radius-lg,11px);margin-bottom:15px}
.gstvt-sb-stay h2{font-size:18px;margin:7px 0}
.gstvt-sb-stay p{font-size:12px;color:var(--sb-muted);margin:0;white-space:pre-wrap}
.gstvt-sb-stay>div:last-child{margin-left:auto;display:grid;gap:10px}
.gstvt-sb-stay small{font-size:9px;color:var(--sb-muted)}
.gstvt-sb-stay-date{background:var(--sb-soft);color:var(--sb-accent);border-radius:var(--sb-radius-md,8px);text-align:center;padding:15px;min-width:90px;flex-shrink:0}
.gstvt-sb-stay-date strong{display:block;font-size:29px}
.gstvt-sb-stay-date span{font-size:10px}
.gstvt-sb-status{font-size:9px;color:var(--sb-green);background:var(--sb-bg);padding:4px 8px;border-radius:5px}
.gstvt-sb-section-note{display:flex;gap:10px;align-items:center;color:var(--sb-muted);font-size:11px;margin-bottom:22px;flex-wrap:wrap}
.gstvt-sb-section-note a{margin-left:auto;color:var(--sb-accent)}
.gstvt-sb-stars{color:#b28022;font-size:18px}
.gstvt-sb-perks-banner{display:flex;align-items:center;gap:25px;border:1px solid var(--sb-line);border-radius:var(--sb-radius-lg,12px);padding:30px;background:var(--sb-soft);margin-bottom:25px}
.gstvt-sb-perks-banner>.material-symbols-outlined{font-size:45px;color:var(--sb-accent)}
.gstvt-sb-perks-banner h2{font-size:22px}
.gstvt-sb-perks-banner p{color:var(--sb-muted);font-size:12px;margin-bottom:0}
.gstvt-sb-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gstvt-sb-offer{background:var(--sb-panel);border:1px solid var(--sb-line);border-radius:var(--sb-radius-lg,12px);padding:25px}
.gstvt-sb-offer>strong{font-size:32px;color:var(--sb-accent)}
.gstvt-sb-offer h2{font-size:15px;margin-top:12px}
.gstvt-sb-offer p{font-size:11px;color:var(--sb-muted)}
.gstvt-sb-code{border:1px dashed var(--sb-accent);border-radius:6px;background:var(--sb-soft);color:var(--sb-accent);display:flex;justify-content:space-between;width:100%;padding:12px;margin:20px 0}
.gstvt-sb-offer>a{font-size:11px;font-weight:600}
.gstvt-sb-profile{display:flex;align-items:center;gap:24px;padding:30px;border:1px solid var(--sb-line);border-radius:var(--sb-radius-lg,12px);background:var(--sb-panel)}
.gstvt-sb-profile-avatar{border-radius:50%;width:90px;height:90px;flex-shrink:0;display:grid;place-items:center;background:var(--sb-soft);color:var(--sb-accent);font-size:30px}
.gstvt-sb-profile h2{font-size:24px;margin:7px 0}
.gstvt-sb-profile p{color:var(--sb-muted);max-width:570px;white-space:pre-wrap}
.gstvt-sb-profile>.gstvt-sb-button{margin-left:auto}
.gstvt-sb-profile-tags{display:flex;gap:7px;flex-wrap:wrap}
.gstvt-sb-profile-tags span{font-size:10px;background:var(--sb-soft);color:var(--sb-accent);padding:4px 8px;border-radius:var(--sb-radius-xl,15px)}
.gstvt-sb-milestones{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0 30px}
.gstvt-sb-milestones>div{background:var(--sb-panel);border:1px solid var(--sb-line);border-radius:var(--sb-radius-md,8px);padding:18px}
.gstvt-sb-milestones strong{display:block;font-size:24px}
.gstvt-sb-milestones span{font-size:10px;color:var(--sb-muted)}

.gstvt-sb-backdrop{position:fixed;inset:0;background:#111b3380;backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:30px}
.gstvt-sb-dialog{position:relative;width:min(100%,540px);max-height:90dvh;overflow-y:auto;background:var(--sb-panel);border:1px solid var(--sb-line);border-radius:var(--sb-radius-xl,16px);padding:36px;color:var(--sb-ink);box-shadow:0 30px 100px #0003}
.gstvt-sb-dialog h2{font-size:27px;letter-spacing:-.7px;padding-right:24px;margin-bottom:23px}
.gstvt-sb-dialog-close{position:absolute;right:12px;top:12px;background:var(--sb-panel);z-index:2}
.gstvt-sb-form{display:grid;gap:17px}
.gstvt-sb-form label{display:grid;gap:7px;font-size:12px;font-weight:550}
.gstvt-sb-form input,.gstvt-sb-form select,.gstvt-sb-form textarea{width:100%;border:1px solid var(--sb-line);background:var(--sb-bg);color:var(--sb-ink);border-radius:var(--sb-radius-md,7px);padding:11px;min-height:44px;min-width:0}
.gstvt-sb-form textarea{min-height:105px;resize:vertical}
.gstvt-sb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.gstvt-sb-form p{color:var(--sb-muted);font-size:12px}
.gstvt-sb-form .gstvt-sb-form-hint{font-size:10px;line-height:1.8;margin:0}
.gstvt-sb-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:9px}
.gstvt-sb-form fieldset{border:0;padding:0}
.gstvt-sb-form legend{font-size:12px;font-weight:600;margin-bottom:14px}
.gstvt-sb-interest-picker{display:flex;flex-wrap:wrap;gap:8px}
.gstvt-sb-dialog-error{font-size:12px;color:var(--sb-theme-destructive);margin:18px 0 0}
.gstvt-sb-upload{border:1px dashed var(--sb-accent);border-radius:var(--sb-radius-lg,9px);padding:20px;text-align:center;background:var(--sb-soft)}
.gstvt-sb-upload>.material-symbols-outlined{font-size:28px;color:var(--sb-accent)}
.gstvt-sb-upload small{font-size:9px;font-weight:400}
.gstvt-sb-upload input{font-size:10px;padding:8px;background:var(--sb-panel)}
.gstvt-sb-upload-list{display:flex;gap:9px}
.gstvt-sb-upload-list>span{display:flex;align-items:center;gap:8px;background:var(--sb-soft);padding:8px;border-radius:6px;font-size:11px}
.gstvt-sb-upload-list button{border:0;background:none;color:var(--sb-muted)}
.gstvt-sb-saved-items>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--sb-line)}
.gstvt-sb-saved-items button{background:none;border:0;color:var(--sb-accent);padding:12px 0}
.gstvt-sb-reel-dialog{width:min(1100px,100%);padding:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);overflow:hidden;height:min(800px,90dvh)}
.gstvt-sb-reel-stage{background:#0e1218;position:relative;display:flex;align-items:center;justify-content:center;min-height:0}
.gstvt-sb-reel-stage>img,.gstvt-sb-reel-stage>video{width:100%;height:100%;object-fit:contain}
.gstvt-sb-reel-stage>.material-symbols-outlined{font-size:70px;color:#fff5}
.gstvt-sb-slide-controls{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;color:#fff;background:#0008;border-radius:30px;padding:7px 12px;font-size:12px}
.gstvt-sb-slide-controls button{background:none;border:0;color:white;min-height:36px;min-width:30px}
.gstvt-sb-reel-detail{padding:37px 27px 22px;overflow-y:auto}
.gstvt-sb-reel-detail h2{font-size:25px;margin-bottom:15px}
.gstvt-sb-reel-author{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
.gstvt-sb-caption{font-size:12px;color:var(--sb-muted);margin:18px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.gstvt-sb-hashtag{border:0;background:none;padding:0 3px 0 0;color:var(--sb-accent);font-weight:600}
.gstvt-sb-reel-actions{display:flex;gap:25px;border-top:1px solid var(--sb-line);border-bottom:1px solid var(--sb-line);padding:12px 0;margin-bottom:20px}
.gstvt-sb-reel-actions button{font-size:12px}
.gstvt-sb-comments{margin-top:24px}
.gstvt-sb-comments h3{font-size:13px}
.gstvt-sb-comments h3 span{color:var(--sb-muted);font-weight:400;margin-left:5px}
.gstvt-sb-comments>p{font-size:12px;color:var(--sb-muted);padding:20px 0}
.gstvt-sb-comments article{display:flex;align-items:start;gap:10px;margin:22px 0}
.gstvt-sb-comments article>div{min-width:0}
.gstvt-sb-comments strong{font-size:11px}
.gstvt-sb-comments article p{font-size:12px;margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.gstvt-sb-comments small{font-size:9px;color:var(--sb-muted)}
.gstvt-sb-comments article>.gstvt-sb-icon{margin-left:auto}
.gstvt-sb-comment-form{display:flex;border:1px solid var(--sb-line);border-radius:var(--sb-radius-md,7px);background:var(--sb-bg);padding:4px 7px;gap:6px;margin-bottom:12px}
.gstvt-sb-comment-form input{border:0;background:none;min-width:0;width:100%;color:var(--sb-ink);font-size:11px;outline:none}
.gstvt-sb-menu,.gstvt-sb-bottom-nav{display:none}

@media(min-width:1600px){.gstvt-sb-feed{grid-template-columns:repeat(3,minmax(0,1fr))}
.gstvt-sb-card-media{aspect-ratio:3/4}
}

@media(max-width:1199px){.gstvt-sb-topbar{padding:15px 24px;gap:12px}
.gstvt-sb-main{padding:28px 24px 60px}
.gstvt-sb-right-rail{display:none}
.gstvt-sb-discovery-layout{grid-template-columns:minmax(0,1fr)}
.gstvt-sb-heading h1{font-size:30px}
.gstvt-sb-welcome>div{padding:45px 26px}
.gstvt-sb-welcome h1{font-size:38px}
.gstvt-sb-collection-grid,.gstvt-sb-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.gstvt-sb-search{width:auto;max-width:220px}
.gstvt-sb-breadcrumb{display:none}
}

@media(max-width:767px){.gstvt-sb-sidebar{transform:translateX(-100%);width:min(var(--gstvt-sidebar-width-mobile),calc(100vw - 24px));bottom:66px;box-shadow:none}
.gstvt-sb-sidebar.is-open{transform:translateX(0);box-shadow:12px 0 40px #0003}
.gstvt-sb-content{margin-left:0;width:100%}
.gstvt-sb-topbar{padding:10px 16px;gap:7px;min-height:64px;position:sticky;top:0;z-index:30}
.gstvt-sb-menu{display:inline-flex}
.gstvt-sb-search{width:100%;max-width:none;margin-left:0}
.gstvt-sb-search input{font-size:11px}
.gstvt-sb-create{font-size:0!important;padding:9px;min-width:40px}
.gstvt-sb-create .material-symbols-outlined{font-size:20px}
.gstvt-sb-main{padding:27px 17px calc(92px + env(safe-area-inset-bottom))}
.gstvt-sb-heading{align-items:start;gap:10px;margin-bottom:20px}
.gstvt-sb-heading h1{font-size:28px;letter-spacing:-1px}
.gstvt-sb-heading>button{padding:8px;font-size:0!important;min-width:40px}
.gstvt-sb-heading p:last-child{font-size:11px;max-width:280px;line-height:1.7}
.gstvt-sb-eyebrow{font-size:8px}
.gstvt-sb-tabs{gap:23px}
.gstvt-sb-interests{margin-bottom:17px}
.gstvt-sb-feed{gap:14px}
.gstvt-sb-card-media{aspect-ratio:3/4}
.gstvt-sb-card-overlay{padding:35px 11px 14px}
.gstvt-sb-card-overlay strong{font-size:19px}
.gstvt-sb-card-overlay small{font-size:8px}
.gstvt-sb-card-kind{font-size:8px;padding:4px 6px;left:9px;top:9px}
.gstvt-sb-card-body{padding:10px}
.gstvt-sb-card-author{gap:5px}
.gstvt-sb-card-author>.gstvt-sb-avatar{height:22px;width:22px;font-size:9px}
.gstvt-sb-card-author>span:last-child{display:none}
.gstvt-sb-card-body>p{font-size:9px;height:30px}
.gstvt-sb-card-actions{gap:10px;flex-wrap:wrap}
.gstvt-sb-card-actions .material-symbols-outlined{font-size:18px}
.gstvt-sb-card-actions button{font-size:9px;min-height:34px}
.gstvt-sb-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:45;justify-content:space-around;background:var(--sb-panel);border-top:1px solid var(--sb-line);padding:9px 5px calc(9px + env(safe-area-inset-bottom))}
.gstvt-sb-bottom-nav a,.gstvt-sb-bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;color:var(--sb-muted);font-size:9px;padding:2px 8px;min-height:43px}
.gstvt-sb-bottom-nav [aria-current=page]{color:var(--sb-accent)}
.gstvt-sb-welcome{grid-template-columns:1fr;min-height:0}
.gstvt-sb-welcome>div{padding:32px 27px}
.gstvt-sb-welcome h1{font-size:40px}
.gstvt-sb-welcome>img{height:240px}
.gstvt-sb-photo-note{font-size:25px;bottom:23px;right:20px}
.gstvt-sb-intro-grid{grid-template-columns:1fr;gap:12px;margin-top:25px}
.gstvt-sb-intro-grid article{padding:14px 10px}
.gstvt-sb-stay{padding:18px;gap:15px;flex-wrap:wrap}
.gstvt-sb-stay h2{font-size:16px}
.gstvt-sb-stay>div:last-child{margin-left:0;width:100%;display:flex;align-items:center;justify-content:space-between}
.gstvt-sb-stay-date{min-width:65px;padding:10px}
.gstvt-sb-stay-date strong{font-size:24px}
.gstvt-sb-collection-grid,.gstvt-sb-offer-grid{grid-template-columns:1fr}
.gstvt-sb-new-collection{min-height:200px}
.gstvt-sb-profile{flex-wrap:wrap;padding:22px;gap:18px}
.gstvt-sb-profile>.gstvt-sb-button{margin-left:0}
.gstvt-sb-profile h2{font-size:21px;overflow-wrap:anywhere}
.gstvt-sb-milestones{grid-template-columns:1fr 1fr}
.gstvt-sb-perks-banner{padding:22px;gap:15px;align-items:start}
.gstvt-sb-perks-banner h2{font-size:19px}
.gstvt-sb-perks-banner>.material-symbols-outlined{font-size:29px}
.gstvt-sb-backdrop{padding:10px}
.gstvt-sb-dialog{padding:29px 22px;max-height:94dvh;border-radius:var(--sb-radius-lg,12px)}
.gstvt-sb-reel-dialog{padding:0;grid-template-columns:1fr;display:block;overflow-y:auto;height:94dvh}
.gstvt-sb-reel-stage{height:58dvh}
.gstvt-sb-reel-detail{overflow:visible;padding:25px 20px}
.gstvt-sb-dialog h2{font-size:23px}
.gstvt-sb-dialog-close{position:sticky;float:right;top:10px;margin:0;right:10px}
.gstvt-sb-reel-dialog>.gstvt-sb-dialog-close{position:absolute}
.gstvt-sb-form-row{gap:9px}
.gstvt-sb-form input,.gstvt-sb-form select,.gstvt-sb-form textarea{font-size:16px}
.gstvt-sb-empty{padding:45px 18px}
.gstvt-sb-empty h2{font-size:20px}
}

@media(max-width:389px){.gstvt-sb-feed{grid-template-columns:1fr}
.gstvt-sb-card-media{aspect-ratio:4/4.3}
.gstvt-sb-card-overlay strong{font-size:25px}
.gstvt-sb-card-body>p{font-size:11px}
.gstvt-sb-card-actions{gap:25px}
.gstvt-sb-search input{font-size:10px}
.gstvt-sb-topbar{gap:3px;padding:10px}
.gstvt-sb-search>.material-symbols-outlined{display:none}
}

@media(prefers-reduced-motion:reduce){.gstvt-scrapbook *{transition:none!important;scroll-behavior:auto!important}
}

.gstvt-sb-media-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.gstvt-sb-media-library>div>button:first-child{background:var(--sb-bg);border:1px solid var(--sb-line);border-radius:var(--sb-radius-md,8px);padding:0;overflow:hidden;width:100%;color:var(--sb-muted)}
.gstvt-sb-media-library img{width:100%;height:80px;object-fit:cover}
.gstvt-sb-media-library small{font-size:10px;display:block;padding:5px}
.gstvt-sb-media-library [aria-pressed=true]{outline:2px solid var(--sb-accent)}
.gstvt-sb-verified-reviews{font-size:12px;border-bottom:1px solid var(--sb-line);padding:12px 0}
.gstvt-sb-verified-reviews article{padding:15px 0}
.gstvt-sb-verified-reviews p{color:var(--sb-muted);white-space:pre-wrap}

.gstvt-sb-reel-detail>.gstvt-sb-text-button+.gstvt-sb-text-button{margin-left:16px}

.gstvt-sb-badges{display:flex;align-items:center;gap:18px;padding:24px 0 34px;flex-wrap:wrap}
.gstvt-sb-badges>div:first-child{margin-right:auto}.gstvt-sb-badges h2{font-size:18px;letter-spacing:-.4px}
.gstvt-sb-badges>div:not(:first-child){display:grid;justify-items:center;gap:5px;min-width:110px;text-align:center;color:var(--sb-muted)}
.gstvt-sb-badges .material-symbols-outlined{border:1px dashed var(--sb-line);border-radius:50%;padding:14px;background:var(--sb-panel);font-size:24px}
.gstvt-sb-badges strong{font-size:11px}.gstvt-sb-badges small{font-size:9px}
.gstvt-sb-badges>.is-earned .material-symbols-outlined{border:1px solid var(--sb-accent);background:var(--sb-soft);color:var(--sb-accent)}
.gstvt-sb-profile .gstvt-sb-follower-count{font-size:11px;margin:4px 0 12px;color:var(--sb-accent)}
.gstvt-scrapbook-dark .gstvt-sb-brand img{filter:brightness(0) invert(1)}
.gstvt-hashtag-assist{display:contents}
.gstvt-hashtag-options{position:fixed;z-index:2200;background:var(--sb-panel,#fff);color:var(--sb-ink,#17202e);border:1px solid var(--sb-line,#dce1ea);border-radius:var(--sb-radius-lg,12px);padding:6px;box-shadow:0 12px 32px #15233b24;font-size:14px;max-height:240px;overflow-y:auto}
.gstvt-hashtag-options[hidden]{display:none}
.gstvt-hashtag-options [role=option]{padding:9px 12px;border-radius:var(--sb-radius-md,7px);cursor:pointer;overflow-wrap:anywhere}
.gstvt-hashtag-options [role=option]:hover,.gstvt-hashtag-options [aria-selected=true]{background:var(--sb-soft,#eef2ff);color:var(--sb-accent,#365bdb)}
.gstvt-hashtag-notice{position:fixed;z-index:2300;bottom:max(24px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right));display:none;align-items:start;gap:12px;max-width:min(420px,calc(100vw - 32px));padding:17px 16px;border:1px solid #e9c67c;border-left:4px solid #be811b;border-radius:var(--sb-radius-lg,12px);background:#fff9ec;color:#64430d;box-shadow:0 10px 36px #43300d1a;text-align:left}
.gstvt-hashtag-notice.is-visible{display:flex;animation:gstvt-hashtag-arrive .28s ease-out both}
.gstvt-hashtag-notice>.material-symbols-outlined{font-size:21px;flex-shrink:0}
.gstvt-hashtag-notice strong{display:block;font-size:14px;line-height:1.4}
.gstvt-hashtag-notice small{display:block;font-size:12px;line-height:1.55;margin-top:4px}
.gstvt-hashtag-notice button{border:0;background:transparent;color:inherit;font-size:20px;min-width:28px;min-height:28px;line-height:1;cursor:pointer}
.gstvt-scrapbook-dark .gstvt-hashtag-notice{background:#30291a;color:#f7d99b;border-color:#80612c}
@keyframes gstvt-hashtag-arrive{from{opacity:0;transform:translate(18px,24px)}to{opacity:1;transform:translate(0,0)}}
@media(max-width:767px){.gstvt-hashtag-notice{right:16px;bottom:calc(84px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.gstvt-hashtag-notice.is-visible{animation:none}}
.gstvt-sb-listing-tags{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 18px}
.gstvt-sb-listing-tags button{overflow-wrap:anywhere;max-width:100%;text-align:left}

.gstvt-scrapbook a.gstvt-sb-hashtag{color:var(--sb-accent);padding:0;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.gstvt-scrapbook a.gstvt-sb-hashtag:hover,.gstvt-scrapbook a.gstvt-sb-hashtag:focus-visible{text-decoration-color:currentColor}
.gstvt-sb-caption,.gstvt-sb-comments p{white-space:pre-wrap}

/* Surface-specific theme tokens; the palette is local to Scrapbook. */
.gstvt-sb-dialog{background:var(--sb-theme-popover);color:var(--sb-theme-popover-foreground)}
.gstvt-sb-form input,.gstvt-sb-form select,.gstvt-sb-form textarea,.gstvt-sb-comment-form{border-color:var(--sb-theme-input)}
.gstvt-scrapbook .gstvt-hashtag-options{background:var(--sb-theme-popover);color:var(--sb-theme-popover-foreground)}
.gstvt-sb-sidebar :focus-visible{outline-color:var(--sb-theme-sidebar-ring)}

/* Scrapbook conversations, travel circles and privacy controls. */
.gstvt-travel-panel{min-width:0;color:var(--sb-ink)}
.gstvt-travel-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:0 0 22px}
.gstvt-travel-toolbar p{display:flex;align-items:center;gap:8px;color:var(--sb-muted);font-size:12px;max-width:580px;margin:0}
.gstvt-travel-toolbar p .material-symbols-outlined{font-size:17px;flex-shrink:0}
.gstvt-travel-workbench{display:grid;grid-template-columns:minmax(185px,.7fr) minmax(0,2fr);border:1px solid var(--sb-line);border-radius:16px;background:var(--sb-panel);overflow:hidden;min-height:500px}
.gstvt-travel-thread-list{border-right:1px solid var(--sb-line);padding:20px 12px;background:var(--sb-soft);min-width:0}
.gstvt-travel-thread-list h2{font-size:13px;padding:0 8px;margin-bottom:18px}
.gstvt-travel-thread-list h2 span{display:block;color:var(--sb-muted);font-size:11px;font-weight:400;margin-top:5px}
.gstvt-travel-thread-list>p{padding:0 8px;font-size:12px;color:var(--sb-muted)}
.gstvt-travel-thread-list>button{display:flex;flex-direction:column;width:100%;text-align:left;gap:5px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--sb-ink);padding:15px 12px;margin:5px 0;overflow-wrap:anywhere}
.gstvt-travel-thread-list>button:hover,.gstvt-travel-thread-list>button.is-active{background:var(--sb-panel);border-color:var(--sb-line)}
.gstvt-travel-thread-list strong{font-size:13px}.gstvt-travel-thread-list button span{font-size:12px}.gstvt-travel-thread-list small{font-size:11px;color:var(--sb-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gstvt-travel-thread-list b{font-size:10px;color:var(--sb-accent)}
.gstvt-travel-conversation{padding:28px;min-width:0}.gstvt-travel-conversation h2{font-size:23px;letter-spacing:-.7px;line-height:1.2}.gstvt-travel-conversation h3{font-size:17px;letter-spacing:-.4px}.gstvt-travel-conversation h4{font-size:14px}.gstvt-travel-conversation header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:24px}.gstvt-travel-conversation header p{color:var(--sb-muted)}
.gstvt-travel-conversation .gstvt-sb-form{margin-top:18px}.gstvt-travel-conversation textarea{min-height:88px}
.gstvt-travel-timeline{display:flex;flex-direction:column;gap:18px;max-height:480px;overflow:auto;padding:12px 2px 24px;overscroll-behavior:contain}
.gstvt-travel-timeline article{padding:15px 18px;background:var(--sb-soft);border:1px solid var(--sb-line);border-radius:2px 14px 14px;max-width:90%;align-self:flex-start;overflow-wrap:anywhere}
.gstvt-travel-timeline article.is-mine{align-self:flex-end;background:var(--sb-bg);border-radius:14px 2px 14px 14px}.gstvt-travel-timeline strong{font-size:11px}.gstvt-travel-timeline p{white-space:pre-wrap;font-size:13px;margin:7px 0}.gstvt-travel-timeline time{color:var(--sb-muted);font-size:10px}
.gstvt-trip-members,.gstvt-trip-board,.gstvt-trip-chat{border-top:1px solid var(--sb-line);margin-top:30px;padding-top:26px}.gstvt-trip-members h3 small{color:var(--sb-muted);font-size:11px;font-weight:400;margin-left:8px}.gstvt-trip-members>div{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 24px}.gstvt-trip-members>div>span{display:grid;grid-template-columns:1fr auto;gap:2px 10px;border:1px solid var(--sb-line);background:var(--sb-soft);border-radius:10px;padding:10px 13px}.gstvt-trip-members strong{font-size:12px;overflow-wrap:anywhere}.gstvt-trip-members small{font-size:10px;color:var(--sb-muted);grid-row:2}.gstvt-trip-members button{grid-column:2;grid-row:1/3;align-self:center;background:none;border:0;color:var(--sb-muted);min-width:28px;min-height:28px}
.gstvt-trip-ideas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.gstvt-trip-ideas article{border:1px solid var(--sb-line);border-radius:12px;padding:18px;display:flex;flex-direction:column;align-items:start;gap:8px;background:var(--sb-bg);overflow-wrap:anywhere}.gstvt-trip-ideas article>*{margin:0}.gstvt-trip-ideas small{font-size:10px;color:var(--sb-muted)}.gstvt-trip-ideas p{font-size:12px}.gstvt-trip-ideas a{font-size:12px;color:var(--sb-accent)}.gstvt-trip-ideas button{margin-top:auto}
.gstvt-trip-invite-link,.gstvt-travel-invitation{padding:24px;background:var(--sb-soft);border:1px solid var(--sb-line);border-radius:12px;margin-bottom:24px}.gstvt-trip-invite-link label{display:grid;gap:8px;font-size:12px}.gstvt-trip-invite-link input,.gstvt-privacy-controls input{width:100%;padding:10px 12px;background:var(--sb-panel);color:var(--sb-ink);border:1px solid var(--sb-line);border-radius:8px;min-width:0}.gstvt-trip-invite-link button{margin:14px 10px 10px 0}.gstvt-trip-invite-link small{display:block;color:var(--sb-muted)}
.gstvt-travel-invitation h2{font-size:24px}.gstvt-travel-invitation>span{font-size:36px;color:var(--sb-accent)}
.gstvt-privacy-intro{padding:32px;background:var(--sb-panel);border:1px solid var(--sb-line);border-radius:16px;margin-bottom:24px}.gstvt-privacy-intro>span{font-size:40px;color:var(--sb-accent);margin-bottom:18px}.gstvt-privacy-intro h2{font-size:28px;letter-spacing:-1px}.gstvt-privacy-intro p{color:var(--sb-muted);margin:0}
.gstvt-privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:32px}.gstvt-privacy-grid article{padding:26px;background:var(--sb-panel);border:1px solid var(--sb-line);border-radius:12px}.gstvt-privacy-grid h3{font-size:18px;margin:16px 0 10px}.gstvt-privacy-grid p{color:var(--sb-muted);font-size:13px}.gstvt-privacy-grid a{color:var(--sb-accent);font-size:12px}
.gstvt-privacy-controls{border-top:1px solid var(--sb-line);padding:28px 0;display:flex;align-items:start;justify-content:space-between;gap:24px}.gstvt-privacy-controls>div{max-width:620px;min-width:0}.gstvt-privacy-controls h3{font-size:18px}.gstvt-privacy-controls p{color:var(--sb-muted);font-size:12px}.gstvt-privacy-controls>button{flex-shrink:0}.gstvt-privacy-controls label{font-size:12px;display:grid;gap:6px;max-width:280px}.gstvt-privacy-file{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;overflow-wrap:anywhere}
.gstvt-hotel-reply{border-left:2px solid var(--sb-accent);margin-top:16px;padding:12px 18px;background:var(--sb-soft);border-radius:0 8px 8px 0}.gstvt-hotel-reply p{margin:6px 0 0}
.gstvt-booking-lookup{color:var(--sb-ink,inherit)}.gstvt-scrapbook .gstvt-booking-lookup .card{background:var(--sb-panel);color:var(--sb-ink);border-color:var(--sb-line)}.gstvt-scrapbook .gstvt-booking-lookup .form-control{background:var(--sb-bg);color:var(--sb-ink);border-color:var(--sb-line)}.gstvt-scrapbook .gstvt-booking-lookup .text-secondary{color:var(--sb-muted)!important}
.gstvt-community-indicator{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:inherit;border:1px solid var(--gstvt-border,#dedee5);border-radius:9px;flex-shrink:0}.gstvt-community-indicator>span+span{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;background:#222;color:white;border-radius:12px;font-size:10px;text-align:center}
.gstvt-community-workbench{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px}.gstvt-community-workbench>aside{align-self:start;padding:24px;border:1px solid #d8dbe5;border-radius:12px;background:var(--gstvt-surface,#fff)}.gstvt-community-item{display:block;text-align:left;width:100%;padding:20px;margin-bottom:12px;border:1px solid #d8dbe5;border-radius:10px;background:var(--gstvt-surface,#fff);color:inherit;overflow-wrap:anywhere}.gstvt-community-item.is-active{border-color:currentColor}.gstvt-community-item>span{font-size:12px;color:#626773;display:block;margin-bottom:8px}.gstvt-community-item strong{display:block}.gstvt-community-item b{font-size:10px;background:#eef1f8;padding:3px 6px;margin-left:10px;border-radius:4px}.gstvt-community-item p{margin:10px 0;white-space:pre-wrap}.gstvt-community-workbench blockquote{border-left:2px solid #adb4c8;padding-left:15px;overflow-wrap:anywhere}
@media(max-width:1100px){.gstvt-travel-workbench{grid-template-columns:190px minmax(0,1fr)}.gstvt-travel-conversation{padding:20px}.gstvt-privacy-controls{flex-direction:column}.gstvt-trip-ideas{grid-template-columns:1fr}}
@media(max-width:700px){.gstvt-travel-workbench{grid-template-columns:1fr}.gstvt-travel-thread-list{border-right:0;border-bottom:1px solid var(--sb-line);max-height:260px;overflow:auto}.gstvt-travel-thread-list>button{padding:10px}.gstvt-travel-conversation{padding:20px 16px}.gstvt-travel-conversation header{flex-direction:column}.gstvt-privacy-grid{grid-template-columns:1fr}.gstvt-privacy-intro{padding:24px}.gstvt-community-workbench{grid-template-columns:1fr}.gstvt-travel-toolbar{align-items:start}.gstvt-travel-timeline article{max-width:95%}}
/* Traveller introduction: a public page, with no authenticated UI dependency. */
.gstvt-travellers{background:#fbfaf7;color:#252725;overflow:hidden}.gstvt-travellers h1,.gstvt-travellers h2{font-weight:550;letter-spacing:-.065em;line-height:1.05}.gstvt-travellers em{font-family:Georgia,serif;font-weight:400;color:#527d67}.gstvt-travellers-kicker{font-size:11px;letter-spacing:2.2px;font-weight:650}.gstvt-travellers-hero{text-align:center;padding:80px 6% 40px;background:radial-gradient(ellipse at 80% 50%,#dde9db77,transparent 55%)}.gstvt-travellers h1{font-size:clamp(52px,7vw,100px);margin:24px 0}.gstvt-travellers-hero>p:not(.gstvt-travellers-kicker):not(.gstvt-travellers-caption){font-size:18px;line-height:1.7;color:#61665f;max-width:650px;margin:0 auto}.gstvt-travellers-actions{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;margin:30px 0 56px}.gstvt-travellers a{color:#315d46;font-weight:550}.gstvt-travellers .gstvt-travellers-button{display:inline-flex;align-items:center;gap:24px;background:#263e31;color:#fff;padding:16px 24px;border-radius:9px;font-size:14px;text-decoration:none}.gstvt-travellers-button:hover{background:#355b45!important}
.gstvt-travellers-preview{max-width:1240px;margin:auto;border:1px solid #cbd2c7;border-radius:16px;overflow:hidden;box-shadow:0 32px 70px #23301e1c;background:var(--gstvt-surface, #fff);scroll-margin-top:110px}.gstvt-travellers-preview-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;text-align:left;gap:12px;font-size:12px;background:#f1f3ed;border-bottom:1px solid #d5dbd0}.gstvt-travellers-preview-bar>span{display:flex;align-items:center;gap:8px}.gstvt-travellers-preview-bar i{height:7px;width:7px;background:#547a53;border-radius:50%}.gstvt-travellers-preview-bar>div{display:flex;gap:4px;border:1px solid #d5dbd0;border-radius:7px;padding:3px}.gstvt-travellers-preview-bar button{background:transparent;border:0;border-radius:4px;padding:6px 14px;color:#4c554b;font-size:12px}.gstvt-travellers-preview-bar button[aria-pressed=true]{background:var(--gstvt-surface, #fff);color:#222;box-shadow:0 1px 4px #0001}.gstvt-travellers-preview img{display:block;width:100%;height:auto}.gstvt-travellers-caption{font-size:11px;color:#676e64;margin:22px 0 0}
.gstvt-travellers-manifesto{max-width:1260px;padding:80px 30px;margin:auto}.gstvt-travellers h2{font-size:clamp(36px,4.4vw,64px);margin:20px 0 28px}.gstvt-travellers-manifesto>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:50px}.gstvt-travellers-manifesto article{border-top:1px solid #cad2c6;padding-top:22px}.gstvt-travellers-manifesto article>span{font-size:9px;letter-spacing:1.1px;color:#586653}.gstvt-travellers h3{font-size:23px;letter-spacing:-.7px;margin:18px 0}.gstvt-travellers-manifesto article p,.gstvt-travellers-feature p{color:#61665f;line-height:1.8;font-size:15px}
.gstvt-travellers-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);align-items:center;gap:60px;max-width:1440px;padding:75px 6%;margin:auto}.gstvt-travellers-feature>div{max-width:460px}.gstvt-travellers-feature h2{font-size:clamp(34px,3.6vw,54px)}.gstvt-travellers-feature ul{list-style:none;margin:24px 0;padding:0}.gstvt-travellers-feature li{font-size:13px;margin:12px 0;padding-left:22px;position:relative}.gstvt-travellers-feature li:before{content:'✓';position:absolute;left:0;color:#527d67}.gstvt-travellers-feature figure{margin:0;min-width:0}.gstvt-travellers-feature img{width:100%;height:auto;border-radius:12px;box-shadow:0 20px 60px #27302526;border:1px solid #d7dcd3}.gstvt-travellers-feature figcaption{font-size:11px;color:#61665f;margin:18px 0}.gstvt-travellers-feature-reverse{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr)}.gstvt-travellers-feature-reverse>div{grid-column:2;grid-row:1}.gstvt-travellers-feature-reverse figure{grid-column:1;grid-row:1}
.gstvt-travellers-privacy{background:#e7ecdf;display:flex;align-items:start;justify-content:center;gap:50px;padding:80px 10%;margin:50px 0}.gstvt-travellers-privacy>span{font-size:70px;padding:22px;border:1px solid #bdcbb3;border-radius:28px}.gstvt-travellers-privacy>div{max-width:690px}.gstvt-travellers-privacy p:not(.gstvt-travellers-kicker){color:#52604c;line-height:1.8}.gstvt-travellers-faq{max-width:860px;margin:80px auto;padding:0 24px}.gstvt-travellers-faq h2{font-size:36px}.gstvt-travellers-faq details{border-bottom:1px solid #d4d9cf;padding:22px 0}.gstvt-travellers-faq summary{cursor:pointer;font-weight:550}.gstvt-travellers-faq details p{color:#61665f;font-size:14px;line-height:1.8;margin:18px 0 0}.gstvt-travellers-outro{text-align:center;background:#e7ecdf;padding:75px 24px}.gstvt-travellers-outro>a:last-child{display:block;margin-top:22px;font-size:12px}
@media(max-width:800px){.gstvt-travellers-hero{padding:55px 18px 25px}.gstvt-travellers-manifesto{padding:50px 24px}.gstvt-travellers-manifesto>div{grid-template-columns:1fr;gap:24px;margin-top:30px}.gstvt-travellers-feature,.gstvt-travellers-feature-reverse{grid-template-columns:1fr;gap:28px;padding:40px 24px}.gstvt-travellers-feature-reverse>div,.gstvt-travellers-feature-reverse figure{grid-column:auto;grid-row:auto}.gstvt-travellers-feature>div{max-width:none}.gstvt-travellers-privacy{padding:50px 24px;gap:24px;flex-direction:column}.gstvt-travellers-privacy>span{font-size:40px;padding:16px}.gstvt-travellers-preview-bar{padding:10px}.gstvt-travellers-preview-bar>span{font-size:10px}.gstvt-travellers-preview-bar button{padding:6px 10px}.gstvt-travellers-faq{margin:50px auto}.gstvt-travellers-hero>p:not(.gstvt-travellers-kicker):not(.gstvt-travellers-caption){font-size:16px}}
.gstvt-travel-panel small,.gstvt-travel-timeline time,.gstvt-travel-thread-list h2 span{color:color-mix(in srgb,var(--sb-muted) 85%,var(--sb-ink))}
.gstvt-page-shell .gstvt-travellers a{color:#315d46}.gstvt-page-shell .gstvt-travellers a.gstvt-travellers-button{color:#fff}
.gstvt-trip-summary{padding:20px;border:1px solid var(--sb-line);background:var(--sb-bg);border-radius:12px}.gstvt-trip-summary>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.gstvt-trip-summary>div>span:last-child{margin-left:auto;color:var(--sb-muted);font-size:11px}.gstvt-trip-summary p{font-size:13px;margin:14px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.gstvt-scrapbook .gstvt-booking-lookup .hbs-eyebrow{color:var(--sb-accent)}
.gstvt-travel-timeline:focus-visible{outline:2px solid var(--sb-accent);outline-offset:3px}

/* Workspace theme is scoped to its mounted shell, including Blueprint portals.
   Surface fallbacks above preserve the existing light/public appearance. */
.gstvt-workspace-theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.4rem;height:2.4rem;border:1px solid var(--gstvt-line);border-radius:8px;background:var(--gstvt-surface,#fff);color:var(--gstvt-ink);cursor:pointer}
.gstvt-workspace-theme-toggle:hover{background:var(--gstvt-workspace-accent)}
.gstvt-workspace-theme-toggle:focus-visible{outline:2px solid var(--gstvt-ink);outline-offset:3px}
.gstvt-workspace-theme-toggle:disabled{opacity:.5;cursor:default}
.gstvt-workspace-theme-toggle .material-symbols-outlined{/*font-size:1.2rem*/}
@media screen {
  body.gstvt-workspace-dark,
  .gstvt-workspace-dark :is(.gstvt-workspace-shell,.gstvt-workspace-sidebar){
    color-scheme:dark;
    --gstvt-ink:#f2f3f5; --gstvt-muted:#b4bac6; --gstvt-line:#3b414d;
    --gstvt-canvas:#101216; --gstvt-surface:#1b1e24; --gstvt-surface-raised:#252a33;
    --gstvt-soft:#292f39; --gstvt-soft-blue:#223149; --gstvt-soft-violet:#322b49;
    --gstvt-blue:#99bbff; --gstvt-blue-strong:#a9c7ff; --gstvt-violet:#c4adff;
    --gstvt-green:#6bdbab; --gstvt-emerald:#7adeb4;
    --gstvt-shadow-soft:0 14px 36px #0003;
    --gstvt-workspace-primary:#f2f3f5; --gstvt-workspace-primary-hover:#d7dce5; --gstvt-workspace-accent:#2b313c;
    --background:var(--gstvt-canvas); --foreground:var(--gstvt-ink);
    --card:var(--gstvt-surface); --card-foreground:var(--gstvt-ink);
    --popover:var(--gstvt-surface); --popover-foreground:var(--gstvt-ink);
    --primary:var(--gstvt-workspace-primary); --primary-foreground:#15181e;
    --secondary:var(--gstvt-soft); --secondary-foreground:var(--gstvt-ink);
    --muted:var(--gstvt-surface-raised); --muted-foreground:var(--gstvt-muted);
    --accent:var(--gstvt-workspace-accent); --accent-foreground:var(--gstvt-ink);
    --destructive:#b83242; --destructive-foreground:#fff;
    --border:var(--gstvt-line); --input:var(--gstvt-line); --ring:#9dbfff;
    --sidebar:var(--gstvt-surface); --sidebar-foreground:var(--gstvt-ink);
    --sidebar-primary:var(--primary); --sidebar-primary-foreground:var(--primary-foreground);
    --sidebar-accent:var(--accent); --sidebar-accent-foreground:var(--gstvt-ink);
    --sidebar-border:var(--gstvt-line); --sidebar-ring:var(--ring);
    --sidebar-menu-button-active-color:var(--gstvt-ink);
    --sidebar-menu-button-active-shadow:inset 3px 0 0 var(--gstvt-ink);
    --hbs-ink:var(--gstvt-ink); --hbs-muted:var(--gstvt-muted); --hbs-paper:var(--gstvt-surface);
    --hbs-canvas:var(--gstvt-canvas); --hbs-line:var(--gstvt-line);
    --hbs-green:var(--gstvt-ink); --hbs-green-2:var(--gstvt-blue); --hbs-coral:var(--gstvt-violet);
    --hbs-soft-green:var(--gstvt-soft-blue); --hbs-soft-coral:var(--gstvt-soft-violet);
    --bs-body-bg:var(--gstvt-surface); --bs-body-bg-rgb:27,30,36;
    --bs-body-color:var(--gstvt-ink); --bs-body-color-rgb:242,243,245;
    --bs-secondary-color:var(--gstvt-muted); --bs-secondary-color-rgb:180,186,198;
    --bs-tertiary-color:var(--gstvt-muted); --bs-tertiary-bg:var(--gstvt-surface-raised);
    --bs-secondary-bg:var(--gstvt-surface-raised); --bs-border-color:var(--gstvt-line);
    --bs-heading-color:var(--gstvt-ink); --bs-emphasis-color:var(--gstvt-ink); --bs-emphasis-color-rgb:242,243,245;
    --bs-link-color:var(--gstvt-blue); --bs-link-color-rgb:153,187,255; --bs-link-hover-color:#c5d9ff;
    background-color:var(--gstvt-canvas); color:var(--gstvt-ink);
  }
  .gstvt-workspace-dark :is(.gstvt-sidebar-menu-button,.gstvt-sidebar-brand:hover,.gstvt-sidebar-switcher-check,.gstvt-calendar-switch,.gstvt-timeline-group-summary){color:var(--gstvt-muted)}
  .gstvt-workspace-dark .gstvt-sidebar-menu-button .material-symbols-outlined{color:inherit}
  .gstvt-workspace-dark :is(.gstvt-sidebar-menu-button:hover,.gstvt-sidebar-menu-button[data-active=true]){color:var(--gstvt-ink)}
  .gstvt-workspace-dark :is(.gstvt-sidebar-switcher-trigger:hover,.gstvt-sidebar-switcher-trigger:focus-visible){color:var(--gstvt-ink)!important}
  .gstvt-workspace-dark .gstvt-sidebar-switcher-item.is-active{background:var(--gstvt-workspace-accent)}
  .gstvt-workspace-dark .gstvt-brand-mark{filter:invert(1)}
  .gstvt-workspace-dark .gstvt-shell-action{border-color:var(--gstvt-line)!important}
  .gstvt-workspace-dark .gstvt-workspace-shell .text-primary-foreground{color:var(--primary-foreground)!important}
  .gstvt-workspace-dark .gstvt-workspace-shell :is(.btn-primary,.btn-dark){--bs-btn-color:#15181e;--bs-btn-hover-color:#15181e;--bs-btn-active-color:#15181e;--bs-btn-disabled-color:#15181e;color:#15181e}
  .gstvt-workspace-dark :is(.btn-outline-secondary,.btn-outline-dark,.btn-outline-primary){--bs-btn-color:var(--gstvt-ink);--bs-btn-border-color:var(--gstvt-line);--bs-btn-hover-color:var(--gstvt-ink);--bs-btn-hover-bg:var(--gstvt-soft);--bs-btn-hover-border-color:var(--gstvt-muted);--bs-btn-active-bg:var(--gstvt-soft);--bs-btn-active-color:var(--gstvt-ink)}
  .gstvt-workspace-dark .btn-light{--bs-btn-bg:var(--gstvt-soft);--bs-btn-color:var(--gstvt-ink);--bs-btn-border-color:var(--gstvt-line);--bs-btn-hover-bg:#363d48;--bs-btn-hover-color:var(--gstvt-ink)}
  .gstvt-workspace-dark :is(.bg-white,.bg-light){background-color:var(--gstvt-surface)!important}
  .gstvt-workspace-dark :is(.text-dark,.text-black){color:var(--gstvt-ink)!important}
  .gstvt-workspace-dark .text-muted{color:var(--gstvt-muted)!important}
  .gstvt-workspace-dark .form-control::placeholder{color:var(--gstvt-muted);opacity:1}
  .gstvt-workspace-dark :is(.form-control:disabled,.form-select:disabled){color:var(--gstvt-muted);background:var(--gstvt-soft)}
  .gstvt-workspace-dark :is(input,select,textarea):focus-visible{outline:2px solid var(--ring);outline-offset:2px}
  .gstvt-workspace-dark :is(.table,.table-striped){--bs-table-color:var(--gstvt-ink);--bs-table-bg:var(--gstvt-surface);--bs-table-striped-bg:#242933;--bs-table-striped-color:var(--gstvt-ink);--bs-table-hover-bg:#303744;--bs-table-hover-color:var(--gstvt-ink);--bs-table-border-color:var(--gstvt-line)}
  .gstvt-workspace-dark :is(.gstvt-community-item,.gstvt-community-workbench>aside){border-color:var(--gstvt-line)}
  .gstvt-workspace-dark .gstvt-community-item>span{color:var(--gstvt-muted)}
  .gstvt-workspace-dark .gstvt-community-item b{background:var(--gstvt-soft-blue)}
  .gstvt-workspace-dark .gstvt-message-inbox-item.is-active{box-shadow:inset 3px 0 0 var(--gstvt-ink)}
  .gstvt-workspace-dark .gstvt-header-unread-count{box-shadow:0 0 0 2px var(--gstvt-surface)}
  .gstvt-workspace-dark .gstvt-status-badge.is-success{background:#203e31;color:#9aefc3}
  .gstvt-workspace-dark :is(.gstvt-status-badge.is-danger,.gstvt-status-badge.is-error){background:#4b2630;color:#ffb2bc}
  .gstvt-workspace-dark .gstvt-reservation-timeline .is-confirmed{--gstvt-stay-bg:#203e31;--gstvt-stay-ink:#a6edc7;--gstvt-stay-accent:#72d3a4}
  .gstvt-workspace-dark .gstvt-reservation-timeline .is-inhouse{--gstvt-stay-bg:#352b51;--gstvt-stay-ink:#ddcfff;--gstvt-stay-accent:#b49aea}
  .gstvt-workspace-dark .gstvt-reservation-timeline .is-pending{--gstvt-stay-bg:#43381e;--gstvt-stay-ink:#ffda87;--gstvt-stay-accent:#deb45c}
  .gstvt-workspace-dark .gstvt-reservation-timeline .is-ended{--gstvt-stay-bg:#2e3440;--gstvt-stay-ink:#c2cada;--gstvt-stay-accent:#939fb3}
  .gstvt-workspace-dark .gstvt-timeline-dates>div{border-color:var(--gstvt-line)}
  .gstvt-workspace-dark .gstvt-calendar-switch input:checked::after{background:#15181e}
  .gstvt-workspace-dark .gstvt-stay-dialog{background:var(--gstvt-surface)}
  /* Documents retain their paper appearance for preview and export. */
  .gstvt-workspace-dark .gstvt-invoice-paper{--gstvt-ink:#1e1e1e;--gstvt-muted:#6d7280;--gstvt-line:#d8dbe6;--gstvt-surface:#fff;--hbs-ink:#1e1e1e;--hbs-muted:#6d7280;--hbs-line:#d8dbe6;background:#fff;color:#1e1e1e;color-scheme:light}
}
@media print {
  body.gstvt-workspace-dark{color-scheme:light;--bs-body-bg:#fff;--bs-body-color:#1e1e1e;--bs-heading-color:#1e1e1e;--bs-emphasis-color:#1e1e1e;--bs-border-color:#d8dbe6;background:#fff;color:#1e1e1e}
  .gstvt-workspace-theme-toggle{display:none!important}
}
@media screen {
 .gstvt-workspace-dark :is(.gstvt-workspace-topbar,.gstvt-workspace-sidebar){background:var(--gstvt-surface)}
 .gstvt-workspace-dark .text-secondary{color:var(--gstvt-muted)!important}
 .gstvt-workspace-dark .gstvt-reservation-timeline :is(.gstvt-timeline-dates,.gstvt-timeline-cells) .is-weekend{background:var(--gstvt-surface-raised)}
 .gstvt-workspace-dark .gstvt-reservation-timeline :is(.gstvt-timeline-dates,.gstvt-timeline-cells) .is-today{background:var(--gstvt-soft-violet)}
 .gstvt-workspace-dark .gstvt-timeline-dates .is-today small{color:var(--gstvt-muted)}
 .gstvt-workspace-dark .gstvt-stay-bar.is-blocked{background:repeating-linear-gradient(135deg,#49352c,#49352c 7px,#584035 7px,#584035 9px);color:#f5c8ae}
 .gstvt-workspace-dark .gstvt-timeline-cells>button.gstvt-cell-blocked{background:repeating-linear-gradient(135deg,#352a26,#352a26 7px,#44342b 7px,#44342b 9px)}
}
@media screen {
 .gstvt-workspace-dark .hbs-calendar-cell.low{background:#43381e;color:#ffda87;border-color:#a78847}
 .gstvt-workspace-dark .hbs-calendar-cell.closed{background:#492c2c;color:#ffc3b8;border-color:#a06b65}
 .gstvt-workspace-dark :is(.hbs-calendar-cell.low,.hbs-calendar-cell.closed) small{color:inherit}
 .gstvt-workspace-dark .gstvt-calendar-action-choice button.is-selected{background:var(--gstvt-soft-violet)}
 .gstvt-workspace-dark .gstvt-calendar-action-choice .is-selected span{color:var(--gstvt-muted)}
}
@media screen {
 .gstvt-workspace-dark :is(.bg-primary,.hover\:bg-primary\/90:hover){background-color:var(--gstvt-workspace-primary)!important;color:var(--primary-foreground)!important}
 .gstvt-workspace-dark :is(.text-primary-foreground,.bg-primary .text-white){color:var(--primary-foreground)!important}
 .gstvt-workspace-dark .border-primary{border-color:var(--gstvt-workspace-primary)!important}
}
@media screen { .gstvt-workspace-dark .gstvt-workspace-menu-trigger{color:var(--gstvt-ink)} }
@media screen { .gstvt-workspace-dark .gstvt-timeline-cells>*{border-color:var(--gstvt-line)} }
@media screen {
 .gstvt-workspace-dark .gstvt-community-indicator{border-color:var(--gstvt-line)}
 .gstvt-workspace-dark :is(.leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-control-zoom a,.leaflet-control-attribution){background:var(--gstvt-surface);color:var(--gstvt-ink)}
 .gstvt-workspace-dark .leaflet-control-attribution a{color:var(--gstvt-blue)}
 .gstvt-workspace-dark .gstvt-map-price span{color:var(--gstvt-ink)}
}

/* Icon actions share the same quiet treatment in workspace and scrapbook. */
.gstvt-icon-button.rounded-full {
  align-items:center;justify-content:center;
  border:0!important;border-radius:9999px!important;
  background:transparent!important;box-shadow:none;
  aspect-ratio:1;padding:.5rem;
}
.gstvt-icon-button.rounded-full:hover:not(:disabled) {
  background:var(--sb-soft,var(--gstvt-workspace-accent,var(--gstvt-soft,#f0f1f5)))!important;
}
.gstvt-icon-button.rounded-full:focus-visible {
  outline:2px solid currentColor;outline-offset:3px;
}
/* Button links must not inherit prose link decoration, including on hover. */
a:is(.btn,.inline-flex.items-center.justify-center,.gstvt-icon-button,.gstvt-shell-action,.gstvt-sb-button,.gstvt-sb-text-button,.gstvt-travellers-button,.gstvt-round-link,.gstvt-site-account,[role="button"],[data-slot="button"]) {
  text-decoration:none!important;
}

/* Messages: preserve Blueprint styling where Bootstrap resets/utilities collide. */
.gstvt-messages-page .gstvt-message-button { border-radius:var(--radius,.5rem); text-decoration:none; }
.gstvt-messages-page :is([data-slot="message-header"],[data-slot="message-footer"]) { color:#626977; }
.gstvt-messages-page .gstvt-status-badge {
  background:var(--secondary)!important;color:var(--secondary-foreground)!important;
  border-color:transparent!important;border-radius:9999px;
}
.gstvt-messages-page .gstvt-status-badge.is-primary {
  background:var(--gstvt-soft-blue)!important;color:#2447a5!important;
}
.gstvt-messages-page .gstvt-status-badge.is-success {
  background:#e7f5ed!important;color:#12613d!important;
}
.gstvt-messages-page .gstvt-status-badge.is-warning {
  background:#fff2d6!important;color:#78500d!important;
}
.gstvt-messages-page :is(.gstvt-status-badge.is-danger,.gstvt-status-badge.is-error) {
  background:#fde8e8!important;color:#9f3030!important;
}
.gstvt-messages-page .gstvt-status-badge.is-outline { border-color:var(--gstvt-line)!important; }
.gstvt-messages-page [data-slot="bubble-content"] { border-color:transparent!important; }
.gstvt-messages-page .gstvt-message-context [data-slot="bubble-content"] {
  border:0!important;background:transparent;color:var(--gstvt-ink);
}
.gstvt-messages-page .gstvt-message-internal-note [data-slot="bubble-content"] {
  border:1px dashed var(--gstvt-line)!important;
}
.gstvt-message-note-toggle label { margin:0;cursor:pointer; }
.gstvt-message-composer-options { display:flex;align-items:center;justify-content:space-between;gap:1rem; }
.gstvt-message-composer-options small { white-space:nowrap; }
.gstvt-messages-page .gstvt-message-composer-actions { justify-content:flex-end; }
.gstvt-message-note-switch { border-radius:9999px;flex-shrink:0; }
@media screen {
  .gstvt-workspace-dark .gstvt-messages-page .gstvt-status-badge.is-primary { background:#223149!important;color:#b8ceff!important; }
  .gstvt-workspace-dark .gstvt-messages-page :is([data-slot="message-header"],[data-slot="message-footer"]) { color:var(--gstvt-muted); }
  .gstvt-workspace-dark .gstvt-messages-page .gstvt-status-badge.is-success { background:#203e31!important;color:#9aefc3!important; }
  .gstvt-workspace-dark .gstvt-messages-page .gstvt-status-badge.is-warning { background:#42351d!important;color:#ffe0a0!important; }
  .gstvt-workspace-dark .gstvt-messages-page :is(.gstvt-status-badge.is-danger,.gstvt-status-badge.is-error) { background:#4b2630!important;color:#ffb2bc!important; }
}

/* Workspace: supplied Blueprint palette. Keep tokens on the body for portalled controls. */
@media screen {
body.gstvt-workspace-theme, .gstvt-workspace-shell, .gstvt-workspace-shell .gstvt-workspace-sidebar {

  --radius: 0.65rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0.141 0.005 285.823);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.141 0.005 285.823);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.141 0.005 285.823);
  --primary: oklch(0.488 0.243 264.376);
  --primary-foreground: oklch(0.97 0.014 254.604);
  --secondary: oklch(0.967 0.001 286.375);
  --secondary-foreground: oklch(0.21 0.006 285.885);
  --muted: oklch(0.967 0.001 286.375);
  --muted-foreground: oklch(0.552 0.016 285.938);
  --accent: oklch(0.967 0.001 286.375);
  --accent-foreground: oklch(0.21 0.006 285.885);
  --destructive: oklch(0.577 0.245 27.325);
  --destructive-foreground: oklch(1 0 0);
  --border: oklch(0.92 0.004 286.32);
  --input: oklch(0.92 0.004 286.32);
  --ring: oklch(0.708 0 0);
  --chart-1: oklch(0.809 0.105 251.813);
  --chart-2: oklch(0.623 0.214 259.815);
  --chart-3: oklch(0.546 0.245 262.881);
  --chart-4: oklch(0.488 0.243 264.376);
  --chart-5: oklch(0.424 0.199 265.638);
  --sidebar: oklch(0.985 0 0);
  --sidebar-foreground: oklch(0.141 0.005 285.823);
  --sidebar-primary: oklch(0.546 0.245 262.881);
  --sidebar-primary-foreground: oklch(0.97 0.014 254.604);
  --sidebar-accent: oklch(0.967 0.001 286.375);
  --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
  --sidebar-border: oklch(0.92 0.004 286.32);
  --sidebar-ring: oklch(0.708 0 0);

    --radius-sm:calc(var(--radius) - 4px); --radius-md:calc(var(--radius) - 2px);
    --radius-lg:var(--radius); --radius-xl:calc(var(--radius) + 4px); --hbs-radius:var(--radius);
    --gstvt-ink:var(--foreground); --gstvt-muted:var(--muted-foreground); --gstvt-line:var(--border);
    --gstvt-canvas:var(--background); --gstvt-surface:var(--card); --gstvt-surface-raised:var(--secondary);
    --gstvt-soft:var(--muted); --gstvt-soft-blue:color-mix(in srgb,var(--primary) 12%,var(--card));
    --gstvt-soft-violet:var(--gstvt-soft-blue); --gstvt-blue:var(--primary); --gstvt-blue-strong:var(--primary);
    --gstvt-violet:var(--gstvt-blue); --gstvt-workspace-primary:var(--primary);
    --gstvt-workspace-primary-hover:color-mix(in oklch,var(--primary) 88%,var(--foreground));
    --gstvt-workspace-accent:var(--accent);
    --hbs-ink:var(--foreground); --hbs-muted:var(--muted-foreground); --hbs-paper:var(--card);
    --hbs-canvas:var(--background); --hbs-line:var(--border); --hbs-green:var(--foreground);
    --hbs-green-2:var(--gstvt-blue); --hbs-coral:var(--gstvt-blue);
    --hbs-soft-green:var(--gstvt-soft-blue); --hbs-soft-coral:var(--gstvt-soft-blue);
    --bs-body-bg:var(--background); --bs-body-color:var(--foreground); --bs-secondary-color:var(--muted-foreground);
    --bs-tertiary-color:var(--muted-foreground); --bs-secondary-bg:var(--secondary); --bs-tertiary-bg:var(--muted);
    --bs-border-color:var(--border); --bs-heading-color:var(--foreground); --bs-emphasis-color:var(--foreground);
    --bs-link-color:var(--gstvt-blue); --bs-link-hover-color:var(--sidebar-primary);
    --sidebar-menu-button-active-color:var(--sidebar-primary);
    --sidebar-menu-button-active-shadow:inset 3px 0 0 var(--sidebar-primary);

    color-scheme:light;
}
body.gstvt-workspace-theme.gstvt-workspace-dark, body.gstvt-workspace-dark .gstvt-workspace-shell, body.gstvt-workspace-dark .gstvt-workspace-sidebar {

  --background: oklch(0.141 0.005 285.823);
  --foreground: oklch(0.985 0 0);
  --card: oklch(0.21 0.006 285.885);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.21 0.006 285.885);
  --popover-foreground: oklch(0.985 0 0);
  --primary: oklch(0.488 0.243 264.376);
  --primary-foreground: oklch(0.97 0.014 254.604);
  --secondary: oklch(0.274 0.006 286.033);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.274 0.006 286.033);
  --muted-foreground: oklch(0.705 0.015 286.067);
  --accent: oklch(0.274 0.006 286.033);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.704 0.191 22.216);
  --destructive-foreground: oklch(0.985 0 0);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.556 0 0);
  --chart-1: oklch(0.809 0.105 251.813);
  --chart-2: oklch(0.623 0.214 259.815);
  --chart-3: oklch(0.546 0.245 262.881);
  --chart-4: oklch(0.488 0.243 264.376);
  --chart-5: oklch(0.424 0.199 265.638);
  --sidebar: oklch(0.21 0.006 285.885);
  --sidebar-foreground: oklch(0.985 0 0);
  --sidebar-primary: oklch(0.623 0.214 259.815);
  --sidebar-primary-foreground: oklch(0.97 0.014 254.604);
  --sidebar-accent: oklch(0.274 0.006 286.033);
  --sidebar-accent-foreground: oklch(0.985 0 0);
  --sidebar-border: oklch(1 0 0 / 10%);
  --sidebar-ring: oklch(0.439 0 0);

    --radius-sm:calc(var(--radius) - 4px); --radius-md:calc(var(--radius) - 2px);
    --radius-lg:var(--radius); --radius-xl:calc(var(--radius) + 4px); --hbs-radius:var(--radius);
    --gstvt-ink:var(--foreground); --gstvt-muted:var(--muted-foreground); --gstvt-line:var(--border);
    --gstvt-canvas:var(--background); --gstvt-surface:var(--card); --gstvt-surface-raised:var(--secondary);
    --gstvt-soft:var(--muted); --gstvt-soft-blue:color-mix(in srgb,var(--primary) 12%,var(--card));
    --gstvt-soft-violet:var(--gstvt-soft-blue); --gstvt-blue:var(--primary); --gstvt-blue-strong:var(--primary);
    --gstvt-violet:var(--gstvt-blue); --gstvt-workspace-primary:var(--primary);
    --gstvt-workspace-primary-hover:color-mix(in oklch,var(--primary) 88%,var(--foreground));
    --gstvt-workspace-accent:var(--accent);
    --hbs-ink:var(--foreground); --hbs-muted:var(--muted-foreground); --hbs-paper:var(--card);
    --hbs-canvas:var(--background); --hbs-line:var(--border); --hbs-green:var(--foreground);
    --hbs-green-2:var(--gstvt-blue); --hbs-coral:var(--gstvt-blue);
    --hbs-soft-green:var(--gstvt-soft-blue); --hbs-soft-coral:var(--gstvt-soft-blue);
    --bs-body-bg:var(--background); --bs-body-color:var(--foreground); --bs-secondary-color:var(--muted-foreground);
    --bs-tertiary-color:var(--muted-foreground); --bs-secondary-bg:var(--secondary); --bs-tertiary-bg:var(--muted);
    --bs-border-color:var(--border); --bs-heading-color:var(--foreground); --bs-emphasis-color:var(--foreground);
    --bs-link-color:var(--gstvt-blue); --bs-link-hover-color:var(--sidebar-primary);
    --sidebar-menu-button-active-color:var(--sidebar-primary);
    --sidebar-menu-button-active-shadow:inset 3px 0 0 var(--sidebar-primary);

    color-scheme:dark; --gstvt-blue:var(--sidebar-primary); --gstvt-blue-strong:var(--chart-1);
    --bs-body-bg-rgb:9,9,11; --bs-body-color-rgb:250,250,250;
    --bs-secondary-color-rgb:159,159,169; --bs-emphasis-color-rgb:250,250,250; --bs-link-color-rgb:43,127,255;
}
body.gstvt-workspace-theme :is(.gstvt-workspace-topbar,.gstvt-workspace-sidebar) { background:var(--sidebar);color:var(--sidebar-foreground); }
body.gstvt-workspace-theme :is(.btn-primary,.btn-dark) {
    --bs-btn-color:var(--primary-foreground); --bs-btn-hover-color:var(--primary-foreground);
    --bs-btn-active-color:var(--primary-foreground); --bs-btn-disabled-color:var(--primary-foreground);
    color:var(--primary-foreground)!important;
}
body.gstvt-workspace-theme .table { --bs-table-bg:var(--card); --bs-table-color:var(--foreground); --bs-table-striped-bg:var(--muted); --bs-table-hover-bg:var(--accent); }
body.gstvt-workspace-theme .btn-light { --bs-btn-hover-bg:var(--accent); }
body.gstvt-workspace-theme.gstvt-workspace-dark,
/* A baseline for native/Blueprint actions and button links. Semantic controls retain their own geometry. */
body.gstvt-workspace-theme :is(button,a.btn,a[role=button],a[data-slot=button],input[type=submit],input[type=button]):not([role=switch],[role=checkbox],[role=radio],[role=slider],.rounded-full,.gstvt-stay-bar,.gstvt-timeline-cells>button,.gstvt-availability-cell) { border-radius:var(--radius)!important; }
body.gstvt-workspace-theme :is(button,a).rounded-full { border-radius:9999px!important; }
body.gstvt-workspace-theme a:is(.btn,[role=button],[data-slot=button],.gstvt-icon-button) { text-decoration:none!important; }
}

.gstvt-search-destination-input { position:relative; }
.gstvt-search-destination-icon { position:absolute; inset-inline-start:12px; top:50%; transform:translateY(-50%); display:flex; align-items:center; pointer-events:none; color:var(--foreground, currentColor); }
.hbs-search-form .gstvt-search-destination-input > .form-control { padding-inline-start:44px; }
.gstvt-search-destination-icon .material-symbols-outlined,
.gstvt-search-guests-value > .material-symbols-outlined { font-size:20px; flex-shrink:0; }
.gstvt-search-guests-value { display:flex; align-items:center; gap:12px; min-width:0; text-align:start; }

/* Blueprint link buttons must use their variant foreground, not Bootstrap anchor blue. */
body.gstvt-workspace-theme a.inline-flex.justify-center:not(.text-primary-foreground,.text-secondary-foreground,.text-destructive-foreground,.text-primary) { color:var(--foreground); }
body.gstvt-workspace-theme a.inline-flex.justify-center:not(.text-primary-foreground,.text-secondary-foreground,.text-destructive-foreground,.text-primary):hover { color:var(--accent-foreground); }
body.gstvt-workspace-theme .gstvt-messages-page .gstvt-status-badge.is-primary { background:var(--gstvt-soft-blue)!important;color:var(--bs-link-color)!important; }

/* Guest age bands, occupant rates and immutable charge breakdowns. */
.gstvt-occupant-editor{margin:1rem 0;padding:1rem;border:1px solid var(--border,#dce1e8);border-radius:.65rem;background:var(--card,#fff);color:var(--foreground,#17212e);min-width:0}
.gstvt-occupant-editor h3{font-size:1rem;font-weight:650;margin:0 0 .75rem}.gstvt-occupant-editor h4{font-size:.9rem;font-weight:600;margin:1rem 0 .5rem}
.gstvt-occupant-editor p,.gstvt-occupant-editor small{font-size:.82rem;color:var(--muted-foreground,#526173);line-height:1.5}
.gstvt-occupant-editor label{display:block;font-size:.82rem;margin:.35rem 0}.gstvt-occupant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:.75rem 0}
.gstvt-occupant-rate-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(80px,1fr) minmax(100px,1.4fr);gap:.75rem;align-items:center;border-top:1px solid var(--border,#dce1e8);padding:.5rem 0;font-size:.85rem}
.gstvt-occupant-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.gstvt-charge-row{display:flex;justify-content:space-between;gap:1rem;margin-top:.5rem;font-size:.85rem}.gstvt-charge-row>span{overflow-wrap:anywhere}.gstvt-charge-row>strong{white-space:nowrap}.gstvt-charge-saving{color:var(--foreground,#17212e);font-size:.8rem}
@media(max-width:480px){.gstvt-occupant-rate-row{grid-template-columns:1fr 1fr}.gstvt-occupant-rate-row>strong{grid-column:1/-1}.gstvt-occupant-editor{padding:.75rem}}

.gstvt-occupant-date{width:100%;max-width:100%;min-width:0}

/* The date button already has a label; hide its redundant library icon. */
.gstvt-occupant-date > svg{display:none}
body.gstvt-workspace-theme .gstvt-benefits-page .btn-dark{background:var(--primary)!important;border-color:var(--primary)!important;color:var(--primary-foreground)!important}
body.gstvt-workspace-theme .gstvt-benefits-page .btn-outline-secondary{color:var(--foreground)!important;border-color:var(--muted-foreground)!important;background:var(--card)!important}
body.gstvt-workspace-theme .gstvt-benefits-page .btn-outline-secondary:hover{background:var(--accent)!important;color:var(--accent-foreground)!important}

/* Bulk pricing uses shared Blueprint controls and workspace colour tokens. */
.gstvt-agent-rate-sheet { margin-top:2rem; }
.gstvt-agent-rate-filters { border:1px solid var(--border);padding:1rem;margin:1rem 0;min-width:0; }
.gstvt-agent-rate-filters legend { font-size:1rem;font-weight:600; }
.gstvt-agent-rate-filters>.gstvt-definition-grid { margin-bottom:1rem; }
.gstvt-agent-rate-offer { border-top:1px solid var(--border);padding:1.25rem 0;overflow-wrap:anywhere; }
.gstvt-agent-rate-heading { display:flex;justify-content:space-between;align-items:start;gap:1rem;flex-wrap:wrap; }
.gstvt-agent-rate-heading h3 { font-size:1.1rem; }
.gstvt-agent-rate-note { font-size:.875rem; }
.gstvt-agent-rate-export-scope { display:flex;align-items:center;gap:.6rem;margin:1rem 0; }
.gstvt-agent-rate-filters [data-slot=date-range-picker] { max-width:100%; }
.gstvt-agent-rate-dates>button { width:100%;max-width:300px;min-height:40px;height:auto; }
.gstvt-agent-rate-sheet .gstvt-bulk-table table { min-width:0;table-layout:fixed;width:100%; }
.gstvt-agent-rate-sheet .gstvt-bulk-table :is(th,td) { white-space:normal;overflow-wrap:anywhere;padding:.6rem; }
@media(max-width:600px) { .gstvt-agent-rate-sheet .gstvt-bulk-table { font-size:.8rem; } }
.gstvt-bulk-disclosure { margin-block: 1rem; border: 1px solid var(--gstvt-line, #d9e1df); border-radius: .75rem; padding: 1rem; }
.gstvt-bulk-disclosure > summary { cursor: pointer; font-weight: 600; }
.gstvt-bulk-rates { padding-block: 1rem; color: var(--gstvt-ink, #172723); }
.gstvt-bulk-rates h2 { font-size: 1.2rem; margin: 0 0 .5rem; }
.gstvt-bulk-rates h3 { font-size: 1.05rem; }
.gstvt-bulk-rates fieldset { min-width: 0; border: 0; padding: 0; }
.gstvt-bulk-rates label { display: flex; flex-direction: column; gap: .4rem; font-size: .9rem; margin-block: .4rem; }
.gstvt-bulk-legend, .gstvt-bulk-weekdays legend { font-size: .9rem; font-weight: 600; margin-block: .7rem; }
.gstvt-bulk-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: .5rem; max-height: 240px; overflow-y: auto; padding: .2rem; }
.gstvt-bulk-plans label, .gstvt-bulk-weekdays label, .gstvt-bulk-rates .gstvt-bulk-lock { flex-direction: row; align-items: center; gap: .6rem; }
.gstvt-multi-hotel-prices .gstvt-bulk-plans label { display: flex; }
.gstvt-bulk-plans small, .gstvt-bulk-table small { display: block; }
.gstvt-bulk-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: .8rem; }
.gstvt-bulk-hint { font-size: .85rem; margin-block: .5rem; }
.gstvt-bulk-weekdays { display: flex; flex-wrap: wrap; gap: 1rem; }
.gstvt-bulk-rates > fieldset > button { margin-top: 1rem; }
.gstvt-bulk-error { color: var(--bs-danger-text-emphasis, #b42318); margin-block: 1rem; }
.gstvt-bulk-review { border-top: 1px solid var(--gstvt-line, #d9e1df); margin-top: 1rem; padding-top: 1rem; }
.gstvt-bulk-table { overflow-x: auto; }
.gstvt-bulk-table table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.gstvt-bulk-table td, .gstvt-bulk-table th { text-align: left; padding: .7rem; border-bottom: 1px solid var(--gstvt-line, #d9e1df); }
.gstvt-bulk-table td:first-child { white-space: nowrap; }
.gstvt-bulk-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; padding-block: 1rem; }
@media (max-width: 900px) { .gstvt-bulk-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .gstvt-bulk-fields { grid-template-columns: 1fr; } .gstvt-bulk-table table { min-width: 560px; } }

.gstvt-bulk-fields label { min-width: 0; }
.gstvt-bulk-fields .gstvt-bulk-date-picker { width: 100%; min-width: 0; }
.gstvt-rate-definitions-page { padding: 1.5rem; }
.gstvt-rate-definitions { max-width: 78rem; }
.gstvt-extras-editor { max-width: 78rem; overflow-wrap: anywhere; }
.gstvt-extras-editor p { margin-block: .75rem; }
.gstvt-extra-entry { min-width: 0; border: 1px solid var(--gstvt-line, #d8dde3); padding: 1rem; margin-block: 1.25rem; border-radius: .5rem; }
.gstvt-extra-entry legend { float: none; width: auto; max-width: 100%; padding-inline: .4rem; font-size: 1.1rem; font-weight: 600; }
.gstvt-extras-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.gstvt-extras-wide { grid-column: 1 / -1; }
.gstvt-extras-editor .gstvt-tariff-components label:has([role="checkbox"]) { display: flex; align-items: flex-start; gap: .5rem; }
.gstvt-extras-editor .gstvt-tariff-components [role="checkbox"] { flex: 0 0 auto; }
.gstvt-extras-grid label, .gstvt-extra-price label { display: grid; gap: .35rem; min-width: 0; }
.gstvt-extra-price { display: grid; grid-template-columns: minmax(7rem, 1fr) minmax(8rem, 2fr) auto; gap: .75rem; align-items: end; margin-block: .75rem; }
.gstvt-extras-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-block: 1rem; }
.gstvt-extras-toggle { display: flex; gap: .5rem; align-items: center; }
.gstvt-extras-editor button:not([role="checkbox"]) { white-space: normal; height: auto; min-height: 2.5rem; }
/* Keep Blueprint's primary action readable under the workspace Bootstrap compatibility styles. */
.gstvt-extras-editor button.bg-primary { background-color: #244cc2 !important; color: #fff !important; }
.gstvt-extras-editor button.bg-primary:hover:not(:disabled) { background-color: #1a3b9b !important; }
@media (prefers-reduced-motion: reduce) { .gstvt-extras-editor button { transition: none !important; } }
@media (max-width: 640px) {
    .gstvt-extras-grid, .gstvt-extra-price { grid-template-columns: minmax(0, 1fr); }
    .gstvt-extra-entry { padding: .75rem; }
}
.gstvt-rate-offers { max-width: 85rem; }
.gstvt-offer-form { margin-top: 1.5rem; padding: 1rem 0; border: 0; border-top: 1px solid var(--gstvt-line, #d8dde3); min-width: 0; }
.gstvt-offer-form legend { font-size: 1.1rem; font-weight: 600; }
.gstvt-offer-form > p { margin-top: 1rem; }
.gstvt-rate-definitions > fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.gstvt-rate-definitions section { padding: 1.2rem 0; border-bottom: 1px solid var(--gstvt-line, #d8dde3); }
.gstvt-rate-definitions h2 { font-size: 1.15rem; margin-bottom: .5rem; }
.gstvt-rate-definitions p { margin-bottom: 1rem; }
.gstvt-definition-row { padding: 1rem 0; border-top: 1px solid var(--gstvt-line, #d8dde3); }
.gstvt-definition-row > button { margin-top: .8rem; }
.gstvt-definition-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; align-items: end; }
.gstvt-definition-grid label, .gstvt-definition-dates label { display: grid; gap: .4rem; min-width: 0; }
.gstvt-definition-wide { grid-column: span 2; }
.gstvt-definition-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 1rem; align-items: end; margin-top: 1rem; }
.gstvt-definition-dates .gstvt-catalogue-date-picker, .gstvt-definition-grid .gstvt-catalogue-date-picker { width: 100%; min-width: 0; }
.gstvt-definition-weekdays, .gstvt-definition-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin: 1rem 0; }
.gstvt-definition-weekdays label, .gstvt-definition-actions label { display: inline-flex; align-items: center; gap: .4rem; }
.gstvt-definition-error { color: var(--bs-danger-text-emphasis, #a12530); }
/* Scope the Blueprint/Bootstrap bg-primary collision to this editor's action. */
.gstvt-rate-definitions .gstvt-definition-save { background-color: #244cc2 !important; color: #fff !important; }
.gstvt-rate-definitions .gstvt-definition-save:hover:not(:disabled) { background-color: #1a3b9b !important; }
@media (max-width: 900px) { .gstvt-definition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) {
    .gstvt-rate-definitions-page { padding: 1rem; }
    .gstvt-definition-grid, .gstvt-definition-dates { grid-template-columns: minmax(0, 1fr); }
    .gstvt-definition-wide { grid-column: auto; }
}
.gstvt-rate-publications details { border-top: 1px solid var(--gstvt-line, #d8dce3); padding: .75rem 0; }
.gstvt-rate-publications summary { cursor: pointer; font-weight: 600; padding: .25rem 0; }
.gstvt-rate-publications details p { margin: .5rem 0; }
.gstvt-rate-publications h2 { font-size: 1.15rem; }
.gstvt-rate-publications h3 { font-size: 1.05rem; margin-top: 1rem; }
.gstvt-rate-publications .gstvt-bulk-table table { min-width: 0; table-layout: fixed; }
.gstvt-rate-publications .gstvt-bulk-table td { white-space: normal; overflow-wrap: anywhere; }

.gstvt-stream-shell {
    display: grid;
    grid-template-areas: "sidebar topbar" "sidebar main";
    grid-template-columns: 16.5rem minmax(0, 1fr);
    grid-template-rows: 4.5rem minmax(0, 1fr);
    min-height: 100dvh;
    color: var(--foreground, #17212e);
    background: var(--background, #fff);
}
.gstvt-stream-shell * { box-sizing: border-box; }
.gstvt-stream-skip { position: fixed; top: -5rem; left: max(.75rem, env(safe-area-inset-left)); z-index: 30; padding: .6rem .85rem; border-radius: .4rem; background: var(--card, #fff); color: var(--foreground, #17212e); }
.gstvt-stream-skip:focus { top: max(.5rem, env(safe-area-inset-top)); }
.gstvt-stream-topbar {
    grid-area: topbar;
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
    padding: .7rem max(1.5rem, env(safe-area-inset-right));
    border-bottom: 1px solid var(--border, #dce1e8);
    background: var(--card, #fff);
}
.gstvt-stream-topbar > .gstvt-workspace-theme-toggle { margin-inline-start: auto; }
.gstvt-stream-location { display: grid; gap: .05rem; min-width: 0; line-height: 1.2; }
.gstvt-stream-location span { color: var(--muted-foreground, #667085); font-size: .75rem; }
.gstvt-stream-location strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1rem; }
.gstvt-stream-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid var(--border, #dce1e8);
    border-radius: .55rem;
    background: var(--card, #fff);
    color: var(--foreground, #17212e);
    cursor: pointer;
}
.gstvt-stream-sidebar {
    grid-area: sidebar;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    height: 100dvh;
    min-width: 0;
    overflow-y: auto;
    padding: 1.15rem .85rem max(1.15rem, env(safe-area-inset-bottom));
    border-right: 1px solid var(--border, #dce1e8);
    background: var(--sidebar, var(--card, #fff));
    color: var(--sidebar-foreground, var(--foreground, #17212e));
}
.gstvt-stream-brand { display: flex; align-items: center; gap: .7rem; min-height: 3.1rem; padding-inline: .7rem; color: inherit; font-weight: 750; text-decoration: none; }
.gstvt-stream-brand img { width: 2.1rem; height: 2.1rem; object-fit: contain; }
body.gstvt-workspace-dark .gstvt-stream-brand img { filter: brightness(0) invert(1); }
.gstvt-stream-brand small { display: block; color: var(--muted-foreground, #667085); font-size: .7rem; font-weight: 500; }
.gstvt-stream-navigation { display: grid; align-content: start; gap: .125rem; }
.gstvt-stream-navigation-footer { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--sidebar-border, var(--border, #dce1e8)); }
.gstvt-stream-nav-label { padding: .35rem .75rem .5rem; color: var(--gstvt-muted, var(--muted-foreground, #667085)); font-size: .72rem; font-weight: 750; letter-spacing: 0; text-transform: uppercase; }
.gstvt-stream-navigation a {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-height: 1.7rem;
    min-width: 0;
    padding: .125rem .75rem;
    border-radius: 0;
    color: var(--gstvt-muted, var(--muted-foreground, #667085));
    font-size: .92rem;
    font-weight: 600;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.gstvt-stream-navigation a:hover, .gstvt-stream-navigation a.active { background: transparent; color: var(--gstvt-ink, var(--sidebar-foreground, #17212e)); }
.gstvt-stream-navigation a.active { box-shadow: inset 3px 0 0 var(--sidebar-primary, var(--primary, #2563eb)); font-weight: 650; }
.gstvt-stream-navigation a .material-symbols-outlined { flex: 0 0 auto; font-size: 1.15rem; }
.gstvt-stream-navigation a:focus-visible, .gstvt-stream-brand:focus-visible, .gstvt-stream-menu-toggle:focus-visible { outline: 2px solid var(--ring, #2563eb); outline-offset: 2px; }
.gstvt-stream-main {
    grid-area: main;
    width: 100%;
    min-width: 0;
    padding: 2rem max(1.5rem, env(safe-area-inset-right)) max(3rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));
}
.gstvt-stream-main > h1:first-child { margin-bottom: 1rem; }
@media (max-width: 850px) {
    .gstvt-stream-shell { grid-template-areas: "topbar" "sidebar" "main"; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto minmax(0, 1fr); }
    .gstvt-stream-topbar { min-height: 4.25rem; padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right)); }
    .gstvt-stream-menu-toggle { display: inline-flex; }
    .gstvt-stream-sidebar { display: none; position: static; height: auto; max-height: min(70dvh, 32rem); padding: .8rem max(1rem, env(safe-area-inset-left)) 1rem; border-right: 0; border-bottom: 1px solid var(--border, #dce1e8); }
    .gstvt-stream-sidebar.is-open { display: flex; }
    .gstvt-stream-brand { display: none; }
    .gstvt-stream-navigation-footer { margin-top: .4rem; }
    .gstvt-stream-main { padding: 1.5rem max(1rem, env(safe-area-inset-right)) max(2.5rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); }
}
.gstvt-agent-settings { max-width: 56rem; }
.gstvt-agent-marketing { margin-block: 2rem; }
.gstvt-agent-upload { padding: 1rem; border: 1px solid var(--border, #dce1e8); border-radius: .5rem; }
.gstvt-agent-upload input { max-width: 100%; }
.gstvt-agent-asset-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 1rem; }
.gstvt-agent-asset { min-width: 0; border: 1px solid var(--border, #dce1e8); border-radius: .5rem; overflow: hidden; }
.gstvt-agent-asset-content { padding: 1rem; }
.gstvt-agent-asset-content h3 { font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; }
.gstvt-agent-asset-image { display: block; width: 100%; height: 12rem; object-fit: cover; background: var(--muted, #eef1f5); }
.gstvt-agent-asset-placeholder { display: grid; place-items: center; font-size: .875rem; }
.gstvt-agent-asset-terms { white-space: pre-wrap; }
.gstvt-agent-asset-editor > label { margin-block: .75rem; }
.gstvt-agent-marketing .gstvt-catalogue-date-picker .text-muted-foreground { color: var(--foreground, #17212e); }
/* Bootstrap's .bg-primary is !important. Keep the expiry portal on Blueprint tokens. */
.gstvt-agent-expiry-popup button.bg-primary,
.gstvt-stream-date-popup button.bg-primary,
.gstvt-partner-date-popup button.bg-primary { background-color: var(--primary, #2563eb) !important; color: var(--primary-foreground, #fff) !important; }
@media (max-width: 600px) { .gstvt-agent-asset-grid { grid-template-columns: minmax(0, 1fr); } }
.gstvt-agent-settings fieldset { min-width: 0; border: 0; border-top: 1px solid var(--border, #dce1e8); padding: 1rem 0; margin: 1rem 0; }
.gstvt-agent-settings legend, .gstvt-agent-settings h2 { font-size: 1.1rem; font-weight: 600; margin-bottom: .75rem; }
.gstvt-agent-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.gstvt-agent-input { box-sizing: border-box; width: 100%; min-width: 0; height: 2.5rem; padding: .5rem .75rem; border: 1px solid var(--input, #dce1e8); border-radius: var(--radius, .5rem); background: var(--background, #fff); color: var(--foreground, #111); font: inherit; }
.gstvt-agent-input:focus-visible { outline: 2px solid var(--ring, #2563eb); outline-offset: 2px; }
.gstvt-agent-input:disabled { cursor: not-allowed; opacity: .55; }
.gstvt-agent-settings label { display: grid; gap: .4rem; min-width: 0; }
.gstvt-agent-settings p { margin-block: .75rem; overflow-wrap: anywhere; }
.gstvt-agent-terms { margin-top: 1.5rem; }
.gstvt-agent-settings .gstvt-agent-check { display: flex; align-items: center; gap: .65rem; }
.gstvt-agent-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1rem; }
.gstvt-agent-introduction { display: grid; gap: .5rem; max-width: 44rem; min-width: 0; margin-block: .75rem; overflow-wrap: anywhere; }
.gstvt-agent-introduction summary { cursor: pointer; font-weight: 600; }
.gstvt-agent-introduction textarea { min-height: 6rem; }
.gstvt-business-check { margin-block: 2rem; border-top: 1px solid var(--border, #dce1e8); padding-top: 1.25rem; }
.gstvt-business-check-status { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding: 1rem; border: 1px solid var(--border, #dce1e8); border-radius: .5rem; background: var(--card, #fff); }
.gstvt-business-check-status > span { font-size: .875rem; }
.gstvt-business-check-feedback { margin-block: 1rem; border-inline-start: 3px solid var(--border, #dce1e8); padding-inline-start: 1rem; }
.gstvt-business-check-feedback h3 { font-size: 1rem; }
.gstvt-business-review-row { border: 1px solid var(--border, #dce1e8); border-radius: .5rem; padding: 1.25rem; margin-block: 1rem; background: var(--card, #fff); overflow-wrap: anywhere; }
.gstvt-business-review-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem; }
.gstvt-business-review-heading h2, .gstvt-business-review-heading h3 { font-size: 1.1rem; margin: 0; }
.gstvt-business-review-heading > span { font-size: .875rem; }
.gstvt-business-review-details { display: grid; grid-template-columns: minmax(7rem, 1fr) minmax(0, 3fr); gap: .5rem 1rem; }
.gstvt-business-review-details dd { margin: 0; }
.gstvt-business-review-row details { margin-block: 1rem; }
.gstvt-business-review-row summary { cursor: pointer; font-weight: 600; }
.gstvt-business-review-row fieldset > label { margin-block: .75rem; }
@media(max-width: 540px) { .gstvt-business-review-details { grid-template-columns: minmax(0, 1fr); gap: .25rem; } .gstvt-business-review-details dd { margin-bottom: .5rem; } }
@media (max-width: 540px) { .gstvt-agent-fields { grid-template-columns: minmax(0, 1fr); } }
/* Keep long Blueprint 3.15 menus scrollable on the listbox that receives keyboard
   focus, rather than its non-focusable inner viewport. */
.gstvt-choice-options[data-select-content] { overflow: auto !important; max-height: 15rem; }
.gstvt-choice-options[data-select-content] > .max-h-60 { overflow: visible !important; max-height: none; }

.gstvt-hotel-agents { max-width: 75rem; }
.gstvt-hotel-agents fieldset { border: 0; padding: 1rem 0; min-width: 0; }
.gstvt-hotel-agents > fieldset { border-bottom: 1px solid var(--border, #dce1e8); max-width: 56rem; }
.gstvt-hotel-agents legend, .gstvt-hotel-agents h2 { font-size: 1.1rem; font-weight: 600; }
.gstvt-hotel-agents h3 { font-size: 1rem; font-weight: 600; }
.gstvt-hotel-agents label { display: grid; gap: .4rem; margin-block: .6rem; min-width: 0; }
.gstvt-hotel-agents .gstvt-agent-check { display: flex; align-items: center; gap: .65rem; }
.gstvt-hotel-agents p { margin-block: .6rem; overflow-wrap: anywhere; }
.gstvt-agent-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr) minmax(0, 1.3fr); gap: 1rem; border-top: 1px solid var(--border, #dce1e8); padding: 1rem 0; }
.gstvt-agent-row fieldset { padding: 0; }
.gstvt-agent-row p { font-size: .85rem; }
@media (max-width: 650px) { .gstvt-agent-row { grid-template-columns: minmax(0, 1fr); gap: .25rem; } }
.gstvt-agent-hotel-access { max-width: 56rem; padding-block: 1rem; }
.gstvt-agent-hotel-access h2 { font-size: 1.15rem; }
.gstvt-agent-hotel-access p { margin-block: .8rem; }
.gstvt-agent-hotel-follow { max-width: 56rem; margin-block: 1rem 2rem; }
.gstvt-agent-hotel-follow h2 { font-size: 1.15rem; }
.gstvt-agent-hotel-follow p { margin-block: .8rem; }

.gstvt-stream-browser { max-width: 80rem; }
.gstvt-rate-partners { max-width: 80rem; margin-block: 1.5rem 2.5rem; }
.gstvt-rate-partners h3 { font-size: 1.05rem; font-weight: 600; margin-block: 1rem .5rem; }
.gstvt-rate-partners fieldset { min-width: 0; }
.gstvt-partner-table { overflow: auto; margin-block: 1rem; border: 1px solid var(--border, #dce1e8); border-radius: .4rem; }
.gstvt-partner-table table { width: 100%; min-width: 36rem; border-collapse: collapse; }
.gstvt-partner-table th, .gstvt-partner-table td { padding: .7rem; border-bottom: 1px solid var(--border, #dce1e8); text-align: left; vertical-align: top; }
.gstvt-partner-table th { background: var(--muted, #eef1f6); }
.gstvt-partner-table small { display: block; margin-top: .25rem; }
.gstvt-partner-adjustment { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 1rem; align-items: end; margin-block: 1rem; }
.gstvt-partner-card { border: 1px solid var(--border, #dce1e8); border-radius: .5rem; padding: 1rem; margin-block: 1rem; background: var(--card, white); color: var(--foreground, #17212e); min-width: 0; overflow-wrap: anywhere; }
.gstvt-rate-partners .gstvt-agent-fields > label > button { max-width: 100%; }
.gstvt-rate-partners input { max-width: 100%; min-width: 0; }
.gstvt-rate-partners .gstvt-agent-actions button { white-space: normal; height: auto; min-height: 2.5rem; overflow-wrap: anywhere; max-width: 100%; }
@media(max-width: 600px) { .gstvt-partner-adjustment { grid-template-columns: minmax(0, 1fr); gap: .65rem; } }
.gstvt-stream-updates, .gstvt-hotel-updates { max-width: 65rem; margin-block: 2rem; }
.gstvt-stream-update { margin-block: 1rem; padding: 1.25rem; border: 1px solid var(--border, #dce1e8); border-radius: .6rem; background: var(--card, white); color: var(--foreground, #17212e); min-width: 0; overflow-wrap: anywhere; }
.gstvt-stream-update h3, .gstvt-stream-update h4 { font-size: 1.1rem; font-weight: 600; margin-block: .7rem; }
.gstvt-stream-update p { margin-block: .8rem; }
.gstvt-stream-update-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; font-size: .85rem; }
.gstvt-stream-update-heading a { font-weight: 600; }
.gstvt-stream-update-body { white-space: pre-wrap; }
.gstvt-stream-publish-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 1rem; }
.gstvt-stream-publish-fields > *, .gstvt-stream-filter-bar > label { min-width: 0; }
.gstvt-hotel-updates .gstvt-catalogue-date-picker .text-muted-foreground { color: var(--foreground, #17212e); }
.gstvt-stream-publish-hint { font-size: .875rem; color: var(--muted-foreground, #596675); line-height: 1.5; }
.gstvt-stream-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .85rem; font-size: .8125rem; line-height: 1.5; color: var(--muted-foreground, #596675); }
.gstvt-stream-topic, .gstvt-stream-state { display: inline-flex; align-items: center; padding: .2rem .6rem; border: 1px solid var(--border, #dce1e8); border-radius: .35rem; font-weight: 600; color: var(--foreground, #17212e); background: var(--muted, #f2f4f6); }
.gstvt-stream-topic[data-topic=stopSales], .gstvt-stream-topic[data-topic=stopsales] { border-style: dashed; }
.gstvt-stream-change-summary { border-inline-start: 3px solid var(--border, #dce1e8); padding-inline-start: .75rem; font-size: .9rem; }
.gstvt-stream-change-summary strong { margin-inline-end: .4rem; }
.gstvt-stream-filter-bar { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem 1.25rem; padding-block: .75rem; }
.gstvt-stream-filter-bar > label { display: grid; gap: .4rem; width: min(100%, 18rem); font-size: .875rem; font-weight: 600; }
.gstvt-stream-filter-bar > span { font-size: .8125rem; color: var(--muted-foreground, #596675); padding-bottom: .5rem; }
@media(max-width: 600px) { .gstvt-stream-publish-fields { grid-template-columns: minmax(0, 1fr); } }
.gstvt-stream-update details { border-top: 1px solid var(--border, #dce1e8); padding-block: .75rem; }
.gstvt-stream-update summary { cursor: pointer; }
.gstvt-hotel-updates > fieldset > label { margin-block: .8rem; }
.gstvt-hotel-updates textarea { min-height: 8rem; }
.gstvt-hotel-updates input, .gstvt-hotel-updates textarea { max-width: 100%; min-width: 0; }
.gstvt-stream-update button, .gstvt-stream-update a, .gstvt-hotel-updates button:not([role=checkbox]) { white-space: normal; overflow-wrap: anywhere; height: auto; min-height: 2.5rem; max-width: 100%; }
.gstvt-stream-update-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.gstvt-stream-update-images:empty { display: none; }
.gstvt-stream-update-images figure { margin: 0; min-width: 0; }
.gstvt-stream-update-images img { border-radius: .35rem; }
.gstvt-stream-update-images figcaption { font-size: .85rem; margin-block: .5rem; }
@media(max-width: 600px) { .gstvt-stream-update-images { grid-template-columns: minmax(0, 1fr); } .gstvt-stream-update { padding: 1rem; } }
.gstvt-stream-tabs { display: flex; flex-wrap: wrap; gap: .6rem; margin-block: 1.5rem; }
.gstvt-stream-tabs [aria-pressed=true] { outline: 2px solid var(--foreground, #17212e); outline-offset: 2px; }
.gstvt-stream-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.gstvt-stream-card { border: 1px solid var(--border, #dce1e8); border-radius: .65rem; padding: 1.2rem; background: var(--card, white); color: var(--foreground, #17212e); min-width: 0; }
.gstvt-stream-card h2 { font-size: 1.2rem; margin-top: 1rem; overflow-wrap: anywhere; }
.gstvt-stream-card p { font-size: .9rem; margin-block: .7rem; }
.gstvt-stream-monogram { width: 2.6rem; height: 2.6rem; display: grid; place-items: center; border-radius: .5rem; background: var(--muted, #eef1f6); color: var(--foreground, #17212e); font-weight: 600; }
.gstvt-stream-access { font-weight: 600; }
.gstvt-agent-feed-credentials { margin-block: 2rem; max-width: 70rem; }
.gstvt-agent-feed-secret, .gstvt-agent-feed-key { border: 1px solid var(--border, #dce1e8); border-radius: .5rem; padding: 1rem; margin-block: 1rem; background: var(--card, white); color: var(--foreground, #17212e); min-width: 0; }
.gstvt-agent-feed-key h4 { font-size: 1rem; margin-block: 0 .5rem; }
.gstvt-agent-feed-credentials label { display: grid; gap: .35rem; min-width: 0; }
.gstvt-agent-feed-credentials input { max-width: 100%; min-width: 0; }
.gstvt-agent-feed-key details { margin-block: 1rem; }
.gstvt-agent-feed-key summary { cursor: pointer; }
.gstvt-agent-feed-key p, .gstvt-agent-feed-key h4, .gstvt-agent-feed-key code { overflow-wrap: anywhere; }
.gstvt-agent-feed-key .gstvt-agent-actions button { white-space: normal; overflow-wrap: anywhere; height: auto; min-height: 2.5rem; max-width: 100%; }
@media(max-width: 1000px) { .gstvt-stream-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 600px) { .gstvt-stream-cards { grid-template-columns: minmax(0, 1fr); } }
/* Blueprint choice lists scroll on their keyboard-focusable listbox. */
.gstvt-choice-options[role="listbox"] { max-height:min(15rem, calc(100dvh - 2rem)); overflow-y:auto; }
.gstvt-choice-options[role="listbox"] > .overflow-auto { max-height:none; overflow:visible; }

.gstvt-arrival-eligibility { margin: 1.5rem 0; padding: 1rem; border: 1px solid var(--gstvt-line, #d8dde3); border-radius: .5rem; }
.gstvt-arrival-eligibility h2 { font-size: 1.2rem; }
.gstvt-arrival-eligibility h3 { font-size: 1.05rem; }
.gstvt-arrival-requirement { border-top: 1px solid var(--gstvt-line, #d8dde3); margin-top: 1rem; padding-top: 1rem; }
.gstvt-arrival-eligibility fieldset { border: 0; padding: 0; min-width: 0; }
.gstvt-arrival-adult { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; padding: .8rem 0; }
.gstvt-arrival-adult p { grid-column: 1 / -1; margin: 0; }
.gstvt-arrival-adult label { display: flex; align-items: flex-start; gap: .5rem; }
.gstvt-arrival-reason { display: grid; gap: .4rem; margin: .75rem 0; }
.gstvt-arrival-history { margin-top: 1rem; }
.gstvt-reservation-requote { border:1px solid var(--gstvt-line,#d8dde3); border-radius:.5rem; padding:1rem; margin:1.5rem 0; min-width:0; }
.gstvt-reservation-requote h2 { font-size:1.2rem; }
.gstvt-reservation-requote h3 { font-size:1.05rem; }
.gstvt-reservation-requote h4 { font-size:1rem; }
.gstvt-reservation-requote fieldset { border:0; padding:0; min-width:0; }
.gstvt-reservation-requote-dates { display:grid; gap:.4rem; max-width:28rem; margin-bottom:1rem; }
.gstvt-reservation-requote-room,.gstvt-reservation-requote-result { border-top:1px solid var(--gstvt-line,#d8dde3); padding-top:1rem; margin-top:1rem; }
.gstvt-reservation-requote dl { display:grid; gap:.6rem; }
.gstvt-reservation-requote dl>div { display:flex; gap:1rem; justify-content:space-between; flex-wrap:wrap; }
.gstvt-reservation-requote dd { margin:0; }
.gstvt-reservation-requote button:not([role="checkbox"]) { max-width:100%; white-space:normal; height:auto; min-height:2.5rem; }
.gstvt-requote-date-popup button.bg-primary { background-color:var(--primary,#2563eb) !important; color:var(--primary-foreground,#fff) !important; }
.gstvt-offer-scope { display:block; margin-top:.25rem; }
.gstvt-exclusive-rooms { display:grid; gap:.6rem; margin-block:1rem; }
.gstvt-arrival-history article { border-top: 1px solid var(--gstvt-line, #d8dde3); margin-top: .75rem; padding-top: .75rem; overflow-wrap: anywhere; }
@media(max-width:767px) { .gstvt-arrival-adult { grid-template-columns: minmax(0,1fr); } }

/* Keep the bulk confirmation action on Blueprint tokens despite Bootstrap utilities. */
.gstvt-bulk-rates .gstvt-bulk-apply { background-color: var(--primary, #2563eb) !important; color: var(--primary-foreground, #fff) !important; }

.gstvt-booked-offer-terms { margin-block: 1.5rem; }
.gstvt-booked-offer-terms article { padding: 1rem; margin-block: 1rem; border: 1px solid var(--border, #d4dae2); border-radius: .4rem; }
.gstvt-booked-offer-terms h2 { font-size: 1.2rem; }
.gstvt-booked-offer-terms h3 { font-size: 1.05rem; }
.gstvt-booked-terms-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.gstvt-booked-terms-grid dt { font-weight: 600; }
.gstvt-booked-terms-grid dd { margin: .25rem 0 0; }
.gstvt-booked-offer-terms summary { cursor: pointer; padding-block: .5rem; }
.gstvt-booked-offer-terms article { overflow-wrap: anywhere; }
@media (max-width: 600px) { .gstvt-booked-terms-grid { grid-template-columns: minmax(0, 1fr); } }
.gstvt-date-amendment { border-top: 1px solid var(--border, #d4dae2); margin-top: 1rem; padding-top: 1rem; overflow-wrap: anywhere; }
.gstvt-date-amendment > label, .gstvt-date-amendment > fieldset > label { display: flex; gap: .5rem; align-items: flex-start; margin-block: .75rem; }
.gstvt-date-amendment label:has(textarea) { flex-direction: column; }
.gstvt-date-amendment-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.gstvt-offline-refund { border: 1px solid var(--border, #d4dae2); border-radius: .5rem; padding: 1rem; margin-bottom: 1rem; overflow-wrap: anywhere; }
.gstvt-offline-refund fieldset { border: 0; padding: 0; min-width: 0; max-width: 30rem; }
.gstvt-offline-refund label { display: grid; gap: .4rem; margin-block: .75rem; }
.gstvt-offline-refund .gstvt-offline-refund-confirm { display: flex; align-items: flex-start; gap: .5rem; }
.gstvt-offline-refund button:not([role="checkbox"]) { max-width: 100%; white-space: normal; height: auto; min-height: 2.5rem; }
.gstvt-invoice-withdrawal { border: 1px solid var(--border, #d4dae2); border-radius: .5rem; padding: 1rem; margin-block: 1rem; overflow-wrap: anywhere; }
.gstvt-invoice-withdrawal h2 { font-size: 1.2rem; }
.gstvt-invoice-withdrawal label { display: grid; gap: .5rem; margin-block: .75rem; max-width: 40rem; }
.gstvt-invoice-withdrawal .gstvt-invoice-withdrawal-confirm { display: flex; align-items: flex-start; }
.gstvt-invoice-withdrawal button:not([role="checkbox"]) { max-width: 100%; white-space: normal; height: auto; min-height: 2.5rem; }
.gstvt-invoice-credit, .gstvt-invoice-reconciliation { border: 1px solid var(--border, #d4dae2); border-radius: .5rem; padding: 1rem; margin-block: 1rem; overflow-wrap: anywhere; }
.gstvt-invoice-credit h2, .gstvt-invoice-reconciliation h2 { font-size: 1.2rem; }
.gstvt-agent-relationships { border-top: 1px solid var(--border, #d4dae2); padding-block: 1rem; overflow-wrap: anywhere; }
.gstvt-agent-relationships article { border: 1px solid var(--border, #d4dae2); border-radius: .5rem; padding: 1rem; margin-block: 1rem; }
.gstvt-agent-relationships h3 { font-size: 1.1rem; }
.gstvt-agent-relationships h4 { font-size: 1rem; margin-top: 1rem; }
.gstvt-agent-relationships label { display: grid; gap: .5rem; margin-block: .75rem; max-width: 25rem; }
.gstvt-agent-relationships button { max-width: 100%; height: auto; min-height: 2.5rem; white-space: normal; }
.gstvt-agent-relationships li { margin-block: .75rem; }
.gstvt-invoice-reconciliation h3 { font-size: 1rem; }
.gstvt-invoice-reconciliation article { border-top: 1px solid var(--border, #d4dae2); padding-block: .75rem; }
.gstvt-invoice-reconciliation dl { display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
.gstvt-invoice-reconciliation dd { margin: 0; }
.gstvt-invoice-credit label { display: grid; gap: .5rem; margin-block: .75rem; max-width: 40rem; }
.gstvt-invoice-credit .gstvt-invoice-credit-confirm { display: flex; align-items: flex-start; }
.gstvt-invoice-credit button:not([role="checkbox"]), .gstvt-invoice-reconciliation button { max-width: 100%; white-space: normal; height: auto; min-height: 2.5rem; }
.gstvt-rate-component-amounts { margin-block: .6rem; }
.gstvt-rate-component-amounts > div { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.gstvt-rate-component-amounts dt { overflow-wrap: anywhere; font-weight: 400; }
.gstvt-rate-component-amounts dd { margin: 0; font-variant-numeric: tabular-nums; }
.gstvt-tariff-components { padding-block: .75rem; }
.gstvt-tariff-components .gstvt-definition-grid { margin-block: .65rem; }
.gstvt-tariff-components .gstvt-definition-grid p { overflow-wrap: anywhere; }
.gstvt-local-declaration { margin-block: 1rem; padding: 1rem; border: 1px solid var(--border, #d4dae2); border-radius: .5rem; overflow-wrap: anywhere; }
.gstvt-local-declaration h2 { font-size: 1.2rem; }
.gstvt-local-declaration fieldset { border: 0; padding: 0; min-width: 0; }
.gstvt-local-document { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; max-width: 40rem; margin-block: 1rem; }
.gstvt-local-document > label { display: grid; align-content: start; gap: .4rem; min-width: 0; }
.gstvt-local-declaration .gstvt-local-accept { display: flex; align-items: flex-start; gap: .6rem; margin-block: 1rem; }
.gstvt-local-accept [role="checkbox"] { flex-shrink: 0; margin-top: .2rem; }
.gstvt-local-declaration .gstvt-local-action { max-width: 100%; height: auto; min-height: 2.5rem; white-space: normal; }
@media (max-width: 640px) { .gstvt-local-document { grid-template-columns: minmax(0, 1fr); } }

/* Shared offer cards also appear in authenticated Stream checkout. */
.gstvt-public-offer { border: 1px solid var(--gstvt-line, #cbd5d1); border-radius: 12px; padding: 20px; margin-block: 14px; background: var(--gstvt-surface, #fff); color: var(--gstvt-ink, #172723); overflow-wrap: anywhere; }
.gstvt-public-offer-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; }
.gstvt-public-offer h4 { font-size: 1.05rem; margin: 0 0 6px; }
.gstvt-public-offer p { font-size: .9rem; line-height: 1.55; margin-block: 10px; }
.gstvt-public-offer-price { display: flex; flex-direction: column; font-size: 1.15rem; font-weight: 700; }
.gstvt-public-offer-price > span:last-child { font-size: .8rem; font-weight: 400; }
.gstvt-public-offer summary { cursor: pointer; padding-block: 10px; font-size: .9rem; text-decoration: underline; }
.gstvt-public-offer-nights { margin-block: 10px; }
.gstvt-public-offer-nights > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-block: 6px; border-bottom: 1px solid var(--gstvt-line, #cbd5d1); }
.gstvt-public-offer-nights dd { margin: 0; }
.gstvt-public-offer-select { display: inline-flex; justify-content: center; margin-top: 12px; padding: 12px 16px; border-radius: 8px; background: var(--gstvt-ink, #172723); color: var(--gstvt-surface, #fff); font-weight: 600; text-decoration: none; }
.gstvt-public-offer-select:hover { text-decoration: underline; }
.gstvt-public-offer-select:focus-visible, .gstvt-public-offer summary:focus-visible { outline: 3px solid var(--gstvt-violet, #7451db); outline-offset: 3px; }
.gstvt-public-offer-dates { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-block: 20px; }
@media (max-width: 600px) { .gstvt-public-offer { padding: 15px; } .gstvt-public-offer-select { width: 100%; box-sizing: border-box; } }
:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-public-offer-select { background:var(--primary); color:var(--primary-foreground); }
.gstvt-public-offer { background:var(--card); color:var(--foreground); border-color:var(--border); }

.gstvt-agent-client-search { display:grid; gap:1rem; padding:1.25rem; margin-block:1.5rem; border:1px solid var(--border); border-radius:.5rem; background:var(--card); }
.gstvt-agent-client-search h2, .gstvt-agent-client-search > p { margin:0; }
.gstvt-agent-client-search fieldset { min-width:0; }
.gstvt-agent-client-search legend { grid-column:1 / -1; margin-bottom:.5rem; font-size:1rem; }
.gstvt-agent-client-search .gstvt-agent-age-choice { display:flex; align-items:center; gap:.5rem; }
.gstvt-agent-client-search > button { justify-self:start; }
.gstvt-book-submit { width:100%; min-height:44px; margin-top:1.5rem; }
.gstvt-book-price-status { margin-top:.5rem; color:var(--foreground); }
.gstvt-room-composition-intro,.gstvt-room-composition { margin-block:1rem 1.5rem; padding:1rem; border:1px solid var(--border); border-radius:.65rem; background:var(--card); color:var(--foreground); min-width:0; overflow-wrap:anywhere; }
.gstvt-room-composition-intro p,.gstvt-room-composition > p { margin:0 0 .75rem; color:var(--muted-foreground); }
.gstvt-room-composition-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:.6rem; }
.gstvt-room-composition-heading h2 { font-size:1.2rem; margin:0; }
.gstvt-room-composition button,.gstvt-room-composition-intro button { max-width:100%; white-space:normal; height:auto; min-height:2.5rem; }
.gstvt-room-composition-line { border:0; border-top:1px solid var(--border); padding:1rem 0 0; margin:1rem 0 0; min-width:0; }
.gstvt-room-composition-line legend { float:none; width:auto; margin:0 0 .5rem; font-size:1.05rem; font-weight:650; }
.gstvt-room-composition-line label { display:grid; gap:.4rem; min-width:0; max-width:100%; margin-block:.6rem; }
.gstvt-room-composition-counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; max-width:30rem; }
.gstvt-room-composition-line .gstvt-occupant-editor { margin:1rem 0; }
.gstvt-room-composition-summary { border-top:1px solid var(--border); padding-top:.75rem; margin-top:.75rem; }
.gstvt-room-composition-summary .gstvt-public-offer { margin-block:.5rem; }
.gstvt-room-composition-total { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; font-weight:700; border-top:1px solid var(--border); padding-top:.9rem; margin-top:.9rem; }
.gstvt-room-local-declaration h3 { font-size:1.05rem; margin-top:1.25rem; }
@media(max-width:600px) { .gstvt-room-composition-counts { grid-template-columns:minmax(0,1fr); } .gstvt-room-composition { padding:.75rem; } }
.gstvt-stream-shell .gstvt-booking-form { border:0; padding:0; margin:0; min-width:0; }
@media (prefers-reduced-motion: reduce) {
    .gstvt-booking-form button { transition: none !important; }
}

.gstvt-partner-delivery { margin-block:1rem; padding:1rem; border:1px solid var(--border); border-radius:.5rem; background:var(--card); color:var(--foreground); overflow-wrap:anywhere; }
.gstvt-partner-delivery h5 { font-size:1rem; font-weight:600; }
.gstvt-partner-delivery dl > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; }
.gstvt-partner-delivery dd { margin:0; }
.gstvt-partner-delivery summary { cursor:pointer; padding-block:.5rem; }
.gstvt-partner-delivery li { margin-block:.5rem; }
.gstvt-provider-readiness { margin-block: 1rem; }
.gstvt-provider-readiness details { padding: .75rem; border-bottom: 1px solid var(--gstvt-border, #888); }
.gstvt-provider-readiness summary { cursor: pointer; font-weight: 600; }
.gstvt-provider-readiness a { overflow-wrap: anywhere; }
.gstvt-metasearch-stay { max-width: 60rem; margin-inline: auto; padding: clamp(1rem, 4vw, 3rem); overflow-wrap: anywhere; }
.gstvt-metasearch-stay .gstvt-public-offer { margin-block: 1.5rem; }
.gstvt-page-shell .gstvt-metasearch-stay h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); border: 0; margin-bottom: 1.5rem; }
.gstvt-page-shell .gstvt-metasearch-stay h2 { font-size: 1.5rem; }
.gstvt-page-shell .gstvt-metasearch-stay h3 { font-size: 1.15rem; }
.gstvt-provider-xml { white-space:pre-wrap; overflow-wrap:anywhere; max-height:20rem; overflow:auto; }
.gstvt-source-setup pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.gstvt-source-setup code { overflow-wrap: anywhere; }
.gstvt-provider-xml:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }

.gstvt-extras-cancellation { border: 1px solid var(--border, #d4dae2); border-radius: .5rem; padding: 1rem; margin-block: 1rem; min-width: 0; overflow-wrap: anywhere; }
.gstvt-extras-cancellation article { padding-block: .75rem; border-block-end: 1px solid var(--border, #d4dae2); }
.gstvt-extras-cancellation dl { margin-block: .75rem; }
.gstvt-extras-cancellation dl > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; }
.gstvt-extras-cancellation dd { margin: 0; }
.gstvt-extras-cancellation-accept { display: flex; align-items: flex-start; gap: .5rem; margin-block: 1rem; }
.gstvt-extras-cancellation button:not([role="checkbox"]) { max-width: 100%; white-space: normal; height: auto; min-height: 2.5rem; }
.gstvt-extras-cancellation h3 { font-size: 1.25rem; margin-block: 0 .75rem; }
.gstvt-extras-cancellation h4 { font-size: 1.05rem; margin-block: 0 .5rem; }
.gstvt-extras-date-review { margin-block: 1rem; padding: 1rem; border: 1px solid var(--border, #d4dae2); border-radius: .5rem; overflow-wrap: anywhere; }
.gstvt-extras-date-review-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; }
.gstvt-extras-date-review article { min-width: 0; }
.gstvt-extras-date-review summary { cursor: pointer; padding-block: .5rem; }
.gstvt-extras-date-review summary:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }

.gstvt-stripe-settlements { border: 1px solid var(--border, #d4dae2); border-radius: .5rem; padding: 1rem; margin-block: 1rem; min-width: 0; overflow-wrap: anywhere; }
.gstvt-stripe-settlements h3 { font-size: 1.15rem; margin-block: 0 .5rem; }
.gstvt-stripe-settlement-row { display: grid; gap: .5rem; padding-block: .9rem; border-top: 1px solid var(--border, #d4dae2); min-width: 0; }
.gstvt-stripe-settlement-row > div { display: flex; flex-wrap: wrap; gap: .25rem 1rem; justify-content: space-between; }
.gstvt-stripe-settlement-row small { overflow-wrap: anywhere; }
.gstvt-stripe-settlement-row button { max-width: 100%; width: fit-content; height: auto; min-height: 2.5rem; white-space: normal; }
.gstvt-stripe-settlement-row label { display: grid; gap: .4rem; max-width: 30rem; }
.gstvt-stripe-recovery-input { max-width: 100%; min-width: 0; }
@media (max-width: 600px) { .gstvt-stripe-settlements { padding: .75rem; } .gstvt-stripe-settlement-row button { width: 100%; } }
/* Website widget management and first-party scoped results. */
.gstvt-widget-workspace{width:100%;max-width:none;margin:0;padding:1.5rem}
.gstvt-widget-page{max-width:1160px;margin-inline:auto;padding:clamp(2rem,5vw,5rem) clamp(1rem,3vw,2rem);color:var(--foreground,#172723)}
@media(max-width: 600px){.gstvt-widget-workspace{padding:1rem}}
.gstvt-widget-editor,.gstvt-widget-card{border:1px solid var(--gstvt-border,#d7dedc);border-radius:12px;padding:1rem;margin-block:1rem;background:var(--gstvt-surface,#fff)}
.gstvt-widget-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.gstvt-widget-fields label,.gstvt-widget-editor>fieldset>label{display:grid;gap:.35rem}
.gstvt-widget-choices{display:flex;flex-wrap:wrap;gap:1rem;margin-block:.75rem}.gstvt-widget-choices label,.gstvt-widget-offer,.gstvt-widget-local{display:flex;align-items:center;gap:.4rem}
.gstvt-widget-editor details{margin-block:1rem}.gstvt-widget-card textarea{display:block;width:100%;font:13px/1.4 ui-monospace,monospace;margin-block:.75rem;overflow:auto}
.gstvt-widget-page-intro{max-width:760px;margin-bottom:2rem}.gstvt-widget-page-intro h1,.gstvt-widget-results-intro h2{font:400 clamp(2.5rem,5vw,4.5rem)/1.08 Georgia,serif;letter-spacing:-.04em}.gstvt-widget-page-intro h1{margin:.5rem 0 1rem}.gstvt-widget-page-intro>p:last-child{color:var(--muted-foreground,#5d6b68);line-height:1.65}
.gstvt-widget-stay{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-width:0;padding:0;border:1px solid var(--border,#d7dedc);background:var(--card,#fff)}.gstvt-widget-stay legend{padding:.5rem 0;margin-bottom:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.gstvt-widget-stay>label{display:grid;gap:.6rem;min-width:0;padding:1.25rem;border-right:1px solid var(--border,#d7dedc);font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.gstvt-widget-stay>label:first-of-type:nth-last-of-type(5){grid-column:span 2}.gstvt-widget-stay>label:last-child{border-right:0}.gstvt-widget-stay input{max-width:100%}.gstvt-widget-search-action{display:flex;justify-content:flex-end;margin:1rem 0 3rem}.gstvt-widget-search-action button{min-height:3.1rem;min-width:12rem}
.gstvt-widget-results-intro{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-top:2rem;border-top:1px solid var(--border,#d7dedc)}.gstvt-widget-results-intro h2{font-size:clamp(2.25rem,4vw,3.5rem);margin:.4rem 0}.gstvt-widget-results-intro>p{color:var(--muted-foreground,#5d6b68);font-size:.85rem}.gstvt-widget-hotel{margin-block:2rem 3rem}.gstvt-widget-hotel>h3{font-size:1.45rem;margin:.35rem 0 1.2rem}.gstvt-widget-room+.gstvt-widget-room{margin-top:1.5rem}.gstvt-widget-room-heading{display:flex;min-height:150px;align-items:center;gap:1.5rem;border:1px solid var(--border,#d7dedc);background:var(--card,#fff)}.gstvt-widget-room-heading img{width:200px;height:150px;object-fit:cover;flex:0 0 200px}.gstvt-widget-room-heading>div{padding:1.25rem}.gstvt-widget-room-heading h4{font:400 1.75rem/1.2 Georgia,serif;margin:.3rem 0}.gstvt-widget-room-heading p:last-child{font-size:.85rem;color:var(--muted-foreground,#5d6b68)}
.gstvt-widget-rate{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.25rem;padding:1.25rem;border:1px solid var(--border,#d7dedc);border-top:0;background:var(--card,#fff)}.gstvt-widget-rate .gstvt-public-offer{border:0;border-radius:0;padding:0;margin:0;box-shadow:none}.gstvt-widget-rate>button{align-self:end;min-width:10rem}.gstvt-widget-rate .gstvt-public-offer h4{font-family:Georgia,serif;font-size:1.4rem;font-weight:400}
@media(max-width:780px){.gstvt-widget-stay{grid-template-columns:repeat(2,minmax(0,1fr))}.gstvt-widget-stay>label{border-top:1px solid var(--border,#d7dedc)}.gstvt-widget-stay>label:nth-of-type(even){border-right:0}.gstvt-widget-results-intro{display:block}.gstvt-widget-rate{grid-template-columns:1fr}.gstvt-widget-rate>button{width:100%}}
@media(max-width:520px){.gstvt-widget-page{padding:2rem 1rem}.gstvt-widget-stay>label{padding:.8rem}.gstvt-widget-room-heading{display:block}.gstvt-widget-room-heading img{width:100%;height:170px}.gstvt-widget-room-heading>div{padding:1rem}.gstvt-widget-rate{padding:1rem}.gstvt-widget-search-action button{width:100%}}
.gstvt-widget-preview{container-type:inline-size;background:var(--widget-bg);color:var(--widget-text);border:1px solid color-mix(in srgb,var(--widget-text) 18%,var(--widget-bg));border-radius:var(--widget-radius);padding:var(--widget-pad,1.25rem);margin-block:1rem;max-width:900px;font-family:var(--widget-font,system-ui,sans-serif)}
.gstvt-widget-preview-eyebrow,.gstvt-widget-preview-bar small{display:block;font-size:.65rem;font-weight:700;letter-spacing:.17em;line-height:1.4;opacity:.75}.gstvt-widget-preview-title{display:block;margin:.3rem 0 1rem;font:400 clamp(1.5rem,3cqw,2rem)/1.16 var(--widget-display-font,Georgia,serif)}
.gstvt-widget-preview-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:stretch;border:1px solid color-mix(in srgb,var(--widget-text) 18%,var(--widget-bg));border-radius:var(--widget-radius);overflow:hidden}.gstvt-widget-preview-bar>span:not(.gstvt-widget-preview-button){min-width:0;padding:.75rem;border-right:1px solid color-mix(in srgb,var(--widget-text) 18%,var(--widget-bg));font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gstvt-widget-preview-bar small{margin-bottom:.3rem;font-size:.6rem}
.gstvt-widget-preview-button{display:inline-flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--widget-accent);color:#fff;border-radius:var(--widget-radius);padding:.75rem 1rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.gstvt-widget-preview>.gstvt-widget-preview-button{margin-bottom:1rem}.gstvt-widget-preview-bar>.gstvt-widget-preview-button{margin:.3rem}.gstvt-widget-preview-note{display:block;margin-top:.75rem;opacity:.7;font-size:.7rem}
@container (max-width:620px){.gstvt-widget-preview-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.gstvt-widget-preview-bar>.gstvt-widget-preview-button{grid-column:1/-1;justify-content:center}}@container (max-width:400px){.gstvt-widget-preview-bar>span:nth-child(3){grid-column:1/-1;border-top:1px solid color-mix(in srgb,var(--widget-text) 18%,var(--widget-bg))}}
/* Workspace automation uses shared tokens and stays usable on small screens. */
.gstvt-communications { display: grid; gap: 1.25rem; min-width: 0; padding: clamp(.75rem, 2vw, 1.75rem); color: var(--foreground); }
.gstvt-communications label { display: grid; gap: .35rem; min-width: 0; }
.gstvt-communications-toolbar, .gstvt-communications-actions { display: flex; align-items: end; flex-wrap: wrap; gap: .6rem; min-width: 0; }
.gstvt-communications-toolbar > label { width: min(100%, 22rem); }
.gstvt-communications-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.gstvt-communications-platform-note { margin: 0; padding-inline-start: .75rem; border-inline-start: 2px solid var(--border); color: var(--muted-foreground); font-size: .9rem; line-height: 1.5; }
.gstvt-communications-editor, .gstvt-communications-preview { display: grid; gap: 1rem; min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--card); overflow-wrap: anywhere; }
.gstvt-communications fieldset { display: grid; gap: .6rem; min-width: 0; padding: .75rem; border: 1px solid var(--border); border-radius: .375rem; }
.gstvt-communications legend { float: none; width: auto; margin: 0; padding: 0 .25rem; font-size: 1rem; }
.gstvt-communications .gstvt-communications-check { display: flex; align-items: center; gap: .5rem; }
.gstvt-communications-message, .gstvt-communications-preview > p { white-space: pre-wrap; overflow-wrap: anywhere; }
.gstvt-communications-receipt-setup input[readonly] { min-width: 0; width: 100%; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .85rem; }
.gstvt-account-communications { display: grid; gap: .75rem; min-width: 0; padding: 1rem; margin-bottom: 1rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--card); color: var(--foreground); }
.gstvt-account-communications :is(h2,p) { margin: 0; overflow-wrap: anywhere; }
.gstvt-account-communications h2 { font-size: 1.15rem; font-weight: 600; }
.gstvt-account-communications > label:not(.gstvt-account-communication-choice) { display: grid; gap: .35rem; max-width: 26rem; }
.gstvt-account-communication-choice { display: flex; gap: .5rem; align-items: center; }
.gstvt-account-communications > button { justify-self: start; }
.gstvt-account-phone-verification { display: grid; gap: .5rem; min-width: 0; max-width: 26rem; }
.gstvt-account-phone-verification > label { display: grid; gap: .35rem; }
.gstvt-account-phone-verification > button { justify-self: start; }
.gstvt-booking-account-notice { margin: .5rem 0; font-size: .85rem; color: var(--gstvt-muted); }
.gstvt-stay-sms-note { color: var(--gstvt-muted); font-size: .85rem; margin: .35rem 0 .75rem; }
.gstvt-stay-sms-choice { display: flex; align-items: center; gap: .5rem; }
/* Account and other private documents use the public header with shared assets. */
@media (min-width:768px) and (max-width:1100px) {
    .gstvt-shell:not(.gstvt-workspace-shell) .gstvt-site-header { gap:16px; }
    .gstvt-shell:not(.gstvt-workspace-shell) .gstvt-site-nav { display:none; }
    .gstvt-shell:not(.gstvt-workspace-shell) .gstvt-site-actions { margin-left:auto; }
    .gstvt-shell:not(.gstvt-workspace-shell) .gstvt-guest-menu { display:block; position:relative; }
    .gstvt-shell:not(.gstvt-workspace-shell) .gstvt-guest-menu summary { display:flex; align-items:center; list-style:none; cursor:pointer; padding:.6rem; }
    .gstvt-shell:not(.gstvt-workspace-shell) .gstvt-guest-menu summary::-webkit-details-marker { display:none; }
    .gstvt-shell:not(.gstvt-workspace-shell) .gstvt-guest-menu nav { position:absolute; right:0; top:100%; width:min(280px,calc(100vw - 32px)); max-height:75vh; overflow-y:auto; background:var(--gstvt-paper); border:1px solid var(--gstvt-line); padding:1rem; box-shadow:0 12px 18px #233d3512; }
    .gstvt-shell:not(.gstvt-workspace-shell) .gstvt-guest-menu nav a { display:block; padding:.65rem; text-decoration:none; }
}
.gstvt-communications-table-wrap { min-width: 0; width: 100%; overflow-x: auto; }
.gstvt-communications-table { width: 100%; border-collapse: collapse; text-align: left; }
.gstvt-communications-table caption { caption-side: top; padding: .5rem 0; color: var(--foreground); font-weight: 600; }
.gstvt-communications-table :is(th, td) { padding: .65rem; border-bottom: 1px solid var(--border); vertical-align: top; overflow-wrap: anywhere; }
.gstvt-communications-table th { font-weight: 600; }
.gstvt-communications-table small { display: block; margin-top: .2rem; color: var(--muted-foreground); font-weight: 400; }
.gstvt-communications-feedback { padding: .75rem; border: 1px solid var(--border); border-radius: .375rem; overflow-wrap: anywhere; }
.gstvt-communications :is(summary, button, input, textarea):focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
@media (max-width: 640px) {
    .gstvt-communications { padding: .6rem; }
    .gstvt-communications-fields { grid-template-columns: minmax(0, 1fr); }
    .gstvt-communications-editor { padding: .75rem; }
    .gstvt-communications-table { min-width: 40rem; }
}

.gstvt-automations { display: grid; gap: 1rem; min-width: 0; padding: 1rem; }
.gstvt-automation-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: .6rem; }
.gstvt-automation-toolbar > label { min-width: 15rem; }
.gstvt-automation-editor { display: grid; gap: 1rem; padding: 1rem; border: 1px solid var(--border); border-radius: .5rem; }
.gstvt-automation-message-binding { display: grid; gap: .65rem; min-width: 0; overflow-wrap: anywhere; }
.gstvt-automation-message-binding > label { display: grid; gap: .35rem; min-width: 0; }
.gstvt-automation-message-binding .gstvt-communications-preview { padding: .75rem; border: 1px solid var(--border); border-radius: .375rem; background: var(--muted); }
.gstvt-automation-message-binding .gstvt-communications-message { white-space: pre-wrap; overflow-wrap: anywhere; }
.gstvt-automation-message-binding > p { margin: 0; font-size: .875rem; color: var(--muted-foreground); }
.gstvt-communications-workflow { display: grid; gap: .5rem; min-width: 0; }
.gstvt-communications-workflow > label { display: grid; gap: .35rem; min-width: 0; }
.gstvt-communications-workflow > p { margin: 0; color: var(--muted-foreground); overflow-wrap: anywhere; }
.gstvt-connection-secrets { min-width: 0; overflow-wrap: anywhere; }
.gstvt-connection-secrets textarea[readonly] { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; background: var(--background); color: var(--foreground); border: 1px solid var(--border); border-radius: .375rem; padding: .75rem; font: 1rem/1.4 ui-monospace, monospace; resize: vertical; }
.gstvt-connection-secrets textarea[readonly]:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.gstvt-connection-table-wrap { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; }
.gstvt-connection-table { width: 100%; border-collapse: collapse; }
.gstvt-connection-table :is(th, td) { padding: .5rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--border); }
.gstvt-connection-table td { max-width: 22rem; overflow-wrap: anywhere; }
.gstvt-automation-transfer { min-width: 0; overflow-wrap: anywhere; }
.gstvt-automation-transfer textarea { width: 100%; min-width: 0; max-width: 100%; min-height: 12rem; font-family: ui-monospace, monospace; }
.gstvt-automation-transfer textarea[readonly] { background: var(--background); color: var(--foreground); border: 1px solid var(--border); border-radius: .375rem; padding: .75rem; }
.gstvt-automation-transfer textarea[readonly]:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.gstvt-automation-usage { padding: .75rem 1rem; border: 1px solid var(--border); border-radius: .5rem; overflow-wrap: anywhere; }
.gstvt-automation-usage p { margin: .4rem 0; }
.gstvt-automations label { display: grid; gap: .35rem; }
.gstvt-automations fieldset { display: grid; gap: .75rem; min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: .5rem; }
.gstvt-automations .gstvt-automation-check { display: flex; align-items: center; gap: .5rem; }
.gstvt-automation-table { overflow-x: auto; }
.gstvt-automation-table table { width: 100%; text-align: left; border-collapse: collapse; }
.gstvt-automation-table th, .gstvt-automation-table td { padding: .65rem; border-bottom: 1px solid var(--border); vertical-align: top; }
.gstvt-automation-table td { overflow-wrap: anywhere; }
@media (max-width: 640px) { .gstvt-automations { padding: .6rem; } .gstvt-automation-toolbar > label { min-width: 0; width: 100%; } .gstvt-automation-table table { min-width: 36rem; } }

/* Studio assets load only in the authenticated iframe document. Normal Workspace controls retain Blueprint styling. */
.gstvt-automation-designer-panel { display: grid; gap: .75rem; margin: 1rem 0; min-width: 0; }
.gstvt-automation-designer-frame { display: block; width: 100%; height: 46rem; border: 1px solid var(--border); border-radius: .5rem; }
.gstvt-canvas-document { padding: .75rem; background: var(--background); color: var(--foreground); font-family: var(--font-sans); }
body:has(.gstvt-canvas-document) #blazor-error-ui { display: none; }
.gstvt-canvas-editor { display: grid; gap: .75rem; min-width: 0; }
.gstvt-canvas-editor h1 { font-size: 1.1rem; margin: 0; overflow-wrap: anywhere; }
.gstvt-canvas-editor h2 { font-size: 1rem; }
.gstvt-canvas-editor p { margin: 0; font-size: .875rem; }
.gstvt-canvas-workarea { display: grid; grid-template-columns: minmax(0, 1fr) 16rem; min-width: 0; gap: .75rem; }
.gstvt-canvas-graph { height: 34rem; min-width: 0; border: 1px solid var(--border); border-radius: .5rem; overflow: hidden; }
.gstvt-canvas-inspector { display: grid; align-content: start; gap: 1rem; min-width: 0; overflow-wrap: anywhere; }
.gstvt-canvas-inspector label { display: grid; gap: .4rem; }
.gstvt-canvas-node { display: grid; gap: .25rem; height: 100%; padding: .4rem .6rem; color: var(--foreground); background: var(--card); overflow: hidden; }
.gstvt-canvas-node strong, .gstvt-canvas-node span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gstvt-canvas-node strong { font-size: .85rem; }
.gstvt-canvas-node span { font-size: .75rem; color: var(--muted-foreground); }
.gstvt-canvas-document .elsa-flowchart-diagram-designer-v2 {
    --mud-palette-surface: var(--card); --mud-palette-background: var(--background);
    --mud-palette-lines-default: var(--border); --mud-palette-text-primary: var(--foreground);
    --mud-palette-text-secondary: var(--muted-foreground); --mud-palette-primary: var(--primary);
    --mud-palette-primary-text: var(--primary-foreground); --mud-palette-info: var(--primary);
    --mud-palette-success: var(--gstvt-green);
}
@media (max-width: 640px) {
    .gstvt-canvas-workarea { grid-template-columns: minmax(0, 1fr); }
    .gstvt-canvas-graph { height: 24rem; }
    .gstvt-automation-designer-frame { height: 54rem; }
}
.gstvt-communications-message-preview {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    padding: 0.75rem;
    border: 1px solid var(--border);
    border-radius: 0.375rem;
    background: var(--card);
    color: var(--foreground);
}
/* Advanced Workspace: shared, quiet editing and review surfaces. */
.gstvt-advanced-eyebrow { margin: 0 0 .45rem; font-size: .69rem; font-weight: 650; letter-spacing: .12em; color: var(--muted-foreground); }
.gstvt-advanced-intro { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; }
.gstvt-advanced-intro h2 { margin: 0 0 .4rem; font-size: 1.05rem; font-weight: 600; }
.gstvt-advanced-intro p { max-width: 70ch; margin: 0; color: var(--muted-foreground); font-size: .9rem; line-height: 1.65; }
.gstvt-advanced-muted, .gstvt-field-help { font-size: .82rem; line-height: 1.6; color: var(--muted-foreground); }
.gstvt-field-error { font-size: .85rem; color: var(--destructive); border-inline-start: 3px solid currentColor; padding-inline-start: .75rem; }
.gstvt-advanced-badge { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .55rem; border: 1px solid var(--border); border-radius: 6px; font-size: .72rem; line-height: 1.4; font-weight: 600; background: var(--muted); color: var(--foreground); white-space: normal; }
.gstvt-advanced-badge[data-tone='success'] { color: var(--foreground); border-color: var(--ring); }
.gstvt-advanced-badge[data-tone='success']::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--ring); }
.gstvt-advanced-card { display: grid; gap: 1rem; padding: 1.25rem; border: 1px solid var(--border); border-radius: 12px; background: var(--card); min-width: 0; }
.gstvt-advanced-card > h3 { margin: 0; font-size: .95rem; font-weight: 650; }
.gstvt-advanced-card > p { margin: 0; }
.gstvt-communications .gstvt-communications-editor { border-radius: 14px; padding: 1.4rem; gap: 1.25rem; }
.gstvt-communications-editor h2 { margin: 0; font-size: 1.2rem; font-weight: 650; letter-spacing: -.025em; }
.gstvt-communications-editor h3 { font-size: .95rem; font-weight: 650; }
.gstvt-communications label { font-size: .83rem; font-weight: 550; }
.gstvt-communications input, .gstvt-communications textarea { font-weight: 400; }
.gstvt-communications #template-body { min-height: 240px; line-height: 1.75; font-size: .9rem; resize: vertical; }
.gstvt-communications .gstvt-communications-table-wrap { border: 1px solid var(--border); border-radius: 12px; background: var(--card); }
.gstvt-communications-table caption { padding: 1rem; font-size: .85rem; }
.gstvt-communications-table thead { background: var(--muted); }
.gstvt-communications-table thead th { font-size: .73rem; color: var(--muted-foreground); font-weight: 600; }
.gstvt-communications-table tbody :is(th, td) { padding: .9rem 1rem; font-size: .84rem; }
.gstvt-communications-table tbody tr:last-child :is(th, td) { border-bottom: 0; }
.gstvt-advanced-empty { text-align: center; padding: 2rem 1rem; }
.gstvt-advanced-empty p { margin: .5rem auto 0; max-width: 50ch; color: var(--muted-foreground); }
.gstvt-feedback-error { border-inline-start: 3px solid var(--destructive); }
.gstvt-feedback-success { border-inline-start: 3px solid var(--ring); }
.gstvt-composer-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.gstvt-message-studio { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); align-items: start; gap: 1.5rem; }
.gstvt-composer-form { display: grid; gap: 1rem; min-width: 0; }
.gstvt-composer-preview { position: sticky; top: 1rem; min-width: 0; }
.gstvt-message-preview { padding: 1.25rem; border-radius: 12px; background: var(--muted); border: 1px solid var(--border); color: var(--foreground); min-width: 0; }
.gstvt-message-preview-heading { display: flex; justify-content: space-between; align-items: center; gap: .75rem; font-size: .85rem; font-weight: 600; }
.gstvt-message-preview > .gstvt-advanced-muted { margin: .5rem 0 1.25rem; }
.gstvt-message-device { border-radius: 10px; border: 1px solid var(--border); background: var(--card); overflow: hidden; box-shadow: 0 8px 24px rgb(0 0 0 / .035); }
.gstvt-message-sender { display: flex; align-items: center; gap: .75rem; padding: 1.1rem; border-bottom: 1px solid var(--border); font-size: .85rem; }
.gstvt-message-sender small { display: block; color: var(--muted-foreground); font-size: .72rem; margin-top: .2rem; }
.gstvt-message-avatar { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--border); border-radius: 50%; background: var(--muted); flex-shrink: 0; font-weight: 650; }
.gstvt-message-device > h3 { padding: 1.25rem 1.25rem 0; font-size: 1rem; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.gstvt-message-bubble, .gstvt-message-placeholder { padding: 1.25rem; font-size: .88rem; line-height: 1.85; overflow-wrap: anywhere; }
.gstvt-message-bubble p { margin: 0; white-space: pre-wrap; }
.gstvt-message-placeholder { color: var(--muted-foreground); min-height: 180px; display: grid; align-content: center; }
.gstvt-message-footer { padding: 1rem 1.25rem; border-top: 1px solid var(--border); color: var(--muted-foreground); font-size: .72rem; line-height: 1.65; }
.gstvt-message-preview-note { margin: 1rem 0 0; color: var(--muted-foreground); font-size: .72rem; line-height: 1.7; }
.gstvt-message-preview[data-channel='sms'] .gstvt-message-bubble,
.gstvt-message-preview[data-channel='whatsapp'] .gstvt-message-bubble { margin: 1rem; border: 1px solid var(--border); border-radius: 12px 12px 12px 3px; background: var(--muted); }
.gstvt-message-metrics { font-size: .78rem; margin: 1rem 0 .25rem; }
.gstvt-personalisation { display: flex; flex-wrap: wrap; align-items: end; gap: .6rem; border-top: 1px solid var(--border); padding-top: 1rem; }
.gstvt-personalisation > label { flex: 1 1 140px; }
.gstvt-personalisation > small, .gstvt-message-starters > small { flex-basis: 100%; font-size: .73rem; color: var(--muted-foreground); line-height: 1.6; }
.gstvt-message-starters { display: flex; flex-wrap: wrap; gap: .5rem; align-items: start; }
.gstvt-message-starters > p { flex-basis: 100%; color: var(--muted-foreground); font-size: .82rem; margin: 0 0 .3rem; }
.gstvt-meta-parameter { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .75rem; padding: .75rem 0; }
.gstvt-composer-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid var(--border); }
.gstvt-composer-footer > p { color: var(--muted-foreground); max-width: 40ch; font-size: .78rem; margin: 0; line-height: 1.6; }
.gstvt-composer-tabs { display: none; }
.gstvt-advanced-confirm { border: 1px solid var(--ring); padding: 1.25rem; background: var(--card); border-radius: 12px; }
.gstvt-advanced-confirm h2 { font-size: 1rem; }
.gstvt-setup-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; list-style: none; padding: 0; margin: 0; }
.gstvt-setup-steps li { display: grid; align-content: start; gap: .45rem; padding: 1rem; border: 1px solid var(--border); border-radius: 10px; background: var(--card); font-size: .83rem; }
.gstvt-setup-steps span { color: var(--muted-foreground); font-size: .78rem; line-height: 1.6; }
.gstvt-advanced-disclosure { border: 1px solid var(--border); border-radius: 10px; padding: .9rem 1rem; background: var(--card); }
.gstvt-advanced-disclosure > summary { cursor: pointer; font-weight: 550; font-size: .85rem; }
.gstvt-advanced-disclosure[open] > summary { margin-bottom: 1rem; }
.gstvt-advanced-test-tools { font-size: .8rem; }
.gstvt-advanced-test-tools > summary { cursor: pointer; padding: .65rem; }
.gstvt-advanced-test-tools label { margin-top: .5rem; }
.gstvt-advanced-test-tools small { display: block; max-width: 30ch; color: var(--muted-foreground); }
.gstvt-delivery-details { display: grid; gap: .75rem; }
.gstvt-delivery-details dl { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: .6rem; margin: 0; }
.gstvt-delivery-details dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 1199px) {
 .gstvt-message-studio { grid-template-columns: minmax(0, 1fr); }
 .gstvt-composer-preview { position: static; }
 .gstvt-composer-tabs { display: flex; gap: .5rem; }
 .gstvt-message-studio[data-preview='false'] > .gstvt-composer-preview { display: none; }
 .gstvt-message-studio[data-preview='true'] > .gstvt-composer-form { display: none; }
}
@media (max-width: 767px) {
 .gstvt-setup-steps { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
 .gstvt-setup-steps li { padding: .8rem; }
 .gstvt-advanced-intro { align-items: start; flex-direction: column; }
 .gstvt-communications .gstvt-communications-editor, .gstvt-advanced-card { padding: .9rem; }
 .gstvt-message-preview { padding: .8rem; }
 .gstvt-composer-footer { align-items: start; flex-direction: column; }
 .gstvt-composer-footer .gstvt-communications-toolbar { width: 100%; }
 .gstvt-meta-parameter { grid-template-columns: minmax(0, 1fr); }
 .gstvt-composer-heading { align-items: start; }
}

.gstvt-composer-tabs button[aria-pressed='false'] { background: var(--card); color: var(--foreground); border: 1px solid var(--border); }
.gstvt-composer-tabs button[aria-pressed='true'] { background: var(--primary); color: var(--primary-foreground); border: 1px solid var(--primary); }
.gstvt-communications #template-body:focus { box-shadow: none; outline: 2px solid var(--ring); outline-offset: 2px; }

.gstvt-advanced-card > section[aria-label="Meta template selection"] { display: grid; gap: 1rem; }
.gstvt-service-studio { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(16rem, .65fr); gap: 1.25rem; align-items: start; }
.gstvt-service-form { display: grid; gap: 1rem; min-width: 0; }
.gstvt-service-guide { position: sticky; top: 1rem; background: var(--muted); font-size: .84rem; line-height: 1.7; }
.gstvt-service-guide > p { margin: 0; }
.gstvt-service-guide ol { display: grid; gap: .65rem; padding-inline-start: 1.2rem; margin: 0; }
.gstvt-service-guide .gstvt-advanced-badge { justify-self: start; }
.gstvt-automations .gstvt-automation-editor { border-radius: 12px; background: var(--card); padding: 1.25rem; }
.gstvt-automations .gstvt-connection-table-wrap { border: 1px solid var(--border); border-radius: 12px; background: var(--card); }
.gstvt-automations .gstvt-connection-table thead { background: var(--muted); }
.gstvt-automations .gstvt-connection-table thead th { font-size: .75rem; font-weight: 600; color: var(--muted-foreground); }
@media (max-width: 1199px) { .gstvt-service-studio { grid-template-columns: minmax(0, 1fr); }.gstvt-service-guide { position: static; } }

.gstvt-advanced-disclosure .gstvt-setup-steps { margin: 1rem 0; }
.gstvt-advanced-disclosure > p { color: var(--muted-foreground); font-size: .83rem; line-height: 1.65; margin: .8rem 0 0; }
@media (max-width: 900px) { .gstvt-connection-table { min-width: 46rem; }.gstvt-connection-table th { white-space: nowrap; } }

/* One page heading rhythm across Workspace, including advanced tools. */
.gstvt-workspace-shell :is(.gstvt-workspace-page, .hbs-workspace-page, .gstvt-communications, .gstvt-automations) {
    padding: clamp(.75rem, 2vw, 1.75rem);
}
.gstvt-workspace-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--border, var(--gstvt-line));
}
:is(.gstvt-communications, .gstvt-automations) > .gstvt-workspace-page-header { margin-bottom: 0; }
.gstvt-workspace-page-heading { min-width: 0; flex: 1 1 15rem; }
.gstvt-workspace-page-header .gstvt-workspace-page-eyebrow {
    margin: 0;
    color: var(--muted-foreground, var(--gstvt-muted));
    font-size: .69rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.gstvt-workspace-page-header h1 {
    margin: .25rem 0 0;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
}
.gstvt-workspace-page-description { margin: 0 0 1.25rem; color: var(--muted-foreground, var(--gstvt-muted)); }
.gstvt-workspace-page-description p { margin: 0; }
.gstvt-workspace-page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; max-width: 100%; }
.gstvt-workspace-topbar .gstvt-shell-text-action {
    box-sizing: border-box;
    height: 2rem;
    min-height: 2rem;
    padding: 0 .75rem;
    font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 500;
}
.gstvt-workspace-topbar .gstvt-shell-text-action .material-symbols-outlined { font-size: 1rem; }
@media (max-width: 575.98px) {
    .gstvt-workspace-topbar .gstvt-guest-view-action { display: none; }
}
.gstvt-agent-domain-proof { margin-block: 1rem; }
.gstvt-agent-domain-proof summary { cursor: pointer; font-weight: 600; }
.gstvt-agent-domain-proof dd { margin-inline-start: 0; overflow-wrap: anywhere; }
.gstvt-agent-domain-proof code { color: inherit; white-space: normal; overflow-wrap: anywhere; user-select: all; }
.gstvt-agent-invitation-selection { max-width: 44rem; min-width: 0; padding-block: 1.25rem; }
.gstvt-agent-invitation-selection p, .gstvt-agent-invitation-selection label { white-space: normal; overflow-wrap: anywhere; }
.gstvt-agent-invitation-selection label { display: grid; gap: .4rem; }
.gstvt-agent-invitation-selection textarea { width: 100%; min-width: 0; min-height: 6rem; overflow-wrap: anywhere; }
.gstvt-agent-invitation-issuer button { margin-block: .4rem; max-width: 100%; white-space: normal; }
.gstvt-discovery-controls { margin-block: 1rem 1.5rem; padding: 1rem; border: 1px solid var(--border); border-radius: .75rem; background: var(--card); }
.gstvt-discovery-fields { display: grid; grid-template-columns: minmax(12rem, 1.4fr) minmax(14rem, 1.4fr) repeat(2, minmax(10rem, 1fr)) minmax(7rem, .6fr); gap: .8rem; align-items: end; }
.gstvt-discovery-fields > *, .gstvt-discovery-save > label { min-width: 0; display: grid; gap: .4rem; font-size: .85rem; }
.gstvt-discovery-fields input, .gstvt-discovery-fields button, .gstvt-discovery-save input { width: 100%; min-width: 0; }
.gstvt-discovery-fields .gstvt-search-date-picker .text-muted-foreground { color: var(--foreground); }
/* Bootstrap px-5 otherwise enlarges Blueprint's calendar padding and clips Sunday. */
.gstvt-discovery-date-popup [data-drp-calendar] { padding: .75rem 1.25rem !important; min-width: 0; }
.gstvt-discovery-date-popup button.bg-primary { background-color: var(--primary) !important; color: var(--primary-foreground) !important; }
.gstvt-discovery-notifications .gstvt-agent-check { display: inline-flex; align-items: center; gap: .5rem; }
.gstvt-proposal-shell { min-height: 100dvh; background: var(--background); color: var(--foreground); }
.gstvt-client-proposal { max-width: 76rem; margin-inline: auto; padding: clamp(1rem, 4vw, 3rem); }
.gstvt-client-proposal-brand, .gstvt-proposal-agency, .gstvt-proposal-option-kicker { color: var(--muted-foreground); font-size: .85rem; margin-bottom: .5rem; }
.gstvt-client-proposal h1 { font-size: clamp(1.4rem, 3vw, 2rem); margin-block: .75rem 1.5rem; }
.gstvt-proposal-heading { border-bottom: 1px solid var(--border); padding-bottom: 1rem; margin-bottom: 1rem; }
.gstvt-proposal-heading h2 { font-size: 1.35rem; margin-block: .5rem; overflow-wrap: anywhere; }
.gstvt-proposal-comparison { min-width: 0; }
.gstvt-proposal-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; margin-block: 1.25rem; }
.gstvt-proposal-option { display: flex; flex-direction: column; gap: .75rem; min-width: 0; border: 1px solid var(--border); border-radius: .75rem; padding: 1.25rem; background: var(--card); overflow-wrap: anywhere; }
.gstvt-proposal-option h3 { font-size: 1.15rem; margin: .25rem 0 .5rem; }
.gstvt-proposal-option p { margin: 0; }
.gstvt-proposal-client-note { white-space: pre-line; }
.gstvt-proposal-amenities { display: flex; flex-wrap: wrap; gap: .4rem .8rem; padding: 0; margin: 0; list-style: none; color: var(--muted-foreground); font-size: .85rem; }
.gstvt-proposal-amenities li { border: 1px solid var(--border); border-radius: .3rem; padding: .2rem .4rem; }
.gstvt-proposal-estimate { margin-top: auto; border-top: 1px solid var(--border); padding-top: 1rem; display: grid; gap: .4rem; }
.gstvt-proposal-estimate > span { color: var(--muted-foreground); font-size: .8rem; }
.gstvt-proposal-estimate > strong { font-size: 1.2rem; }
.gstvt-proposal-estimate p { font-size: .85rem; white-space: pre-line; }
.gstvt-proposal-validity, .gstvt-client-proposal-footer, .gstvt-proposal-disclaimer { font-size: .85rem; color: var(--muted-foreground); line-height: 1.6; }
.gstvt-proposal-selected, .gstvt-proposal-confirm { border: 1px solid var(--border); border-radius: .5rem; padding: 1rem; background: var(--muted); margin-block: 1rem; }
.gstvt-proposal-editor { min-width: 0; }
.gstvt-proposal-list, .gstvt-proposal-hotel-results { list-style: none; padding: 0; margin-block: 1rem; }
.gstvt-proposal-list > li, .gstvt-proposal-hotel-results > li { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; padding-block: 1rem; border-bottom: 1px solid var(--border); }
.gstvt-proposal-list h2 { font-size: 1.1rem; margin: 0 0 .3rem; }
.gstvt-proposal-list p { margin: .25rem 0; }
.gstvt-proposal-list li > div, .gstvt-proposal-hotel-results li > span { min-width: 0; overflow-wrap: anywhere; }
.gstvt-proposal-list small, .gstvt-proposal-hotel-results small, .gstvt-proposal-form small, .gstvt-proposal-draft-option small { display: block; color: var(--muted-foreground); font-size: .8rem; }
.gstvt-proposal-form, .gstvt-proposal-draft-option { min-width: 0; border: 1px solid var(--border); border-radius: .65rem; padding: 1rem; margin-block: 1rem; background: var(--card); }
.gstvt-proposal-form legend, .gstvt-proposal-draft-option legend { float: none; width: auto; padding-inline: .4rem; font-size: 1rem; font-weight: 600; }
.gstvt-proposal-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.gstvt-proposal-form label, .gstvt-proposal-draft-option label, .gstvt-proposal-search label, .gstvt-proposal-share label, .gstvt-proposal-review > label { display: grid; gap: .4rem; min-width: 0; font-size: .85rem; margin-bottom: .75rem; }
.gstvt-proposal-form input, .gstvt-proposal-form textarea, .gstvt-proposal-draft-option input, .gstvt-proposal-draft-option textarea, .gstvt-proposal-share textarea { min-width: 0; width: 100%; }
.gstvt-proposal-party { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.gstvt-proposal-picker { padding-block: .75rem; border-block: 1px solid var(--border); margin-block: 1.25rem; }
.gstvt-proposal-picker h3 { font-size: 1.05rem; }
.gstvt-proposal-search { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }
.gstvt-proposal-search label { flex: 1 1 15rem; max-width: 36rem; margin-bottom: 0; }
.gstvt-proposal-share, .gstvt-proposal-review { border: 1px solid var(--border); padding: 1.25rem; border-radius: .75rem; margin-block: 1.5rem; background: var(--card); min-width: 0; }
.gstvt-proposal-share textarea { min-height: 5rem; overflow-wrap: anywhere; }
.gstvt-proposal-review > label { max-width: 15rem; }
.gstvt-proposal-status { color: var(--muted-foreground); font-size: .85rem; }
.gstvt-enquiry-panel { min-width: 0; }
.gstvt-enquiry-alerts { border: 1px solid var(--border); border-radius: .6rem; padding: .8rem 1rem; margin-block: 1rem; }
.gstvt-team-panel { min-width: 0; max-width: 70rem; }
.gstvt-team-context { padding: .8rem 1rem; border-inline-start: 3px solid var(--foreground); background: var(--muted); line-height: 1.5; overflow-wrap: anywhere; }
.gstvt-team-context a { color: var(--foreground); text-decoration: underline; text-underline-offset: .15em; }
.gstvt-team-panel h2 { font-size: 1.3rem; margin-block: 1.2rem .6rem; }
.gstvt-team-panel h3 { font-size: 1.05rem; margin-block: 1.2rem .5rem; }
.gstvt-team-panel p { line-height: 1.55; }
.gstvt-team-heading, .gstvt-team-list > li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.gstvt-team-list { padding: 0; list-style: none; margin-block: .75rem 1.5rem; }
.gstvt-team-list > li { padding-block: .9rem; border-bottom: 1px solid var(--border); }
.gstvt-team-list > li > div { min-width: 0; overflow-wrap: anywhere; }
.gstvt-team-list span { display: block; color: var(--muted-foreground); font-size: .85rem; margin-top: .3rem; }
.gstvt-team-list .gstvt-agent-actions { justify-content: flex-end; }
.gstvt-team-help { color: var(--muted-foreground); font-size: .9rem; }
.gstvt-team-editor { padding: 1rem; border: 1px solid var(--border); border-radius: .65rem; margin-block: 1.1rem; background: var(--card); }
.gstvt-team-editor h2, .gstvt-team-editor h3 { margin-top: 0; }
.gstvt-team-editor summary { font-weight: 600; cursor: pointer; margin-block: .2rem; }
.gstvt-team-panel label { display: grid; gap: .4rem; min-width: 0; font-size: .9rem; margin-block: .8rem; }
.gstvt-team-panel input, .gstvt-team-panel textarea { min-width: 0; width: 100%; }
.gstvt-team-fields { display: grid; grid-template-columns: minmax(0,2fr) minmax(10rem,1fr); gap: 1rem; }
.gstvt-team-link { border-top: 1px solid var(--border); margin-top: 1rem; padding-top: .8rem; overflow-wrap: anywhere; }
@media (max-width: 700px) { .gstvt-team-list > li, .gstvt-team-heading { flex-direction: column; align-items: start; } .gstvt-team-list .gstvt-agent-actions { justify-content: flex-start; } .gstvt-team-fields { grid-template-columns: minmax(0,1fr); gap: 0; } }
.gstvt-enquiry-alerts summary { cursor: pointer; font-weight: 600; }
.gstvt-enquiry-alerts p { font-size: .9rem; line-height: 1.5; }
.gstvt-enquiry-alerts label { display: flex; align-items: center; gap: .5rem; margin-block: .8rem; font-size: .9rem; }
.gstvt-enquiry-toolbar { display: flex; gap: .75rem; flex-wrap: wrap; align-items: end; margin-block: 1rem; }
.gstvt-enquiry-toolbar > label { min-width: 12rem; display: grid; gap: .35rem; }
.gstvt-enquiry-list { list-style: none; padding: 0; }
.gstvt-enquiry-list > li { display: flex; gap: 1rem; justify-content: space-between; align-items: center; padding-block: 1.2rem; border-bottom: 1px solid var(--border); }
.gstvt-enquiry-list li > div { min-width: 0; overflow-wrap: anywhere; }
.gstvt-enquiry-list h2 { font-size: 1.1rem; margin: 0 0 .5rem; }
.gstvt-enquiry-list p { margin: .25rem 0; font-size: .9rem; }
.gstvt-enquiry-list small { display: block; font-size: .8rem; color: var(--muted-foreground); margin-top: .4rem; }
.gstvt-enquiry-preview { color: var(--muted-foreground); }
.gstvt-enquiry-state, .gstvt-enquiry-unread { display: inline-block; border: 1px solid var(--border); border-radius: .3rem; padding: .2rem .45rem; font-size: .8rem; margin: .35rem .5rem .35rem 0; }
.gstvt-enquiry-unread { background: var(--muted); }
.gstvt-enquiry-form { min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: .65rem; margin-block: 1rem; background: var(--card); }
.gstvt-enquiry-form legend { float: none; width: auto; font-size: 1rem; font-weight: 600; padding-inline: .35rem; }
.gstvt-enquiry-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.gstvt-enquiry-form label { display: grid; min-width: 0; gap: .35rem; font-size: .9rem; margin-bottom: .8rem; }
.gstvt-enquiry-form label.gstvt-enquiry-checkbox { display: flex; align-items: center; gap: .5rem; }
.gstvt-enquiry-form input, .gstvt-enquiry-form textarea, .gstvt-enquiry-form .gstvt-search-date-picker { width: 100%; min-width: 0; }
.gstvt-enquiry-form small, .gstvt-enquiry-help { font-size: .85rem; color: var(--muted-foreground); line-height: 1.5; }
.gstvt-enquiry-context { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),1fr)); border-block: 1px solid var(--border); padding-block: 1rem; gap: 1rem; margin-block: 1rem; }
.gstvt-enquiry-context dt { font-size: .8rem; color: var(--muted-foreground); font-weight: 400; }
.gstvt-enquiry-context dd { margin: .25rem 0 0; font-size: .9rem; overflow-wrap: anywhere; }
.gstvt-enquiry-messages { list-style: none; padding: 0; margin-block: 1rem; display: grid; gap: .8rem; }
.gstvt-enquiry-messages li { padding: 1rem; border: 1px solid var(--border); border-radius: .65rem; background: var(--card); }
.gstvt-enquiry-messages li.gstvt-enquiry-hotel-message { border-inline-start: 3px solid var(--foreground); }
.gstvt-enquiry-messages header { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .4rem 1rem; font-size: .85rem; }
.gstvt-enquiry-messages time { color: var(--muted-foreground); font-size: .8rem; }
.gstvt-enquiry-messages p { white-space: pre-wrap; overflow-wrap: anywhere; margin: .8rem 0 0; }
.gstvt-enquiry-due { padding: .8rem; border-inline-start: 3px solid var(--foreground); background: var(--muted); }
@media (max-width: 700px) { .gstvt-enquiry-fields { grid-template-columns: minmax(0,1fr); } .gstvt-enquiry-list > li { align-items: start; flex-direction: column; } }
.gstvt-proposal-outcomes { margin-block: 1rem; border: 1px solid var(--border); border-radius: .65rem; padding: 1rem; }
.gstvt-proposal-outcomes h3 { font-size: 1rem; }
.gstvt-proposal-outcomes ul { list-style: none; padding: 0; }
.gstvt-proposal-outcomes li { padding-block: .5rem; overflow-wrap: anywhere; }
.gstvt-proposal-outcomes li span { display: block; color: var(--muted-foreground); font-size: .85rem; }
.gstvt-proposal-error { border-inline-start: 3px solid var(--destructive); padding: .5rem .8rem; overflow-wrap: anywhere; }
.gstvt-proposal-form .gstvt-search-date-picker { width: 100%; }
.gstvt-proposal-form .gstvt-search-date-picker .text-muted-foreground { color: var(--foreground); }
@media (max-width: 700px) { .gstvt-proposal-form-grid { grid-template-columns: minmax(0, 1fr); } .gstvt-proposal-share, .gstvt-proposal-review { padding: .8rem; } .gstvt-proposal-option { padding: 1rem; } }
.gstvt-discovery-hint, .gstvt-stream-location { font-size: .85rem; color: var(--muted-foreground); margin-block: .8rem; }
.gstvt-discovery-saved { border-top: 1px solid var(--border); margin-top: 1rem; padding-top: .8rem; }
.gstvt-discovery-saved summary, .gstvt-discovery-notifications summary { cursor: pointer; font-weight: 600; padding-block: .35rem; }
.gstvt-discovery-save { display: flex; align-items: end; flex-wrap: wrap; gap: .6rem; max-width: 42rem; margin-block: 1rem; }
.gstvt-discovery-save > label { flex: 1 1 16rem; }
.gstvt-discovery-searches { padding: 0; list-style: none; margin-block: .75rem; }
.gstvt-discovery-searches li { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem; border-bottom: 1px solid var(--border); padding-block: .75rem; }
.gstvt-discovery-searches li > span { min-width: 0; overflow-wrap: anywhere; }
.gstvt-discovery-searches small { display: block; color: var(--muted-foreground); margin-top: .25rem; }
.gstvt-discovery-notifications { margin-block: 1rem; padding: 1rem; border: 1px solid var(--border); border-radius: .75rem; }
.gstvt-notification-topics { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-block: 1rem; }
@media (max-width: 1199px) { .gstvt-discovery-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .gstvt-discovery-fields { grid-template-columns: minmax(0, 1fr); } .gstvt-discovery-controls { padding: .75rem; } .gstvt-discovery-searches .gstvt-agent-actions { width: 100%; } }

/* Agency relationships stay readable beside the team roster at narrow widths. */
.gstvt-team-relationships { margin-block: 1.5rem; }
.gstvt-team-relationships h3 { font-size: 1rem; margin: 0; }
.gstvt-team-relationships .gstvt-team-list li > div { min-width: 0; }
.gstvt-team-relationships .gstvt-team-decision { display: grid; gap: .65rem; min-width: 13rem; }
.gstvt-team-relationships .gstvt-team-list p { margin-block: .4rem; }
@media (max-width: 600px) {
    .gstvt-team-relationships .gstvt-team-list li { align-items: stretch; flex-direction: column; }
    .gstvt-team-relationships .gstvt-team-decision { min-width: 0; width: 100%; }
}

.gstvt-registration-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; margin-block: 1.5rem; }
.gstvt-registration-metrics > div { border: 1px solid var(--border); border-radius: .5rem; padding: 1rem; min-width: 0; }
.gstvt-registration-metrics dt { font-size: .875rem; }
.gstvt-registration-metrics dd { margin: .5rem 0 0; font-size: 1.25rem; font-weight: 600; overflow-wrap: anywhere; }
.gstvt-registration-table { overflow-x: auto; max-width: 100%; }
.gstvt-registration-table table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.gstvt-registration-table caption { text-align: left; padding-block: .5rem; }
.gstvt-registration-table th, .gstvt-registration-table td { text-align: right; padding: .7rem; border-bottom: 1px solid var(--border); white-space: nowrap; }
.gstvt-registration-table th:first-child { text-align: left; }

.gstvt-report-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; margin-block: 1.5rem; }
.gstvt-report-metrics > div { border: 1px solid var(--border); border-radius: .5rem; padding: 1rem; min-width: 0; }
.gstvt-report-metrics dt { font-size: .875rem; }
.gstvt-report-metrics dd { margin: .5rem 0 0; font-size: 1.25rem; font-weight: 600; overflow-wrap: anywhere; }
.gstvt-report-table { overflow-x: auto; max-width: 100%; }
.gstvt-report-table table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.gstvt-report-table caption { text-align: left; padding-block: .5rem; }
.gstvt-report-table th, .gstvt-report-table td { text-align: right; padding: .7rem; border-bottom: 1px solid var(--border); white-space: nowrap; }
.gstvt-report-table th:first-child { text-align: left; }

.gstvt-commercial-report h2 { margin-block: 1.5rem .75rem; }
.gstvt-commercial-report .gstvt-report-table th:first-child { white-space: normal; min-width: 9rem; max-width: 24rem; }
.gstvt-commercial-definitions { margin-block: 1.5rem; }
.gstvt-commercial-definitions summary { cursor: pointer; font-weight: 600; }

/* Scoped commercial records share the workspace's quiet, compact table language. */
.gstvt-commission-panel, .gstvt-commission-statements { min-width: 0; max-width: 100%; }
.gstvt-commission-list { list-style: none; padding: 0; margin-block: .75rem; }
.gstvt-commission-list > li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--border); }
.gstvt-commission-list > li > div { display: grid; gap: .2rem; min-width: 0; overflow-wrap: anywhere; }
.gstvt-commission-detail, .gstvt-commission-offer, .gstvt-commission-statements { border-top: 1px solid var(--border); margin-top: 1.5rem; padding-top: 1rem; }
.gstvt-commission-offer > summary, .gstvt-commission-evidence, .gstvt-commission-terms { overflow-wrap: anywhere; }
.gstvt-commission-offer > summary { cursor: pointer; font-weight: 600; padding-block: .5rem; }
.gstvt-commission-terms { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem 1.5rem; }
.gstvt-commission-terms dt, .gstvt-commission-evidence dt { color: var(--muted-foreground); font-size: .875rem; font-weight: 400; }
.gstvt-commission-terms dd, .gstvt-commission-evidence dd { margin: .15rem 0 .6rem; font-weight: 500; }
.gstvt-commission-calculation { max-width: 85ch; }
.gstvt-commission-consent { display: flex; align-items: flex-start; gap: .65rem; margin-block: 1rem; cursor: pointer; max-width: 80ch; }
.gstvt-commission-consent > button { flex-shrink: 0; margin-top: .18rem; }
.gstvt-commission-end { margin-top: 1rem; }
.gstvt-commission-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.gstvt-commission-fields > label, .gstvt-commission-fields > div { display: grid; gap: .35rem; min-width: 0; align-content: start; }
.gstvt-commission-fields small { color: var(--muted-foreground); }
.gstvt-commission-fields .gstvt-choice-trigger, .gstvt-commission-fields input, .gstvt-commission-fields .gstvt-search-date-picker { width: 100%; min-width: 0; }
.gstvt-commission-cutoff { display: grid; gap: .35rem; }
.gstvt-commission-evidence { white-space: normal; min-width: 12rem; max-width: 24rem; margin-top: .7rem; }
.gstvt-commission-statements .gstvt-report-table th { vertical-align: top; }
.gstvt-commission-statements .gstvt-report-table summary { cursor: pointer; }
.gstvt-commission-batch { border-left: 3px solid var(--border); padding-left: .8rem; }

@media(max-width: 640px) {
    .gstvt-commission-list > li { align-items: stretch; flex-direction: column; gap: .6rem; }
    .gstvt-commission-fields, .gstvt-commission-terms { grid-template-columns: minmax(0,1fr); }
    .gstvt-commission-panel .gstvt-agent-actions { align-items: stretch; }
    .gstvt-commission-cutoff { width: 100%; }
}
/* Operational overview: shared surfaces and semantic availability colours in both themes. */
.gstvt-kpi-grid.gstvt-overview-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 991px) { .gstvt-kpi-grid.gstvt-overview-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gstvt-workspace-shell {
    --gstvt-availability-low: #c7d9fc;
    --gstvt-availability-medium: #739ce8;
    --gstvt-availability-high: #315fb6;
}
body.gstvt-workspace-dark .gstvt-workspace-shell {
    --gstvt-availability-low: #293e62;
    --gstvt-availability-medium: #4974bd;
    --gstvt-availability-high: #91b6f5;
}
.gstvt-overview-panel { margin-top: 1rem; padding: 1.25rem; border: 1px solid var(--gstvt-line); border-radius: var(--radius-lg, 12px); background: var(--gstvt-surface); color: var(--gstvt-ink); min-width: 0; }
.gstvt-overview-panel h2 { font-size: 1.1rem; margin: 0 0 .35rem; }
.gstvt-overview-panel .gstvt-panel-heading p, .gstvt-overview-note { color: var(--gstvt-muted); font-size: .8rem; margin: 0; }
.gstvt-overview-panel .gstvt-panel-heading { flex-wrap: wrap; gap: 1rem; margin-bottom: 1.25rem; }
.gstvt-availability-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .55fr); gap: 1.5rem; }
.gstvt-availability-chart { min-width: 0; }
.gstvt-availability-scroll { overflow-x: auto; padding: 4px 4px 10px; scrollbar-width:none; -ms-overflow-style:none; }
.gstvt-availability-scroll::-webkit-scrollbar { display:none; width:0; height:0; }
.gstvt-availability-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.gstvt-availability-range { min-width:180px; }
.gstvt-availability-progress { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin-top:.75rem; color:var(--gstvt-muted); font-size:.8rem; }
.gstvt-availability-grid { display: grid; grid-template-columns: 2rem repeat(var(--gstvt-weeks), 26px); grid-template-rows: 22px repeat(7, 26px); gap: 5px; width: max-content; }
.gstvt-availability-month, .gstvt-availability-weekday { color: var(--gstvt-muted); font-size: .7rem; align-self: center; }
.gstvt-availability-month { white-space: nowrap; }
.gstvt-availability-cell { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 1px solid color-mix(in srgb, var(--gstvt-ink) 18%, transparent); border-radius: 4px; color: var(--gstvt-ink); font-size: .7rem; line-height: 1; background: var(--gstvt-surface-raised); }
button.gstvt-availability-cell { cursor: pointer; width: 26px; height: 26px; }
.gstvt-availability-cell.is-low { background: var(--gstvt-availability-low); }
.gstvt-availability-cell.is-medium { background: var(--gstvt-availability-medium); }
.gstvt-availability-cell.is-high { background: var(--gstvt-availability-high); }
.gstvt-availability-cell.is-unknown { border-style: dashed; }
button.gstvt-availability-cell[aria-pressed="true"] { outline: 2px solid var(--gstvt-ink); outline-offset: 2px; }
button.gstvt-availability-cell:hover, button.gstvt-availability-cell:focus-visible { outline: 2px solid var(--sidebar-primary); outline-offset: 2px; }
.gstvt-availability-legend { display: flex; gap: .65rem; flex-wrap: wrap; margin: .75rem 0; font-size: .72rem; color: var(--gstvt-muted); }
.gstvt-availability-legend > span { display: inline-flex; align-items: center; gap: .3rem; }
.gstvt-availability-legend i { width: 14px; height: 14px; font-style: normal; }
.gstvt-availability-detail { border-left: 1px solid var(--gstvt-line); padding-left: 1.5rem; align-self: stretch; }
.gstvt-availability-detail h3 { font-size: .9rem; margin: 0 0 1rem; }
.gstvt-availability-detail p { color: var(--gstvt-muted); font-size: .85rem; margin: .5rem 0 1rem; }
.gstvt-availability-count { font-size: 2rem; font-variant-numeric: tabular-nums; }
.gstvt-availability-count span { font-size: .9rem; font-weight: 500; }
.gstvt-overview-panel > .gstvt-overview-note { margin-top: 1rem; }
.gstvt-overview-table-scroll { overflow-x: auto; }
.gstvt-overview-table { width: 100%; border-collapse: collapse; font-size: .85rem; font-variant-numeric: tabular-nums; }
.gstvt-overview-table th, .gstvt-overview-table td { padding: .7rem .6rem; border-bottom: 1px solid var(--gstvt-line); text-align: right; }
.gstvt-overview-table th:first-child { text-align: left; }
.gstvt-overview-table thead th { color: var(--gstvt-muted); font-size: .75rem; font-weight: 500; }
.gstvt-overview-table tbody th { font-weight: 500; white-space: nowrap; }
.gstvt-overview-table th span { color: var(--gstvt-muted); margin-left: .5rem; font-weight: 400; }
@media (max-width: 1199px) {
    .gstvt-availability-layout { grid-template-columns: minmax(0, 1fr); }
    .gstvt-availability-detail { border-left: 0; border-top: 1px solid var(--gstvt-line); padding: 1rem 0 0; }
}
@media (max-width: 575px) {
    .gstvt-overview-panel { padding: 1rem; }
    .gstvt-overview-table th, .gstvt-overview-table td { padding: .65rem .25rem; }
    .gstvt-overview-table th span { display: block; margin-left: 0; }
}
