.lifestyle-section { min-width: 0; }
.lifestyle-section h2 { font-size: clamp(1.4rem, 4vw, 2rem); line-height: 1.25; letter-spacing: -0.03em; }
.lifestyle-subtitle { color: var(--color-muted); max-width: 42rem; }
.lifestyle-track { display: grid; grid-auto-flow: column; grid-auto-columns: 76%; gap: 0.85rem; width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-block: 0.25rem 0.65rem; }
.lifestyle-card { min-width: 0; margin: 0; scroll-snap-align: start; }
.lifestyle-media { position: relative; aspect-ratio: 9 / 16; overflow: hidden; border-radius: var(--radius-md); background: var(--color-placeholder); }
.lifestyle-media video { display: block; width: 100%; height: 100%; object-fit: contain; }
.lifestyle-play { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 0.75rem; border: 0; background: transparent; color: white; }
.lifestyle-play span { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: rgb(17 17 17 / 78%); font-size: 1rem; }
.lifestyle-mute { position: absolute; right: 0.75rem; bottom: 0.75rem; min-width: 2.75rem; min-height: 2.75rem; padding: 0.5rem 0.65rem; border: 0; border-radius: var(--radius-sm); background: rgb(17 17 17 / 78%); color: white; font-size: 0.8rem; }
.lifestyle-play:focus-visible { outline-offset: -4px; }
.lifestyle-mute:focus-visible { outline-offset: 2px; }
.lifestyle-caption { margin: 0.6rem 0 0; font-size: 0.88rem; }
.lifestyle-error { font-size: 0.8rem; color: var(--color-muted); margin-top: 0.4rem; }
.lifestyle-navigation { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--color-muted); font-size: 0.8rem; }
.lifestyle-navigation > div { display: flex; gap: 0.35rem; }
.lifestyle-navigation .icon-button { border: 1px solid var(--color-border); border-radius: var(--radius-sm); font-size: 1.25rem; }
.lifestyle-navigation .icon-button:disabled { opacity: 0.35; cursor: default; }
@media (min-width: 48rem) {
  .lifestyle-track { grid-auto-columns: clamp(13rem, 25vw, 18rem); gap: 1rem; }
}
