.ad-slide--default { background: #292a2d; }
#ad-carousel { --banner-header-space: 108px; --banner-height: min(40vw, calc(100svh - 176px)); padding-top: var(--banner-header-space); }
#ad-carousel[hidden] { display: none; }
#ad-carousel .ad-carousel-wrapper { height: var(--banner-height); min-height: 0; max-height: none; aspect-ratio: auto; }
#ad-carousel .ad-carousel-track { height: 100%; min-height: 0; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
#ad-carousel .ad-slide { height: 100%; min-height: 0; padding-bottom: 0; transition: none; }
#ad-carousel .ad-slide--incoming { opacity: 1; visibility: visible; pointer-events: none; }
#ad-carousel .ad-slide picture { display: flex; justify-content: center; }
#ad-carousel .ad-slide-img { width: auto; max-width: 100%; height: 100%; object-fit: contain; mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
#ad-carousel .ad-slide-loading .ad-slide-content { position: relative; top: auto; height: 100%; justify-content: center; padding: 24px; }
#ad-carousel .ad-slide-loading .ad-slide-content > * { max-width: 100%; }
#ad-carousel .ad-slide-loading .ad-slide-title { font-size: 24px; }
#ad-carousel .ad-nav-btn { opacity: 1; }
#ad-carousel .ad-nav-btn[hidden], #ad-carousel .ad-dots[hidden], #ad-carousel .ad-carousel-message[hidden] { display: none; }
#ad-carousel .ad-nav-btn:disabled { opacity: .35; cursor: default; }
#ad-carousel .ad-nav-btn:focus-visible, #ad-carousel .ad-dot:focus-visible, #ad-carousel .ad-slide-cta:focus-visible { outline: 2px solid #d7dbff; outline-offset: 4px; }
#ad-carousel .ad-carousel-wrapper:focus-visible { outline: 2px solid #d7dbff; outline-offset: -3px; }
#ad-carousel .ad-dot { position: relative; }
#ad-carousel .ad-dot::after { content: ''; position: absolute; inset: -7px -3px; }
#ad-carousel .ad-carousel-message { position: absolute; z-index: 11; top: 12px; left: 60px; right: 60px; padding: 10px 14px; margin: 0; color: #ffe0e0; background: #5c202c; border-radius: 6px; font-size: 14px; }
.ad-slide--default picture { display: block; width: 100%; height: 100%; }
.ad-slide--default .ad-slide-img { object-fit: contain; }
.ad-slide--default .ad-slide-overlay {
  background: linear-gradient(90deg, rgba(8,8,15,.58), rgba(8,8,15,.18) 38%, transparent 72%), linear-gradient(0deg, rgba(8,8,15,.35), transparent 55%);
  pointer-events: none;
}
#ad-carousel .ad-slide-content { min-width: 0; overflow-wrap: anywhere; }
#ad-carousel .ad-slide-content > * { max-width: 500px; }
#ad-carousel .ad-slide-cta { max-width: 100%; text-align: center; }
@media (min-width: 768px) {
  #ad-carousel .ad-slide-content { padding: 32px 60px 48px; }
  #ad-carousel .ad-slide-content > * { max-width: min(500px, 38%); }
  #ad-carousel .ad-slide-title { font-size: 36px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  #ad-carousel .ad-slide-content { padding: 20px 52px 44px; gap: 8px; }
  #ad-carousel .ad-slide-title { font-size: 28px; }
  #ad-carousel .ad-slide-desc { font-size: 14px; line-height: 1.45; }
  #ad-carousel .ad-slide-badge { padding: 4px 10px; }
  #ad-carousel .ad-slide-cta { padding: 8px 18px; margin-top: 4px; }
}
#live-arrivals .home-product-carousel { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 12px; }
#live-arrivals .horizontal-scroll-grid { display: grid; grid-template-columns: none; grid-template-rows: auto; grid-auto-flow: column; grid-auto-columns: 240px; gap: 16px; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; padding: 8px 0 16px; scrollbar-width: none; }
#live-arrivals .horizontal-scroll-grid::-webkit-scrollbar { display: none; }
#live-arrivals .horizontal-scroll-grid > * { scroll-snap-align: start; }
#live-arrivals .horizontal-scroll-grid:not(:has(.product-card-wow)) { grid-auto-columns: 100%; }
#live-arrivals .home-product-arrow { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border-radius: 50%; border: 1px solid #67677c; background: #171724; color: #fff; font-size: 30px; line-height: 1; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
#live-arrivals .home-product-arrow:hover:not(:disabled) { background: #6366f1; border-color: #a5a7ff; }
#live-arrivals .home-product-arrow:disabled { opacity: .35; cursor: default; }
#live-arrivals .home-product-arrow:focus-visible, #live-arrivals .horizontal-scroll-grid:focus-visible { outline: 2px solid #d7dbff; outline-offset: 3px; }
@media (max-width: 767px) {
  #live-arrivals .home-product-carousel { gap: 8px; }
  #live-arrivals .horizontal-scroll-grid { grid-auto-columns: 160px; }
}
#categories { padding-bottom: 32px; }
.accessories-collection { grid-column: 1 / -1; position: relative; min-width: 0; height: 320px; overflow: hidden; isolation: isolate; display: flex; align-items: center; background: #13141d; scroll-margin-top: 160px; }
.accessories-collection picture { position: absolute; inset: 0; display: block; }
.accessories-collection img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.accessories-collection-overlay { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(8,8,15,.8), rgba(8,8,15,.46) 32%, transparent 68%); }
.accessories-collection-content { position: relative; z-index: 1; width: 42%; min-width: 0; padding: 32px 48px; }
.accessories-collection-content h3 { font-family: var(--font-display); font-size: 40px; line-height: 1.15; letter-spacing: 0; color: #fff; margin: 0 0 12px; }
.accessories-collection-content p { font-size: 16px; line-height: 1.6; color: #ececf2; margin: 0 0 24px; }
.accessories-collection-content .btn { max-width: 100%; white-space: normal; text-align: center; letter-spacing: 0; }
.accessories-collection.motion-ready { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.accessories-collection.motion-ready.is-visible { opacity: 1; transform: none; }
@media (min-width: 768px) and (max-width: 1023px) {
  .accessories-collection { height: 300px; }
  .accessories-collection-content { width: 43%; padding: 24px 28px; }
  .accessories-collection-content h3 { font-size: 32px; }
  .accessories-collection-content p { font-size: 14px; margin-bottom: 18px; }
  .accessories-collection-content .btn { padding: 12px 18px; font-size: 14px; }
}
@media (max-width: 767px) {
  .accessories-collection { height: auto; display: block; }
  .accessories-collection picture { position: relative; aspect-ratio: 3 / 2; }
  .accessories-collection picture::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, #13141d, transparent 24%); }
  .accessories-collection img { object-fit: contain; }
  .accessories-collection-overlay { display: none; }
  .accessories-collection-content { width: 100%; padding: 20px 24px 28px; }
  .accessories-collection-content h3 { font-size: 32px; }
  .accessories-collection-content p { font-size: 14px; margin-bottom: 20px; }
}
#editorial { max-width: 1280px; margin-bottom: 64px; }
#editorial .editorial-grid { grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr) !important; height: auto; aspect-ratio: auto; gap: 24px; align-items: stretch; }
#editorial .editorial-main, #editorial .editorial-small { border-radius: 8px; border: 1px solid #34343f; background: #13141d; min-width: 0; min-height: 0; height: auto; aspect-ratio: auto; display: flex; flex-direction: column; }
#editorial .editorial-side { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 24px; height: auto; min-width: 0; }
#editorial .editorial-small { flex: none; }
#editorial .editorial-img { display: block; width: 100%; object-fit: contain; height: auto; min-height: 0; flex: none; aspect-ratio: auto; transform: none; }
#editorial .editorial-main:hover .editorial-img, #editorial .editorial-small:hover .editorial-img { transform: none; }
#editorial .editorial-overlay { display: none; }
#editorial .editorial-content { position: relative; inset: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 18px; padding: 20px 24px; background: #13141d; flex: 1; align-content: center; min-width: 0; }
#editorial .editorial-content-sm { gap: 8px 16px; padding: 18px 20px; }
#editorial .editorial-tag, #editorial .editorial-title, #editorial .editorial-title-sm, #editorial .editorial-desc { grid-column: 1; margin: 0; }
#editorial .editorial-content .btn { grid-column: 2; grid-row: 1 / span 3; align-self: center; justify-self: start; max-width: 100%; min-height: 44px; padding: 12px 18px; font-size: 14px; line-height: 1.2; white-space: normal; text-align: center; letter-spacing: 0; }
#editorial .editorial-content-sm .btn { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
#editorial .cat-cta-btn:focus-visible { outline: 2px solid #d7dbff; outline-offset: 4px; }
#editorial .editorial-tag { color: #c9dedb; background: transparent; border: 0; border-radius: 0; padding: 0; font-size: 12px; line-height: 1.4; letter-spacing: 0; }
#editorial .editorial-title { font-size: 32px; line-height: 1.15; letter-spacing: 0; }
#editorial .editorial-title-sm { font-size: 26px; line-height: 1.2; letter-spacing: 0; }
#editorial .editorial-desc { color: #d8d8e0; max-width: 360px; font-size: 14px; line-height: 1.5; }
#editorial .collection-reveal { opacity: 1; transform: none; }
#editorial.motion-ready .collection-reveal { opacity: 0; transform: translateY(16px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); }
#editorial.motion-ready .collection-reveal.is-visible { opacity: 1; transform: translateY(0); }
#editorial.motion-ready #editorial-small-1 { transition-delay: .08s; }
#editorial.motion-ready #editorial-small-2 { transition-delay: .12s; }
@media (max-width: 1100px) {
  #editorial .editorial-grid, #editorial .editorial-side { gap: 20px; }
  #editorial .editorial-content-sm { grid-template-columns: 1fr; }
  #editorial .editorial-content-sm .btn { grid-column: 1; grid-row: auto; justify-self: start; }
  #editorial .editorial-content { padding: 18px 20px; }
  #editorial .editorial-title { font-size: 28px; }
  #editorial .editorial-title-sm { font-size: 24px; }
}
@media (max-width: 900px) {
  #editorial .editorial-content { grid-template-columns: 1fr; }
  #editorial .editorial-content .btn { grid-column: 1; grid-row: auto; margin-top: 6px; }
  #editorial .editorial-title-sm { font-size: 22px; }
}
@media (max-width: 767px) {
  #editorial { margin-bottom: 48px; }
  #editorial .editorial-grid { grid-template-columns: 1fr !important; gap: 16px; }
  #editorial .editorial-side { gap: 16px; height: auto; grid-template-rows: auto auto; }
  #editorial .editorial-content { padding: 20px; }
}
@media (max-width: 767px) {
  #ad-carousel { --banner-header-space: 54px; --banner-height: min(calc(125vw + 220px), calc(100svh - 260px)); }
  #ad-carousel .ad-slide { display: flex; flex-direction: column; background: #08080f; }
  #ad-carousel .ad-slide picture { height: 0; min-height: 0; flex: 1; position: relative; aspect-ratio: auto; }
  #ad-carousel .ad-slide picture::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #08080f, transparent 24%); pointer-events: none; }
  #ad-carousel .ad-slide-overlay { display: none; }
  #ad-carousel .ad-slide-content { position: relative; inset: auto; height: var(--banner-caption-height, auto); flex: none; justify-content: center; padding: 12px 20px 44px; gap: 6px; background: #08080f; }
  #ad-carousel .ad-slide-content > * { max-width: 100%; }
  #ad-carousel .ad-slide-title { font-size: 24px; }
  #ad-carousel .ad-slide-desc { font-size: 13px; line-height: 1.45; }
  #ad-carousel .ad-slide-cta { margin-top: 4px; min-height: 44px; }
  #ad-carousel .ad-nav-btn { display: inline-flex; top: auto; bottom: 0; transform: none; width: 44px; height: 44px; background: rgba(8,8,15,.65); }
  #ad-carousel .ad-nav-prev { left: 6px; }
  #ad-carousel .ad-nav-next { right: 6px; }
  #ad-carousel .ad-slide-loading .ad-slide-content { flex: 1; background: transparent; }
}
@media (max-width: 767px) and (max-height: 650px) {
  #ad-carousel { --banner-height: min(calc(40vw + 204px), calc(100svh - 260px)); }
  #ad-carousel .ad-slide-title { font-size: 22px; }
  #ad-carousel .ad-slide-desc { font-size: 12px; line-height: 1.4; }
  #ad-carousel .ad-slide-badge { font-size: 10px; padding: 3px 9px; }
  #ad-carousel .ad-slide-content { padding-top: 8px; gap: 5px; }
}
@media (max-width: 767px) and (min-width: 480px) and (max-height: 500px) {
  #ad-carousel .ad-slide { display: block; }
  #ad-carousel .ad-slide picture { height: 100%; }
  #ad-carousel .ad-slide picture::after { display: none; }
  #ad-carousel .ad-slide-overlay { display: block; }
  #ad-carousel .ad-slide-content { position: absolute; inset: auto 0 0; width: 48%; height: auto; padding: 8px 44px 20px; gap: 3px; background: transparent; }
  #ad-carousel .ad-slide-badge { display: none; }
  #ad-carousel .ad-slide-title { font-size: 17px; }
  #ad-carousel .ad-slide-desc { font-size: 11px; line-height: 1.25; }
  #ad-carousel .ad-slide-cta { min-height: 32px; padding: 6px 12px; margin-top: 2px; font-size: 12px; }
  #ad-carousel .ad-nav-btn { top: 50%; bottom: auto; transform: translateY(-50%); width: 36px; height: 36px; }
  #ad-carousel .ad-slide-loading .ad-slide-content { padding: 8px 24px; }
  #ad-carousel .ad-slide-loading .ad-slide-title { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .accessories-collection.motion-ready { opacity: 1; transform: none; transition: none; }
  #editorial.motion-ready .collection-reveal { opacity: 1; transform: none; transition: none; }
  #editorial .editorial-img { transition: none; }
  #editorial .editorial-main:hover .editorial-img, #editorial .editorial-small:hover .editorial-img { transform: none; }
}
