/* Engine currently uses --x-* Bootstrap tokens; --bs-* supports the standard prefix. */
.baggeek-title { max-width: 12ch; text-wrap: balance; }
.baggeek-wordmark { font-family: ui-rounded, 'SF Pro Rounded', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; font-size: 1.5rem; font-weight: 750; letter-spacing: -.035em; }
.baggeek-brand-icon { border-radius: 22%; }
.baggeek-eyebrow { font-size: .8rem; font-weight: 700; }
.baggeek-section-heading { max-width: 760px; }
.baggeek-store-status { display: inline-flex; align-items: center; gap: .6rem; padding: .85rem 1.2rem; border-radius: .8rem; font-weight: 650; }
.baggeek-hero-stage { position: relative; height: 560px; max-width: 580px; margin-inline: auto; }
.baggeek-hero-panel { position: absolute; inset: 8% 0 8% 12%; }
.baggeek-phone { display: block; height: auto; border-radius: 1.8rem; border: 5px solid var(--bs-border-color, var(--x-border-color)); }
.baggeek-hero-phone { position: absolute; top: 0; left: 21%; width: 240px; }
.baggeek-hero-luggage { position: absolute; width: 48%; height: auto; object-fit: contain; right: -1%; bottom: 6%; pointer-events: none; }
.baggeek-demo-scene { position: relative; aspect-ratio: 16/10; overflow: hidden; }
/* Keep every pane in one grid cell so the tallest pane reserves the space. */
.baggeek-demo-content { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.baggeek-demo-content.tab-content > .tab-pane { display: block; grid-area: 1/1; min-width: 0; visibility: hidden; pointer-events: none; }
.baggeek-demo-content.tab-content > .tab-pane.active { visibility: visible; pointer-events: auto; }
/* Hero proportions: artwork is about 1.2 phone widths and overlaps its lower edge. */
.baggeek-media-composition { position: absolute; height: 90%; top: 5%; left: 50%; aspect-ratio: 2508/2868; transform: translateX(-50%); }
.baggeek-media-phone-link { position: absolute; height: 100%; top: 0; left: 0; border-radius: 1.8rem; }
.baggeek-media-phone-link .baggeek-phone { height: 100%; width: auto; object-fit: contain; }
.baggeek-media-art { position: absolute; width: 63%; height: auto; right: 0; bottom: 2%; pointer-events: none; }
.baggeek-demo-tabs { scrollbar-width: none; }
.baggeek-demo-tabs::-webkit-scrollbar { display: none; }
.baggeek-demo-tabs .nav-link { padding: 1rem; border-radius: .8rem; white-space: normal; }
.baggeek-demo-tabs .nav-link:not(.active) { color: var(--bs-heading-color, var(--x-heading-color)); background: var(--bs-body-bg, var(--x-body-bg)); }
.baggeek-example-art { width: 64px; height: 64px; object-fit: contain; }
.baggeek-pack-item { display: flex; align-items: center; gap: .8rem; min-height: 50px; padding: .65rem 1rem; border: 1px solid var(--bs-border-color, var(--x-border-color)); border-radius: .8rem; cursor: pointer; transition: background-color .2s ease, border-color .2s ease; }
.baggeek-pack-item .form-check-input { width: 1.25rem; height: 1.25rem; margin: 0; }
.baggeek-pack-item .form-check-input:not(:checked) { border-color: var(--bs-secondary-color, var(--x-secondary-color)); }
.baggeek-pack-item:has(input:checked) { background: var(--bs-primary-bg-subtle, var(--x-primary-bg-subtle)); border-color: var(--bs-primary-border-subtle, var(--x-primary-border-subtle)); }
.baggeek-pack-item:has(input:checked) .baggeek-pack-text { text-decoration: line-through; opacity: .7; }
.baggeek-pack-item:has(input:focus-visible), .baggeek-packing-example .btn-check:focus-visible + label { outline: 3px solid var(--bs-primary, var(--x-primary)); outline-offset: 3px; }
.baggeek-pack-progress { height: .5rem; }
.baggeek-pack-progress .progress-bar { transition: width .25s ease; }
.baggeek-pack-status { min-height: 1.5em; }
.baggeek-return-stage { height: 520px; }
.baggeek-return-stage .baggeek-media-composition { width: min(88%, 400px); height: auto; top: 50%; transform: translate(-50%, -50%); }
.baggeek-widget-card { width: min(100%, 285px); height: auto; }
.baggeek-faq-container { max-width: 860px; }
.baggeek-landing :is(a, button, [tabindex]):focus-visible { outline: 3px solid var(--bs-primary, var(--x-primary)); outline-offset: 4px; }
.baggeek-landing [id] { scroll-margin-top: 6rem; }
@media (max-width: 991.98px) {
    .baggeek-title { max-width: 18ch; }
    .baggeek-hero-stage { margin-top: 2rem; height: 530px; max-width: 500px; }
    .baggeek-hero-phone { width: 225px; }
    .baggeek-demo-tabs .nav-link { white-space: nowrap; }
}
@media (max-width: 575.98px) {
    .baggeek-hero-stage { height: 465px; }
    .baggeek-hero-phone { left: 10%; width: 195px; }
    .baggeek-hero-luggage { width: 53%; bottom: 8%; right: 0; }
    .baggeek-return-stage { height: 390px; }
    .baggeek-return-stage .baggeek-media-composition { width: min(88%, 300px); }
    .baggeek-phone { border-width: 3px; border-radius: 1rem; }
    .baggeek-store-status { font-size: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
    .baggeek-landing *, .baggeek-landing *::before, .baggeek-landing *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
