/* Vita Fede: Redline-reference visual system. Existing shop data and controls remain native. */
.theme-luxsite {
  --lux-accent: #f90038;
  --lux-ink: #161616;
  --lux-muted: #777;
  --lux-line: #e9e7e5;
  --lux-soft: #f8f7f6;
  --lux-header-desktop: 104px;
  --lux-header-mobile: 65px;
  --lux-focus: #bd002b;
  font-size: 13px;
  line-height: 1.75;
}
.theme-luxsite h1,.theme-luxsite h2 { font-family: var(--lux-font-serif); font-weight: 400; }
.theme-luxsite .lux-shell { width: min(calc(100% - 80px), 1320px); }
.theme-luxsite .lux-site-header { border-bottom: 0; }
.theme-luxsite .lux-header-main { height: 104px; pointer-events: none; }
.theme-luxsite .lux-header-main > * { pointer-events: auto; }
.theme-luxsite .lux-header-main > .lux-header-left,.theme-luxsite .lux-header-main > .lux-header-actions { pointer-events: none; }
.theme-luxsite .lux-header-left > *,.theme-luxsite .lux-header-actions > * { pointer-events: auto; }
.theme-luxsite .lux-wordmark img { max-width: 168px; max-height: 42px; }
.theme-luxsite .lux-header-actions { gap: 5px; }
.theme-luxsite .lux-header-language { order: -1; }
.theme-luxsite .lux-header-icon { width: 30px; height: 36px; }
.theme-luxsite .lux-header-icon svg { width: 18px; height: 18px; stroke-width: 1; }
.theme-luxsite .lux-desktop-nav {
  position: absolute; left: max(40px, calc((100% - 1320px) / 2)); right: calc(50% + 125px);
  top: 0; width: auto; margin-inline: 0; height: 104px; padding: 0; border: 0; justify-content: flex-start; gap: 0 clamp(12px,1.6vw,30px); flex-wrap: wrap; align-content: center;
}
.theme-luxsite .lux-desktop-nav > a,.theme-luxsite .lux-nav-dropdown > summary {
  height: 44px; min-height: 44px; font-size: 10px; letter-spacing: .12em; padding: 0; white-space: nowrap;
}
.theme-luxsite .lux-nav-mega { top: 104px; }
.theme-luxsite .lux-nav-mega-grid { gap: 50px; }
.theme-luxsite .lux-nav-mega-grid { max-width: 1320px; margin-inline: auto; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); }
.theme-luxsite .lux-nav-image img { max-height: 280px; object-fit: cover; }
.theme-luxsite .lux-nav-about { position: fixed; right: max(280px,calc((100% - 1320px)/2 + 270px)); top: 30px; }
.theme-luxsite .lux-nav-about .lux-nav-mega { width: min(600px,calc(100vw - 40px)); }
.theme-luxsite .lux-nav-mega-grid h2 { font-family: var(--lux-font-serif); font-size: 22px; font-weight: 400; }
.theme-luxsite .lux-nav-mega-grid a { font-size: 12px; }
.theme-luxsite .lux-desktop-nav a:hover,.theme-luxsite .lux-nav-mega a:hover { color: var(--lux-accent); }
.theme-luxsite .lux-header-language-panel { border: 1px solid var(--lux-line); box-shadow: 0 8px 22px #00000008; }
.theme-luxsite .lux-hero-content { left: max(8vw,calc((100% - 1120px)/2)); right: auto; bottom: 22%; width: min(43%,520px); text-align: left; }
.theme-luxsite .lux-hero-content h1 { margin: 0 0 34px; font-size: clamp(36px,4vw,64px); line-height: 1.16; font-weight: 400; letter-spacing: .01em; }
.theme-luxsite .lux-hero-scrim { background: linear-gradient(90deg,#0005,transparent 70%); }
.theme-luxsite .lux-outline-button { min-width: 172px; min-height: 58px; padding: 18px 28px; border: 1px solid #ffffff50; border-bottom: 2px solid var(--lux-accent); font-size: 10px; letter-spacing: .15em; }
.theme-luxsite .lux-campaign { min-height: 78dvh; }
.theme-luxsite .lux-campaign-content { bottom: 17%; }
.theme-luxsite .lux-campaign-content h2,.theme-luxsite .lux-craft-content h2 { font-size: clamp(32px,3.2vw,52px); font-weight: 400; }
.theme-luxsite .lux-collection-section,.theme-luxsite .lux-category-section,.theme-luxsite .lux-product-section { padding-block: 90px; }
.theme-luxsite .lux-home-gallery { padding-block: 76px; background: #fff; }
.theme-luxsite .lux-home-gallery-shell { width: min(calc(100% - 80px),1320px); margin-inline: auto; }
.theme-luxsite .lux-home-gallery-heading { margin-bottom: 44px; }
.theme-luxsite .lux-home-gallery-heading h2,.theme-luxsite .lux-collection-section > h2,.theme-luxsite .lux-category-section > h2,.theme-luxsite .lux-product-section > h2 { font-family: var(--lux-font-serif); font-size: clamp(26px,2.5vw,38px); font-weight: 400; letter-spacing: .015em; text-transform: none; }
.theme-luxsite .lux-home-gallery-grid { gap: 20px; }
.theme-luxsite .lux-home-gallery--full .lux-home-gallery-shell { width: 100%; }
.theme-luxsite .lux-home-gallery-tile { background: var(--lux-soft); }
.theme-luxsite .lux-collection-card strong,.theme-luxsite .lux-product-card h3 { font-family: var(--lux-font-serif); font-size: 20px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.theme-luxsite .lux-product-card p { font-size: 12px; }
.theme-luxsite .lux-story { background: #faf9f7; }
.theme-luxsite .lux-story-copy { padding: 8vw; }
.theme-luxsite .lux-story-copy h2 { font-size: clamp(30px,3vw,48px); font-weight: 400; }
.theme-luxsite .lux-story-copy p { font-size: 13px; line-height: 2.1; }
.theme-luxsite .lux-site-footer { margin-top: 70px; color: #555; background: #fff; border-top: 1px solid var(--lux-line); }
.theme-luxsite .lux-footer-home { padding: 25px 0; border-bottom: 0; }
.theme-luxsite .lux-footer-home a { font-size: 10px; letter-spacing: .18em; border-bottom: 1px solid var(--lux-accent); padding-bottom: 5px; }
.theme-luxsite .lux-footer-grid { padding-block: 35px 65px; gap: 60px; }
.theme-luxsite .lux-footer-group button { font-family: var(--lux-font-serif); font-size: 21px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #111; }
.theme-luxsite .lux-footer-group > div a,.theme-luxsite .lux-footer-group > div p { font-size: 12px; line-height: 1.9; }
.theme-luxsite .lux-footer-brand { padding: 35px 0 48px; border-block: 0; }
.theme-luxsite .lux-footer-brand > img { width: 150px; }
.theme-luxsite .lux-footer-brand small { font-size: 10px; }
.theme-luxsite .lux-footer-legal { background: #fff; border-top: 1px solid var(--lux-line); font-size: 10px; }
.theme-luxsite .lux-footer-legal .lux-shell { padding-block: 22px; }
.theme-luxsite .btn-primary { --bs-btn-bg: var(--lux-accent); --bs-btn-border-color: var(--lux-accent); background-color: var(--lux-accent); border-color: var(--lux-accent); color: #fff; border-radius: 0; }
.theme-luxsite .btn-primary:hover { background-color: #d90030; border-color: #d90030; color: #fff; }
.theme-luxsite .offcanvas { border: 0; }
.theme-luxsite .offcanvas-header { border-bottom: 1px solid var(--lux-line); padding: 24px; }
.theme-luxsite .offcanvas-title { font-family: var(--lux-font-serif); font-size: 26px; font-weight: 400; }
@media(max-width:1200px) and (min-width:1025px) {
 .theme-luxsite .lux-desktop-nav { gap: 0 13px; left: 24px; right: calc(50% + 100px); }
 .theme-luxsite .lux-wordmark img { max-width: 150px; }
 .theme-luxsite .lux-shell { width: calc(100% - 48px); }
}
@media(max-width:1024px) {
 .theme-luxsite { --lux-header-mobile: 70px; }
 .theme-luxsite.page-home .lux-site-header,.theme-luxsite .lux-site-header { height: 70px; background: #fff; color: #111; border-bottom: 1px solid #eee; }
 .theme-luxsite.page-home .lux-site-header .lux-wordmark img { filter: none !important; }
 .theme-luxsite.page-home .lux-content-root { padding-top: 70px; }
 .theme-luxsite .lux-shell { width: calc(100% - 32px); }
 .theme-luxsite .lux-header-main { height: 70px; }
 .theme-luxsite .lux-desktop-nav { display: none; }
 .theme-luxsite .lux-wordmark img { max-width: 125px; max-height: 32px; }
 .theme-luxsite .lux-header-main { grid-template-columns: 1fr auto 1fr; }
 .theme-luxsite .lux-header-actions { gap: 0; }
 .theme-luxsite .lux-header-language summary { font-size: 9px; letter-spacing: 0; }
 .theme-luxsite .lux-header-icon { width: 27px; }
 .theme-luxsite .lux-desktop-account { display: none; }
 .theme-luxsite .lux-desktop-cart { display: inline-flex; }
 .theme-luxsite .lux-header-actions .lux-header-currency { display: none; }
 .theme-luxsite .lux-header-actions .lux-header-language,.theme-luxsite .lux-mobile-account,.theme-luxsite .lux-header-actions [href="#offcanvas-search-top"] { display: none; }
 .theme-luxsite .lux-mobile-search { display:flex; margin:18px 24px 10px; border-bottom:1px solid #ddd; }
 .theme-luxsite .lux-mobile-search input { flex:1; min-width:0; padding:14px 0; border:0; background:transparent; font-size:13px; }
 .theme-luxsite .lux-mobile-search button { width:40px; border:0; background:transparent; }
 .theme-luxsite .lux-mobile-search svg { width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1; }
 .theme-luxsite .lux-hero-content { left: 25px; right: 25px; bottom: 14%; width: auto; }
 .theme-luxsite .lux-hero-content h1 { max-width: 80%; font-size: 38px; margin-bottom: 26px; }
 .theme-luxsite .lux-outline-button { min-height: 50px; padding: 14px 22px; }
 .theme-luxsite .lux-home-gallery-shell { width: calc(100% - 32px); }
 .theme-luxsite .lux-home-gallery { padding-block: 48px; }
 .theme-luxsite .lux-home-gallery-grid { gap: 10px; }
 .theme-luxsite .lux-home-gallery-heading { margin-bottom: 25px; }
 .theme-luxsite .lux-collection-section,.theme-luxsite .lux-category-section,.theme-luxsite .lux-product-section { padding-block: 50px; }
 .theme-luxsite .lux-footer-grid { gap: 0; padding-block: 10px 30px; }
 .theme-luxsite .lux-footer-group button { font-size: 18px; }
 .theme-luxsite .lux-site-footer { margin-top: 40px; }
}
@media(prefers-reduced-motion:reduce) { .theme-luxsite * { scroll-behavior: auto !important; } }
