:root{ --so-red: #c94b4b; --so-red-bright: #ff5b5b; --so-white: #f2f2f2; --so-black: #050505; --so-border: rgba(255,255,255,0.32); --so-border-soft: rgba(255,255,255,0.16); --so-glow: rgba(201,75,75,0.28); --so-logo-height: clamp(300px, 28vw, 451px); --so-header-height: clamp(140px, 12vw, 195px); --so-header-duration: 1800ms; --so-header-ease: cubic-bezier(0.22, 0.61, 0.36, 1); --so-header-mobile-height: 400px; --so-header-mobile-height-shrunk: 140px; --so-font-display: "Oswald", "Arial Narrow", sans-serif; --so-font-body: "Barlow", "Segoe UI", sans-serif; } *{ box-sizing:border-box; } html, body{ padding:0; margin:0; background: var(--so-black); color: var(--so-white); font-family: var(--so-font-body); overflow-x: hidden; } body{ position: relative; min-height: 100vh; } body::before{ content:""; position: fixed; inset: 0; background: radial-gradient(70% 60% at 10% 0%, rgba(201,75,75,0.25), transparent 55%), radial-gradient(60% 60% at 90% 10%, rgba(255,91,91,0.18), transparent 50%), url("/backgrounds/shifted-bg.png"); background-size: cover; background-repeat: no-repeat; background-position: center; opacity: 0.2; pointer-events: none; z-index: 0; } a{ color:inherit; text-decoration:none; } /* ========== Layout ========== */ .container{ width:100%; max-width:100%; padding:0 16px; margin:0 auto; position: relative; z-index: 1; } /* ========== Sections ========== */ .section{ padding: 32px 0; } .section__title{ font-family: var(--so-font-display); font-size: clamp(20px, 2.2vw, 32px); letter-spacing: 0.04em; margin: 0 0 16px; text-transform: uppercase; } .section__header--center{ text-align: center; } .trail-reels__grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; } .trail-reel{ width: 100%; aspect-ratio: 9 / 16; object-fit: cover; border-radius: 12px; border: 3px solid #FF3B30; box-shadow: 0 10px 30px rgba(0,0,0,0.35); } .trail-reels__header{ display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); align-items: start; gap: 16px; margin-bottom: 16px; } .trail-reels__title{ font-family: var(--so-font-display); font-size: clamp(24px, 2.8vw, 38px); font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; text-align: center; text-shadow: -2px -2px 0 #FF3B30, 2px -2px 0 #FF3B30, -2px 2px 0 #FF3B30, 2px 2px 0 #FF3B30; } .trail-reels__title-wrap{ grid-column: 1 / -1; text-align: center; } .trail-reels__subtitle{ margin-top: 6px; font-size: 12px; opacity: 0.9; } .trail-reels__submit{ align-self: start; width: 100%; max-width: none; } /* ========== Header ========== */ .so-header{ background:#000; border-bottom:1px solid var(--so-border-soft); box-shadow: inset 0 -3px 0 #FF3B30; position: sticky; top: 0; z-index: 50; height: var(--so-header-height); overflow: hidden; transition: height var(--so-header-duration) var(--so-header-ease), background var(--so-header-duration) var(--so-header-ease), border-bottom var(--so-header-duration) var(--so-header-ease), box-shadow var(--so-header-duration) var(--so-header-ease); will-change: height, background; } .so-header::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background: #FF3B30; box-shadow: 0 2px 10px rgba(255,59,48,0.35); pointer-events:none; z-index: 1; } /* ========== Debug ========== */ /* DEBUG: header bottom edge */ .so-header::before{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:#00ff8a; pointer-events:none; z-index: 2; } /* DEBUG: header bottom line */ /* (debug line moved to categories in scrolled state) */ @media (min-width: 981px){ .so-header--mobile{ display: none; } } @media (max-width: 980px){ .so-header:not(.so-header--mobile){ display: none; } } /* ============================================= SCROLLED HEADER STATE - Compact Navigation ============================================= */ .so-header.so-header--scrolled{ height: 68px; background: linear-gradient(180deg, rgba(0,0,0,0.98) 0%, rgba(5,5,5,0.96) 100%); backdrop-filter: blur(12px) saturate(1.2); border-bottom: 1px solid rgba(201,75,75,0.25); box-shadow: 0 4px 24px rgba(0,0,0,0.5), 0 1px 0 rgba(201,75,75,0.15) inset; } /* Hide the oversized icons in compact mode */ .so-header--scrolled .so-merch, .so-header--scrolled .so-rewards{ opacity: 0; pointer-events: none; } /* Small home icon top left in scrolled header */ .so-header--scrolled .so-home{ position: fixed; top: -11px; left: 42px; width: 120px; height: 120px; opacity: 1; pointer-events: auto; transform: none; z-index: 100; } .so-header--scrolled .so-home__icon{ width: 120px; height: 120px; } .so-header--scrolled .so-home__icon::before, .so-header--scrolled .so-home__icon::after{ background-size: contain; background-repeat: no-repeat; background-position: center; } /* Small cart icon top right in scrolled header */ .so-header--scrolled .so-cart{ position: fixed; top: -67px; right: 2px; width: 120px; height: 120px; opacity: 1; pointer-events: auto; transform: none; z-index: 100; } .so-header--scrolled .so-cart__icon{ width: 120px; height: 120px; } .so-header--scrolled .so-cart__icon::before, .so-header--scrolled .so-cart__icon::after{ background-size: contain; background-repeat: no-repeat; background-position: center; } /* Small cart badge for scrolled header */ .so-header--scrolled .so-cart__count{ opacity: 1; top: -4px; right: -8px; min-width: 14px; height: 14px; font-size: 9px; line-height: 14px; padding: 0 3px; border-radius: 7px; } /* Restructure the top section for compact layout */ .so-header--scrolled .so-header__top{ padding: 0; height: 100%; align-items: center; } .so-header--scrolled .so-header__left, .so-header--scrolled .so-header__right{ transform: none; opacity: 1; pointer-events: auto; position: static; } /* Logo: resize and center for compact header */ .so-header--scrolled .so-header__logo-wrap{ position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 0; z-index: 20; cursor: pointer; pointer-events: auto; } .so-header--scrolled .so-header__logo{ height: 145px; width: auto; transition: height 600ms cubic-bezier(0.25, 0.1, 0.25, 1); } /* Categories nav: split left and right in compact header */ .so-header--scrolled .so-header__categories{ display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 6px; padding: 0; margin: 0; border-top: none; position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); width: 100%; min-height: unset; } .so-header--scrolled .so-header__nav{ display: flex; flex-direction: row; align-items: center; gap: 8px; height: auto; flex: 1; } .so-header--scrolled .so-header__nav--left{ padding-left: 0; padding-right: 110px; } .so-header--scrolled .so-header__nav--right{ padding-left: 110px; padding-right: 40px; } .so-header--scrolled .so-header__nav--left, .so-header--scrolled .so-header__nav--right{ justify-content: center; } .so-header--scrolled .so-header__nav--left{ justify-content: flex-end; } .so-header--scrolled .so-header__nav--right{ justify-content: flex-start; } /* Compact nav items styling */ .so-header--scrolled .so-navitem{ font-size: 17px; font-weight: 600; letter-spacing: 0.5px; padding: 6px 10px; border-radius: 6px; background: transparent; color: rgba(255,255,255,0.85); transition: background 200ms ease, color 200ms ease, transform 200ms ease, box-shadow 200ms ease; } .so-header--scrolled .so-navicon{ display: inline-block; } .so-header--scrolled .so-navicon--home{ transform: translateY(-10px); } .so-header--scrolled .so-navicon--promo{ transform: translateY(-20px); } .so-header--scrolled .so-navitem:hover{ background: rgba(201,75,75,0.18); color: #fff; transform: translateY(0); box-shadow: 0 0 16px rgba(201,75,75,0.25); text-shadow: 0 0 10px rgba(255,91,91,0.4); } .so-header--scrolled .so-navitem--accent{ color: var(--so-red-bright); } .so-header--scrolled .so-navitem--accent:hover{ background: rgba(201,75,75,0.25); color: var(--so-red-bright); } /* Add subtle divider between nav groups */ .so-header--scrolled .so-header__nav--left::after{ content: ""; display: block; width: 1px; height: 24px; background: linear-gradient(180deg, transparent, rgba(255,255,255,0.15), transparent); margin-left: 8px; } .so-header--scrolled .so-header__nav--right::before{ content: ""; display: block; width: 1px; height: 24px; background: linear-gradient(180deg, transparent, rgba(255,255,255,0.15), transparent); margin-right: 8px; } /* Smooth transitions for all elements */ .so-header__logo{ transition: height var(--so-header-duration) var(--so-header-ease); transform: scale(1.10); transform-origin: center; will-change: height; height: var(--so-logo-height); } .so-header__logo-wrap{ transition: transform var(--so-header-duration) var(--so-header-ease), left var(--so-header-duration) var(--so-header-ease), top var(--so-header-duration) var(--so-header-ease), padding var(--so-header-duration) var(--so-header-ease), position var(--so-header-duration) var(--so-header-ease); will-change: transform; } .so-header__categories{ transition: all var(--so-header-duration) var(--so-header-ease); will-change: transform, opacity; } .so-header__nav{ transition: all var(--so-header-duration) var(--so-header-ease); } .so-navitem{ transition: all var(--so-header-duration) var(--so-header-ease); } .so-header .container{ height:100%; display:flex; flex-direction:column; justify-content:space-between; } .so-header__top{ display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; gap:10px; padding:0; position:relative; min-height: 0; grid-template-columns: 1fr auto 1fr; padding: 0; } .so-auth-link{ position: absolute; top: 6px; right: 16px; z-index: 120; font-size: 12px; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: #fff; background: rgba(201,75,75,0.15); border: 1px solid rgba(201,75,75,0.6); border-radius: 10px; padding: 6px 10px; line-height: 1; text-decoration: none; box-shadow: 0 0 16px rgba(201,75,75,0.2); transition: transform 120ms ease, box-shadow 120ms ease; } .so-auth-link:hover{ transform: scale(1.03); box-shadow: 0 8px 18px rgba(201,75,75,0.35); } .so-header__left{ display:flex; align-items:center; gap:12px; justify-self: start; transform: translateY(-175px); transition: opacity var(--so-header-duration) var(--so-header-ease); will-change: opacity; } .so-header__right{ display:flex; align-items:center; gap:12px; justify-self: end; transform: translateY(-175px); transition: opacity var(--so-header-duration) var(--so-header-ease); will-change: opacity; } /* ========== Icons ========== */ .so-home{ position:relative; display:flex; align-items:center; justify-content:center; gap:0; cursor:pointer; width:120px; height:120px; padding:0; transform: translate(10px, 20px); transition: opacity var(--so-header-duration) var(--so-header-ease); } .so-home__icon{ width:120px; height:120px; display:block; position:relative; filter: drop-shadow(0 0 10px rgba(255,255,255,0.12)); } .so-home__icon::before, .so-home__icon::after{ content:""; position:absolute; inset:0; transition: opacity 400ms ease; background-size: contain; background-position: center; background-repeat: no-repeat; } .so-home__icon::before{ background-image: url("/icons/home-closed.png"); opacity:1; } .so-home__icon::after{ background-image: url("/icons/homeiconopen.png"); opacity:0; } .so-home:hover .so-home__icon::after{ opacity:1; } .so-home:hover .so-home__icon::before{ opacity:0; } .so-header__logo-wrap{ justify-self: center; width: fit-content; height: fit-content; line-height: 0; transform: translateY(-125px); cursor: pointer; border-radius: 20px; padding: 10px; margin-bottom: 0; position: relative; z-index: 100; } @media (min-width: 981px){ .so-header__logo-wrap{ pointer-events: none; } } .so-header__logo{ height:var(--so-logo-height); width:auto; display:block; } .so-header__nav{ display:flex; align-items:stretch; gap:22px; height: 100%; } .so-header__nav--left{ justify-content:flex-start; } .so-header__nav--right{ justify-content:flex-end; } .so-header__categories{ display:grid; grid-template-columns: 1fr 1fr; align-items:stretch; gap:24px; padding:5px 0 8px; min-height: 45px; border-top:1px solid rgba(255,255,255,0.08); position: relative; z-index: 10; margin-top: 0; } .so-navitem{ font-size: clamp(16px, 1.4vw, 22px); font-weight:700; line-height:1.1; letter-spacing:1px; text-transform:uppercase; color:#fff; font-family: var(--so-font-display); text-shadow: 0 0 6px rgba(255,40,40,0.12); transition: all 300ms ease; padding: 8px 12px; border-radius: 8px; display: flex; align-items: center; background: rgba(201,75,75,0.05); box-shadow: 0 0 0 rgba(201,75,75,0); } .so-navicon{ display: none; width: 18px; height: 18px; background-size: contain; background-repeat: no-repeat; background-position: center; flex: 0 0 auto; } .so-navicon--home{ background-image: url("/icons/home-closed.png"); margin-right: 15px; position: relative; top: -10px; } .so-navicon--promo{ background-image: url("/merch.png"); margin-left: 15px; position: relative; top: -20px; } .so-input{ width: 100%; padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.15); background: rgba(10,10,10,0.7); color: #fff; font-size: 14px; outline: none; } .so-input:focus{ border-color: rgba(201,75,75,0.6); box-shadow: 0 0 0 2px rgba(201,75,75,0.2); } .so-icon-btn{ width: 28px; height: 28px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.2); background: rgba(10,10,10,0.6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-2.64-6.36'/%3E%3Cpolyline points='21 3 21 9 15 9'/%3E%3C/svg%3E") center / 16px 16px no-repeat; cursor: pointer; } .so-icon-btn:hover{ border-color: rgba(201,75,75,0.6); box-shadow: 0 0 0 2px rgba(201,75,75,0.2); } .so-navitem:hover{ color: #fff; transform: translateY(-1px); text-shadow: 0 0 15px rgba(255,40,40,0.4); background: rgba(201,75,75,0.15); box-shadow: 0 0 20px rgba(201,75,75,0.3); } .so-navitem--accent{ color: var(--so-red-bright); } @media (min-width: 981px){ .so-navitem{ font-weight: 500; letter-spacing: 0.5px; } .so-header--scrolled .so-navitem{ font-weight: 500; letter-spacing: 0.5px; } } .so-cart{ position:relative; display:flex; align-items:center; justify-content:center; cursor:pointer; width: 120px; height: 120px; transform: none; transition: opacity var(--so-header-duration) var(--so-header-ease); } .so-cart__icon{ width: 120px; height: 120px; display:block; position:relative; filter: drop-shadow(0 0 10px rgba(255,255,255,0.12)); } .so-cart__icon::before, .so-cart__icon::after{ content:""; position:absolute; inset:0; transition: opacity 400ms ease; background-size: contain; background-position: center; background-repeat: no-repeat; } .so-cart__icon::before{ background-image: url("/icons/cart.png"); opacity:1; } .so-cart__icon::after{ background-image: url("/icons/cart-open.png"); opacity:0; } .so-cart:hover .so-cart__icon::after{ opacity:1; } .so-cart:hover .so-cart__icon::before{ opacity:0; } .so-cart:hover .so-cart__count{ top: calc(25% + 85px); right: calc(20% + 62px); transition: top 200ms ease, right 200ms ease; } /* Cart counter badge */ .so-cart__count{ position: absolute; top: calc(25% + 82px); right: calc(20% + 64px); min-width: 18px; height: 18px; padding: 0 5px; background: linear-gradient(135deg, #c94b4b 0%, #a33a3a 100%); color: #fff; font-size: 14px; font-weight: 700; line-height: 18px; text-align: center; border-radius: 9px; box-shadow: 0 2px 8px rgba(0,0,0,0.4), 0 0 0 2px rgba(255,255,255,0.15); z-index: 10; pointer-events: none; animation: cartBadgePop 300ms ease-out; } @keyframes cartBadgePop{ 0%{ transform: scale(0); } 50%{ transform: scale(1.2); } 100%{ transform: scale(1); } } /* Adjust badge position in scrolled header - hidden with cart icon */ .so-header--scrolled .so-cart__count{ opacity: 0; } .so-merch{ position:relative; width: clamp(80px, 7.5vw, 120px); height: clamp(80px, 7.5vw, 120px); display:flex; align-items:center; justify-content:center; cursor:pointer; transform: translate(clamp(70px, 8vw, 125px), clamp(5px, 1vw, 15px)); transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1); } .so-merch:hover{ transform: translate(clamp(70px, 8vw, 125px), clamp(5px, 1vw, 15px)); } .so-merch__icon{ position:absolute; width: 120px; height: 120px; background-size: contain; background-repeat: no-repeat; background-position: center; object-fit:contain; opacity:0; transition: opacity 500ms ease; } .so-merch__icon--active{ opacity:1; } .so-rewards{ position:relative; width: clamp(132px, 12vw, 198px); height: clamp(132px, 12vw, 198px); display:flex; align-items:center; transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1); justify-content:center; cursor:pointer; transform: translateY(20px); outline: none; } .so-rewards:focus-visible{ outline: none; } .so-rewards__icon{ width: 120px; height: 120px; display:block; position:relative; filter: drop-shadow(0 0 10px rgba(255,255,255,0.12)); } .so-rewards__icon::before, .so-rewards__icon::after{ content:""; position:absolute; inset:0; background-position: center; transition: opacity 400ms ease; background-size: contain; background-position: center; background-repeat: no-repeat; } .so-rewards__icon::before{ background-image: url("/icons/rewardsiconclosed.png"); opacity:1; } .so-rewards__icon::after{ background-image: url("/icons/rewardsiconopen.png"); opacity:0; transform: translateY(-10px); } .so-rewards:hover .so-rewards__icon::after{ opacity:1; } .so-rewards:hover .so-rewards__icon::before{ opacity:0; } @media (min-width: 981px){ .so-header{ position: fixed; left: 0; right: 0; } main{ padding-top: var(--so-header-height); transition: padding-top var(--so-header-duration) var(--so-header-ease); } body.so-header-scrolled main{ padding-top: 68px; } .so-header__top{ padding: 16px; } .so-header{ overflow: visible; transition: background 300ms ease, border-bottom 300ms ease, box-shadow 300ms ease; } } /* Tablet adjustments for scrolled header */ @media (min-width: 981px) and (max-width: 1200px){ .so-header--scrolled .so-navitem{ font-size: 11px; padding: 6px 10px; letter-spacing: 0.6px; } .so-header--scrolled .so-header__logo{ height: 48px; } } .so-header--scrolled .so-home, .so-header--scrolled .so-cart{ overflow: hidden; } .so-header--scrolled .so-cart{ transform: none; } @media (max-width: 980px){ .so-auth-link{ top: 8px; right: 10px; font-size: 11px; padding: 5px 8px; } } .so-header__mobile-actions{ display:none; align-items:center; justify-content:space-between; gap:12px; padding:4px 0 8px; width:100%; } .so-header__mobile-cats{ display:none; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:8px; padding:4px 0 10px; } .section{ padding:34px 0; } .section--sbv{ margin-top:0; padding-top:0; padding-bottom:14px; } .section--categories{ margin-top:0; padding-top:0; } .section__header{ margin-bottom:18px; } .section__header h2{ margin:0 0 6px 0; font-family: var(--so-font-display); font-size:32px; font-weight:900; letter-spacing:0.6px; text-shadow: -2px -2px 0 #FF3B30, 2px -2px 0 #FF3B30, -2px 2px 0 #FF3B30, 2px 2px 0 #FF3B30; } .section__header p{ margin:0; opacity:0.8; } .card{ border:1px solid rgba(201,75,75,0.35); border-radius:16px; background: rgba(255,255,255,0.03); backdrop-filter: blur(4px); } .grid-4{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:14px; transform: translateY(10px); } @media (max-width: 980px){ .grid-4{ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); } } .cat-card{ position:relative; overflow:hidden; border:3px solid #FF3B30; border-radius:14px; background:#0a0a0a; background-size: cover; background-position: center; min-height:170px; display:flex; align-items:flex-end; padding:14px; transition: transform 140ms ease; } .cat-card:hover{ transform: scale(1.03); } .cat-card__overlay{ position:absolute; inset:0; background: none; } .cat-card__label{ position:relative; z-index:1; font-weight:700; letter-spacing:0.6px; font-family: var(--so-font-display); } .sbv{ display:flex; flex-direction: column; justify-content: space-between; gap:12px; padding:18px; background-image: url("/assets/sbvoff.png"); background-size: cover; background-position: center; position: relative; border:3px solid #FF3B30; border-radius:16px; box-shadow: 0 10px 30px rgba(0,0,0,0.35); min-height: 170px; transform: none; } .sbv::after{ content:""; position:absolute; inset:0; background: url("/assets/sbvon.png") center / cover no-repeat; border-radius:16px; opacity:0; transition: opacity 250ms ease; z-index:0; pointer-events:none; } .sbv::before{ content:""; position:absolute; inset:0; background: none; border-radius:16px; z-index:1; pointer-events:none; } .sbv--active::after{ opacity:1; } .sbv > *{ position:relative; z-index:2; } .sbv__title{ font-weight:800; letter-spacing:0.6px; margin:0 0 12px 0; font-size:30px; font-weight:900; text-shadow: -2px -2px 0 #FF3B30, 2px -2px 0 #FF3B30, -2px 2px 0 #FF3B30, 2px 2px 0 #FF3B30; text-align:center; } .sbv-row{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:12px; width:100%; margin-top: 10px; transform: translateY(-5px); } .sbv-actions{ display:flex; justify-content:center; width:100%; margin-top: 50px; } .sbv-actions .btn{ width: 60%; } @media (max-width: 980px){ .sbv-row{ grid-template-columns: repeat(2, minmax(0,1fr)); } .sbv-actions .btn{ width: 100%; } } .select{ width:100%; background: rgba(8,8,8,0.9); color:var(--so-white); border:1px solid var(--so-border-soft); border-radius:12px; padding:20px 12px; outline:none; transition: background 200ms ease, border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; } .select:focus{ border-color: rgba(201,75,75,0.5); box-shadow: 0 0 0 2px rgba(201,75,75,0.2); transform: translateY(-1px); } .btn{ background: #FF3B30; color:#fff; border:none; border-radius:12px; padding:12px 14px; font-weight:800; cursor:pointer; transition: transform 120ms ease, box-shadow 120ms ease; text-transform: uppercase; letter-spacing:0.6px; } .btn:hover{ transform: scale(1.03); box-shadow: 0 8px 18px rgba(201,75,75,0.35); } .products{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:14px; } @media (max-width: 980px){ .products{ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); } } @media (max-width: 420px){ .grid-4{ grid-template-columns: 1fr; } .products{ grid-template-columns: 1fr; } } .prod{ border:1px solid var(--so-border); border-radius:14px; overflow:hidden; background:#090909; transition: transform 140ms ease; } .prod:hover{ transform: scale(1.02); } .prod__link{ display:block; color:inherit; text-decoration:none; } .prod__img{ width:100%; aspect-ratio: 1 / 1; object-fit: cover; display:block; background:#111; } .prod__body{ padding:12px; } .prod__actions{ padding:0 12px 12px; } .btn--add{ width:100%; text-align:center; display:inline-block; } .prod__name{ font-weight:800; margin:0 0 6px 0; font-size:14px; } .prod__price{ font-weight:700; opacity:0.95; } .layout-2col{ display:grid; grid-template-columns: 280px 1fr; gap:16px; } @media (max-width: 980px){ .layout-2col{ grid-template-columns: 1fr; gap:12px; } .container{ padding: 0 12px; } .section{ padding: 24px 0; } .card, .cat-card, .filter-card, .prod{ width: 100%; min-width: 0; } .filter-card__row{ grid-template-columns: 1fr; } } .filter-card{ padding:16px; display:flex; flex-direction:column; gap:12px; background: rgba(10,10,10,0.7); } .filter-card__title{ font-family: var(--so-font-display); font-size:18px; letter-spacing:0.8px; text-transform:uppercase; margin-bottom:4px; } .filter-card__group{ display:flex; flex-direction:column; gap:8px; } .filter-card__label{ font-size:12px; opacity:0.85; text-transform:uppercase; letter-spacing:0.8px; } .filter-card__row{ display:grid; grid-template-columns: 1fr 1fr; gap:8px; } .filter-card__input, .filter-card__select{ width:100%; background: rgba(8,8,8,0.9); color:var(--so-white); border:1px solid var(--so-border-soft); border-radius:10px; padding:10px 12px; outline:none; font-size:13px; } .filter-card__toggle{ display:flex; align-items:center; gap:8px; font-size:12px; opacity:0.9; } .filter-card__actions{ display:grid; grid-template-columns: 1fr 1fr; gap:8px; } .btn--ghost{ background: transparent; color:#fff; border:1px solid rgba(255,255,255,0.2); } .btn--ghost:hover{ box-shadow: 0 6px 16px rgba(0,0,0,0.35); } .filter-card__summary{ font-size:11px; opacity:0.7; line-height:1.4; } .content-empty{ min-height: 220px; display:flex; flex-direction:column; justify-content:center; gap:8px; padding:16px; border-radius:14px; border:1px dashed rgba(255,255,255,0.2); background: rgba(8,8,8,0.4); } .page-title{ margin:0; font-family: var(--so-font-display); text-transform: uppercase; letter-spacing: 0.8px; } @media (max-width: 980px){ .filter-card{ margin-bottom: 8px; } .content-empty{ padding:12px; } } .footer{ margin-top:30px; border-top:1px solid var(--so-border-soft); background:#000; background-image:none; opacity:1; } .footer__inner{ padding:26px 0; display:grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap:18px; } @media (max-width: 980px){ .footer__inner{ grid-template-columns: repeat(2, minmax(0, 1fr)); } .footer__brand{ grid-column: 1 / -1; } .footer__col--legal{ grid-column: 1 / -1; } } .footer h4{ margin:0 0 10px 0; font-size:13px; letter-spacing:0.6px; text-transform:uppercase; opacity:0.95; } .footer a{ display:block; padding:6px 0; opacity:0.9; } .footer a:hover{ opacity:1; } .footer__payments{ border-top:1px solid rgba(255,255,255,0.08); padding:14px 0 24px; } .footer__payments-inner{ display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:12px; opacity:0.85; } .logo-header{ background: #000; border-bottom: 1px solid var(--so-border-soft); } .logo-header__inner{ display: flex; justify-content: center; align-items: center; padding: 0; position: relative; } .logo-header__logo img{ height: 240px; width: auto; display: block; } .logo-header__home{ position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 108px; height: 108px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: rgba(201,75,75,0.14); border: 1px solid rgba(201,75,75,0.35); box-shadow: 0 6px 18px rgba(0,0,0,0.35); } .logo-header__home-icon{ width: 64px; height: 64px; background: url("/icons/home-closed.png") center/contain no-repeat; display: block; } .logo-header__home:hover .logo-header__home-icon{ background-image: url("/icons/homeiconopen.png"); } .info-page{ max-width: 920px; margin: 0 auto; } .info-page__header{ margin-bottom: 18px; text-align: center; } .info-page__title{ font-family: var(--so-font-display); font-size: clamp(26px, 3.2vw, 42px); letter-spacing: 0.04em; margin: 0 0 6px; text-transform: uppercase; } .info-page__subtitle{ margin: 0; opacity: 0.85; } .info-page__body{ display: grid; gap: 16px; line-height: 1.65; font-size: 15px; } .info-page__card{ border: 1px solid rgba(201,75,75,0.35); border-radius: 14px; padding: 16px; background: rgba(255,255,255,0.03); backdrop-filter: blur(4px); } .info-page__card h2{ margin: 0 0 8px 0; font-size: 16px; text-transform: uppercase; letter-spacing: 0.06em; } .info-page__list{ margin: 0; padding-left: 18px; } @media (max-width: 980px){ .logo-header__logo img{ height: 150px; } .info-page__body{ font-size: 14px; } } @media (max-width: 520px){ .logo-header__logo img{ height: 110px; } .logo-header__home{ width: 88px; height: 88px; } .logo-header__home-icon{ width: 48px; height: 48px; } } .footer__payment-logos{ display:flex; align-items:center; gap:14px; flex-wrap: wrap; } .footer__payment-logos img{ height:26px; width:auto; filter: grayscale(1) brightness(1.3); } .connect-page__inner{ max-width: 980px; } .connect-page__subtitle{ opacity: 0.85; margin-bottom: 18px; } .connect-card{ border: 1px solid rgba(201,75,75,0.35); border-radius: 14px; padding: 16px; background: rgba(255,255,255,0.03); margin-bottom: 16px; } .connect-card h2{ margin: 0 0 10px 0; font-size: 16px; text-transform: uppercase; letter-spacing: 0.06em; } .connect-form{ display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; } .connect-form input{ width: 100%; background: rgba(8,8,8,0.9); color: var(--so-white); border: 1px solid var(--so-border-soft); border-radius: 10px; padding: 10px 12px; outline: none; font-size: 13px; } .connect-actions{ display: flex; flex-wrap: wrap; gap: 10px; } .connect-status{ margin-top: 10px; font-size: 13px; opacity: 0.9; } .connect-muted{ margin-top: 8px; font-size: 13px; opacity: 0.8; } .connect-message{ margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: rgba(201,75,75,0.12); border: 1px solid rgba(201,75,75,0.35); } .storefront-page__inner{ max-width: 1000px; } .storefront-muted{ opacity: 0.8; margin-bottom: 10px; } .storefront-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; } .storefront-card{ border: 1px solid rgba(201,75,75,0.35); border-radius: 14px; padding: 16px; background: rgba(255,255,255,0.03); } .storefront-card h3{ margin: 0 0 6px 0; } .storefront-price{ margin: 8px 0 12px; font-weight: 700; } .storefront-actions{ display: flex; flex-wrap: wrap; gap: 8px; } .btn--ghost{ background: transparent; border: 1px solid rgba(201,75,75,0.5); box-shadow: none; } .payment-form{ border: 1px solid rgba(201,75,75,0.35); border-radius: 14px; padding: 16px; background: rgba(255,255,255,0.03); max-width: 520px; } .payment-form h2{ margin-top: 0; } .payment-muted{ opacity: 0.85; } .payment-price{ margin: 10px 0 14px; font-weight: 700; } .payment-section{ margin-bottom: 12px; } .auth-page__inner{ max-width: 520px; } .auth-page__inner--wide{ max-width: 960px; } .auth-page__grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; } .auth-card h2{ margin: 0 0 6px 0; } .auth-card{ border: 1px solid rgba(201,75,75,0.35); border-radius: 14px; padding: 16px; background: rgba(255,255,255,0.03); display: grid; gap: 10px; } .auth-card input{ width: 100%; background: rgba(8,8,8,0.9); color: var(--so-white); border: 1px solid var(--so-border-soft); border-radius: 10px; padding: 10px 12px; outline: none; font-size: 13px; } .cart-page__inner{ max-width: 980px; } .cart-list{ display: grid; gap: 12px; margin-bottom: 16px; } .cart-item{ border: 1px solid rgba(201,75,75,0.35); border-radius: 14px; padding: 14px; background: rgba(255,255,255,0.03); display: flex; align-items: center; justify-content: space-between; gap: 12px; } .cart-item__info{ display: grid; gap: 6px; } .cart-item__name{ font-weight: 700; } .cart-item__price{ opacity: 0.85; font-size: 13px; } .cart-item__actions{ display: flex; align-items: center; gap: 10px; } .cart-item__actions input{ width: 70px; background: rgba(8,8,8,0.9); color: var(--so-white); border: 1px solid var(--so-border-soft); border-radius: 10px; padding: 8px 10px; outline: none; font-size: 13px; } .cart-summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(201,75,75,0.35); border-radius: 14px; padding: 14px; background: rgba(255,255,255,0.03); } .cart-shipping{ border: 1px solid rgba(201,75,75,0.35); border-radius: 14px; padding: 14px; background: rgba(255,255,255,0.03); margin-bottom: 16px; } .cart-shipping__grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-bottom: 12px; } .cart-shipping__card{ display: grid; gap: 8px; } .cart-shipping__card h3{ margin: 0 0 6px 0; font-size: 14px; letter-spacing: 0.05em; text-transform: uppercase; } .cart-shipping__card input{ width: 100%; background: rgba(8,8,8,0.9); color: var(--so-white); border: 1px solid var(--so-border-soft); border-radius: 10px; padding: 8px 10px; outline: none; font-size: 13px; } @media (max-width: 680px){ .cart-item{ flex-direction: column; align-items: flex-start; } .cart-summary{ flex-direction: column; align-items: flex-start; } } .admin-page__inner{ max-width: 1100px; } .admin-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin-top: 12px; } .admin-card{ border: 1px solid rgba(201,75,75,0.35); border-radius: 14px; padding: 14px; background: rgba(255,255,255,0.03); display: grid; gap: 10px; } .admin-card input, .admin-card textarea{ width: 100%; background: rgba(8,8,8,0.9); color: var(--so-white); border: 1px solid var(--so-border-soft); border-radius: 10px; padding: 10px 12px; outline: none; font-size: 13px; } .admin-card textarea{ min-height: 80px; resize: vertical; } .admin-row{ display: flex; align-items: center; gap: 8px; } .admin-currency{ opacity: 0.8; font-size: 12px; } .admin-toggle{ display: flex; align-items: center; gap: 8px; font-size: 13px; } .so-hero{ padding:40px 0 28px; background: linear-gradient(120deg, rgba(0,0,0,0.9), rgba(0,0,0,0.6)), url("/backgrounds/shifted-bg-alt.png"); background-size: cover; border-bottom:1px solid var(--so-border-soft); } .so-hero__inner{ display:grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap:28px; align-items:center; } .so-hero__content h1{ margin:0 0 10px 0; font-family: var(--so-font-display); font-size:42px; letter-spacing:0.6px; } .so-hero__content p{ margin:0 0 18px 0; opacity:0.85; line-height:1.6; } .so-hero__eyebrow{ font-size:12px; letter-spacing:3px; text-transform:uppercase; color: var(--so-red-bright); margin-bottom:8px; } .so-hero__cta{ display:flex; gap:12px; flex-wrap: wrap; margin-bottom:14px; } .badge-btn img{ height:46px; width:auto; display:block; filter: drop-shadow(0 6px 14px rgba(0,0,0,0.45)); } .so-hero__payments{ display:flex; gap:12px; align-items:center; flex-wrap: wrap; } .so-hero__payments img{ height:22px; width:auto; filter: grayscale(1) brightness(1.2); } .so-hero__media{ display:grid; gap:16px; } .so-hero__video{ border-radius:18px; overflow:hidden; border:1px solid var(--so-border-soft); box-shadow: 0 20px 40px rgba(0,0,0,0.4); } .so-hero__video video{ width:100%; display:block; } .so-hero__stack{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px; } .so-hero__stack img{ width:100%; border-radius:14px; border:1px solid var(--so-border-soft); object-fit: cover; aspect-ratio: 3 / 4; } .feature-grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; } .feature-card{ display:grid; grid-template-columns: 140px 1fr; gap:14px; align-items:center; border:1px solid var(--so-border-soft); border-radius:16px; padding:14px; background: rgba(0,0,0,0.55); } .feature-card img{ width:100%; height:100%; object-fit: cover; border-radius:12px; } .feature-card h3{ margin:0 0 6px 0; font-family: var(--so-font-display); } .feature-card p{ margin:0; opacity:0.8; font-size:14px; } .feature-card--wide{ grid-column: 1 / -1; grid-template-columns: 200px 1fr; } .section--media{ background: linear-gradient(180deg, rgba(0,0,0,0.0), rgba(0,0,0,0.7)); border-top:1px solid rgba(255,255,255,0.06); border-bottom:1px solid rgba(255,255,255,0.06); } .media-grid{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; } .media-card{ border-radius:16px; overflow:hidden; border:3px solid #FF3B30; background:#0c0c0c; } .media-card video, .media-card img{ width:100%; display:block; object-fit: cover; aspect-ratio: 4 / 3; } @media (max-width: 980px){ /* ============================================= MOBILE HEADER - Clean Logo + Categories Only ============================================= */ .so-header{ height: auto; padding: 0; margin: 0; background: linear-gradient(180deg, rgba(0,0,0,0.98) 0%, rgba(5,5,5,0.95) 100%); border-bottom: 1px solid rgba(201,75,75,0.2); overflow: visible; position: fixed; top: 0; left: 0; right: 0; z-index: 60; height: var(--so-header-mobile-height); overflow: hidden; transition: height var(--so-header-duration) var(--so-header-ease); } .so-header .container{ padding: 0 12px; } main{ padding-top: var(--so-header-mobile-height); transition: padding-top var(--so-header-duration) var(--so-header-ease); } body.so-header-scrolled main{ padding-top: var(--so-header-mobile-height); } .so-header__top{ grid-template-columns: 1fr; justify-items: center; padding: 10px 0 6px; gap: 0; position: relative; max-height: 260px; opacity: 1; height: auto; transition: max-height var(--so-header-duration) var(--so-header-ease), opacity var(--so-header-duration) var(--so-header-ease), padding var(--so-header-duration) var(--so-header-ease); } /* Hide ALL icons on mobile - only logo and categories */ .so-header__left, .so-header__right, .so-home, .so-cart, .so-merch, .so-rewards{ display: none; } /* Logo - centered and appropriately sized */ .so-header__logo-wrap{ position: relative; top: 0; left: auto; transform: none; margin: 0; margin-bottom: 0; padding: 0; display: flex; justify-content: center; align-items: center; line-height: 0; z-index: 2; pointer-events: none; opacity: 1; height: 187px; overflow: visible; transition: transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1), opacity 300ms ease, margin-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1), max-height var(--so-header-duration) var(--so-header-ease); max-height: 220px; } .so-header__logo{ height: 375px; width: auto; transform: scale(1.10); transform-origin: center; filter: drop-shadow(0 4px 20px rgba(201,75,75,0.15)); transition: height 400ms cubic-bezier(0.25, 0.1, 0.25, 1); pointer-events: none; } /* Category navigation - clean horizontal layout */ .so-header__categories{ grid-template-columns: 1fr; gap: 0; padding: 0; border-top: none; margin-top: 0; position: relative; z-index: 3; } .so-header__nav{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); justify-content: center; align-items: center; gap: 6px; width: 100%; margin-bottom: 10px; gap: 6px; margin-bottom: 10px; position: relative; } .so-header__mobile-tools{ display: grid; grid-template-columns: 1fr 44px; gap: 8px; align-items: center; width: 100%; margin-bottom: 15px; margin-top: 10px; } .so-mobile-corner{ position: absolute; top: -38px; width: 110px; height: 110px; display: grid; place-items: center; z-index: 5; } .so-mobile-corner--home{ left: -33px; top: -83px; } .so-mobile-corner--cart{ right: -25px; top: -75px; } .so-mobile-corner__icon{ width: 100px; height: 100px; background-size: contain; background-repeat: no-repeat; background-position: center; } .so-mobile-corner__icon--home{ background-image: url("/icons/home-closed.png"); transform: scale(0.6); transform-origin: center; } .so-mobile-corner__icon--cart{ background-image: url("/icons/cart.png"); } /* Shrunk header (separate component) */ .so-header--shrunk .so-header__top{ padding: 0; max-height: 0; opacity: 0; overflow: hidden; transition: height var(--so-header-duration) var(--so-header-ease), padding var(--so-header-duration) var(--so-header-ease); } .so-header--shrunk .so-header__logo-wrap{ opacity: 0; transform: translateY(-12px) scale(0.94); max-height: 0; margin-bottom: 0; pointer-events: none; transition: transform var(--so-header-duration) var(--so-header-ease), opacity var(--so-header-duration) var(--so-header-ease), max-height var(--so-header-duration) var(--so-header-ease); } .so-header--shrunk .so-header__categories{ margin-top: 0; } .so-header--shrunk .so-header__categories{ transition: margin-top var(--so-header-duration) var(--so-header-ease); } .so-header--mobile.so-header--shrunk{ height: var(--so-header-mobile-height-shrunk); } .so-header--mobile.so-header--hidden{ height: 0; border-bottom: none; box-shadow: none; } .so-header__pulltab{ position: fixed; top: calc(var(--so-header-mobile-height) - 12px); left: 50%; transform: translate(-50%, 0); width: 64px; height: 14px; border-radius: 0 0 10px 10px; border: 1px solid rgba(255,59,48,0.55); background: rgba(0,0,0,0.8); box-shadow: 0 4px 10px rgba(0,0,0,0.35); display: grid; place-items: center; z-index: 70; opacity: 0.85; pointer-events: auto; transition: top var(--so-header-duration) var(--so-header-ease), opacity 300ms ease; } .so-header__pulltab--visible{ opacity: 1; pointer-events: auto; } .so-header__pulltab-grip{ width: 28px; height: 3px; border-radius: 999px; background: rgba(255,255,255,0.65); } .so-header__pulltab--shrunk{ top: calc(var(--so-header-mobile-height-shrunk) - 12px); } .so-header__pulltab--hidden{ top: 0; } .so-auth-icon{ width: 44px; height: 44px; border-radius: 12px; border: 1px solid rgba(255,59,48,0.85); background: linear-gradient(135deg, #ff3b30 0%, #c92f26 100%); display: grid; place-items: center; box-shadow: 0 8px 18px rgba(201,75,75,0.35); } .so-auth-icon__glyph{ width: 22px; height: 22px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 1 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); background-size: contain; background-repeat: no-repeat; background-position: center; } .so-header__search{ width: 100%; height: 44px; border-radius: 12px; border: 1px solid rgba(255,59,48,0.7); background: rgba(8,8,8,0.8); color: #fff; padding: 0 12px; font-size: 13px; } .so-header__nav--left, .so-header__nav--right{ justify-content: center; } .so-header__nav--lowered{ margin-top: 3px; margin-bottom: 10px; } /* Category items - tap-friendly and polished */ .so-navitem{ font-size: 10.7px; font-weight: 700; letter-spacing: 1.2px; padding: 9px 12px; border-radius: 9px; background-color: rgba(0,0,0,0.2); background-size: calc(140% + 10px) calc(140% + 10px); background-repeat: no-repeat; background-position: center; border: 1px solid rgba(255,255,255,0.1); color: rgba(255,255,255,0.88); transition: all 180ms ease; min-height: 48px; display: flex; align-items: center; justify-content: center; } .so-navitem[data-cat="Drivetrain"]{ background-image: url("/categories/cat-drivetrain.png") !important; background-color: rgba(0,0,0,0.2) !important; background-size: calc(140% + 10px) calc(140% + 10px) !important; background-repeat: no-repeat !important; background-position: center !important; } .so-navitem__label{ line-height: 1; min-height: 40px; width: 100%; display: flex; align-items: center; justify-content: center; text-shadow: 0 1px 6px rgba(0,0,0,0.6); } .so-navitem:hover, .so-navitem:active{ background-color: rgba(201,75,75,0.18); background-image: inherit; border-color: rgba(201,75,75,0.35); color: #fff; transform: none; box-shadow: 0 2px 8px rgba(201,75,75,0.25), 0 0 0 1px rgba(201,75,75,0.1) inset; } .so-navitem--accent{ color: var(--so-red-bright); background: linear-gradient(180deg, rgba(201,75,75,0.12) 0%, rgba(201,75,75,0.06) 100%); border-color: rgba(201,75,75,0.28); box-shadow: 0 1px 3px rgba(0,0,0,0.2), 0 0 12px rgba(201,75,75,0.08); } .so-navitem--accent:hover, .so-navitem--accent:active{ background: linear-gradient(180deg, rgba(201,75,75,0.25) 0%, rgba(201,75,75,0.15) 100%); border-color: rgba(201,75,75,0.45); box-shadow: 0 2px 10px rgba(201,75,75,0.3), 0 0 16px rgba(201,75,75,0.15); } /* Non-header mobile styles */ .section{ padding: 20px 0; } .section--sbv, .section--categories{ margin-top: 0; } .sbv{ flex-direction: column; } .trail-reels__header{ display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); align-items: start; text-align: center; } .trail-reels__submit{ width: 100%; max-width: 100%; } .trail-reels__grid{ grid-template-columns: 1fr; } .footer__inner{ grid-template-columns: 1fr; } .cat-card{ min-height: 155px; } .so-hero__inner{ grid-template-columns: 1fr; } .so-hero__content h1{ font-size: 32px; } .feature-grid{ grid-template-columns: 1fr; } .media-grid{ grid-template-columns: 1fr; } .footer__payments-inner{ flex-direction: column; align-items: flex-start; } }