/* IRONLEMON storefront · navegación y páginas multipágina */
:root {
    --store-navy: #06122d;
    --store-navy-2: #081a3f;
    --store-blue: #1877ee;
    --store-blue-light: #62adff;
    --store-cyan: #42c7ff;
    --store-black: #000;
    --store-surface: #070a10;
    --store-surface-2: #0b1019;
    --store-border: #1d2d45;
    --store-copy: #9aabc0;
}

body { background: #000; }
body.mobile-menu-open { overflow: hidden; }
.store-container { width: min(1280px, calc(100% - 40px)); margin-inline: auto; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

/* Header inspirado en una tienda profesional, conservando la identidad IRONLEMON. */
.utility-bar { position: relative; z-index: 52; border-bottom: 1px solid rgba(98,173,255,.13); background: #020713; color: #8b9bb2; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.utility-inner { min-height: 35px; display: flex; align-items: center; gap: 28px; }
.utility-highlight { display: inline-flex; align-items: center; gap: 8px; color: #c3d7f1; }
.utility-highlight i { width: 6px; height: 6px; border-radius: 50%; background: #3a9cff; box-shadow: 0 0 13px #1877ee; }
.utility-message { margin-inline: auto; }
.utility-links { display: flex; align-items: center; gap: 20px; }
.utility-links a:hover { color: #fff; }

.store-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(98,173,255,.15); background: rgba(3,9,24,.96); box-shadow: 0 10px 35px rgba(0,0,0,.22); backdrop-filter: blur(18px); }
.store-header-main { min-height: 86px; display: grid; grid-template-columns: auto minmax(280px, 1fr) auto; align-items: center; gap: 30px; }
.store-brand { min-width: 0; display: inline-flex; align-items: center; gap: 12px; }
.store-brand-mark { position: relative; overflow: hidden; width: 51px; height: 51px; flex: 0 0 auto; border: 1px solid rgba(98,173,255,.34); border-radius: 50%; background: #07152f; box-shadow: 0 10px 28px rgba(0,0,0,.3); }
.store-brand-mark img { position: absolute; top: 50%; left: 50%; width: 270%; max-width: none; transform: translate(-50%,-50%); }
.store-brand-copy { display: grid; gap: 4px; line-height: 1; }
.store-brand-copy strong { color: #f5f8ff; font-size: 20px; font-weight: 950; letter-spacing: .035em; }
.store-brand-copy small { color: #7e97b7; font-size: 7px; font-weight: 850; letter-spacing: .28em; }

.header-search { min-width: 0; height: 47px; display: grid; grid-template-columns: 1fr 58px; overflow: hidden; border: 1px solid #274d7f; border-radius: 9px; background: #080e19; box-shadow: inset 0 0 0 1px rgba(255,255,255,.02); }
.header-search input { min-width: 0; padding: 0 18px; border: 0; outline: 0; background: transparent; color: #f2f7ff; font-size: 13px; }
.header-search input::placeholder { color: #71839a; }
.header-search:focus-within { border-color: #438ff1; box-shadow: 0 0 0 3px rgba(24,119,238,.13); }
.header-search button { display: grid; place-items: center; border: 0; background: linear-gradient(135deg,#2388ff,#0f63d2); }
.header-search svg, .shop-inline-search svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 2; }

.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.account-action, .store-cart-trigger { min-height: 47px; display: flex; align-items: center; gap: 9px; border: 0; background: transparent; color: #dce9fb; }
.account-action { padding: 0 5px; }
.account-action > span:last-child, .store-cart-copy { display: grid; gap: 2px; text-align: left; line-height: 1.05; }
.account-action small, .store-cart-copy small { color: #6f829d; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.account-action strong, .store-cart-copy strong { font-size: 12px; white-space: nowrap; }
.header-action-icon { width: 28px; height: 28px; display: grid; place-items: center; }
.header-action-icon svg { width: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.store-cart-trigger { position: relative; padding: 0 10px; border-left: 1px solid #1b2a40; }
.store-cart-trigger b { position: absolute; top: 0; left: 27px; min-width: 19px; height: 19px; display: grid; place-items: center; padding: 0 5px; border: 2px solid #050d20; border-radius: 20px; background: #2190ff; color: #fff; font-size: 9px; }
.store-menu-toggle { display: none; width: 42px; height: 42px; padding: 10px; border: 1px solid #294c76; border-radius: 9px; background: #091326; }
.store-menu-toggle span { width: 100%; height: 2px; display: block; margin: 4px 0; border-radius: 4px; background: #dbeaff; }

.store-nav-shell { border-top: 1px solid rgba(98,173,255,.1); background: #06132f; }
.store-main-nav { min-height: 51px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.store-main-nav > a { position: relative; display: inline-flex; align-items: center; min-height: 51px; color: #aebbd0; font-size: 10px; font-weight: 900; letter-spacing: .085em; text-transform: uppercase; white-space: nowrap; }
.store-main-nav > a::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: #2f91ff; transform: scaleX(0); transition: transform .2s; }
.store-main-nav > a:hover, .store-main-nav > a.is-active { color: #fff; }
.store-main-nav > a:hover::after, .store-main-nav > a.is-active::after { transform: scaleX(1); }
.mobile-header-search, .mobile-account-links { display: none; }

.store-breadcrumb { border-bottom: 1px solid #17253a; background: #050b17; color: #71839b; font-size: 11px; }
.store-breadcrumb .store-container { min-height: 46px; display: flex; align-items: center; gap: 9px; overflow: hidden; white-space: nowrap; }
.store-breadcrumb a:hover { color: #d9e9ff; }
.store-breadcrumb strong { overflow: hidden; color: #b7c8dc; font-weight: 800; text-overflow: ellipsis; }

/* Componentes generales */
.store-kicker { margin: 0 0 14px; color: #63afff; font-size: 9px; font-weight: 950; letter-spacing: .19em; text-transform: uppercase; }
.store-kicker > span { width: 25px; height: 1px; display: inline-block; margin: 0 9px 3px 0; background: #3d98ff; box-shadow: 0 0 10px #1475e9; }
.store-section { padding: 105px 0; }
.store-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 46px; margin-bottom: 40px; }
.store-section-heading > div { max-width: 760px; }
.store-section-heading h2 { margin: 0; font-size: clamp(36px,4.8vw,60px); line-height: 1.02; letter-spacing: -.055em; }
.store-section-heading > p { max-width: 490px; margin: 0; color: var(--store-copy); font-size: 14px; line-height: 1.75; }
.store-section-heading.centered { max-width: 820px; margin-inline: auto; align-items: center; flex-direction: column; text-align: center; }
.store-section-heading.centered > p { max-width: 620px; }
.store-text-link { display: inline-flex; align-items: center; gap: 11px; color: #d7e7fb; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.store-text-link b { color: #5daaff; font-size: 17px; transition: transform .2s; }
.store-text-link:hover b { transform: translateX(4px); }

/* Inicio */
.home-hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(circle at 78% 40%,rgba(18,91,192,.22),transparent 30%),#000; }
.home-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 45%,rgba(0,0,0,.42) 100%); }
.home-hero-grid { position: absolute; inset: 0; z-index: -1; opacity: .16; background-image: linear-gradient(rgba(71,135,215,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(71,135,215,.13) 1px,transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to bottom,transparent,#000 18%,#000 78%,transparent); }
.home-hero-inner { min-height: 690px; display: grid; grid-template-columns: minmax(0,1.04fr) minmax(420px,.96fr); align-items: center; gap: 72px; padding-block: 68px 95px; }
.home-hero-copy h1 { max-width: 760px; margin: 0; font-size: clamp(50px,6.2vw,82px); line-height: .98; letter-spacing: -.065em; }
.home-hero-copy h1 em { display: block; margin-top: 7px; color: #6eafff; font-style: normal; font-weight: 500; }
.home-hero-copy > p:not(.store-kicker) { max-width: 660px; margin: 27px 0 0; color: #9eacbe; font-size: 16px; line-height: 1.78; }
.home-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.home-hero-metrics { max-width: 610px; display: grid; grid-template-columns: repeat(3,1fr); margin-top: 45px; padding-top: 22px; border-top: 1px solid #233148; }
.home-hero-metrics div { display: grid; gap: 5px; padding-right: 20px; }
.home-hero-metrics div + div { padding-left: 20px; border-left: 1px solid #233148; }
.home-hero-metrics strong { font-size: 22px; }
.home-hero-metrics span { color: #71839b; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.home-hero-visual { position: relative; min-width: 0; }
.home-hero-photo { position: relative; overflow: hidden; aspect-ratio: .96 / 1; border: 1px solid #284a75; border-radius: 7px; background: #061024; box-shadow: 0 40px 100px rgba(0,0,0,.65); }
.home-hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,7,20,.42)),linear-gradient(90deg,rgba(0,0,0,.12),transparent); }
.home-hero-photo > img { width: 100%; height: 100%; object-fit: cover; }
.home-hero-photo--brand { background: #07101d; }
.home-hero-photo--brand::after { background: radial-gradient(circle at 50% 48%,rgba(37,121,225,.12),transparent 42%),linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,7,20,.24)); box-shadow: inset 0 0 70px rgba(0,0,0,.22); }
.home-hero-photo--brand > img { object-position: center; transform: scale(1.035); }
.hero-spec { position: absolute; z-index: 3; padding: 13px 15px; border: 1px solid #2a4d77; border-radius: 7px; background: rgba(3,10,22,.88); box-shadow: 0 15px 40px rgba(0,0,0,.4); backdrop-filter: blur(12px); }
.hero-spec small { display: block; margin-bottom: 4px; color: #70849f; font-size: 7px; font-weight: 900; letter-spacing: .15em; }
.hero-spec strong { font-size: 11px; letter-spacing: .03em; }
.hero-spec-top { top: 32px; right: -20px; }
.hero-spec-bottom { bottom: 60px; left: -27px; display: flex; align-items: center; gap: 10px; }
.hero-spec-bottom i { width: 8px; height: 8px; border: 2px solid #9bcaff; border-radius: 50%; background: #1777ee; box-shadow: 0 0 15px #1777ee; }

.home-benefits { position: relative; z-index: 3; margin-top: -34px; }
.home-benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #253955; border-radius: 8px; background: #070b12; box-shadow: 0 22px 65px rgba(0,0,0,.5); }
.home-benefit-grid article { min-width: 0; display: flex; align-items: center; gap: 14px; padding: 23px; }
.home-benefit-grid article + article { border-left: 1px solid #1c293a; }
.home-benefit-grid article > span { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid #25568e; border-radius: 50%; background: #071936; color: #6fb0ff; font-size: 9px; font-weight: 950; }
.home-benefit-grid article div { min-width: 0; display: grid; gap: 4px; }
.home-benefit-grid strong { font-size: 12px; }
.home-benefit-grid small { overflow: hidden; color: #718198; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }

.home-category-section { padding-top: 130px; }
.home-category-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.home-category-card { position: relative; isolation: isolate; overflow: hidden; min-height: 370px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 27px; border: 1px solid #28374a; border-radius: 8px; background-position: center; background-size: cover; box-shadow: 0 18px 55px rgba(0,0,0,.32); transition: transform .3s,border-color .3s; }
.home-category-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.42) 42%,#02050a 96%); }
.home-category-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 88% 16%,rgba(27,118,238,.2),transparent 31%); }
.home-category-card:hover { transform: translateY(-5px); border-color: #4385ce; }
.category-integrated { background-image: url('../../productos/stlemon29.webp'); }
.category-free { background-image: url('../../productos/bdm020.webp'); }
.category-cardio { background-image: url('../../productos/tl700.webp'); }
.category-accessories { background-image: url('../../productos/acc023.webp'); }
.home-category-card > span { align-self: flex-start; color: #9bb2cc; font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.home-category-card > div { max-width: 410px; }
.home-category-card small { color: #65aefe; font-size: 8px; font-weight: 950; letter-spacing: .17em; }
.home-category-card h3 { margin: 8px 0; font-size: clamp(28px,3.3vw,43px); letter-spacing: -.045em; }
.home-category-card p { margin: 0; color: #9baabc; font-size: 12px; line-height: 1.65; }
.home-category-card b { display: inline-block; margin-top: 18px; color: #eff6ff; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

.home-featured-section { border-block: 1px solid #172333; background: #020305; }
.home-featured-action { margin-top: 38px; text-align: center; }
.home-project-banner { padding: 115px 0; }
.home-project-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: center; gap: 78px; }
.home-project-image { position: relative; overflow: hidden; min-height: 570px; border: 1px solid #29394e; border-radius: 8px; }
.home-project-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 50%,rgba(0,0,0,.72)); }
.home-project-image img { width: 100%; height: 100%; min-height: 570px; object-fit: cover; }
.home-project-image span { position: absolute; right: 22px; bottom: 20px; left: 22px; z-index: 2; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.25); color: #dce9fa; font-size: 8px; font-weight: 900; letter-spacing: .18em; }
.home-project-copy h2 { margin: 0; font-size: clamp(39px,5vw,66px); line-height: 1.02; letter-spacing: -.06em; }
.home-project-copy > p:not(.store-kicker) { margin: 25px 0 0; color: #96a7bc; line-height: 1.8; }
.home-project-copy ul { margin: 30px 0; padding: 0; list-style: none; border-top: 1px solid #243146; }
.home-project-copy li { display: flex; gap: 17px; padding: 16px 0; border-bottom: 1px solid #243146; color: #d9e5f4; font-size: 13px; }
.home-project-copy li b { color: #538ac8; font-size: 9px; letter-spacing: .1em; }
.home-process-section { border-top: 1px solid #182332; background: #020305; }
.home-process-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #263449; border-radius: 8px; background: #070a0f; }
.home-process-grid article { min-height: 290px; display: flex; flex-direction: column; padding: 28px; }
.home-process-grid article + article { border-left: 1px solid #263449; }
.home-process-grid article > span { color: #5483bb; font-size: 9px; font-weight: 950; letter-spacing: .15em; }
.home-process-grid h3 { margin: 75px 0 12px; font-size: 21px; }
.home-process-grid p { margin: 0; color: #8596ab; font-size: 12px; line-height: 1.7; }
.home-process-grid a { margin-top: auto; padding-top: 24px; color: #75b6ff; font-size: 10px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }

/* Tarjetas de productos */
.home-product-grid, .related-product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.store-product-card { overflow: hidden; border-color: #1c2a3d; border-radius: 9px; background: #070a10; box-shadow: none; }
.store-product-card:hover { border-color: #377bcc; box-shadow: 0 18px 48px rgba(0,0,0,.42); }
.store-product-image { aspect-ratio: 1 / 1; background: #000; }
.store-product-image::after { content: ""; position: absolute; inset: auto 0 0; z-index: 2; height: 32%; background: linear-gradient(transparent,rgba(0,0,0,.5)); pointer-events: none; }
.store-product-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: translate(var(--product-shift-x,0),var(--product-shift-y,0)) scale(var(--product-scale,1)); transform-origin: var(--product-origin-x,50%) var(--product-origin-y,50%); }
.store-product-card:hover .store-product-image img { transform: translate(var(--product-shift-x,0),var(--product-shift-y,0)) scale(var(--product-scale,1)); filter: brightness(1.07); }
.product-card-label { position: absolute; top: 12px; left: 12px; z-index: 4; padding: 6px 9px; border-radius: 20px; background: #1676eb; color: #fff; font-size: 8px; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.store-product-image .product-image-action { right: 11px; bottom: 11px; z-index: 5; border-color: #3e6eaa; border-radius: 5px; }
.store-product-image:hover .product-image-action, .store-product-image:focus-visible .product-image-action { opacity: 1; transform: translateY(0); }
.store-product-info { padding: 17px; }
.store-product-info h3 { min-height: 45px; margin: 7px 0 3px; font-size: 17px; }
.store-product-info h3 a:hover { color: #72b4ff; }
.store-product-info .product-code { margin-bottom: 10px; font-size: 10px; }
.store-product-info .product-stock { margin: 0 0 12px; }
.store-product-pricing { margin-top: auto; padding-top: 14px; border-top: 1px solid #1c2939; }
.store-product-pricing .price { font-size: 18px; }
.store-product-pricing p { display: grid; gap: 3px; margin: 10px 0 0; }
.store-product-pricing p strong { color: #cbe2ff; font-size: 11px; }
.store-product-pricing p span { color: #72849c; font-size: 9px; }
.store-product-actions { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8px; margin-top: 15px; }
.store-product-actions .btn { min-width: 0; padding-inline: 9px; font-size: 11px; }

/* Página de tienda */
.shop-hero { position: relative; overflow: hidden; border-bottom: 1px solid #172943; background: radial-gradient(circle at 78% 20%,rgba(21,94,198,.24),transparent 32%),linear-gradient(135deg,#020714,#071637); }
.shop-hero::after { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(96,161,244,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(96,161,244,.15) 1px,transparent 1px); background-size: 62px 62px; }
.shop-hero-inner { position: relative; z-index: 1; min-height: 225px; display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.shop-hero h1 { margin: 0; font-size: clamp(46px,6vw,72px); line-height: 1; letter-spacing: -.06em; text-transform: uppercase; }
.shop-hero-stats { display: grid; grid-template-columns: repeat(3,1fr); }
.shop-hero-stats div { min-width: 125px; display: grid; gap: 6px; padding: 10px 22px; }
.shop-hero-stats div + div { border-left: 1px solid #294363; }
.shop-hero-stats strong { font-size: 20px; }
.shop-hero-stats span { color: #7589a4; font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.shop-section { padding: 0 0 100px; background: #020305; }
.shop-toolbar { min-height: 72px; display: grid; grid-template-columns: minmax(230px,1fr) auto auto auto; align-items: center; gap: 13px; border-bottom: 1px solid #1c293a; }
.shop-filter-toggle { display: none; }
.shop-inline-search { max-width: 420px; min-height: 42px; display: flex; align-items: center; gap: 10px; padding: 0 13px; border: 1px solid #233b5b; border-radius: 7px; background: #080c13; color: #6986a9; }
.shop-inline-search svg { flex: 0 0 auto; }
.shop-inline-search input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: #fff; font-size: 12px; }
.shop-inline-search input::placeholder { color: #677990; }
.shop-result-count { color: #91a2b8; font-size: 11px; font-weight: 800; white-space: nowrap; }
.shop-toolbar select { min-height: 42px; padding: 0 38px 0 13px; border: 1px solid #243c5c; border-radius: 7px; background: #080c13; color: #dbe7f7; font-size: 11px; font-weight: 800; }
.shop-view-buttons { display: flex; padding: 3px; border: 1px solid #243c5c; border-radius: 7px; background: #080c13; }
.shop-view-buttons button { width: 35px; height: 35px; border: 0; border-radius: 5px; background: transparent; color: #6f8096; }
.shop-view-buttons button.is-active { background: #0f62ce; color: #fff; }
.shop-layout { position: relative; display: grid; grid-template-columns: 224px minmax(0,1fr); gap: 28px; padding-top: 28px; }
.shop-sidebar { position: sticky; top: 165px; align-self: start; border: 1px solid #1d2a3c; border-radius: 8px; background: #070a0f; }
.shop-sidebar-head { display: flex; align-items: center; justify-content: space-between; padding: 18px; border-bottom: 1px solid #1d2a3c; }
.shop-sidebar-head div { display: grid; gap: 4px; }
.shop-sidebar-head small { color: #657b99; font-size: 7px; font-weight: 900; letter-spacing: .14em; }
.shop-sidebar-head strong { font-size: 17px; }
.shop-sidebar-head button { display: none; border: 0; background: transparent; font-size: 26px; }
.shop-filter-block { padding: 19px 17px; border-bottom: 1px solid #1d2a3c; }
.shop-filter-block h2 { margin: 0 0 14px; color: #8facd1; font-size: 9px; font-weight: 950; letter-spacing: .15em; text-transform: uppercase; }
.shop-category-list { display: grid; gap: 3px; }
.shop-category-list button { min-width: 0; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 8px 7px; border: 0; border-radius: 5px; background: transparent; color: #99a8bb; font-size: 11px; text-align: left; }
.shop-category-list button span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.shop-category-list button b { min-width: 25px; padding: 4px 6px; border-radius: 12px; background: #101827; color: #7589a4; font-size: 8px; text-align: center; }
.shop-category-list button:hover, .shop-category-list button.active { background: #0b1c38; color: #fff; }
.shop-category-list button.active b { background: #156dd8; color: #fff; }
.shop-price-filter { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 7px; margin-bottom: 10px; }
.shop-price-filter label { min-width: 0; display: grid; gap: 5px; }
.shop-price-filter label span { color: #6f8199; font-size: 8px; }
.shop-price-filter input { min-width: 0; width: 100%; height: 38px; padding: 0 8px; border: 1px solid #263d5c; border-radius: 6px; background: #0a0f17; color: #fff; font-size: 10px; }
.shop-price-filter i { padding-bottom: 10px; color: #5d6d80; font-style: normal; }
.shop-check { display: flex; align-items: center; gap: 9px; color: #a8b6c8; font-size: 11px; }
.shop-check input { width: 15px; height: 15px; accent-color: #1978ee; }
.shop-clear-filters { width: 100%; padding: 14px; border: 0; background: transparent; color: #72aeef; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.shop-results { min-width: 0; }
.shop-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.shop-product-grid.is-compact { grid-template-columns: 1fr; }
.shop-product-grid.is-compact .store-product-card { display: grid; grid-template-columns: 260px minmax(0,1fr); }
.shop-product-grid.is-compact .store-product-image { align-self: start; aspect-ratio: 1 / 1; min-height: 0; }
.shop-product-grid.is-compact .store-product-info h3 { min-height: 0; }
.shop-load-more { margin-top: 34px; text-align: center; }
.shop-empty { margin-top: 30px; }
.shop-filter-backdrop { display: none; }

/* Ficha individual */
.product-detail-section { padding: 64px 0 85px; background: #020305; }
.product-detail-grid { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(430px,.98fr); align-items: start; gap: 68px; }
.product-detail-gallery { position: sticky; top: 178px; min-width: 0; }
.product-detail-image { overflow: hidden; aspect-ratio: 1 / 1; border: 1px solid #24354c; border-radius: 9px; background: #000; }
.product-detail-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: translate(var(--product-shift-x,0),var(--product-shift-y,0)) scale(var(--product-scale,1)); transform-origin: var(--product-origin-x,50%) var(--product-origin-y,50%); }
.product-detail-label { position: absolute; top: 16px; left: 16px; z-index: 2; padding: 7px 10px; border-radius: 20px; background: #1776e9; color: #fff; font-size: 8px; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.product-gallery-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 2px 0; color: #687b94; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.product-gallery-footer strong { color: #9eb3ce; }
.product-detail-copy h1 { margin: 0; font-size: clamp(42px,5vw,68px); line-height: .98; letter-spacing: -.06em; text-transform: uppercase; }
.product-detail-code { margin: 11px 0 0; color: #667b96; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.product-detail-price { display: grid; gap: 5px; margin-top: 26px; font-size: clamp(30px,3.5vw,45px); font-weight: 950; letter-spacing: -.035em; }
.product-detail-price small { color: #778ba5; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.product-detail-msi { display: grid; gap: 6px; margin-top: 18px; padding: 16px; border: 1px solid #235184; border-radius: 7px; background: #07162b; }
.product-detail-msi span { color: #78b9ff; font-size: 9px; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.product-detail-msi strong { color: #e3efff; font-size: 14px; }
.product-detail-msi small { color: #7188a5; font-size: 10px; }
.product-detail-description { margin: 23px 0 0; color: #9aabbe; font-size: 14px; line-height: 1.8; }
.product-detail-availability { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 23px; }
.product-detail-availability > div { min-width: 0; display: flex; align-items: center; gap: 11px; padding: 13px; border: 1px solid #1e2c3f; border-radius: 7px; background: #070a0f; }
.product-detail-availability i { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; }
.product-detail-availability i.is-available { background: #30d49b; box-shadow: 0 0 12px rgba(48,212,155,.45); }
.product-detail-availability i.is-unavailable { background: #ff6677; }
.delivery-icon { width: 20px; color: #62adff; text-align: center; }
.product-detail-availability span:not(.delivery-icon) { min-width: 0; display: grid; gap: 4px; }
.product-detail-availability small { color: #687c96; font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.product-detail-availability strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.product-purchase { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 10px; margin-top: 22px; padding-top: 22px; border-top: 1px solid #243044; }
.product-quantity-picker { display: grid; grid-template-columns: 38px 1fr 38px; overflow: hidden; border: 1px solid #2a405f; border-radius: 7px; background: #080c12; }
.product-quantity-picker button, .product-quantity-picker input { min-width: 0; border: 0; background: transparent; color: #fff; text-align: center; }
.product-quantity-picker button { font-size: 18px; }
.product-quantity-picker input { width: 100%; border-inline: 1px solid #25364e; font-weight: 900; appearance: textfield; }
.product-quantity-picker input::-webkit-outer-spin-button, .product-quantity-picker input::-webkit-inner-spin-button { margin: 0; appearance: none; }
.product-add-button { min-height: 53px; }
.product-trust-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 20px; }
.product-trust-grid article { min-width: 0; display: flex; align-items: center; gap: 8px; padding: 11px; border: 1px solid #1d2b3d; border-radius: 7px; background: #06090e; }
.product-trust-grid article > span { width: 25px; height: 25px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: #0a2245; color: #68afff; font-size: 8px; font-weight: 950; }
.product-trust-grid article div { min-width: 0; display: grid; gap: 3px; }
.product-trust-grid strong { font-size: 9px; }
.product-trust-grid small { overflow: hidden; color: #687a91; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.product-detail-note { margin: 14px 0 0; color: #64768d; font-size: 9px; line-height: 1.6; }
.product-information-section { padding: 90px 0; border-block: 1px solid #182538; background: #06080c; }
.product-information-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.product-information-grid h2 { margin: 0; font-size: clamp(35px,4.7vw,56px); line-height: 1.04; letter-spacing: -.055em; }
.product-information-copy > p { margin: 0 0 25px; color: #99aabc; line-height: 1.8; }
.product-information-copy dl { margin: 0; border-top: 1px solid #253247; }
.product-information-copy dl div { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding: 14px 0; border-bottom: 1px solid #253247; }
.product-information-copy dt { color: #6e829d; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.product-information-copy dd { margin: 0; color: #d5e2f2; font-size: 12px; }
.related-products-section { background: #000; }
.store-not-found { min-height: 62vh; display: grid; place-items: center; padding: 80px 0; text-align: center; }
.store-not-found span { color: #217fea; font-size: 13px; font-weight: 950; letter-spacing: .2em; }
.store-not-found h1 { margin: 12px 0; font-size: clamp(40px,6vw,72px); letter-spacing: -.06em; }
.store-not-found p { margin: 0 auto 25px; color: #91a2b6; }

/* Páginas de colecciones y proyectos */
.content-page-hero { padding: 72px 0 95px; border-bottom: 1px solid #18283e; background: radial-gradient(circle at 80% 30%,rgba(22,95,202,.17),transparent 35%),#000; }
.content-page-hero-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); align-items: center; gap: 70px; }
.content-page-hero h1 { margin: 0; font-size: clamp(48px,6.3vw,80px); line-height: .98; letter-spacing: -.065em; }
.content-page-hero p:not(.store-kicker) { margin: 25px 0 28px; color: #9aabbe; font-size: 15px; line-height: 1.8; }
.content-hero-visual { position: relative; overflow: hidden; min-height: 490px; border: 1px solid #29415f; border-radius: 8px; }
.content-hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 45%,rgba(0,0,0,.72)); }
.content-hero-visual img { width: 100%; height: 100%; min-height: 490px; object-fit: cover; }
.content-hero-visual span { position: absolute; right: 20px; bottom: 18px; left: 20px; z-index: 2; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.24); color: #d9e8fa; font-size: 8px; font-weight: 900; letter-spacing: .17em; }
.collections-catalog-section { background: #020305; }
.collections-page-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.collection-page-card { min-width: 0; display: grid; grid-template-columns: 44% 56%; overflow: hidden; min-height: 310px; border: 1px solid #24354b; border-radius: 8px; background: #070a0f; transition: transform .25s,border-color .25s; }
.collection-page-card:hover { transform: translateY(-4px); border-color: #3f7fc7; }
.collection-page-image { min-width: 0; overflow: hidden; background: #0a0e15; }
.collection-page-image img { width: 100%; height: 100%; object-fit: cover; transform: translate(var(--product-shift-x,0),var(--product-shift-y,0)) scale(var(--product-scale,1)); transform-origin: var(--product-origin-x,50%) var(--product-origin-y,50%); transition: filter .3s; }
.collection-page-card:hover img { filter: brightness(1.08); }
.collection-page-copy { min-width: 0; display: flex; flex-direction: column; padding: 25px; }
.collection-page-copy > span { color: #4e759f; font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.collection-page-copy small { margin-top: 38px; color: #64abfa; font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.collection-page-copy h2 { margin: 7px 0 9px; font-size: clamp(24px,3vw,36px); letter-spacing: -.045em; }
.collection-page-copy p { margin: 0; color: #8293a8; font-size: 11px; line-height: 1.65; }
.collection-page-copy b { margin-top: auto; padding-top: 18px; color: #dbeaff; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.collection-advice-band { padding: 85px 0; border-block: 1px solid #1b2d45; background: #061228; }
.collection-advice-band .store-container { display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; }
.collection-advice-band h2 { margin: 0; font-size: clamp(35px,4.6vw,56px); line-height: 1.04; letter-spacing: -.055em; }
.collection-advice-band > .store-container > div:last-child > p { margin: 0 0 24px; color: #a0b2c9; line-height: 1.75; }
.collection-advice-band > .store-container > div:last-child > div { display: flex; flex-wrap: wrap; gap: 10px; }

.projects-page-hero { padding-top: 80px; }
.project-stats-section { border-bottom: 1px solid #1a283c; background: #05080d; }
.project-stat-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.project-stat-grid article { min-height: 130px; display: flex; flex-direction: column; justify-content: center; padding: 22px 30px; }
.project-stat-grid article + article { border-left: 1px solid #1f2d40; }
.project-stat-grid strong { font-size: 28px; }
.project-stat-grid span { max-width: 190px; margin-top: 6px; color: #71839a; font-size: 9px; line-height: 1.55; text-transform: uppercase; }
.project-method-section { background: #000; }
.project-method-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.project-method-grid article { min-height: 230px; display: grid; grid-template-columns: 55px 1fr; gap: 20px; padding: 28px; border: 1px solid #243348; border-radius: 8px; background: #070a0f; }
.project-method-grid article > span { color: #567fac; font-size: 9px; font-weight: 950; letter-spacing: .14em; }
.project-method-grid small { color: #5da7f6; font-size: 8px; font-weight: 950; letter-spacing: .15em; }
.project-method-grid h3 { margin: 55px 0 10px; font-size: 25px; letter-spacing: -.035em; }
.project-method-grid p { margin: 0; color: #8495a9; font-size: 12px; line-height: 1.7; }
.project-zones-section { padding: 110px 0; border-block: 1px solid #19283c; background: #05070a; }
.project-zones-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 75px; }
.project-zones-image { overflow: hidden; min-height: 570px; border: 1px solid #2b3b4f; border-radius: 8px; }
.project-zones-image img { width: 100%; height: 100%; min-height: 570px; object-fit: cover; }
.project-zones-copy h2 { margin: 0; font-size: clamp(38px,5vw,62px); line-height: 1.03; letter-spacing: -.06em; }
.project-zones-copy > p:not(.store-kicker) { margin: 24px 0 30px; color: #96a6b9; line-height: 1.8; }
.project-zone-links { border-top: 1px solid #28364a; }
.project-zone-links a { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 15px; padding: 17px 0; border-bottom: 1px solid #28364a; }
.project-zone-links span { color: #577da7; font-size: 8px; font-weight: 900; }
.project-zone-links strong { font-size: 14px; }
.project-zone-links b { color: #64adff; transition: transform .2s; }
.project-zone-links a:hover b { transform: translateX(4px); }

/* CTA y footer */
.store-cta { padding: 76px 0; border-block: 1px solid #224d80; background: radial-gradient(circle at 85% 50%,rgba(32,119,235,.2),transparent 34%),#06122a; }
.store-cta.compact { padding-block: 60px; }
.store-cta .store-container { display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.store-cta h2 { max-width: 820px; margin: 0; font-size: clamp(34px,4.4vw,56px); line-height: 1.03; letter-spacing: -.055em; }
.store-footer { border-top: 1px solid #17263a; background: #010204; }
.store-footer-lead { border-bottom: 1px solid #1c293a; }
.store-footer-lead .store-container { min-height: 180px; display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.store-footer-lead div > div { display: grid; gap: 12px; }
.store-footer-lead div > div span { color: #58779d; font-size: 8px; font-weight: 950; letter-spacing: .18em; }
.store-footer-lead strong { max-width: 780px; font-size: clamp(27px,4vw,46px); line-height: 1.08; letter-spacing: -.045em; }
.store-footer-grid { display: grid; grid-template-columns: 2fr repeat(3,1fr); gap: 50px; padding-block: 60px 45px; }
.store-footer-brand > p { max-width: 370px; margin: 23px 0; color: #7e8da1; font-size: 13px; line-height: 1.7; }
.footer-security { display: inline-flex; padding: 8px 11px; border: 1px solid #223b5d; border-radius: 5px; background: #071326; color: #83afe2; font-size: 8px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.store-footer-grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.store-footer-grid h3 { margin: 0 0 9px; color: #67afff; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.store-footer-grid > div:not(:first-child) a { color: #8a99ad; font-size: 12px; }
.store-footer-grid > div:not(:first-child) a:hover { color: #fff; }
.store-footer-bottom { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #1a2636; color: #617084; font-size: 9px; }

/* Adaptación de las páginas funcionales existentes al encabezado nuevo. */
.page-hero { background: radial-gradient(circle at 80% 20%,rgba(22,93,198,.15),transparent 30%),#010205; }
.auth-shell { margin-block: 60px; }
.mini-cart { z-index: 100; }
.cart-backdrop { z-index: 99; }

@media (max-width: 1120px) {
    .store-header-main { gap: 18px; }
    .store-main-nav { gap: 13px; }
    .store-main-nav > a { font-size: 9px; }
    .home-hero-inner { grid-template-columns: minmax(0,1fr) minmax(380px,.84fr); gap: 45px; }
    .home-benefit-grid { grid-template-columns: repeat(2,1fr); }
    .home-benefit-grid article:nth-child(3) { border-left: 0; border-top: 1px solid #1c293a; }
    .home-benefit-grid article:nth-child(4) { border-top: 1px solid #1c293a; }
    .home-product-grid, .related-product-grid { grid-template-columns: repeat(3,1fr); }
    .shop-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .product-detail-grid { gap: 42px; }
}

@media (max-width: 920px) {
    .store-container { width: min(100% - 30px,1280px); }
    .utility-message, .utility-links { display: none; }
    .utility-inner { justify-content: center; }
    .store-header-main { min-height: 70px; display: flex; gap: 12px; }
    .store-brand { margin-right: auto; }
    .store-brand-mark { width: 43px; height: 43px; }
    .store-brand-copy strong { font-size: 16px; }
    .header-search { display: none; }
    .account-action > span:last-child, .store-cart-copy { display: none; }
    .account-action { width: 42px; padding: 0; justify-content: center; }
    .store-cart-trigger { width: 45px; padding: 0; justify-content: center; border-left: 0; }
    .store-cart-trigger b { top: 1px; left: 25px; }
    .store-menu-toggle { display: block; }
    .store-nav-shell { border-top: 0; }
    .store-nav-shell .store-container { position: static; }
    .store-main-nav { position: absolute; top: 100%; right: 0; left: 0; max-height: calc(100dvh - 70px); display: none; align-items: stretch; padding: 14px 15px 24px; overflow-y: auto; border-top: 1px solid #27466f; background: #050b18; box-shadow: 0 28px 60px rgba(0,0,0,.65); }
    .store-main-nav.open { display: flex; flex-direction: column; gap: 0; }
    .store-main-nav > a { min-height: 46px; padding: 0 7px; border-bottom: 1px solid #17263a; font-size: 10px; }
    .store-main-nav > a::after { display: none; }
    .mobile-header-search { height: 44px; display: grid; grid-template-columns: 1fr auto; overflow: hidden; margin-bottom: 12px; border: 1px solid #295282; border-radius: 7px; }
    .mobile-header-search input { min-width: 0; padding: 0 12px; border: 0; outline: 0; background: #090f1b; color: #fff; }
    .mobile-header-search button { padding: 0 15px; border: 0; background: #166edc; color: #fff; font-size: 10px; font-weight: 900; }
    .mobile-account-links { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; padding-top: 15px; }
    .mobile-account-links a { display: grid; min-height: 42px; place-items: center; padding: 8px; border: 1px solid #25466f; border-radius: 6px; background: #08152a; color: #cde1fa; font-size: 9px; font-weight: 900; text-align: center; text-transform: uppercase; }

    .home-hero-inner { min-height: auto; grid-template-columns: 1fr; padding-block: 70px 90px; }
    .home-hero-copy { max-width: 760px; }
    .home-hero-visual { width: min(100%,680px); margin-inline: auto; }
    .home-hero-photo { aspect-ratio: 16 / 11; }
    .hero-spec-top { right: 10px; }
    .hero-spec-bottom { left: 10px; }
    .store-section { padding-block: 80px; }
    .store-section-heading { align-items: flex-start; flex-direction: column; gap: 20px; }
    .home-project-grid, .content-page-hero-grid, .product-information-grid, .project-zones-grid { grid-template-columns: 1fr; gap: 45px; }
    .home-project-image, .home-project-image img, .project-zones-image, .project-zones-image img { min-height: 470px; }
    .home-process-grid { grid-template-columns: repeat(2,1fr); }
    .home-process-grid article:nth-child(3) { border-left: 0; border-top: 1px solid #263449; }
    .home-process-grid article:nth-child(4) { border-top: 1px solid #263449; }
    .product-detail-grid { grid-template-columns: 1fr; }
    .product-detail-gallery { position: static; }
    .product-detail-image { aspect-ratio: 1 / 1; }
    .content-hero-visual { min-height: 410px; }
    .content-hero-visual img { min-height: 410px; }
    .collection-advice-band .store-container { grid-template-columns: 1fr; gap: 30px; }
    .project-stat-grid { grid-template-columns: repeat(2,1fr); }
    .project-stat-grid article:nth-child(3) { border-left: 0; border-top: 1px solid #1f2d40; }
    .project-stat-grid article:nth-child(4) { border-top: 1px solid #1f2d40; }
    .store-footer-grid { grid-template-columns: repeat(2,1fr); }

    .shop-hero-inner { min-height: 190px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 22px; padding-block: 38px; }
    .shop-hero-stats div:first-child { padding-left: 0; }
    .shop-toolbar { grid-template-columns: auto minmax(0,1fr) auto; padding-block: 12px; }
    .shop-filter-toggle { min-height: 42px; display: inline-flex; align-items: center; gap: 7px; padding: 0 13px; border: 1px solid #285083; border-radius: 7px; background: #0a1930; color: #d9eaff; font-size: 10px; font-weight: 900; }
    .shop-result-count { display: none; }
    .shop-view-buttons { display: none; }
    .shop-layout { grid-template-columns: 1fr; }
    .shop-sidebar { position: fixed; top: 0; bottom: 0; left: 0; z-index: 121; width: min(355px,88vw); overflow-y: auto; border: 0; border-right: 1px solid #294c76; border-radius: 0; box-shadow: 25px 0 70px rgba(0,0,0,.7); transform: translateX(-105%); transition: transform .28s ease; }
    .shop-filter-open .shop-sidebar { transform: translateX(0); }
    .shop-sidebar-head { position: sticky; top: 0; z-index: 2; background: #070a0f; }
    .shop-sidebar-head button { display: block; }
    .shop-filter-backdrop { visibility: hidden; opacity: 0; position: fixed; inset: 0; z-index: 120; display: block; border: 0; background: rgba(0,0,0,.72); transition: opacity .25s,visibility .25s; }
    .shop-filter-open .shop-filter-backdrop { visibility: visible; opacity: 1; }
}

@media (max-width: 680px) {
    .store-container { width: calc(100% - 24px); }
    .utility-inner { min-height: 29px; }
    .utility-highlight { font-size: 8px; }
    .store-header-main { min-height: 64px; }
    .store-brand { gap: 8px; }
    .store-brand-mark { width: 38px; height: 38px; }
    .store-brand-copy strong { font-size: 13px; }
    .store-brand-copy small { font-size: 5px; }
    .header-actions { gap: 3px; }
    .account-action, .store-cart-trigger { width: 38px; }
    .header-action-icon svg { width: 20px; }
    .store-menu-toggle { width: 38px; height: 38px; padding: 9px; }
    .store-breadcrumb .store-container { min-height: 40px; }

    .home-hero-inner { gap: 38px; padding-block: 55px 75px; }
    .home-hero-copy h1 { font-size: clamp(42px,13vw,59px); }
    .home-hero-copy > p:not(.store-kicker) { font-size: 14px; }
    .home-hero-actions { align-items: stretch; flex-direction: column; }
    .home-hero-actions .btn { width: 100%; }
    .home-hero-metrics { margin-top: 34px; }
    .home-hero-metrics div { padding-right: 7px; }
    .home-hero-metrics div + div { padding-left: 8px; }
    .home-hero-metrics strong { font-size: 16px; }
    .home-hero-metrics span { font-size: 7px; }
    .home-hero-photo { aspect-ratio: 4 / 3; }
    .hero-spec { padding: 10px; }
    .hero-spec strong { font-size: 9px; }
    .hero-spec-top { top: 12px; right: 8px; }
    .hero-spec-bottom { bottom: 12px; left: 8px; }
    .home-benefits { margin-top: -25px; }
    .home-benefit-grid { grid-template-columns: 1fr; }
    .home-benefit-grid article + article, .home-benefit-grid article:nth-child(3), .home-benefit-grid article:nth-child(4) { border-top: 1px solid #1c293a; border-left: 0; }
    .home-category-section { padding-top: 90px; }
    .home-category-grid, .collections-page-grid, .project-method-grid { grid-template-columns: 1fr; }
    .home-category-card { min-height: 330px; padding: 21px; }
    .home-product-grid, .related-product-grid, .shop-product-grid { grid-template-columns: 1fr; }
    .store-product-image { aspect-ratio: 1 / 1; }
    .store-product-info h3 { min-height: 0; }
    .home-project-image, .home-project-image img, .project-zones-image, .project-zones-image img { min-height: 360px; }
    .home-process-grid { grid-template-columns: 1fr; }
    .home-process-grid article { min-height: 240px; }
    .home-process-grid article + article, .home-process-grid article:nth-child(3), .home-process-grid article:nth-child(4) { border-top: 1px solid #263449; border-left: 0; }
    .home-process-grid h3 { margin-top: 50px; }
    .store-section { padding-block: 66px; }
    .store-section-heading h2 { font-size: 38px; }

    .shop-hero h1 { font-size: 42px; }
    .shop-hero-stats { width: 100%; }
    .shop-hero-stats div { min-width: 0; padding: 8px 12px; }
    .shop-hero-stats div:first-child { padding-left: 0; }
    .shop-hero-stats strong { font-size: 15px; }
    .shop-hero-stats span { font-size: 6px; }
    .shop-toolbar { grid-template-columns: auto minmax(0,1fr); }
    .shop-toolbar select { grid-column: 1 / -1; width: 100%; }
    .shop-inline-search { width: 100%; }
    .shop-product-grid.is-compact .store-product-card { display: flex; }

    .product-detail-section { padding-block: 35px 60px; }
    .product-detail-image { aspect-ratio: 1 / 1; }
    .product-detail-copy h1 { font-size: 41px; }
    .product-detail-availability, .product-trust-grid { grid-template-columns: 1fr; }
    .product-purchase { grid-template-columns: 1fr; }
    .product-quantity-picker { height: 48px; }
    .product-information-section { padding-block: 65px; }
    .product-information-copy dl div { grid-template-columns: 105px 1fr; }
    .content-page-hero { padding-block: 55px 70px; }
    .content-page-hero h1 { font-size: 45px; }
    .content-hero-visual, .content-hero-visual img { min-height: 330px; }
    .collection-page-card { grid-template-columns: 1fr; }
    .collection-page-image { height: 250px; }
    .collection-page-copy small { margin-top: 25px; }
    .collection-page-copy b { margin-top: 25px; }
    .collection-advice-band .btn { width: 100%; }
    .project-stat-grid { grid-template-columns: 1fr; }
    .project-stat-grid article + article, .project-stat-grid article:nth-child(3), .project-stat-grid article:nth-child(4) { border-top: 1px solid #1f2d40; border-left: 0; }
    .project-method-grid article { grid-template-columns: 40px 1fr; padding: 22px; }
    .project-method-grid h3 { margin-top: 38px; }
    .project-zones-section { padding-block: 70px; }

    .store-cta .store-container, .store-footer-lead .store-container { align-items: stretch; flex-direction: column; }
    .store-cta .btn, .store-footer-lead .btn { width: 100%; }
    .store-footer-lead .store-container { min-height: 0; padding-block: 55px; }
    .store-footer-grid { grid-template-columns: 1fr; gap: 36px; padding-block: 50px 35px; }
    .store-footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 18px; }
}

@media (prefers-reduced-motion: reduce) {
    .shop-sidebar, .home-category-card, .collection-page-card { transition: none !important; }
}
