/* Local preview; every storefront rule is scoped to its root. */

.lf-native-content {
  --lf-cream: var(--color-bg, #fff);
  --lf-paper: var(--color-bg, #fff);
  --lf-ink: var(--color-contrast-higher, #171b1e);
  --lf-muted: var(--color-contrast-high, #545b61);
  --lf-accent: var(--color-primary-dark, #0068bd);
  --lf-line: var(--color-contrast-lower, #e3e6e8);
  --lf-sage: #eaf4fe;
  --lf-serif: var(--font-secondary, 'Nunito', sans-serif);
  --lf-sans: var(--font-primary, 'Nunito Sans', sans-serif);
  color: var(--lf-ink); font-family: var(--lf-sans); font-size: 16px; line-height: 1.5; min-width: 0;
}
.lf-native-content *, .lf-native-content *::before, .lf-native-content *::after { box-sizing: border-box; }
.lf-native-content :is(h2,h3,p,dl,dd) { margin: 0; }
.lf-native-content :is(a,button,input) { -webkit-tap-highlight-color: transparent; }
.lf-native-content button { font: inherit; cursor: pointer; }
.lf-native-content [hidden] { display: none !important; }
.lf-native-content :focus-visible { outline: 3px solid var(--lf-accent); outline-offset: 3px; }
.lf-native-content .lf-picture img { display: block; width: 100%; max-width: 100%; height: 100%; object-fit: cover; }
.lf-native-content .lf-picture { display: block; overflow: hidden; }
.lf-native-content .lf-picture img { object-position: var(--lf-focal-point, 50% 50%); }
.lf-native-content .lf-wrap { width: 100%; margin-inline: auto; }
.lf-native-content .lf-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.lf-native-content .lf-page-header { padding-top: 0; }
.lf-native-content .lf-page-header h1 { font-family: var(--font-secondary, 'Nunito', sans-serif); }
.lf-native-content .lf-eyebrow { color: var(--lf-muted); font-size: 12px; line-height: 1.4; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.lf-native-content :is(h2,h3) { font-family: var(--lf-serif); font-weight: 700; letter-spacing: normal; line-height: 1.2; }
.lf-native-content h2 { font-size: clamp(25px, 2.4vw, 34px); }
.lf-native-content h3 { font-size: 22px; }
.lf-native-content .lf-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; min-height: 0; overflow: hidden; border-radius: var(--radius-xxl, 16px); background: var(--lf-paper); color: var(--lf-ink); }
.lf-native-content .lf-hero::after { display: none; }
.lf-native-content .lf-hero-media { grid-column: 2; grid-row: 1; width: 100%; aspect-ratio: 1.35; min-height: 0; }
.lf-native-content .lf-hero-media img { object-fit: var(--lf-object-fit, cover); }
.lf-native-content .lf-hero-content { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; justify-content: center; width: 100%; padding: clamp(24px, 3vw, 48px); }
.lf-native-content .lf-hero .lf-eyebrow { margin-bottom: 12px; }
.lf-native-content .lf-hero h2 { max-width: 22ch; font-size: clamp(27px, 3vw, 40px); white-space: pre-line; }
.lf-native-content .lf-hero-lead { margin-top: 18px; max-width: 540px; font-size: 16px; line-height: 1.55; }
.lf-native-content .lf-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.lf-native-content .lf-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 20px; font-family: var(--lf-sans); font-size: 15px; font-weight: 600; line-height: 1.35; text-align: center; text-decoration: none; border: 1px solid transparent; border-radius: var(--btn-radius, 8px); }
.lf-native-content .lf-button-primary { color: var(--color-white, #fff); background: var(--lf-accent); border-color: var(--lf-accent); }
.lf-native-content .lf-button-primary:hover { background: var(--color-primary-darker, #005599); border-color: var(--color-primary-darker, #005599); }
.lf-native-content .lf-button-secondary { color: var(--lf-ink); background: var(--lf-paper); border-color: var(--lf-line); }
.lf-native-content :is(.lf-text-link,.lf-text-button,.lf-family-details) { color: var(--lf-accent); font-size: 15px; text-decoration: none; }
.lf-native-content :is(.lf-text-link,.lf-text-button,.lf-family-details):hover { text-decoration: underline; text-underline-offset: 3px; }
.lf-native-content .lf-text-button { background: none; border: 0; padding: 8px 0; }
.lf-native-content :is(.lf-intro,.lf-editorial-intro) { max-width: 1060px; padding-block: 40px; font-size: 17px; line-height: 1.6; }
.lf-native-content .lf-intro { display: grid; grid-template-columns: 1fr 2fr; gap: 32px; }
.lf-native-content .lf-intro h2 { margin-bottom: 16px; }
.lf-native-content :is(.lf-intro,.lf-editorial-intro) p + p { margin-top: 16px; }
.lf-native-content .lf-section-heading { padding-bottom: 24px; max-width: 960px; }
.lf-native-content .lf-section-heading .lf-eyebrow { margin-bottom: 8px; }
.lf-native-content .lf-section-heading p:not(.lf-eyebrow) { margin-top: 14px; color: var(--lf-muted); font-size: 16px; }
.lf-native-content .lf-section-heading > .lf-text-link { display: inline-block; margin-top: 16px; }
.lf-native-content :is(.lf-categories,.lf-family-section,.lf-catalog,.lf-family-models,.lf-category-items,.lf-related,.lf-home-showcase) { padding-block: 40px; }
.lf-native-content .lf-home-categories { padding-block: 32px; }
.lf-native-content .lf-home-category-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.lf-native-content .lf-home-category-link { display: flex; flex-direction: column; overflow: hidden; min-width: 0; background: var(--lf-paper); color: var(--lf-ink); border-radius: var(--radius-xxl, 16px); font-size: 18px; font-weight: 700; text-decoration: none; }
.lf-native-content .lf-home-category-photo { width: 100%; aspect-ratio: 1.5; }
.lf-native-content .lf-home-category-link > span { padding: 14px 18px; }
.lf-native-content .lf-home-category-link:hover > span { color: var(--lf-accent); }
.lf-native-content .lf-home-showcase { border-top: 1px solid var(--lf-line); scroll-margin-top: 100px; }
.lf-native-content .lf-home-anchor { display: block; scroll-margin-top: 100px; }
.lf-native-content :is(.lf-model-grid,.lf-item-grid,.lf-home-product-grid,.lf-category-grid) { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.lf-native-content .lf-model-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.lf-native-content .lf-model-grid-1 { grid-template-columns: minmax(0, 1fr); }
.lf-native-content :is(.lf-model-card,.lf-item-card,.lf-category-card) { display: flex; flex-direction: column; overflow: hidden; min-width: 0; height: 100%; background: var(--lf-paper); border: 1px solid var(--lf-line); border-radius: var(--radius-xxl, 16px); }
.lf-native-content :is(.lf-model-image-link,.lf-item-image-link) { display: block; color: inherit; overflow: hidden; }
.lf-native-content :is(.lf-model-card-image,.lf-item-card-image) { aspect-ratio: 1; width: 100%; }
.lf-native-content .lf-category-card-image { aspect-ratio: 1.5; width: 100%; }
.lf-native-content :is(.lf-model-card-content,.lf-item-card-copy,.lf-category-card-copy) { display: flex; flex-direction: column; flex: 1; padding: 22px; }
.lf-native-content :is(.lf-model-name,.lf-item-name,.lf-category-card) { color: inherit; text-decoration: none; }
.lf-native-content :is(.lf-model-name,.lf-item-name):hover { color: var(--lf-accent); }
.lf-native-content :is(.lf-model-card-content,.lf-item-card-copy,.lf-category-card-copy) .lf-eyebrow { margin-bottom: 8px; }
.lf-native-content :is(.lf-model-card-content,.lf-item-card-copy,.lf-category-card-copy) > p:not(.lf-eyebrow) { margin-top: 12px; color: var(--lf-muted); font-size: 15px; }
.lf-native-content .lf-card-facts { margin-top: 14px; font-size: 14px; }
.lf-native-content .lf-card-facts > div { display: flex; flex-wrap: wrap; gap: 6px; }
.lf-native-content .lf-card-facts dt { color: var(--lf-muted); }
.lf-native-content .lf-card-commerce { display: flex; flex-direction: column; gap: 6px; margin-top: auto; padding-top: 20px; }
.lf-native-content .lf-card-price { font-size: 24px; font-weight: 700; }
.lf-native-content .lf-card-state { font-size: 14px; color: var(--lf-muted); }
.lf-native-content .lf-card-commerce .lf-button { width: 100%; margin-top: 10px; }
.lf-native-content .lf-card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; margin-top: 20px; }
.lf-native-content .lf-category-card-action { display: inline-block; align-self: flex-start; margin-top: auto; padding-top: 18px; color: var(--lf-accent); font-size: 15px; }
.lf-native-content .lf-category-jumps { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 28px; }
.lf-native-content .lf-category-group { scroll-margin-top: 100px; }
.lf-native-content .lf-category-group + .lf-category-group { margin-top: 40px; }
.lf-native-content .lf-category-group > h3 { margin-bottom: 20px; }
.lf-native-content .lf-category-group > .lf-catalog { padding: 0; }
.lf-native-content .lf-home-product-grid-1, .lf-native-content .lf-item-grid:has(> .lf-item-card:only-child) { grid-template-columns: minmax(0,1fr); }
.lf-native-content .lf-home-product-grid-1 .lf-item-card, .lf-native-content .lf-item-grid > .lf-item-card:only-child { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.lf-native-content .lf-home-product-grid-1 .lf-item-card-copy, .lf-native-content .lf-item-grid > .lf-item-card:only-child .lf-item-card-copy { justify-content: center; padding: clamp(24px,3vw,42px); }
.lf-native-content .lf-home-product-grid-1 .lf-card-commerce, .lf-native-content .lf-item-grid > .lf-item-card:only-child .lf-card-commerce { margin-top: 0; max-width: 360px; }
.lf-native-content .lf-family-sequence { display: flex; flex-direction: column; gap: 40px; padding-bottom: 40px; }
.lf-native-content .lf-family-showcase { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 40px; align-items: center; }
.lf-native-content .lf-family-image { aspect-ratio: 1.25; border-radius: var(--radius-xxl,16px); }
.lf-native-content .lf-family-image img { object-fit: var(--lf-object-fit,cover); }
.lf-native-content .lf-index { color: var(--lf-muted); font-size: 14px; margin-bottom: 12px; display: block; }
.lf-native-content .lf-family-copy .lf-eyebrow { margin-bottom: 8px; }
.lf-native-content .lf-family-copy > p:not(.lf-eyebrow) { margin-top: 16px; font-size: 16px; }
.lf-native-content .lf-family-sizes { margin-top: 20px; }
.lf-native-content .lf-family-size-label { color: var(--lf-muted); font-size: 14px; margin-bottom: 8px; }
.lf-native-content .lf-family-size-grid { display: grid; gap: 10px; }
.lf-native-content .lf-family-size-option { display: grid; grid-template-columns: minmax(90px,.4fr) minmax(0,1fr); gap: 16px; align-items: center; padding: 14px 16px; color: inherit; background: var(--lf-paper); border: 1px solid var(--lf-line); border-radius: var(--radius-xl,8px); text-decoration: none; }
.lf-native-content .lf-family-size-option:hover { border-color: var(--lf-accent); }
.lf-native-content .lf-family-size-name { font-weight: 700; }
.lf-native-content .lf-family-size-detail { color: var(--lf-muted); font-size: 14px; }
.lf-native-content .lf-family-action { margin-top: 18px; }
.lf-native-content .lf-family-details { display: inline-flex; align-items: center; min-height: 44px; }
.lf-native-content .lf-family-showcase-2 .lf-family-copy { grid-column: 1; grid-row: 1; }
.lf-native-content .lf-family-showcase-2 .lf-family-image-link { grid-column: 2; grid-row: 1; }
.lf-native-content .lf-tags { display: flex; flex-wrap: wrap; gap: 8px 15px; list-style: none; padding: 0; margin-top: 18px; font-size: 13px; color: var(--lf-muted); }
.lf-native-content .lf-tags li { padding-top: 8px; border-top: 1px solid var(--lf-line); }
.lf-native-content :is(.lf-size-links,.lf-size-selector) { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.lf-native-content .lf-size-link { display: inline-flex; justify-content: center; align-items: center; min-height: 40px; padding: 8px 14px; color: inherit; background: var(--lf-paper); border: 1px solid var(--lf-line); border-radius: var(--radius-xl,8px); font-size: 14px; text-decoration: none; }
.lf-native-content .lf-size-link.is-active { color: var(--lf-accent); border-color: var(--lf-accent); background: #edf6ff; }
.lf-native-content .lf-story { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px; align-items: center; padding-block: 40px; }
.lf-native-content .lf-story-media { aspect-ratio: 1.25; overflow: hidden; border-radius: var(--radius-xxl,16px); max-width: min(100%,var(--lf-native-width,100%)); }
.lf-native-content .lf-story-media img { object-fit: var(--lf-object-fit,cover); }
.lf-native-content .lf-story-copy .lf-eyebrow { margin-bottom: 10px; }
.lf-native-content .lf-story-copy > p:not(.lf-eyebrow) { margin-top: 16px; font-size: 16px; color: var(--lf-muted); }
.lf-native-content .lf-story-copy .lf-text-link { display: inline-block; margin-top: 16px; }
.lf-native-content .lf-story-reverse .lf-story-copy { grid-column: 2; grid-row: 1; }
.lf-native-content .lf-story-reverse .lf-story-media { grid-column: 1; grid-row: 1; }
.lf-native-content :is(.lf-story-wide,.lf-story-text) { grid-template-columns: 1fr; gap: 24px; }
.lf-native-content .lf-story-wide .lf-story-media { aspect-ratio: 2; }
.lf-native-content .lf-story-text .lf-story-copy { max-width: 960px; }
.lf-native-content .lf-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.lf-native-content :is(.lf-filter,.lf-compare-toggle) { min-height: 40px; padding: 8px 14px; color: var(--lf-ink); border: 1px solid var(--lf-line); border-radius: var(--radius-xl,8px); background: var(--lf-paper); font-size: 14px; }
.lf-native-content :is(.lf-filter.is-active,.lf-compare-toggle[aria-pressed='true']) { color: var(--lf-accent); border-color: var(--lf-accent); background: #edf6ff; }
.lf-native-content .lf-requirements { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 24px; padding: 16px; background: var(--lf-paper); border-radius: var(--radius-xl,8px); }
.lf-native-content .lf-requirement { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.lf-native-content :is(.lf-catalog-status,.lf-catalog-empty) { margin-bottom: 20px; color: var(--lf-muted); font-size: 15px; }
.lf-native-content .lf-product-intro { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 40px; padding-block: 12px 40px; align-items: start; }
.lf-native-content .lf-product-copy { min-width: 0; }
.lf-native-content .lf-product-copy .lf-family-back { display: inline-block; margin-bottom: 14px; color: var(--lf-accent); text-decoration: none; }
.lf-native-content .lf-product-copy > .lf-eyebrow { margin-bottom: 14px; }
.lf-native-content .lf-product-copy h2 { font-size: 28px; }
.lf-native-content .lf-product-lead { margin-top: 18px; font-size: 16px; color: var(--lf-muted); }
.lf-native-content .lf-gallery-main { aspect-ratio: 1; border-radius: var(--radius-xxl,16px); overflow: hidden; }
.lf-native-content .lf-gallery-main .lf-picture { height: 100%; }
.lf-native-content .lf-gallery-thumbs { display: flex; gap: 10px; padding-block: 12px 8px; overflow-x: auto; }
.lf-native-content .lf-gallery-thumb { flex: 0 0 80px; height: 68px; padding: 3px; border: 1px solid var(--lf-line); border-radius: var(--radius-xl,8px); background: var(--lf-paper); }
.lf-native-content .lf-gallery-thumb .lf-picture { height: 100%; border-radius: 4px; }
.lf-native-content .lf-gallery-thumb.is-active { border-color: var(--lf-accent); }
.lf-native-content .lf-image-caption { margin-top: 8px; color: var(--lf-muted); font-size: 13px; }
.lf-native-content .lf-purchase { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--lf-line); }
.lf-native-content .lf-purchase > p { font-size: 14px; color: var(--lf-muted); margin-top: 10px; }
.lf-native-content .lf-sale-offers { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; margin-top: 18px; }
.lf-native-content .lf-sale-offer { display: flex; flex-direction: column; gap: 16px; padding: 18px; background: var(--lf-paper); border: 1px solid var(--lf-line); border-radius: var(--radius-xxl,16px); }
.lf-native-content .lf-sale-offer h3 { font-family: var(--lf-sans); font-size: 16px; font-weight: 700; line-height: 1.4; }
.lf-native-content .lf-sale-description-has-photo { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 14px; align-items: start; }
.lf-native-content .lf-offer-photo { width: 80px; aspect-ratio: 4 / 3; border-radius: 6px; }
.lf-native-content .lf-offer-state { margin-top: 6px; font-size: 14px; color: var(--lf-muted); }
.lf-native-content .lf-offer-price { margin-top: 8px; font-size: 24px; font-weight: 700; }
.lf-native-content .lf-offer-old-price { margin-right: 8px; font-size: 14px; font-weight: 400; color: var(--lf-muted); }
.lf-native-content .lf-offer-selection-note { margin-top: 8px; font-size: 13px; line-height: 1.5; color: var(--lf-muted); }
.lf-native-content .lf-offer-note { margin-top: 8px; font-size: 13px; color: var(--lf-muted); }
.lf-native-content .lf-sale-offer .lf-button { width: 100%; }
.lf-native-content #purchase { scroll-margin-top: 100px; }
.lf-native-content .lf-product-copy > .lf-compare-toggle { margin-top: 20px; }
.lf-native-content .lf-switches { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--lf-line); }
.lf-native-content .lf-switches h2 { font-size: 20px; }
.lf-native-content .lf-switches > p { font-size: 14px; color: var(--lf-muted); margin-top: 10px; }
.lf-native-content .lf-switch-list { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 14px; }
.lf-native-content .lf-switch { position: relative; }
.lf-native-content .lf-switch-trigger { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 4px; background: none; border: 0; font-size: 13px; }
.lf-native-content .lf-switch-circle { display: inline-block; width: 25px; height: 25px; border-radius: 50%; background: var(--lf-switch); border: 1px solid #999; box-shadow: inset 0 0 0 4px #ffffff80; }
.lf-native-content .lf-switch-tooltip { position: absolute; z-index: 60; left: 0; top: 100%; width: 275px; margin-top: 8px; padding: 16px; border: 1px solid var(--lf-line); border-radius: var(--radius-xl,8px); background: var(--lf-paper); box-shadow: 0 5px 30px #0002; }
.lf-native-content .lf-tooltip-close { position: absolute; right: 6px; top: 4px; width: 32px; height: 32px; background: var(--lf-paper); border: 0; font-size: 22px; }
.lf-native-content .lf-switch-photo { height: 135px; margin-bottom: 14px; }
.lf-native-content .lf-switch-photo img { object-fit: contain; }
.lf-native-content .lf-switch-tooltip h3 { font-size: 18px; }
.lf-native-content .lf-switch-tooltip .lf-eyebrow { font-size: 10px; margin-top: 6px; }
.lf-native-content .lf-switch-tooltip p:not(.lf-eyebrow) { font-size: 13px; margin-top: 8px; }
.lf-native-content .lf-specs { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 40px; padding-block: 40px; }
.lf-native-content .lf-specs .lf-eyebrow { margin-bottom: 10px; }
.lf-native-content .lf-specs dl > div { display: grid; grid-template-columns: 1fr 1.2fr; gap: 20px; border-top: 1px solid var(--lf-line); padding-block: 14px; font-size: 15px; }
.lf-native-content .lf-specs dt { color: var(--lf-muted); }
.lf-native-content .lf-model-compare-note { padding-block: 20px; max-width: 1060px; }
.lf-native-content .lf-related > h2 { margin-bottom: 24px; }
.lf-native-content .lf-compare-tray { position: fixed; z-index: 40; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 20px; max-width: calc(100% - 32px); padding: 14px 20px; background: var(--lf-paper); border: 1px solid var(--lf-line); border-radius: var(--radius-xxl,16px); box-shadow: 0 8px 30px #0002; }
.lf-native-content .lf-compare-tray > span { font-size: 14px; white-space: nowrap; }
.lf-native-content .lf-compare-tray :is(.lf-button,.lf-text-button) { white-space: nowrap; }
.lf-native-content .lf-compare-page { padding-block: 12px 40px; }
.lf-native-content .lf-compare-page .lf-section-heading > .lf-eyebrow { margin-top: 0; }
.lf-native-content .lf-compare-scroll { overflow-x: auto; margin-top: 24px; border: 1px solid var(--lf-line); border-radius: var(--radius-xxl,16px); background: var(--lf-paper); }
.lf-native-content .lf-compare-table { width: 100%; min-width: calc(160px + var(--lf-compare-count,3) * 230px); border-collapse: collapse; table-layout: fixed; text-align: left; }
.lf-native-content .lf-compare-table thead th { padding: 20px 16px; vertical-align: top; font-weight: 600; }
.lf-native-content .lf-compare-table thead td { width: 160px; }
.lf-native-content .lf-compare-table h2 { font-size: 22px; }
.lf-native-content .lf-compare-table thead p { margin-top: 12px; font-size: 14px; color: var(--lf-muted); }
.lf-native-content .lf-compare-image { height: 150px; margin-bottom: 18px; }
.lf-native-content .lf-compare-image .lf-picture { height: 100%; }
.lf-native-content .lf-compare-table tbody :is(td,th) { padding: 14px 16px; border-top: 1px solid var(--lf-line); vertical-align: top; font-size: 14px; line-height: 1.5; }
.lf-native-content .lf-compare-table tbody th { width: 160px; color: var(--lf-muted); font-weight: 600; }
.lf-native-content .lf-compare-table tbody tr:nth-child(even) { background: #f7f9fb; }
.lf-native-content .lf-compare-notes { margin-top: 24px; padding-left: 18px; font-size: 14px; color: var(--lf-muted); }
.lf-native-content .lf-compare-notes li + li { margin-top: 10px; }
.lf-native-content .lf-compare-hint { display: none; }
@media (min-width: 1500px) {
 .lf-native-content :is(.lf-model-grid,.lf-item-grid,.lf-home-product-grid) { grid-template-columns: repeat(4,minmax(0,1fr)); }
 .lf-native-content .lf-model-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .lf-native-content .lf-home-product-grid-1, .lf-native-content .lf-model-grid-1, .lf-native-content .lf-item-grid:has(> .lf-item-card:only-child) { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 1000px) {
 .lf-native-content :is(.lf-model-grid,.lf-item-grid,.lf-home-product-grid,.lf-category-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .lf-native-content .lf-home-product-grid-1, .lf-native-content .lf-model-grid-1, .lf-native-content .lf-item-grid:has(> .lf-item-card:only-child) { grid-template-columns: minmax(0,1fr); }
 .lf-native-content .lf-home-category-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .lf-native-content .lf-product-intro { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
 .lf-native-content .lf-hero-content { padding: 24px; }
 .lf-native-content .lf-hero h2 { font-size: 30px; }
}
@media (max-width: 700px) {
 .lf-native-content { font-size: 15px; }
 .lf-native-content .lf-picture img { object-position: var(--lf-mobile-focal-point,var(--lf-focal-point,50% 50%)); }
 .lf-native-content .lf-hero { grid-template-columns: minmax(0,1fr); }
 .lf-native-content .lf-hero-content { grid-column: 1; grid-row: 1; padding: 24px 20px; }
 .lf-native-content .lf-hero-media { grid-column: 1; grid-row: 2; aspect-ratio: var(--lf-mobile-aspect,1.35); }
 .lf-native-content .lf-hero h2 { font-size: 28px; }
 .lf-native-content .lf-hero-lead { margin-top: 14px; font-size: 15px; }
 .lf-native-content .lf-actions { margin-top: 20px; }
 .lf-native-content .lf-hero .lf-actions { display: grid; grid-template-columns: minmax(0,1fr); }
 .lf-native-content .lf-hero .lf-actions > .lf-button { width: 100%; }
 .lf-native-content .lf-button { padding-inline: 16px; font-size: 14px; }
 .lf-native-content :is(.lf-intro,.lf-story,.lf-family-showcase,.lf-product-intro,.lf-specs) { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .lf-native-content :is(.lf-intro,.lf-editorial-intro,.lf-categories,.lf-family-section,.lf-catalog,.lf-family-models,.lf-category-items,.lf-related,.lf-home-showcase,.lf-story,.lf-specs) { padding-block: 28px; }
 .lf-native-content .lf-intro { font-size: 16px; }
 .lf-native-content :is(.lf-model-grid,.lf-item-grid,.lf-home-product-grid,.lf-category-grid) { grid-template-columns: minmax(0,1fr); gap: 18px; }
 .lf-native-content .lf-home-category-nav { gap: 14px; }
 .lf-native-content .lf-home-category-link { font-size: 16px; }
 .lf-native-content .lf-home-category-photo { aspect-ratio: 1; }
 .lf-native-content .lf-home-category-link > span { padding: 12px; }
 .lf-native-content :is(.lf-model-card-content,.lf-item-card-copy,.lf-category-card-copy) { padding: 20px; }
 .lf-native-content .lf-home-product-grid-1 .lf-item-card, .lf-native-content .lf-item-grid > .lf-item-card:only-child { display: flex; }
 .lf-native-content .lf-home-product-grid-1 .lf-item-card-copy, .lf-native-content .lf-item-grid > .lf-item-card:only-child .lf-item-card-copy { padding: 20px; }
 .lf-native-content .lf-family-showcase-2 .lf-family-copy, .lf-native-content .lf-family-showcase-2 .lf-family-image-link, .lf-native-content .lf-story-reverse .lf-story-copy, .lf-native-content .lf-story-reverse .lf-story-media { grid-column: auto; grid-row: auto; }
 .lf-native-content .lf-family-size-option { gap: 12px; padding-inline: 14px; }
 .lf-native-content .lf-family-size-detail { font-size: 13px; }
 .lf-native-content .lf-gallery-thumb { flex-basis: 68px; height: 58px; }
 .lf-native-content .lf-sale-description-has-photo { grid-template-columns: 64px minmax(0,1fr); gap: 12px; }
 .lf-native-content .lf-offer-photo { width: 64px; }
 .lf-native-content .lf-sale-offer { padding: 16px; }
 .lf-native-content .lf-switch-list { display: block; }
 .lf-native-content .lf-switch + .lf-switch { margin-top: 8px; }
 .lf-native-content .lf-switch-tooltip { position: relative; left: 0; right: auto; top: auto; width: 100%; margin-block: 8px 12px; }
 .lf-native-content .lf-specs dl > div { gap: 14px; font-size: 14px; }
 .lf-native-content .lf-compare-tray { gap: 12px; flex-wrap: wrap; justify-content: center; padding: 12px; bottom: 12px; }
 .lf-native-content .lf-compare-hint { display: block; font-size: 13px; color: var(--lf-muted); }
 .lf-native-content .lf-compare-table { min-width: calc(110px + var(--lf-compare-count,3) * 220px); }
 .lf-native-content .lf-compare-table thead td, .lf-native-content .lf-compare-table tbody th { width: 110px; }
 .lf-native-content .lf-compare-table tbody th { position: sticky; left: 0; background: #f7f9fb; }
}

/* Lofree editorial canvas. The shop header/footer remain owned by the theme. */
.lf-native-content.lf-brand-canvas {
  --lf-cream:#fff; --lf-paper:#fff; --lf-ink:#1a1a1a; --lf-muted:#595959;
  --lf-accent:#1a1a1a; --lf-line:#dededb; --lf-sage:#f4f4f2;
  --lf-serif:Helvetica,Arial,sans-serif; --lf-sans:Helvetica,Arial,sans-serif;
  width:100%; max-width:none; padding:0; background:#fff; color:var(--lf-ink);
  font-family:var(--lf-sans); line-height:1.6;
}
.lf-brand-canvas .lf-wrap { max-width:1328px; padding-inline:48px; }
.lf-brand-canvas .lf-page-header { max-width:1328px; margin:0 auto; padding:24px 48px 0; text-align:left; }
.lf-brand-canvas .lf-page-header h1 { margin:14px 0 0; font:600 20px/1.3 var(--lf-sans); }
.lf-brand-canvas[data-page-kind="home"] .lf-page-header h1 { font-size:14px; letter-spacing:.16em; text-transform:uppercase; }
.lf-brand-canvas :is(h2,h3) { font-family:var(--lf-sans); letter-spacing:-.035em; font-weight:500; }
.lf-brand-canvas h2 { font-size:clamp(30px,4.2vw,60px); line-height:1.08; }
.lf-brand-canvas h3 { font-size:24px; line-height:1.2; }
.lf-brand-canvas .lf-eyebrow { font-size:12px; letter-spacing:.11em; color:#666; }
.lf-brand-canvas .lf-hero { display:flex; flex-direction:column; border-radius:0; overflow:hidden; background:#fff; }
.lf-brand-canvas .lf-hero-content { order:0; display:flex; align-items:center; max-width:1100px; padding:60px 48px 48px; text-align:center; }
.lf-brand-canvas .lf-hero h2 { max-width:22ch; font-size:clamp(40px,5.3vw,76px); line-height:1.06; letter-spacing:-.045em; }
.lf-brand-canvas .lf-hero-lead { max-width:690px; margin-top:24px; font-size:18px; line-height:1.6; }
.lf-brand-canvas .lf-hero-media { order:1; width:100%; height:min(52vw,720px); min-height:0; aspect-ratio:auto; }
.lf-brand-canvas .lf-hero-media img { object-fit:cover; object-position:50% 54%; }
.lf-brand-canvas .lf-hero-home .lf-hero-media { height:min(51vw,710px); }
.lf-brand-canvas .lf-actions { justify-content:flex-start; gap:16px; margin-top:28px; }
.lf-brand-canvas .lf-hero .lf-actions { justify-content:center; }
.lf-brand-canvas .lf-button { min-height:48px; padding:12px 26px; border-radius:999px; font:500 15px/1.5 var(--lf-sans); box-shadow:none; white-space:normal; }
.lf-brand-canvas .lf-button-primary { color:#fff; background:#1a1a1a; border-color:#1a1a1a; }
.lf-brand-canvas .lf-button-primary:hover { background:#3a3a3a; border-color:#3a3a3a; }
.lf-brand-canvas .lf-button-secondary { background:#fff; color:#1a1a1a; border-color:#bcbcb8; }
.lf-brand-canvas :is(.lf-text-link,.lf-family-details,.lf-category-card-action) { color:#1a1a1a; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.lf-brand-canvas .lf-type-section { padding-block:64px 76px; }
.lf-brand-canvas .lf-type-section h2 { font-size:36px; }
.lf-brand-canvas .lf-type-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.lf-brand-canvas .lf-type-card { min-width:0; display:flex; flex-direction:column; }
.lf-brand-canvas .lf-type-photo { aspect-ratio:4/3; width:100%; border-radius:8px; }
.lf-brand-canvas .lf-type-card > div { display:flex; flex-direction:column; flex:1; padding-top:22px; }
.lf-brand-canvas .lf-type-card h3 { font-size:22px; margin:10px 0 14px; letter-spacing:-.025em; }
.lf-brand-canvas .lf-type-card p:not(.lf-eyebrow) { font-size:15px; color:#595959; }
.lf-brand-canvas .lf-type-card a { align-self:flex-start; margin-top:auto; padding-top:20px; }
.lf-brand-canvas .lf-brand-intro { display:grid; grid-template-columns:1fr 1.45fr; gap:90px; padding-block:80px 100px; border-top:1px solid #dededb; }
.lf-brand-canvas .lf-brand-intro h2 { max-width:10ch; margin-top:16px; }
.lf-brand-canvas .lf-brand-intro p + p { margin-top:22px; }
.lf-brand-canvas .lf-brand-intro > div:last-child { font-size:19px; }
.lf-brand-canvas .lf-brand-chapter { padding-block:76px 44px; scroll-margin-top:110px; }
.lf-brand-canvas .lf-brand-chapter:nth-of-type(even) { background:#f6f6f4; }
.lf-brand-canvas .lf-chapter-heading { max-width:1080px; text-align:center; padding-bottom:42px; }
.lf-brand-canvas .lf-chapter-heading h2 { margin:18px auto 24px; max-width:20ch; }
.lf-brand-canvas .lf-chapter-heading > p:last-child { max-width:740px; margin:auto; font-size:18px; color:#595959; }
.lf-brand-canvas .lf-chapter-photo { width:100%; height:min(53vw,740px); }
.lf-brand-canvas .lf-chapter-photo img { object-fit:cover; }
.lf-brand-canvas .lf-chapter-body { display:grid; grid-template-columns:1.5fr 1fr; gap:80px; padding-block:48px; }
.lf-brand-canvas .lf-chapter-body p + p { margin-top:18px; }
.lf-brand-canvas .lf-chapter-choice { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.lf-brand-canvas .lf-format-options { display:flex; flex-direction:column; gap:10px; width:100%; }
.lf-brand-canvas .lf-format-link { display:block; padding:12px 0; border-bottom:1px solid #ccc; color:inherit; font-size:16px; text-decoration:none; }
.lf-brand-canvas .lf-format-link:hover { text-decoration:underline; text-underline-offset:4px; }
.lf-brand-canvas .lf-chapter-edge { background:#151719 !important; color:#f5f5f3; }
.lf-brand-canvas .lf-chapter-edge :is(.lf-eyebrow,.lf-chapter-heading > p:last-child) { color:#c4c4c4; }
.lf-brand-canvas .lf-chapter-edge .lf-button-primary { background:#f4f4f2; border-color:#f4f4f2; color:#171717; }
.lf-brand-canvas .lf-chapter-edge .lf-story { border-color:#333; }
.lf-brand-canvas .lf-chapter-edge .lf-story-copy p:not(.lf-eyebrow) { color:#ddd; }
.lf-brand-canvas .lf-chapter-hyzen67 .lf-chapter-photo img { object-position:50% 59%; }
.lf-brand-canvas .lf-chapter-mac .lf-chapter-photo { background:#edf0fb; }
.lf-brand-canvas .lf-story { gap:56px; padding-block:48px; }
.lf-brand-canvas .lf-story-copy h2 { font-size:clamp(29px,3vw,44px); max-width:20ch; }
.lf-brand-canvas .lf-story-copy p { font-size:17px; }
.lf-brand-canvas .lf-story-media { border-radius:8px; aspect-ratio:1.2; min-height:0; }
.lf-brand-canvas .lf-story-media img { object-fit:cover; }
.lf-brand-canvas :is(.lf-model-card,.lf-item-card,.lf-category-card) { border:0; border-radius:8px; background:#f5f5f3; }
.lf-brand-canvas :is(.lf-model-card-image,.lf-item-card-image) { aspect-ratio:4/3; }
.lf-brand-canvas :is(.lf-model-card-content,.lf-item-card-copy,.lf-category-card-copy) { padding:26px; }
.lf-brand-canvas :is(.lf-model-grid,.lf-item-grid,.lf-home-product-grid) { gap:24px; }
.lf-brand-canvas .lf-catalog { padding-block:80px; }
.lf-brand-canvas .lf-family-showcase { border-radius:0; background:transparent; }
.lf-brand-canvas .lf-family-size-grid { gap:12px; }
.lf-brand-canvas .lf-family-size-option { border:0; border-bottom:1px solid #bbb; padding:12px 0; border-radius:0; }
.lf-brand-canvas .lf-family-details { display:inline-block; margin-top:20px; }
.lf-brand-canvas .lf-product-intro { padding-block:48px; gap:56px; }
.lf-brand-canvas .lf-product-copy > h2 { font-size:clamp(32px,3.5vw,48px); }
.lf-brand-canvas .lf-product-lead { font-size:18px; }
.lf-brand-canvas .lf-gallery-main { border-radius:8px; background:#f5f5f3; }
.lf-brand-canvas .lf-specs { padding-block:64px; }
.lf-brand-canvas .lf-specs h2 { font-size:36px; }
.lf-brand-canvas .lf-compare-table :is(th,td) { padding:20px; }
.lf-brand-canvas .lf-compare-tray { position:sticky; bottom:0; inset-inline:auto; width:100%; max-width:none; border-radius:0; background:#fff; box-shadow:0 -4px 24px #0000000d; z-index:2; }
@media (max-width:1000px) {
 .lf-brand-canvas .lf-wrap { padding-inline:28px; }
 .lf-brand-canvas .lf-page-header { padding-inline:28px; }
 .lf-brand-canvas .lf-type-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 24px; }
 .lf-brand-canvas .lf-brand-intro { gap:40px; }
 .lf-brand-canvas .lf-chapter-body { gap:40px; }
}
@media (max-width:700px) {
 .lf-brand-canvas .lf-wrap { padding-inline:22px; }
 .lf-brand-canvas .lf-page-header { padding:18px 22px 0; }
 .lf-brand-canvas .lf-hero-content { padding:36px 22px; }
 .lf-brand-canvas .lf-hero h2 { font-size:42px; }
 .lf-brand-canvas .lf-hero-lead { font-size:16px; margin-top:20px; }
 .lf-brand-canvas .lf-hero-media,.lf-brand-canvas .lf-hero-home .lf-hero-media { height:auto; aspect-ratio:1; }
 .lf-brand-canvas .lf-hero-media img { object-position:50% 50%; }
 .lf-brand-canvas .lf-type-section { padding-block:44px; }
 .lf-brand-canvas .lf-type-grid { grid-template-columns:1fr; gap:36px; }
 .lf-brand-canvas .lf-type-photo { aspect-ratio:1.6; }
 .lf-brand-canvas .lf-type-card h3 { font-size:24px; }
 .lf-brand-canvas .lf-type-card p:not(.lf-eyebrow) { font-size:16px; }
 .lf-brand-canvas .lf-type-card a { padding-top:18px; }
 .lf-brand-canvas .lf-brand-intro { grid-template-columns:1fr; gap:28px; padding-block:52px; }
 .lf-brand-canvas .lf-brand-intro h2 { max-width:14ch; }
 .lf-brand-canvas .lf-brand-intro > div:last-child { font-size:17px; }
 .lf-brand-canvas .lf-brand-chapter { padding-top:52px; }
 .lf-brand-canvas .lf-chapter-heading { padding-bottom:30px; }
 .lf-brand-canvas .lf-chapter-heading h2 { font-size:38px; }
 .lf-brand-canvas .lf-chapter-heading > p:last-child { font-size:16px; }
 .lf-brand-canvas .lf-chapter-photo { height:auto; aspect-ratio:1.15; }
 .lf-brand-canvas .lf-chapter-body { grid-template-columns:1fr; gap:28px; padding-block:32px; }
 .lf-brand-canvas .lf-story { display:flex; flex-direction:column; gap:24px; padding-block:30px; }
 .lf-brand-canvas .lf-story-copy { width:100%; }
 .lf-brand-canvas .lf-story-media { width:100%; aspect-ratio:1.15; }
 .lf-brand-canvas .lf-product-intro { padding-block:30px; gap:28px; }
 .lf-brand-canvas :is(.lf-model-grid,.lf-item-grid,.lf-home-product-grid) { grid-template-columns:1fr; }
 .lf-brand-canvas .lf-model-card-image { aspect-ratio:1.4; }
 .lf-brand-canvas .lf-compare-tray { padding:16px 22px; }
 .lf-brand-canvas .lf-compare-tray .lf-button { min-height:44px; }
}
@media (min-width:701px) {
 .lf-brand-canvas .lf-hero-home { display:grid; grid-template-columns:.9fr 1.1fr; align-items:stretch; }
 .lf-brand-canvas .lf-hero-home .lf-hero-content { grid-column:1; grid-row:1; align-items:flex-start; text-align:left; padding:48px; }
 .lf-brand-canvas .lf-hero-home h2 { font-size:clamp(40px,4.7vw,68px); }
 .lf-brand-canvas .lf-hero-home .lf-hero-media { grid-column:2; grid-row:1; height:min(53vw,700px); min-height:500px; }
 .lf-brand-canvas .lf-hero-home .lf-hero-media img { object-position:50% 50%; }
 .lf-brand-canvas .lf-hero-home .lf-actions { justify-content:flex-start; }
}
.lf-brand-canvas .lf-preview-variants { display:flex; flex-direction:column; gap:12px; }
.lf-brand-canvas[data-page-kind="home"] .lf-page-header h1 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); }
.lf-brand-canvas .lf-hero-home .lf-hero-content > .lf-eyebrow { display:none; }
@media (max-width:700px) { .lf-brand-canvas .lf-hero-home .lf-hero-content { padding-block:30px; } }
/* Sticky comparison remains in the canvas flow: no old fixed-position translation. */
.lf-brand-canvas .lf-compare-tray { transform:none; translate:none; margin-inline:0; left:auto; right:auto; }
.lf-brand-canvas :is(.lf-home-anchor,[id^="family-"],.lf-story,.lf-category-group,#purchase,#models,#products,#categories) { scroll-margin-top:168px; }
@media (max-width:700px) {
 .lf-brand-canvas :is(.lf-home-anchor,[id^="family-"],.lf-story,.lf-category-group,#purchase,#models,#products,#categories) { scroll-margin-top:120px; }
}
.lf-native-content.lf-brand-canvas.lf-compare-portal { position:fixed; inset:auto 20px 20px; width:auto; max-width:1000px; margin-inline:auto; z-index:2000; background:transparent; }
.lf-compare-portal .lf-compare-tray { position:static; width:100%; margin:0; border:1px solid #dededb; border-radius:16px; box-shadow:0 8px 40px #0002; }
@media (max-width:700px) { .lf-native-content.lf-brand-canvas.lf-compare-portal { inset:auto 10px 10px; } .lf-compare-portal .lf-compare-tray { padding:12px 16px; } }
/* Model photos: native touch scroll, explicit arrows, no autoplay. */
.lf-brand-canvas .lf-editorial-gallery { position:relative; min-width:0; width:100%; }
.lf-brand-canvas .lf-gallery-track { display:flex; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; touch-action:pan-x pan-y; }
.lf-brand-canvas .lf-gallery-track::-webkit-scrollbar { display:none; }
.lf-brand-canvas .lf-gallery-slide { flex:0 0 100%; scroll-snap-align:start; }
.lf-brand-canvas .lf-gallery-navigation { position:absolute; right:24px; bottom:20px; display:flex; gap:10px; align-items:center; }
.lf-brand-canvas .lf-gallery-arrow { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:1px solid #d0d0ce; border-radius:50%; color:#171717 !important; background:#fffffff2 !important; -webkit-text-fill-color:#171717; box-shadow:0 2px 12px #0001; }
.lf-brand-canvas .lf-gallery-arrow:disabled { opacity:.5; cursor:default; }
.lf-brand-canvas .lf-gallery-position { order:-1; min-width:54px; padding:7px 12px; background:#fffffff2; color:#171717; border-radius:30px; font-size:13px; text-align:center; }
.lf-brand-canvas .lf-chapter-bottom { display:flex; justify-content:center; padding-block:18px 48px; }
.lf-brand-canvas .lf-bottom-purchase { padding-block:52px 80px; }
.lf-brand-canvas .lf-bottom-purchase > h2 { font-size:34px; margin-bottom:28px; }
.lf-brand-canvas .lf-nowrap { white-space:nowrap; }
.lf-brand-canvas .lf-chapter-edge { --lf-ink:#f5f5f3; --lf-muted:#c4c4c4; }
.lf-brand-canvas .lf-chapter-edge :is(h2,h3,.lf-format-link) { color:#f5f5f3; }
.lf-brand-canvas .lf-chapter-edge .lf-button-primary { color:#171717 !important; -webkit-text-fill-color:#171717; background:#f4f4f2 !important; border-color:#f4f4f2; }
.lf-brand-canvas .lf-chapter-edge .lf-text-link { color:#f5f5f3; }
.lf-brand-canvas .lf-hero-content :is(h2,p) { color:var(--lf-ink); }
.lf-brand-canvas .lf-hero > .lf-editorial-gallery { order:1; }
@media(min-width:701px) { .lf-brand-canvas .lf-hero-home > .lf-editorial-gallery { grid-column:2; grid-row:1; } }
@media(max-width:700px) { .lf-brand-canvas .lf-gallery-navigation { right:14px; bottom:14px; } .lf-brand-canvas .lf-gallery-arrow { width:44px; height:44px; } }
/* The product grid retains the shop's own card components and controls. */
.lf-brand-canvas .lf-native-store-catalog { padding-block:60px 80px; }
.lf-brand-canvas .lf-native-store-catalog .product-card__title { font-family:var(--font-primary,'Nunito Sans',sans-serif); font-size:1rem; font-weight:600; letter-spacing:normal; color:var(--color-contrast-higher,#171b1e); }
.lf-brand-canvas .lf-native-store-catalog .product-card__switch { flex-shrink:0; }

.lf-brand-canvas .lf-model-gallery { min-width:0; }
.lf-brand-canvas .lf-model-photo { width:100%; aspect-ratio:1; }
.lf-brand-canvas .lf-model-photo img { width:100%;height:100%;object-fit:cover; }

.lf-brand-canvas .lf-breadcrumbs a { color:#0064ae; text-decoration:underline; text-underline-offset:3px; }

.lf-brand-canvas .lf-editorial-gallery .lf-gallery-slide { height:auto; aspect-ratio:16/9; }
@media(max-width:700px) { .lf-brand-canvas .lf-editorial-gallery .lf-gallery-slide { aspect-ratio:16/9; } .lf-brand-canvas .lf-model-gallery .lf-gallery-slide { aspect-ratio:3/2; } }
