/*
Theme Name: STORM Commerce
Theme URI: https://stormwatches.com/
Author: STORM Deutschland
Description: WP7-ready WooCommerce theme for STORM B2C and B2B commerce.
Version: 1.0.15
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 8.2
Text Domain: storm-commerce
*/

:root {
  color-scheme: light;
  --storm-bg: #f7f7f4;
  --storm-surface: #ffffff;
  --storm-surface-soft: #ecefed;
  --storm-text: #111315;
  --storm-muted: #626a6f;
  --storm-line: rgba(17, 19, 21, 0.12);
  --storm-accent: #b5152b;
  --storm-accent-2: #137f83;
  --storm-metal: #b9a46d;
  --storm-shadow: 0 22px 56px rgba(19, 24, 28, 0.14);
  --storm-radius: 8px;
  --storm-max: 1560px;
  --storm-focus: #0f6eea;
  --storm-focus-glow: rgba(15, 110, 234, 0.22);
}


[data-storm-theme="dark"] {
  color-scheme: dark;
  --storm-bg: #0c0f12;
  --storm-surface: #151a1f;
  --storm-surface-soft: #1e262b;
  --storm-text: #f3f5f3;
  --storm-muted: #a6b0b4;
  --storm-line: rgba(243, 245, 243, 0.14);
  --storm-accent: #e12642;
  --storm-accent-2: #3fc0bd;
  --storm-metal: #d0b56f;
  --storm-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
  --storm-focus: #4597ff;
  --storm-focus-glow: rgba(69, 151, 255, 0.28);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
}

body {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  margin: 0;
  background: var(--storm-bg);
  color: var(--storm-text);
  font-family: Inter, "Avenir Next", "Segoe UI", Arial, sans-serif;
  letter-spacing: 0;
}

body.admin-bar .storm-site-header {
  top: 32px;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

button,
input,
select,
textarea {
  font: inherit;
  accent-color: var(--storm-focus);
}

:where(input, select, textarea):focus {
  outline: 2px solid var(--storm-focus) !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px var(--storm-focus-glow);
}

:where(a, button, summary, [tabindex]:not([tabindex="-1"])):focus {
  outline: none;
  box-shadow: none;
}

.woocommerce-notices-wrapper {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  left: auto;
  z-index: 320;
  display: grid;
  gap: 10px;
  width: min(540px, calc(100vw - 44px));
  pointer-events: none;
}

.woocommerce-notices-wrapper:empty {
  display: none;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 78px;
  margin: 0;
  padding: 18px 18px 18px 22px;
  overflow: hidden;
  border: 1px solid rgba(126, 183, 255, 0.28);
  border-radius: 6px;
  background:
    linear-gradient(135deg, rgba(12, 28, 50, 0.96), rgba(2, 7, 15, 0.94)),
    rgba(2, 9, 18, 0.94);
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  color: #f7fbff;
  font-size: 0.92rem;
  line-height: 1.45;
  backdrop-filter: blur(16px);
  pointer-events: auto;
  animation: storm-toast-in 420ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before {
  content: none;
}

.woocommerce-notices-wrapper .woocommerce-message::after,
.woocommerce-notices-wrapper .woocommerce-info::after,
.woocommerce-notices-wrapper .woocommerce-error::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: #6fcf89;
}

.woocommerce-notices-wrapper .woocommerce-info::after {
  background: #5d9cff;
}

.woocommerce-notices-wrapper .woocommerce-error::after {
  background: #e12642;
}

.woocommerce-notices-wrapper .button,
.woocommerce-notices-wrapper a.button,
.woocommerce-notices-wrapper .wc-forward,
.woocommerce .woocommerce-notices-wrapper .button,
.woocommerce .woocommerce-notices-wrapper a.button,
.woocommerce .woocommerce-notices-wrapper .wc-forward {
  float: none;
  grid-column: 2;
  grid-row: 1;
  min-height: 44px;
  margin: 0;
  padding: 13px 16px;
  border: 1px solid rgba(126, 183, 255, 0.34);
  border-radius: 0;
  background: #0f6eea;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.woocommerce-notices-wrapper .button:hover,
.woocommerce-notices-wrapper a.button:hover,
.woocommerce-notices-wrapper .wc-forward:hover {
  background: #2684ff;
  color: #fff;
}

.woocommerce-notices-wrapper .woocommerce-error {
  grid-template-columns: 1fr;
  list-style: none;
}

@keyframes storm-toast-in {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 720px) {
  .woocommerce-notices-wrapper {
    right: 14px;
    bottom: max(14px, env(safe-area-inset-bottom));
    left: 14px;
    width: auto;
  }

  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-info,
  .woocommerce-notices-wrapper .woocommerce-error {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px 18px 18px 20px;
  }

  .woocommerce-notices-wrapper .button,
  .woocommerce-notices-wrapper a.button,
  .woocommerce-notices-wrapper .wc-forward,
  .woocommerce .woocommerce-notices-wrapper .button,
  .woocommerce .woocommerce-notices-wrapper a.button,
  .woocommerce .woocommerce-notices-wrapper .wc-forward {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    text-align: center;
  }
}

.storm-container {
  width: min(calc(100% - 32px), var(--storm-max));
  margin: 0 auto;
}

.storm-site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  border-bottom: 1px solid var(--storm-line);
  background: color-mix(in srgb, var(--storm-bg) 88%, transparent);
  backdrop-filter: blur(18px);
}

.storm-header-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  min-height: 76px;
}

.storm-brand {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  font-weight: 800;
}

.storm-brand-mark {
  font-size: 1.35rem;
  letter-spacing: 0.08em;
}

.storm-brand-subline,
.storm-kicker,
.storm-product-label,
.storm-mini-label {
  color: var(--storm-muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.storm-nav {
  display: flex;
  justify-content: center;
  gap: 24px;
  color: var(--storm-muted);
  font-size: 0.94rem;
}

.storm-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  color: inherit;
  transition:
    color 180ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 2px;
  background: var(--storm-accent);
  box-shadow: 0 0 14px color-mix(in srgb, var(--storm-accent) 62%, transparent);
  transform: scaleX(0);
  transform-origin: right;
  transition:
    transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 260ms ease;
}

.storm-nav a:hover,
.storm-nav .current-menu-item > a {
  color: var(--storm-text);
}

.storm-nav .current-menu-item > a::after {
  transform: scaleX(1);
  transform-origin: left;
}

.storm-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.storm-theme-toggle,
.storm-button,
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  min-height: 44px;
  border: 1px solid var(--storm-line);
  border-radius: var(--storm-radius);
  background: var(--storm-text);
  color: var(--storm-bg);
  cursor: pointer;
  font-weight: 800;
  line-height: 1;
  padding: 12px 16px;
  transition:
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 180ms ease,
    background 180ms ease,
    color 180ms ease,
    box-shadow 220ms ease;
}

.storm-button::before,
.button::before,
.woocommerce a.button::before,
.woocommerce button.button::before,
.woocommerce #respond input#submit::before {
  content: "";
  position: absolute;
  top: -35%;
  bottom: -35%;
  left: -55%;
  width: 42%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.32), transparent);
  pointer-events: none;
  transform: skewX(-18deg) translateX(0);
  transition: transform 520ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-theme-toggle {
  width: 44px;
  padding: 0;
  background: var(--storm-surface);
  color: var(--storm-text);
}

.storm-theme-toggle:hover,
.storm-button:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  box-shadow: 0 14px 30px color-mix(in srgb, var(--storm-accent) 24%, transparent);
  transform: translateY(-2px);
}

.storm-button:hover::before,
.button:hover::before,
.woocommerce a.button:hover::before,
.woocommerce button.button:hover::before,
.woocommerce #respond input#submit:hover::before {
  transform: skewX(-18deg) translateX(390%);
}

.storm-theme-toggle:active,
.storm-button:active,
.button:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce #respond input#submit:active {
  transform: translateY(0);
}

.storm-button-secondary {
  background: var(--storm-surface);
  color: var(--storm-text);
}

.storm-hero {
  min-height: calc(100vh - 76px);
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(340px, 1.08fr);
  gap: 42px;
  align-items: center;
  padding: 46px 0 64px;
}

.storm-hero-copy {
  display: grid;
  gap: 22px;
  align-content: center;
  min-width: 0;
}

.storm-hero h1,
.storm-section-title,
.storm-page-title,
.woocommerce-products-header__title,
.product_title {
  margin: 0;
  font-family: "Baskerville", "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.98;
}

.storm-hero h1 {
  max-width: 760px;
  font-size: clamp(3rem, 5.2vw, 5.9rem);
  overflow-wrap: break-word;
  hyphens: auto;
}

.storm-lede {
  max-width: 640px;
  margin: 0;
  color: var(--storm-muted);
  font-size: clamp(1rem, 1.4vw, 1.22rem);
  line-height: 1.65;
}

.storm-hero-actions,
.storm-b2b-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.storm-hero-media {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  border: 1px solid var(--storm-line);
  border-radius: var(--storm-radius);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--storm-surface) 92%, transparent), color-mix(in srgb, var(--storm-surface-soft) 96%, transparent)),
    var(--storm-surface);
  box-shadow: var(--storm-shadow);
}

.storm-hero-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--storm-hero-bg);
  background-size: cover;
  background-position: center;
  opacity: 0.18;
}

.storm-hero-product {
  position: absolute;
  inset: 44px 44px 132px;
  display: grid;
  place-items: center;
}

.storm-hero-product img {
  width: min(82%, 520px);
  border-radius: var(--storm-radius);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.2);
}

.storm-hero-card {
  position: absolute;
  right: 24px;
  bottom: 24px;
  left: 24px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: end;
  padding: 22px;
  border: 1px solid var(--storm-line);
  border-radius: var(--storm-radius);
  background: color-mix(in srgb, var(--storm-surface) 90%, transparent);
  backdrop-filter: blur(16px);
}

.storm-hero-card h2 {
  margin: 6px 0 0;
  font-size: clamp(1.55rem, 2.5vw, 2.4rem);
}

.storm-price-stack {
  text-align: right;
}

.storm-price-stack strong {
  display: block;
  font-size: 1.45rem;
}

.storm-band {
  padding: 72px 0;
  border-top: 1px solid var(--storm-line);
}

.storm-section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(280px, 0.45fr);
  gap: 36px;
  align-items: end;
  margin-bottom: 34px;
}

.storm-section-title,
.storm-page-title,
.woocommerce-products-header__title {
  font-size: clamp(2.2rem, 4.6vw, 4.8rem);
}

.storm-content .storm-page-title,
.storm-content .wp-block-heading {
  color: var(--storm-text);
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.95;
  text-transform: uppercase;
}

.storm-content .storm-page-title {
  max-width: 980px;
  margin: 0 0 30px;
  font-size: clamp(3.2rem, 6.6vw, 7.6rem);
}

.storm-content h2.wp-block-heading {
  margin: 42px 0 16px;
  font-size: clamp(2rem, 3.2vw, 3.6rem);
}

.storm-content h3.wp-block-heading {
  margin: 30px 0 12px;
  font-size: clamp(1.35rem, 2.1vw, 2.2rem);
}

.storm-content .wp-block-heading:first-child,
.storm-content .storm-page-title + .wp-block-heading {
  margin-top: 0;
}

.storm-shop-preview,
.storm-b2b-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.storm-feature,
.storm-b2b-panel,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  border: 1px solid var(--storm-line);
  border-radius: var(--storm-radius);
  background: var(--storm-surface);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.06);
}

.storm-feature,
.storm-b2b-panel {
  padding: 24px;
}

.storm-feature img {
  aspect-ratio: 1;
  width: 100%;
  object-fit: cover;
  border-radius: var(--storm-radius);
  margin-bottom: 20px;
  background: var(--storm-surface-soft);
}

.storm-feature h3,
.storm-b2b-panel h3 {
  margin: 0 0 8px;
  font-size: 1.35rem;
}

.storm-feature p,
.storm-b2b-panel p,
.storm-b2b-panel li {
  color: var(--storm-muted);
  line-height: 1.55;
}

.storm-b2b-grid {
  grid-template-columns: 1.1fr 0.9fr;
}

.storm-b2b-panel ul {
  margin: 0;
  padding-left: 18px;
}

.storm-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--storm-line);
  border-radius: var(--storm-radius);
  background: var(--storm-line);
}

.storm-metric {
  padding: 22px;
  background: var(--storm-surface);
}

.storm-metric strong {
  display: block;
  margin-top: 8px;
  font-size: 1.35rem;
}

.storm-main {
  flex: 1 0 auto;
  min-height: 60vh;
}

.storm-content {
  padding: 54px 0 78px;
}

.storm-site-footer {
  border-top: 1px solid var(--storm-line);
  padding: 34px 0;
  color: var(--storm-muted);
}

.woocommerce .woocommerce-breadcrumb {
  color: var(--storm-muted);
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  content: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none;
  width: auto;
  margin: 0;
  overflow: hidden;
}

.woocommerce ul.products li.product a img {
  aspect-ratio: 1;
  object-fit: contain;
  margin: 0;
  background: #fff;
  padding: 18px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button {
  margin-right: 16px;
  margin-left: 16px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--storm-text);
  font-size: 1rem;
  line-height: 1.3;
  min-height: 2.6em;
}

.woocommerce ul.products li.product .price {
  color: var(--storm-accent);
  font-weight: 800;
}

.woocommerce ul.products li.product .button {
  margin-bottom: 16px;
}

.woocommerce span.onsale {
  min-height: auto;
  border-radius: var(--storm-radius);
  background: var(--storm-accent);
  line-height: 1;
  padding: 8px 10px;
}

.woocommerce div.product {
  padding: 54px 0;
}

.woocommerce div.product div.images img {
  border-radius: var(--storm-radius);
  background: #fff;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--storm-accent);
  font-size: 1.55rem;
  font-weight: 900;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce input.input-text,
.woocommerce select,
input,
select,
textarea {
  border: 1px solid var(--storm-line);
  border-radius: var(--storm-radius);
  background: var(--storm-surface);
  color: var(--storm-text);
  padding: 12px 14px;
}

.storm-b2b-price-note {
  display: inline-flex;
  margin-top: 6px;
  border-radius: var(--storm-radius);
  background: color-mix(in srgb, var(--storm-accent-2) 16%, transparent);
  color: var(--storm-accent-2);
  font-size: 0.82rem;
  font-weight: 800;
  padding: 7px 9px;
}

.storm-b2b-uvp {
  display: inline-flex;
  gap: 0.3em;
  align-items: baseline;
  margin: 0 0 4px;
  color: var(--storm-muted);
  font-family: Inter, "Avenir Next", "Segoe UI", Arial, sans-serif;
  font-size: 0.66em;
  font-weight: 400;
  line-height: 1;
  vertical-align: baseline;
}

.storm-b2b-uvp .woocommerce-Price-amount,
.storm-b2b-uvp .woocommerce-Price-currencySymbol {
  color: inherit;
  font: inherit;
}

@media (max-width: 980px) {
  .storm-header-inner,
  .storm-hero,
  .storm-section-head,
  .storm-b2b-grid {
    grid-template-columns: 1fr;
  }

  .storm-nav {
    justify-content: flex-start;
    overflow-x: auto;
  }

  .storm-hero {
    min-height: auto;
  }

  .storm-hero-media {
    min-height: 520px;
  }

  .storm-shop-preview,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.admin-bar .storm-site-header {
    top: 0;
  }

  .storm-header-inner {
    min-height: 92px;
    gap: 14px;
    padding: 14px 0;
  }

  .storm-header-actions {
    justify-content: space-between;
  }

  .storm-hero {
    padding-top: 28px;
  }

  .storm-hero h1 {
    font-size: clamp(2.8rem, 16vw, 4.6rem);
  }

  .storm-hero-media {
    min-height: 430px;
  }

  .storm-hero-product {
    inset: 26px 20px 128px;
  }

  .storm-hero-card {
    grid-template-columns: 1fr;
  }

  .storm-price-stack {
    text-align: left;
  }

  .storm-shop-preview,
  .storm-metrics,
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
}

/* STORM London reference direction */
:root {
  --storm-bg: #f7f9fc;
  --storm-surface: #ffffff;
  --storm-surface-soft: #edf3fb;
  --storm-text: #0c1016;
  --storm-muted: #4f5b67;
  --storm-line: rgba(13, 32, 55, 0.14);
  --storm-accent: #075ac6;
  --storm-accent-2: #0c4fa8;
  --storm-metal: #c6d4e6;
  --storm-shadow: 0 26px 70px rgba(14, 42, 82, 0.14);
  --storm-radius: 0;
}

[data-storm-theme="dark"] {
  --storm-bg: #03080f;
  --storm-surface: #08111d;
  --storm-surface-soft: #0d1a29;
  --storm-text: #f7f8f8;
  --storm-muted: #bdc8d4;
  --storm-line: rgba(120, 171, 238, 0.18);
  --storm-accent: #0f6eea;
  --storm-accent-2: #1d8fff;
  --storm-metal: #1d3453;
  --storm-shadow: 0 28px 80px rgba(0, 0, 0, 0.44);
}

body {
  background:
    radial-gradient(circle at 78% 12%, color-mix(in srgb, var(--storm-accent) 15%, transparent), transparent 30%),
    linear-gradient(180deg, var(--storm-bg), color-mix(in srgb, var(--storm-bg) 90%, var(--storm-surface-soft)));
}

.storm-container {
  width: min(calc(100% - 60px), 1560px);
}

.storm-site-header {
  background: color-mix(in srgb, var(--storm-bg) 90%, transparent);
  border-bottom: 1px solid var(--storm-line);
}

.storm-header-inner {
  min-height: 116px;
}

.storm-brand-mark {
  color: var(--storm-text);
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: 2.45rem;
  font-weight: 900;
  line-height: 0.84;
  letter-spacing: 0.02em;
  margin-bottom: -10px;
  transition: color 180ms ease;
}

.storm-brand:hover .storm-brand-mark,
.storm-brand:focus-visible .storm-brand-mark {
  color: var(--storm-accent);
}

.storm-brand-subline {
  margin-top: 8px;
  color: var(--storm-text);
  font-family: Arial, sans-serif;
  font-size: 15.2px;
  font-weight: 300;
  letter-spacing: 0.18em;
  text-align: center;
}

.storm-nav {
  gap: clamp(18px, 3vw, 56px);
  color: var(--storm-text);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-nav-shell {
  min-width: 0;
}

.storm-watches-dropdown {
  position: absolute;
  top: 100%;
  left: var(--storm-watches-x, 50%);
  z-index: 191;
  width: min(720px, calc(100vw - 32px));
  border-top: 2px solid var(--storm-accent);
  border-right: 1px solid var(--storm-line);
  border-bottom: 1px solid var(--storm-line);
  border-left: 1px solid var(--storm-line);
  background: color-mix(in srgb, var(--storm-bg) 96%, transparent);
  box-shadow: 0 24px 64px rgba(0, 12, 30, 0.24);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -12px);
  transition:
    opacity 180ms ease,
    visibility 180ms ease,
    transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1);
  backdrop-filter: blur(24px);
}

.storm-nav-shell.is-watches-open .storm-watches-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.storm-watches-dropdown-inner {
  padding: 18px;
}

.storm-watches-dropdown-inner > p {
  margin: 0 0 12px;
  color: var(--storm-muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.storm-watches-dropdown-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.storm-watches-dropdown-grid a {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  min-height: 268px;
  overflow: hidden;
  border: 1px solid rgba(125, 159, 198, 0.28);
  color: #fff;
  box-shadow: 0 12px 30px rgba(0, 12, 30, 0.16);
  transition:
    border-color 180ms ease,
    box-shadow 220ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-watches-dropdown-grid a::before,
.storm-watches-dropdown-grid a::after {
  content: "";
  position: absolute;
  inset: 0;
}

.storm-watches-dropdown-grid a::before {
  z-index: -2;
  background-image: var(--storm-watch-menu-image);
  background-position: center;
  background-size: cover;
  transform: scale(1.015);
  transition: transform 520ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-watches-dropdown-grid a::after {
  z-index: -1;
  background: linear-gradient(180deg, rgba(2, 11, 24, 0.02) 34%, rgba(2, 11, 24, 0.24) 62%, rgba(2, 11, 24, 0.88) 100%);
}

.storm-watches-dropdown-tile-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 5px 12px;
  width: 100%;
  padding: 18px;
}

.storm-watches-dropdown-grid a:hover,
.storm-watches-dropdown-grid a:focus-visible {
  border-color: var(--storm-accent);
  box-shadow: 0 20px 42px rgba(0, 70, 160, 0.28);
  transform: translateY(-4px);
}

.storm-watches-dropdown-grid a:hover::before,
.storm-watches-dropdown-grid a:focus-visible::before {
  transform: scale(1.075);
}

.storm-watches-dropdown-grid strong {
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.storm-watches-dropdown-grid small {
  grid-column: 1;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: none;
}

.storm-watches-dropdown-grid svg {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 17px;
  height: 17px;
  transition: transform 180ms ease;
}

.storm-watches-dropdown-grid a:hover svg,
.storm-watches-dropdown-grid a:focus-visible svg {
  transform: translateX(4px);
}

.storm-watches-dropdown-all {
  display: inline-flex;
  margin-top: 13px;
  color: var(--storm-accent);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.storm-collections-mega {
  position: absolute;
  top: 100%;
  left: var(--storm-collections-x, 50%);
  z-index: 190;
  width: min(1120px, calc(100vw - 32px));
  max-height: calc(100vh - 116px);
  overflow: auto;
  border-top: 2px solid var(--storm-accent);
  border-right: 1px solid var(--storm-line);
  border-bottom: 1px solid var(--storm-line);
  border-left: 1px solid var(--storm-line);
  background: color-mix(in srgb, var(--storm-bg) 96%, transparent);
  box-shadow: 0 24px 64px rgba(0, 12, 30, 0.24);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -12px);
  transform-origin: top center;
  transition:
    opacity 180ms ease,
    visibility 180ms ease,
    transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
  backdrop-filter: blur(24px);
}

.storm-nav-shell.is-open .storm-collections-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.storm-collections-mega-inner {
  width: 100%;
  padding: 18px;
}

.storm-collections-mega-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 12px;
}

.storm-collections-mega-heading p,
.storm-collections-mega-heading a {
  margin: 0;
  color: var(--storm-text);
  font-family: Arial, sans-serif;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.storm-collections-mega-heading a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--storm-accent);
}

.storm-collections-mega-heading .storm-icon {
  width: 16px;
  height: 16px;
  transition: transform 180ms ease;
}

.storm-collections-mega-heading a:hover .storm-icon,
.storm-collections-mega-heading a:focus-visible .storm-icon {
  transform: translateX(4px);
}

.storm-collections-mega-grid {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 10px;
}

.storm-collections-mega-tile {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
  min-height: 188px;
  overflow: hidden;
  padding: 14px 12px 13px;
  border: 1px solid rgba(125, 159, 198, 0.2);
  color: #fff;
  box-shadow: 0 12px 30px rgba(0, 12, 30, 0.12);
  transform: translateY(0);
  transition:
    border-color 180ms ease,
    box-shadow 220ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
  grid-column: span 2;
}

.storm-collections-mega-tile:nth-child(6) {
  grid-column: 2 / span 2;
}

.storm-collections-mega-tile::before,
.storm-collections-mega-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
}

.storm-collections-mega-tile::before {
  background-image: var(--storm-mega-image);
  background-position: center;
  background-size: cover;
  transform: scale(1.02);
  transition: transform 520ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-collections-mega-tile::after {
  z-index: -1;
  background: linear-gradient(180deg, rgba(2, 11, 24, 0.08) 8%, rgba(2, 11, 24, 0.58) 54%, rgba(2, 11, 24, 0.96) 100%);
  transition: background 220ms ease;
}

.storm-collections-mega-tile-light {
  color: #07101c;
}

.storm-collections-mega-tile-light::after {
  background: linear-gradient(180deg, rgba(247, 250, 254, 0.04) 8%, rgba(247, 250, 254, 0.62) 55%, rgba(247, 250, 254, 0.97) 100%);
}

.storm-collections-mega-badge {
  align-self: flex-start;
  margin-bottom: auto;
  padding: 6px 8px;
  background: var(--storm-accent);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
}

.storm-collections-mega-tile strong {
  margin-top: 30px;
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 1.24rem;
  font-weight: 900;
  line-height: 0.96;
  text-transform: uppercase;
}

.storm-collections-mega-tile small {
  margin-top: 7px;
  font-family: Arial, sans-serif;
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
}

.storm-collections-mega-tile em {
  margin-top: 10px;
  color: currentColor;
  font-family: Arial, sans-serif;
  font-size: 0.56rem;
  font-style: normal;
  line-height: 1.3;
  opacity: 0.72;
}

.storm-collections-mega-tile:hover,
.storm-collections-mega-tile:focus-visible {
  z-index: 2;
  border-color: var(--storm-accent);
  box-shadow: 0 20px 42px rgba(0, 70, 160, 0.26);
  transform: translateY(-5px);
}

.storm-collections-mega-tile:hover::before,
.storm-collections-mega-tile:focus-visible::before {
  transform: scale(1.09);
}

@media (max-width: 980px) {
  .storm-collections-mega {
    display: none;
  }
}

.storm-header-actions {
  gap: 16px;
}

.storm-header-search {
  position: relative;
  z-index: 30;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  transition:
    width 360ms cubic-bezier(0.2, 0.8, 0.2, 1),
    flex-basis 360ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-header-search-form {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border: 1px solid transparent;
  background: transparent;
  box-shadow: 0 16px 42px transparent;
  transition:
    width 360ms cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 240ms ease;
}

.storm-header-search.is-open .storm-header-search-form {
  width: min(390px, calc(100vw - 36px));
  border-color: color-mix(in srgb, var(--storm-accent) 48%, var(--storm-line));
  background: color-mix(in srgb, var(--storm-bg) 96%, transparent);
  box-shadow: 0 16px 42px color-mix(in srgb, #00152f 24%, transparent);
}

.storm-header-search-input {
  flex: 1 1 auto;
  width: 0;
  min-width: 0;
  height: 40px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--storm-text);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  opacity: 0;
  transform: translateX(18px);
  transition:
    opacity 180ms ease 70ms,
    padding 260ms ease,
    transform 320ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-header-search-input::placeholder {
  color: var(--storm-muted);
  opacity: 0.8;
}

.storm-header-search.is-open .storm-header-search-input {
  width: auto;
  padding: 0 10px 0 16px;
  opacity: 1;
  transform: translateX(0);
}

.storm-header-search-trigger {
  flex: 0 0 42px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.storm-header-search.is-open .storm-header-search-trigger {
  color: var(--storm-accent);
}

.storm-header-search.is-open .storm-header-search-trigger::before {
  opacity: 1;
  transform: scale(1);
}

@media (min-width: 981px) {
  .storm-header-inner,
  .storm-header-actions,
  .storm-nav-shell,
  .storm-nav {
    transition:
      gap 360ms cubic-bezier(0.2, 0.8, 0.2, 1),
      transform 360ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .storm-header-search.is-open {
    flex-basis: clamp(220px, 22vw, 390px);
    width: clamp(220px, 22vw, 390px);
  }

  .storm-header-search.is-open .storm-header-search-form {
    width: 100%;
  }

  .storm-header-inner.is-search-open {
    gap: clamp(14px, 1.4vw, 22px);
  }

  .storm-header-inner.is-search-open .storm-header-actions {
    gap: clamp(8px, 0.7vw, 12px);
  }

  .storm-header-inner.is-search-open .storm-nav-shell {
    transform: translateX(clamp(-32px, -1.5vw, -14px));
  }

  .storm-header-inner.is-search-open .storm-nav {
    gap: clamp(12px, 1.2vw, 21px);
  }
}

.storm-theme-toggle,
.storm-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  min-height: 46px;
  border-color: var(--storm-line);
  border-radius: 0;
  background: var(--storm-accent);
  color: #fff;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.storm-theme-toggle {
  width: 46px;
  border: 0;
  background: transparent;
  color: var(--storm-text);
}

.storm-theme-toggle:hover {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.storm-icon {
  display: block;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.storm-outline-link .storm-icon,
.storm-text-link .storm-icon {
  width: 18px;
  height: 18px;
}

.storm-button-secondary {
  background: color-mix(in srgb, var(--storm-surface) 76%, transparent);
  color: var(--storm-text);
}

.storm-icon-link,
.storm-cart-icon {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: var(--storm-text);
  transition:
    color 180ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-icon-link::before,
.storm-cart-icon::before,
.storm-theme-toggle::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--storm-accent) 18%, transparent);
  opacity: 0;
  transform: scale(0.58);
  transition:
    opacity 180ms ease,
    transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-icon-link .storm-icon,
.storm-cart-icon .storm-icon,
.storm-theme-toggle .storm-icon {
  position: relative;
  z-index: 1;
  transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-theme-toggle span {
  display: grid;
  place-items: center;
}

.storm-theme-toggle [hidden] {
  display: none;
}

.storm-cart-icon em {
  position: absolute;
  z-index: 2;
  right: -5px;
  bottom: -2px;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--storm-accent);
  color: #fff;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 900;
  line-height: 18px;
  text-align: center;
}

.storm-home-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--storm-line);
  background: var(--storm-bg);
  isolation: isolate;
}

.storm-home-liquid-glass {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: var(--storm-bg);
  pointer-events: none;
}

.storm-home-liquid-glass::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(255, 255, 255, 0.66);
  pointer-events: none;
}

html[data-storm-theme="dark"] .storm-home-liquid-glass::after {
  background: rgba(0, 0, 0, 0.66);
}

.storm-home-liquid-glass-image,
.storm-home-liquid-glass-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  z-index: 0;
  object-fit: cover;
  object-position: center;
  transition: opacity 500ms ease;
}

.storm-home-liquid-glass-video {
  z-index: 1;
}

.storm-home-liquid-glass-light {
  opacity: 1;
}

.storm-home-liquid-glass-dark {
  opacity: 0;
}

html[data-storm-theme="dark"] .storm-home-liquid-glass-light {
  opacity: 0;
}

html[data-storm-theme="dark"] .storm-home-liquid-glass-dark {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .storm-home-liquid-glass-video,
  .storm-newsletter-video {
    display: none;
  }

  .storm-home-copy,
  .storm-home-watch-model {
    translate: none !important;
    will-change: auto;
  }
}

.storm-home-hero-inner {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 46px;
  min-height: calc(100vh - 116px);
  align-items: center;
}

.storm-home-hero.has-promo-ticker .storm-home-hero-inner {
  min-height: calc(100vh - var(--storm-promo-initial-header-bottom, 116px) - var(--storm-promo-ticker-height, 42px));
  padding-bottom: 52px;
}

@supports (height: 100dvh) {
  .storm-home-hero.has-promo-ticker .storm-home-hero-inner {
    min-height: calc(100dvh - var(--storm-promo-initial-header-bottom, 116px) - var(--storm-promo-ticker-height, 42px));
  }
}

.storm-promo-ticker {
  position: sticky;
  top: var(--storm-promo-dock-top, 116px);
  right: 0;
  left: 0;
  z-index: 195;
  display: block;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
  border-bottom: 1px solid rgba(0, 0, 0, 0.18);
  background: var(--storm-accent);
  color: #fff;
  text-decoration: none;
}

.storm-promo-ticker-track {
  display: flex;
  width: max-content;
  min-width: 100%;
  animation: storm-promo-ticker-scroll 30s linear infinite;
  will-change: transform;
}

.storm-promo-ticker-group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
}

.storm-promo-ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding: 13px 34px;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  line-height: 1.15;
  text-transform: uppercase;
  white-space: nowrap;
}

.storm-promo-ticker-item::after {
  content: "\2726";
  color: rgba(255, 255, 255, 0.7);
}

.storm-promo-ticker:hover .storm-promo-ticker-track,
.storm-promo-ticker:focus-visible .storm-promo-ticker-track {
  animation-play-state: paused;
}

.storm-promo-ticker:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
}

@keyframes storm-promo-ticker-scroll {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (max-width: 720px) {
  .storm-home-hero.has-promo-ticker .storm-home-hero-inner {
    padding-bottom: 104px;
  }

  .storm-promo-ticker-item {
    padding: 12px 22px;
    font-size: 0.7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .storm-promo-ticker-track {
    width: 100%;
    animation: none;
    will-change: auto;
  }

  .storm-promo-ticker-group {
    width: 100%;
    justify-content: center;
  }

  .storm-promo-ticker-group[aria-hidden="true"] {
    display: none;
  }

  .storm-promo-ticker-item:not(:first-child) {
    display: none;
  }

  .storm-promo-ticker-item:first-child {
    justify-content: center;
    width: 100%;
    text-align: center;
    white-space: normal;
  }

  .storm-promo-ticker-item:first-child::after {
    content: none;
  }
}

.storm-home-copy {
  position: relative;
  z-index: 4;
  max-width: 440px;
  translate: 0 var(--storm-copy-parallax-y, 0px);
  will-change: translate;
}

.storm-kicker {
  color: var(--storm-accent);
  font-size: 0.84rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-home-copy h1,
.storm-section-copy h2,
.storm-story-copy h2,
.storm-b2b-copy h2 {
  margin: 18px 0 24px;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-weight: 900;
  letter-spacing: 0.01em;
  line-height: 0.98;
  text-transform: uppercase;
}

.storm-home-copy h1 {
  font-size: clamp(4.5rem, 7.2vw, 8.7rem);
}

.storm-home-copy h1 span {
  color: var(--storm-accent);
}

.storm-lede,
.storm-section-copy p,
.storm-story-copy p,
.storm-b2b-copy p {
  color: var(--storm-muted);
  font-size: 1.06rem;
  line-height: 1.72;
}

.storm-outline-link,
.storm-text-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 22px;
  color: var(--storm-accent);
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition:
    color 180ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-outline-link {
  min-width: 270px;
  margin-top: 22px;
  border: 1px solid var(--storm-accent);
  padding: 20px 30px;
  overflow: hidden;
  transition:
    border-color 180ms ease,
    color 180ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 220ms ease;
}

.storm-outline-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, color-mix(in srgb, var(--storm-accent) 14%, transparent), transparent 58%);
  opacity: 0;
  transform: translateX(-18%);
  transition:
    opacity 180ms ease,
    transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-outline-link > *,
.storm-text-link > * {
  position: relative;
  z-index: 1;
}

.storm-outline-link .storm-icon,
.storm-text-link .storm-icon {
  transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-home-watch {
  position: relative;
  min-height: 848px;
  overflow: hidden;
}

.storm-home-gender-switch {
  position: absolute;
  bottom: 0;
  left: calc(50% - 12px);
  z-index: 10;
  display: inline-flex;
  gap: 5px;
  padding: 5px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  opacity: 0.3;
  transform: translateX(-50%);
  transition: opacity 220ms ease;
}

.storm-home-gender-switch:hover,
.storm-home-gender-switch:focus-within {
  opacity: 1;
}

.storm-home-gender-switch button {
  display: grid;
  width: 56px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--storm-muted);
  cursor: pointer;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  place-items: center;
  transition:
    background 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.storm-home-gender-switch button:hover,
.storm-home-gender-switch button:focus-visible {
  color: var(--storm-accent);
  transform: translateY(-1px);
}

.storm-home-gender-switch button[aria-pressed="true"] {
  background: var(--storm-accent);
  color: #fff;
}

html[data-storm-theme="dark"] .storm-home-gender-switch {
  background: transparent;
  box-shadow: none;
}

.storm-home-watch-model {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  object-fit: contain;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition:
    left 520ms cubic-bezier(0.2, 0.82, 0.2, 1),
    opacity 420ms ease,
    filter 520ms ease,
    transform 520ms cubic-bezier(0.2, 0.82, 0.2, 1);
  will-change: transform, opacity, filter;
}

.storm-home-watch-model[hidden] {
  display: none;
}

.storm-home-watch.is-switching .storm-home-watch-model:not([hidden]) {
  opacity: 0;
  filter: saturate(0.74) blur(0.6px);
  transform: translate(-50%, -50%) scale(0.94);
}

.storm-home-watch-main {
  translate: 0 var(--storm-watch-main-parallax-y, 0px);
}

.storm-home-watch-side-left {
  translate: 0 var(--storm-watch-left-parallax-y, 0px);
}

.storm-home-watch-side-right {
  translate: 0 var(--storm-watch-right-parallax-y, 0px);
}

.storm-home-watch-model img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  max-height: inherit;
  object-fit: contain;
}

.storm-home-watch-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 7;
  width: 33.3334%;
}

.storm-home-watch-zone-0 {
  left: 0;
}

.storm-home-watch-zone-1 {
  left: 33.3333%;
}

.storm-home-watch-zone-2 {
  left: 66.6666%;
}

.storm-home-watch-zone:focus-visible {
  outline: 2px solid var(--storm-accent);
  outline-offset: -8px;
}

.storm-home-watch-main {
  z-index: 3;
  width: min(62vw, 690px);
  max-height: 760px;
  filter: drop-shadow(0 36px 58px rgba(0, 0, 0, 0.36));
}

.storm-home-watch-side {
  z-index: 2;
  width: min(28vw, 350px);
  max-height: 590px;
  opacity: 0.66;
  filter: saturate(0.68) brightness(0.82) blur(0.35px) drop-shadow(0 28px 48px rgba(0, 0, 0, 0.28));
}

[data-watch-gender-group="women"].storm-home-watch-side {
  width: min(45.76vw, 572px);
  max-height: 930px;
}

.storm-home-watch [data-watch-gender-group="women"].storm-home-watch-side-left {
  left: calc(24% - 10px);
}

.storm-home-watch [data-watch-gender-group="women"].storm-home-watch-side-right {
  left: calc(76% + 10px);
}

.storm-home-watch .storm-home-watch-side-left {
  left: 24%;
  transform: translate(-50%, -50%) rotate(-7deg);
}

.storm-home-watch .storm-home-watch-side-right {
  left: 76%;
  transform: translate(-50%, -50%) rotate(7deg);
}

.storm-home-watch.is-interacting .storm-home-watch-model.is-muted {
  z-index: 1;
  opacity: 0.32;
  filter: saturate(0.55) brightness(0.74) blur(0.55px);
}

.storm-home-watch .storm-home-watch-main.is-muted {
  transform: translate(-50%, -50%) scale(0.965);
}

.storm-home-watch .storm-home-watch-side-left.is-muted {
  transform: translate(-50%, -50%) rotate(-7deg) scale(0.94);
}

.storm-home-watch .storm-home-watch-side-right.is-muted {
  transform: translate(-50%, -50%) rotate(7deg) scale(0.94);
}

.storm-home-watch .storm-home-watch-model.is-active {
  z-index: 6;
  opacity: 1;
  filter: saturate(1.06) brightness(1.05) drop-shadow(0 42px 64px rgba(0, 0, 0, 0.42));
}

/* The large drop-shadows reveal faint PNG canvas edges on light backgrounds. */
html:not([data-storm-theme="dark"]) .storm-home-watch-model::before {
  position: absolute;
  right: 11%;
  bottom: 3%;
  left: 11%;
  z-index: 0;
  height: 13%;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(20, 45, 78, 0.2), rgba(20, 45, 78, 0.07) 42%, transparent 72%);
  content: "";
  opacity: 0.58;
  transition: opacity 420ms ease, transform 520ms cubic-bezier(0.2, 0.82, 0.2, 1);
}

html:not([data-storm-theme="dark"]) .storm-home-watch-main {
  filter: none;
}

html:not([data-storm-theme="dark"]) .storm-home-watch-side {
  filter: saturate(0.72) brightness(0.9);
}

html:not([data-storm-theme="dark"]) .storm-home-watch.is-interacting .storm-home-watch-model.is-muted {
  filter: saturate(0.46) brightness(0.92) blur(0.45px);
}

html:not([data-storm-theme="dark"]) .storm-home-watch .storm-home-watch-model.is-muted::before {
  opacity: 0.12;
  transform: scale(0.86);
}

html:not([data-storm-theme="dark"]) .storm-home-watch .storm-home-watch-model.is-active {
  filter: saturate(1.04) brightness(1.015);
}

html:not([data-storm-theme="dark"]) .storm-home-watch .storm-home-watch-model.is-active::before {
  opacity: 0.82;
  transform: scale(1.06);
}

.storm-home-watch .storm-home-watch-main.is-active {
  transform: translate(-50%, -50%) scale(1.035);
}

.storm-home-watch .storm-home-watch-side-left.is-active {
  transform: translate(-50%, -50%) rotate(-4deg) scale(1.075);
}

.storm-home-watch .storm-home-watch-side-right.is-active {
  transform: translate(-50%, -50%) rotate(4deg) scale(1.075);
}

.storm-home-watch-info {
  position: absolute;
  bottom: 88px;
  left: 50%;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: min(82%, 650px);
  padding: 17px 20px;
  border: 1px solid rgba(126, 183, 255, 0.16);
  border-bottom-color: rgba(126, 183, 255, 0.08);
  border-left: 3px solid var(--storm-accent);
  background: color-mix(in srgb, #020b17 88%, transparent);
  box-shadow:
    0 14px 34px -14px rgba(2, 11, 23, 0.22),
    0 34px 84px -24px rgba(2, 11, 23, 0.28);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 18px);
  backdrop-filter: blur(14px);
  transition:
    opacity 280ms ease,
    transform 420ms cubic-bezier(0.2, 0.82, 0.2, 1);
}

.storm-home-watch-info.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.storm-home-watch-info > p:first-child {
  grid-column: 1 / -1;
  margin: 0 0 5px;
  color: var(--storm-accent);
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.storm-home-watch-info h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
  line-height: 0.96;
  text-transform: uppercase;
}

.storm-home-watch-info > p:nth-of-type(2) {
  grid-column: 1;
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.74rem;
}

.storm-home-watch-info > div {
  grid-row: 2 / 4;
  grid-column: 2;
  display: grid;
  gap: 7px;
  align-content: center;
  justify-items: end;
  margin-left: 22px;
}

.storm-home-watch-info strong {
  color: #fff;
  font-size: clamp(1.3rem, 1.35vw, 1.55rem);
  line-height: 1;
}

.storm-home-watch-info-price {
  display: grid;
  gap: 2px;
  justify-items: end;
  min-width: 170px;
}

.storm-home-watch-info-price > span {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1.2;
}

.storm-home-watch-info-price > small {
  color: var(--storm-accent);
  font-size: 0.55rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.storm-home-watch-info a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--storm-accent);
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: color 200ms ease;
}

.storm-home-watch-info a:hover,
.storm-home-watch-info a:focus-visible {
  color: #fff;
}

.storm-home-watch-info .storm-icon {
  width: 14px;
  height: 14px;
}

.storm-collections-band,
.storm-benefits-band,
.storm-newsletter {
  border-bottom: 1px solid var(--storm-line);
  background: color-mix(in srgb, var(--storm-surface) 74%, var(--storm-bg));
}

.storm-collections-grid {
  display: grid;
  grid-template-columns: minmax(250px, 0.82fr) minmax(0, 3fr);
  gap: 26px;
  padding: 54px 0;
  align-items: stretch;
}

.storm-home-collection-slider {
  position: relative;
  min-width: 0;
  height: 100%;
}

.storm-collection-slider-viewport {
  min-width: 0;
  height: 100%;
  overflow: hidden;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.storm-collection-slider-viewport::-webkit-scrollbar {
  display: none;
}

.storm-collection-slider-viewport:focus-visible {
  outline: 2px solid var(--storm-accent);
  outline-offset: 5px;
}

.storm-collection-slider-track {
  display: flex;
  gap: 14px;
  height: 100%;
}

.storm-home-collection-slider .storm-collection-tile {
  z-index: 1;
  flex: 0 0 calc((100% - 28px) / 3);
  grid-template-rows: minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 520px;
}

.storm-home-collection-slider .storm-collection-tile-copy h2 {
  font-size: clamp(2.2rem, 2.7vw, 3.7rem);
}

.storm-collection-slider-button {
  position: absolute;
  top: 50%;
  z-index: 6;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--storm-accent) 55%, var(--storm-line));
  border-radius: 50%;
  background: var(--storm-surface);
  color: var(--storm-text);
  box-shadow: 0 14px 36px rgba(0, 9, 24, 0.24);
  transform: translateY(-50%);
  transition: background 180ms ease, color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.storm-collection-slider-button .storm-icon {
  width: 20px;
  height: 20px;
}

.storm-collection-slider-prev {
  left: -18px;
}

.storm-collection-slider-next {
  right: -18px;
}

.storm-collection-slider-button:hover,
.storm-collection-slider-button:focus-visible {
  background: var(--storm-accent);
  color: #fff;
  transform: translateY(-50%) scale(1.08);
}

.storm-collection-slider-button:disabled {
  opacity: 0;
  pointer-events: none;
}

.storm-section-copy {
  position: relative;
  z-index: 5;
  align-self: center;
  padding-right: 28px;
}

.storm-section-copy h2,
.storm-story-copy h2,
.storm-b2b-copy h2 {
  font-size: clamp(3rem, 4.8vw, 5.8rem);
}

.storm-collections-band .storm-section-copy h2 {
  font-size: clamp(3rem, 4.8vw, 4.5rem);
}

.storm-section-copy h2,
.storm-story-copy h2 {
  max-width: 520px;
}

.storm-collection-card {
  display: flex;
  flex-direction: column;
  min-height: 520px;
  padding: 30px;
  background: color-mix(in srgb, var(--storm-surface-soft) 72%, transparent);
  box-shadow: inset 0 0 0 1px var(--storm-line);
}

.storm-collection-card img {
  flex: 1;
  width: 100%;
  min-height: 310px;
  object-fit: contain;
  filter: drop-shadow(0 24px 36px rgba(0, 0, 0, 0.18));
}

.storm-collection-card h3 {
  margin: 18px 0 0;
  font-family: Inter, "Avenir Next", sans-serif;
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.storm-collection-card p,
.storm-collection-card a {
  margin: 3px 0 0;
  color: var(--storm-muted);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.storm-collection-card a {
  width: max-content;
  margin-top: 14px;
  border-bottom: 1px solid var(--storm-accent);
  color: var(--storm-text);
}

.storm-collections-hero {
  overflow: hidden;
  border-bottom: 1px solid var(--storm-line);
  background:
    radial-gradient(circle at 76% 34%, rgba(15, 110, 234, 0.18), transparent 30%),
    linear-gradient(90deg, #f9fbfe 0%, #eef4fb 48%, #dfe9f5 100%);
  color: #0b0f14;
}

html[data-storm-theme="dark"] .storm-collections-hero {
  background:
    radial-gradient(circle at 76% 34%, rgba(15, 110, 234, 0.3), transparent 30%),
    linear-gradient(90deg, #06101d 0%, #0c1b2d 48%, #0a1727 100%);
  color: #f7f8f8;
}

.storm-collections-hero-inner {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
  min-height: 560px;
  align-items: center;
  gap: clamp(24px, 5vw, 78px);
}

.storm-collections-hero-copy {
  position: relative;
  z-index: 2;
  padding: 70px 0;
}

.storm-collections-hero-copy h1,
.storm-collections-inspiration h2 {
  margin: 18px 0 24px;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(3.7rem, 6vw, 7.6rem);
  font-weight: 900;
  line-height: 0.98;
  text-transform: uppercase;
}

.storm-collections-hero-copy h1 span {
  color: var(--storm-accent);
}

.storm-collections-hero-copy p,
.storm-collections-inspiration p {
  max-width: 460px;
  color: var(--storm-muted);
  font-size: 1.08rem;
  line-height: 1.7;
}

.storm-collections-hero-media {
  position: relative;
  align-self: stretch;
  min-height: 480px;
}

.storm-collections-hero-media::before {
  content: none;
}

.storm-collections-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

html[data-storm-theme="dark"] .storm-collections-hero-media img {
  opacity: 1;
}

.storm-collection-tabs {
  position: sticky;
  top: 116px;
  z-index: 30;
  border-bottom: 1px solid var(--storm-line);
  background: color-mix(in srgb, var(--storm-bg) 92%, transparent);
  backdrop-filter: blur(16px);
}

.storm-collection-tabs .storm-container {
  display: flex;
  gap: clamp(18px, 3vw, 42px);
  overflow-x: auto;
  padding: 24px 0 22px;
}

.storm-collection-tabs a {
  flex: 0 0 auto;
  color: var(--storm-muted);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-collection-tabs a:hover {
  color: var(--storm-accent);
}

.storm-collection-index {
  padding: 48px 0 58px;
  background: color-mix(in srgb, var(--storm-surface) 78%, var(--storm-bg));
}

.storm-collection-index-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.storm-collection-tile {
  --storm-tile-delay: 0ms;
  --storm-tile-lift: 0px;
  --storm-tile-rotate-x: 0deg;
  --storm-tile-rotate-y: 0deg;
  --storm-tile-bg-x: 0px;
  --storm-tile-bg-y: 0px;
  position: relative;
  scroll-margin-top: 190px;
  display: grid;
  grid-template-rows: auto minmax(140px, 1fr) auto;
  min-height: 520px;
  overflow: hidden;
  isolation: isolate;
  padding: 34px 32px 28px;
  background: #071326;
  color: #fff;
  transform:
    perspective(1200px)
    translate3d(0, var(--storm-tile-lift), 0)
    rotateX(var(--storm-tile-rotate-x))
    rotateY(var(--storm-tile-rotate-y));
  transform-style: preserve-3d;
  transition:
    border-color 260ms ease,
    box-shadow 420ms ease,
    transform 180ms ease-out;
  will-change: transform;
}

.storm-collection-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image:
    linear-gradient(100deg, rgba(2, 9, 20, 0.94) 0%, rgba(4, 18, 38, 0.82) 42%, rgba(4, 18, 38, 0.26) 100%),
    radial-gradient(circle at 76% 40%, rgba(15, 110, 234, 0.34), transparent 34%),
    var(--storm-collection-image),
    linear-gradient(135deg, #020914, #0b2442 60%, #06101d);
  background-position: center, center, center, center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: translate3d(var(--storm-tile-bg-x), var(--storm-tile-bg-y), 0) scale(1.06);
  transition: filter 520ms ease, transform 620ms cubic-bezier(0.2, 0.75, 0.2, 1);
  will-change: transform;
}

.storm-collection-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.02) 46%, rgba(0, 0, 0, 0.58)),
    linear-gradient(0deg, rgba(1, 9, 18, 0.62), transparent 46%);
  pointer-events: none;
}

.storm-collection-tile-sheen {
  position: absolute;
  inset: -35% auto -35% -48%;
  z-index: 1;
  width: 30%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-180%, 0, 0) skewX(-16deg);
}

html.has-storm-collection-motion .storm-collection-tile {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(0.985);
  transition:
    opacity 620ms cubic-bezier(0.2, 0.75, 0.2, 1) var(--storm-tile-delay),
    border-color 260ms ease,
    box-shadow 420ms ease,
    transform 720ms cubic-bezier(0.2, 0.75, 0.2, 1) var(--storm-tile-delay);
}

html.has-storm-collection-motion .storm-collection-tile.is-visible {
  opacity: 1;
  transform:
    perspective(1200px)
    translate3d(0, var(--storm-tile-lift), 0)
    rotateX(var(--storm-tile-rotate-x))
    rotateY(var(--storm-tile-rotate-y));
}

.storm-collection-tile-light {
  background: #eef3f8;
  color: #0b0f14;
}

.storm-collection-tile-light::before {
  background-image:
    linear-gradient(100deg, rgba(248, 251, 255, 0.94) 0%, rgba(238, 245, 252, 0.8) 42%, rgba(238, 245, 252, 0.2) 100%),
    radial-gradient(circle at 74% 38%, rgba(15, 110, 234, 0.2), transparent 36%),
    var(--storm-collection-image),
    linear-gradient(135deg, #f9fbff, #dce6f1 62%, #eef3f8);
}

.storm-collection-tile-light::after {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.14) 44%, rgba(246, 250, 255, 0.72)),
    linear-gradient(0deg, rgba(246, 250, 255, 0.76), transparent 48%);
}

.storm-collection-tile-steel::before {
  background-image:
    linear-gradient(100deg, rgba(8, 17, 29, 0.9) 0%, rgba(28, 42, 58, 0.72) 42%, rgba(240, 244, 248, 0.18) 100%),
    radial-gradient(circle at 78% 34%, rgba(180, 193, 209, 0.32), transparent 36%),
    var(--storm-collection-image),
    linear-gradient(135deg, #15202d, #8895a5 60%, #f3f5f8);
}

.storm-collection-tile-blue::before {
  background-image:
    linear-gradient(100deg, rgba(2, 9, 20, 0.92) 0%, rgba(4, 44, 104, 0.76) 42%, rgba(4, 44, 104, 0.18) 100%),
    radial-gradient(circle at 70% 30%, rgba(54, 154, 255, 0.42), transparent 36%),
    var(--storm-collection-image),
    linear-gradient(135deg, #020914, #063f92 58%, #021428);
}

.storm-collection-tile-copy {
  position: relative;
  z-index: 2;
  max-width: 360px;
  transition: transform 420ms cubic-bezier(0.2, 0.75, 0.2, 1);
}

.storm-collection-tile-copy span {
  display: inline-block;
  margin-bottom: 22px;
  background: var(--storm-accent);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  padding: 10px 14px;
  text-transform: uppercase;
}

.storm-collection-tile-copy h2,
.storm-collection-tile-copy h3 {
  margin: 0;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-weight: 900;
  line-height: 0.98;
  text-transform: uppercase;
}

.storm-collection-tile-copy h2 {
  font-size: clamp(2.2rem, 3.1vw, 4.1rem);
}

.storm-collection-tile-copy h3 {
  max-width: 300px;
  margin-top: 14px;
  color: color-mix(in srgb, currentColor 78%, var(--storm-accent));
  font-size: 1rem;
  letter-spacing: 0.04em;
}

.storm-collection-tile-copy p {
  min-height: 3.3em;
  margin: 16px 0 0;
  color: color-mix(in srgb, currentColor 72%, transparent);
  line-height: 1.55;
}

.storm-collection-cta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 24px;
  border-bottom: 1px solid currentColor;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-collection-cta .storm-icon {
  transition: transform 220ms ease;
}

.storm-collection-models {
  position: relative;
  z-index: 2;
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 84px;
  margin: 0;
  padding: 0;
  list-style: none;
  transition: transform 460ms cubic-bezier(0.2, 0.75, 0.2, 1);
}

.storm-collection-models a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border: 1px solid color-mix(in srgb, currentColor 26%, transparent);
  background: color-mix(in srgb, var(--storm-surface) 8%, transparent);
  color: currentColor;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.1;
  padding: 8px 11px;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.storm-collection-tile-light .storm-collection-models a {
  background: rgba(255, 255, 255, 0.52);
}

@media (hover: hover) and (pointer: fine) {
  .storm-collection-tile.is-visible:hover,
  .storm-collection-tile.is-visible:focus-within {
    --storm-tile-lift: -8px;
    z-index: 3;
    box-shadow: 0 26px 64px rgba(0, 8, 22, 0.34), 0 0 0 1px rgba(61, 149, 255, 0.28);
  }

  .storm-collection-tile.is-visible:hover::before,
  .storm-collection-tile.is-visible:focus-within::before {
    filter: saturate(1.12) contrast(1.04);
    transform: translate3d(var(--storm-tile-bg-x), var(--storm-tile-bg-y), 0) scale(1.12);
  }

  .storm-collection-tile.is-visible:hover .storm-collection-tile-sheen,
  .storm-collection-tile.is-visible:focus-within .storm-collection-tile-sheen {
    opacity: 1;
    transform: translate3d(620%, 0, 0) skewX(-16deg);
    transition:
      opacity 140ms ease,
      transform 760ms cubic-bezier(0.18, 0.72, 0.2, 1);
  }

  .storm-collection-tile.is-visible:hover .storm-collection-tile-copy,
  .storm-collection-tile.is-visible:focus-within .storm-collection-tile-copy {
    transform: translate3d(0, -3px, 22px);
  }

  .storm-collection-tile.is-visible:hover .storm-collection-models,
  .storm-collection-tile.is-visible:focus-within .storm-collection-models {
    transform: translate3d(0, -2px, 18px);
  }

  .storm-collection-cta:hover .storm-icon,
  .storm-collection-cta:focus-visible .storm-icon {
    transform: translateX(6px);
  }

  .storm-collection-models a:hover,
  .storm-collection-models a:focus-visible {
    border-color: var(--storm-accent);
    background: var(--storm-accent);
    color: #fff;
    transform: translateY(-2px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.has-storm-collection-motion .storm-collection-tile {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .storm-collection-tile::before,
  .storm-collection-tile-copy,
  .storm-collection-models,
  .storm-collection-cta .storm-icon {
    transition: none;
  }

  .storm-collection-tile-sheen {
    display: none;
  }
}

/* STORM brand story */
.storm-about-page {
  --storm-about-ink: #0b1017;
  --storm-about-blue: #075fcf;
  --storm-about-paper: #f7f9fc;
  overflow: hidden;
  background: var(--storm-about-paper);
  color: var(--storm-about-ink);
}

.storm-about-page h1,
.storm-about-page h2,
.storm-about-page h3,
.storm-about-page p,
.storm-about-page blockquote,
.storm-about-page figure {
  margin-top: 0;
}

.storm-about-hero {
  position: relative;
  min-height: 670px;
  overflow: hidden;
  border-bottom: 1px solid rgba(11, 16, 23, 0.12);
  background: var(--storm-about-paper);
  isolation: isolate;
}

.storm-about-liquid-glass::after {
  background: linear-gradient(90deg, rgba(247, 249, 252, 0.9) 0%, rgba(247, 249, 252, 0.7) 46%, rgba(247, 249, 252, 0.36) 100%);
}

html[data-storm-theme="dark"] .storm-about-liquid-glass::after {
  background: linear-gradient(90deg, rgba(5, 8, 13, 0.92) 0%, rgba(5, 8, 13, 0.72) 46%, rgba(5, 8, 13, 0.42) 100%);
}

.storm-about-hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(360px, 0.78fr) minmax(540px, 1.22fr);
  align-items: stretch;
  min-height: 670px;
}

.storm-about-hero-copy {
  position: relative;
  z-index: 3;
  align-self: center;
  max-width: 560px;
  padding: 70px 0;
}

.storm-about-breadcrumb {
  display: flex;
  gap: 10px;
  margin-bottom: 56px;
  color: #58616b;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-about-breadcrumb strong {
  color: var(--storm-about-ink);
}

.storm-about-hero-copy .storm-kicker {
  margin-bottom: 14px;
}

.storm-about-hero-copy h1 {
  margin-bottom: 22px;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(4.9rem, 7.3vw, 8rem);
  font-weight: 900;
  letter-spacing: 0.01em;
  line-height: 0.88;
  text-transform: uppercase;
}

.storm-about-hero-copy > i {
  display: block;
  width: 48px;
  height: 3px;
  margin-bottom: 30px;
  background: var(--storm-about-blue);
}

.storm-about-hero-copy > p:last-child {
  max-width: 510px;
  margin-bottom: 0;
  color: #46515d;
  font-size: 1.05rem;
  line-height: 1.72;
}

.storm-about-hero-media {
  --storm-about-archive-lift: -80px;
  position: relative;
  min-width: 0;
  min-height: 670px;
  overflow: visible;
  isolation: isolate;
}

.storm-about-hero-media::before {
  content: "";
  position: absolute;
  right: 6%;
  bottom: 42px;
  left: 4%;
  height: 90px;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(11, 28, 48, 0.26), rgba(11, 28, 48, 0.08) 46%, transparent 72%);
  filter: blur(12px);
  opacity: 0.7;
}

.storm-about-archive-watch {
  position: absolute;
  display: block;
  height: auto;
  max-width: none;
  object-fit: contain;
  filter: drop-shadow(0 34px 42px rgba(0, 17, 42, 0.3));
}

.storm-about-archive-watch-vienna {
  z-index: 2;
  left: -2%;
  bottom: 116px;
  width: min(31.25vw, 438px);
  transform: translateY(calc(var(--storm-about-archive-lift) + var(--storm-about-vienna-parallax-y, 0px))) rotate(-10deg);
}

.storm-about-archive-watch-camera {
  z-index: 2;
  right: -1%;
  bottom: 86px;
  width: min(27.5vw, 388px);
  transform: translateY(calc(var(--storm-about-archive-lift) + var(--storm-about-camera-parallax-y, 0px))) rotate(9deg);
}

.storm-about-archive-watch-circuit {
  z-index: 3;
  left: 50%;
  bottom: 18px;
  width: min(33vw, 470px);
  transform: translateX(-50%) translateY(calc(var(--storm-about-archive-lift) + var(--storm-about-circuit-parallax-y, 0px))) rotate(-1deg);
}

.storm-about-hero-media > span {
  position: absolute;
  z-index: 2;
  right: 38px;
  bottom: 34px;
  display: grid;
  padding: 12px 16px;
  background: #07111f;
  color: #fff;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.storm-about-hero-media > span strong {
  margin-top: 4px;
  color: #61a7ff;
  font-size: 0.9rem;
}

html[data-storm-theme="dark"] .storm-about-hero {
  border-bottom-color: rgba(255, 255, 255, 0.13);
  background: #05080d;
}

html[data-storm-theme="dark"] .storm-about-hero-copy h1,
html[data-storm-theme="dark"] .storm-about-breadcrumb strong {
  color: #f7f9fc;
}

html[data-storm-theme="dark"] .storm-about-breadcrumb,
html[data-storm-theme="dark"] .storm-about-hero-copy > p:last-child {
  color: rgba(247, 249, 252, 0.7);
}

.storm-about-london {
  position: relative;
  isolation: isolate;
  min-height: 570px;
  overflow: hidden;
  color: #fff;
  background-color: #05080d;
}

.storm-about-london::after {
  content: "";
  position: absolute;
  inset: -12%;
  z-index: -2;
  background-image: var(--storm-about-london);
  background-position: center;
  background-size: cover;
  transform: translate3d(0, var(--storm-about-london-parallax-y, 0px), 0) scale(1.04);
  will-change: transform;
}

.storm-about-london::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(0, 5, 12, 0.3);
}

.storm-about-london .storm-container {
  display: grid;
  align-items: center;
  min-height: 570px;
  padding-block: clamp(72px, 7vw, 112px);
}

.storm-about-london-copy {
  max-width: 520px;
}

.storm-about-london h2,
.storm-about-section-heading h2,
.storm-about-philosophy h2,
.storm-about-craft h2,
.storm-about-trade h2 {
  margin: 16px 0 22px;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-weight: 900;
  letter-spacing: 0.01em;
  line-height: 0.96;
  text-transform: uppercase;
}

.storm-about-london h2 {
  max-width: 500px;
  font-size: clamp(4rem, 6.2vw, 7.4rem);
}

.storm-about-london p:last-child {
  max-width: 440px;
  margin-bottom: 0;
  color: #d7dce3;
  font-size: 1rem;
  line-height: 1.72;
}

.storm-about-timeline,
.storm-about-zmt-timeline {
  padding: clamp(74px, 8vw, 118px) 0;
  background: #f7f9fc;
}

.storm-about-section-heading {
  display: grid;
  grid-template-columns: 0.55fr 1.45fr;
  align-items: end;
  gap: 28px;
  margin-bottom: 50px;
}

.storm-about-section-heading h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(3.5rem, 5.7vw, 6.7rem);
}

.storm-about-timeline-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(11, 16, 23, 0.2);
}

.storm-about-milestone {
  display: grid;
  align-content: start;
  min-width: 0;
  padding: 30px 26px 0;
  border-left: 1px solid rgba(11, 16, 23, 0.14);
}

.storm-about-milestone:first-child {
  border-left: 0;
}

.storm-about-milestone > span {
  color: var(--storm-about-blue);
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 2.2rem;
  line-height: 1;
  text-transform: uppercase;
}

.storm-about-milestone h3 {
  margin: 14px 0 12px;
  font-size: 0.84rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-about-milestone p {
  min-height: 112px;
  margin-bottom: 24px;
  color: #55606c;
  font-size: 0.86rem;
  line-height: 1.58;
}

.storm-about-milestone-product {
  display: grid;
  grid-template-rows: minmax(250px, 1fr) auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(11, 16, 23, 0.1);
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.98) 0, rgba(240, 244, 249, 0.96) 54%, rgba(224, 231, 240, 0.92) 100%);
}

.storm-about-milestone-product img {
  width: 100%;
  height: 250px;
  padding: 18px 14px 10px;
  object-fit: contain;
  object-position: center;
}

.storm-about-milestone-zoom {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--storm-text);
  cursor: zoom-in;
}

.storm-about-milestone-zoom img {
  display: block;
  transition: transform 360ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-about-milestone-zoom:hover img,
.storm-about-milestone-zoom:focus-visible img {
  transform: scale(1.045);
}

.storm-about-milestone-zoom:focus-visible {
  outline: 2px solid var(--storm-accent);
  outline-offset: -2px;
}

.storm-about-milestone-zoom-mark {
  position: absolute;
  right: 13px;
  bottom: 13px;
  display: grid;
  width: 35px;
  height: 35px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--storm-accent) 55%, var(--storm-line));
  background: color-mix(in srgb, var(--storm-bg) 90%, transparent);
  color: var(--storm-accent);
  opacity: 0;
  transform: translateY(7px);
  transition:
    opacity 180ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
  backdrop-filter: blur(10px);
}

.storm-about-milestone-zoom-mark svg {
  width: 17px;
  height: 17px;
}

.storm-about-milestone-zoom:hover .storm-about-milestone-zoom-mark,
.storm-about-milestone-zoom:focus-visible .storm-about-milestone-zoom-mark {
  opacity: 1;
  transform: translateY(0);
}

.storm-timeline-lightbox {
  width: min(1080px, calc(100vw - 40px));
  max-width: none;
  max-height: calc(100vh - 40px);
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 1px solid color-mix(in srgb, var(--storm-accent) 44%, var(--storm-line));
  background: transparent;
  color: var(--storm-text);
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.52);
}

.storm-timeline-lightbox::backdrop {
  background: rgba(1, 6, 13, 0.86);
  backdrop-filter: blur(12px);
}

.storm-timeline-lightbox[open] {
  animation: storm-lightbox-in 240ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.storm-timeline-lightbox-panel {
  position: relative;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--storm-bg) 90%, #fff) 0, var(--storm-bg) 74%);
}

.storm-timeline-lightbox figure {
  display: grid;
  gap: 18px;
  margin: 0;
}

.storm-timeline-lightbox img {
  width: 100%;
  height: min(72vh, 780px);
  object-fit: contain;
}

.storm-timeline-lightbox figcaption {
  color: var(--storm-muted);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
}

.storm-timeline-lightbox-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  border: 1px solid var(--storm-line);
  border-radius: 0;
  background: color-mix(in srgb, var(--storm-bg) 92%, transparent);
  color: var(--storm-text);
  font-family: Arial, sans-serif;
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition:
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.storm-timeline-lightbox-close:hover,
.storm-timeline-lightbox-close:focus-visible {
  border-color: var(--storm-accent);
  color: var(--storm-accent);
  transform: rotate(4deg);
}

html.has-storm-timeline-lightbox {
  overflow: hidden;
}

@keyframes storm-lightbox-in {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.975);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.storm-about-milestone-product figcaption {
  display: grid;
  gap: 4px;
  padding: 15px 17px 16px;
  border-top: 1px solid rgba(11, 16, 23, 0.1);
  background: rgba(255, 255, 255, 0.86);
}

.storm-about-milestone-product figcaption strong {
  color: #0b1017;
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.storm-about-milestone-product figcaption span {
  color: #66717d;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.storm-about-values {
  background: #02070d;
  color: #fff;
}

.storm-about-values-inner {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  min-height: 530px;
}

.storm-about-values blockquote {
  display: grid;
  align-content: center;
  margin-bottom: 0;
  padding: clamp(52px, 6vw, 90px) clamp(24px, 5vw, 72px) clamp(52px, 6vw, 90px) 0;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.storm-about-values blockquote > span {
  color: #177af5;
  font-family: Georgia, serif;
  font-size: 6.5rem;
  line-height: 0.45;
}

.storm-about-values blockquote p {
  max-width: 560px;
  margin: 22px 0 18px;
  font-family: Impact, "Arial Black", sans-serif;
  font-size: clamp(3rem, 4.3vw, 5.3rem);
  line-height: 0.98;
  text-transform: uppercase;
}

.storm-about-values cite {
  color: #9da9b7;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-about-value-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  padding: clamp(52px, 6vw, 90px) 0 clamp(52px, 6vw, 90px) clamp(24px, 5vw, 72px);
}

.storm-about-value-grid > div {
  min-height: 190px;
  padding: 26px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.storm-about-value-grid > div:nth-child(-n + 2) {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.storm-about-value-grid .storm-icon {
  width: 42px;
  height: 42px;
  margin-bottom: 22px;
  color: #4e9eff;
}

.storm-about-value-grid strong {
  display: block;
  margin-bottom: 9px;
  color: #66a8fb;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-about-value-grid p {
  max-width: 230px;
  margin-bottom: 0;
  color: #c6ced8;
  font-size: 0.84rem;
  line-height: 1.5;
}

.storm-about-philosophy {
  padding: clamp(76px, 9vw, 128px) 0;
  background: #f7f9fc;
}

.storm-about-philosophy-inner {
  display: grid;
  grid-template-columns: minmax(330px, 0.72fr) minmax(600px, 1.28fr);
  align-items: center;
  gap: clamp(46px, 7vw, 104px);
}

.storm-about-philosophy h2 {
  font-size: clamp(3.8rem, 5.5vw, 6.4rem);
}

.storm-about-philosophy-copy > p:last-of-type {
  color: #55606c;
  line-height: 1.72;
}

.storm-about-mosaic {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  grid-template-rows: 260px 210px;
  gap: 7px;
}

.storm-about-mosaic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 280ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.storm-about-mosaic img.is-changing {
  opacity: 0;
  transform: scale(1.025);
}

.storm-about-mosaic img:first-child {
  grid-row: 1 / 3;
}

@media (prefers-reduced-motion: reduce) {
  .storm-about-mosaic img {
    transition: none;
  }
}

.storm-about-craft {
  scroll-margin-top: 116px;
  background: #07111f;
  color: #fff;
}

.storm-about-craft-inner {
  display: grid;
  grid-template-columns: minmax(420px, 0.85fr) minmax(540px, 1.15fr);
  min-height: 720px;
}

.storm-about-craft-copy {
  display: grid;
  align-content: center;
  padding: clamp(64px, 7vw, 108px) clamp(34px, 7vw, 100px) clamp(64px, 7vw, 108px) 0;
}

.storm-about-craft h2 {
  max-width: 680px;
  font-size: clamp(3.8rem, 5.7vw, 6.5rem);
}

.storm-about-craft-copy > p:not(.storm-kicker) {
  max-width: 670px;
  color: #c9d3df;
  line-height: 1.7;
}

.storm-about-craft figure {
  position: relative;
  min-width: 0;
  min-height: 720px;
  margin-bottom: 0;
  overflow: hidden;
}

.storm-about-craft figure img {
  width: 100%;
  height: 100%;
  min-height: 720px;
  object-fit: cover;
  object-position: 62% center;
}

.storm-about-craft figcaption {
  position: absolute;
  right: 26px;
  bottom: 26px;
  padding: 12px 16px;
  background: rgba(2, 7, 13, 0.88);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-about-craft-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 34px;
  background: rgba(255, 255, 255, 0.15);
}

.storm-about-craft-facts span {
  display: grid;
  align-content: start;
  min-height: 118px;
  padding: 18px;
  background: #07111f;
  color: #aebdce;
  font-size: 0.68rem;
  line-height: 1.45;
  text-transform: uppercase;
}

.storm-about-craft-facts strong {
  margin-bottom: 8px;
  color: #66a8fb;
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
}

.storm-about-zmt-timeline {
  background: #eef3f9;
}

.storm-about-zmt-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid rgba(11, 16, 23, 0.2);
}

.storm-about-zmt-grid > div {
  padding: 28px 24px 0;
  border-left: 1px solid rgba(11, 16, 23, 0.15);
}

.storm-about-zmt-grid > div:first-child {
  border-left: 0;
}

.storm-about-zmt-grid strong {
  color: var(--storm-about-blue);
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 2.1rem;
  text-transform: uppercase;
}

.storm-about-zmt-grid p {
  margin: 14px 0 0;
  color: #52606e;
  font-size: 0.84rem;
  line-height: 1.58;
}

.storm-about-trade {
  padding: clamp(78px, 8vw, 116px) 0;
  background: #075fcf;
  color: #fff;
}

.storm-about-trade-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 56px;
}

.storm-about-trade .storm-kicker {
  color: #bcd9ff;
}

.storm-about-trade h2 {
  max-width: 900px;
  margin-bottom: 18px;
  font-size: clamp(3.7rem, 5.7vw, 6.4rem);
}

.storm-about-trade p:last-child {
  max-width: 740px;
  margin-bottom: 0;
  color: #deecff;
  line-height: 1.65;
}

.storm-about-trade .storm-outline-link {
  flex: none;
  margin: 0;
  border-color: #fff;
  color: #fff;
}

.storm-about-page + .storm-site-footer {
  margin-top: 0;
}

@media (max-width: 1100px) {
  .storm-about-hero-inner,
  .storm-about-philosophy-inner,
  .storm-about-craft-inner,
  .storm-about-values-inner,
  .storm-about-trade-inner {
    grid-template-columns: 1fr;
  }

  .storm-about-hero-copy {
    max-width: 680px;
  }

  .storm-about-hero-media {
    min-height: 560px;
    margin: 0 -28px;
  }

  .storm-about-archive-watch-vienna {
    left: 5%;
    bottom: 104px;
    width: min(45vw, 388px);
  }

  .storm-about-archive-watch-camera {
    right: 5%;
    bottom: 78px;
    width: min(38.75vw, 338px);
  }

  .storm-about-archive-watch-circuit {
    bottom: 0;
    width: min(47vw, 410px);
  }

  .storm-about-values blockquote {
    padding-right: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .storm-about-value-grid {
    padding-left: 0;
  }

  .storm-about-mosaic {
    grid-template-rows: 310px 240px;
  }

  .storm-about-craft-copy {
    padding-right: 0;
  }

  .storm-about-craft figure,
  .storm-about-craft figure img {
    min-height: 580px;
  }

  .storm-about-trade-inner {
    align-items: start;
  }
}

@media (max-width: 760px) {
  .storm-about-hero,
  .storm-about-hero-inner {
    min-height: auto;
  }

  .storm-about-hero-inner {
    grid-template-columns: 1fr;
  }

  .storm-about-hero-copy {
    padding: 46px 0 54px;
  }

  .storm-about-breadcrumb {
    margin-bottom: 36px;
  }

  .storm-about-hero-copy h1 {
    font-size: clamp(4rem, 19vw, 6rem);
  }

  .storm-about-hero-media {
    min-height: 430px;
    margin: 0 -14px;
  }

  .storm-about-hero-media::before {
    right: 2%;
    bottom: 26px;
    left: 2%;
    height: 62px;
  }

  .storm-about-archive-watch-vienna {
    left: 0;
    bottom: 78px;
    width: min(53.75vw, 263px);
  }

  .storm-about-archive-watch-camera {
    right: 0;
    bottom: 64px;
    width: min(46.25vw, 238px);
  }

  .storm-about-archive-watch-circuit {
    bottom: 8px;
    width: min(56vw, 280px);
  }

  .storm-about-hero-media > span {
    right: 18px;
    bottom: 18px;
  }

  .storm-about-london,
  .storm-about-london .storm-container {
    min-height: 620px;
  }

  .storm-about-london::after {
    background-position: 64% center;
  }

  .storm-about-london h2,
  .storm-about-section-heading h2,
  .storm-about-philosophy h2,
  .storm-about-craft h2,
  .storm-about-trade h2 {
    font-size: clamp(3.2rem, 15vw, 5rem);
  }

  .storm-about-section-heading {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .storm-about-timeline-grid,
  .storm-about-zmt-grid {
    grid-template-columns: 1fr;
    border-top: 0;
  }

  .storm-about-milestone,
  .storm-about-zmt-grid > div {
    padding: 28px 0;
    border-top: 1px solid rgba(11, 16, 23, 0.16);
    border-left: 0;
  }

  .storm-about-milestone p {
    min-height: 0;
  }

  .storm-about-milestone-product {
    grid-template-rows: minmax(320px, 1fr) auto;
  }

  .storm-about-milestone-product img {
    height: 320px;
  }

  .storm-about-milestone-zoom-mark {
    opacity: 1;
    transform: none;
  }

  .storm-timeline-lightbox {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .storm-timeline-lightbox-panel {
    padding: 16px;
  }

  .storm-timeline-lightbox img {
    height: min(72vh, 620px);
  }

  .storm-about-values blockquote p {
    font-size: clamp(2.8rem, 13vw, 4.3rem);
  }

  .storm-about-value-grid {
    grid-template-columns: 1fr;
  }

  .storm-about-value-grid > div,
  .storm-about-value-grid > div:nth-child(-n + 2) {
    min-height: 0;
    border-top: 0;
    border-left: 0;
  }

  .storm-about-value-grid > div:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }

  .storm-about-philosophy-inner {
    gap: 54px;
  }

  .storm-about-mosaic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 250px 190px;
  }

  .storm-about-mosaic img:first-child {
    grid-column: 1 / 3;
    grid-row: auto;
  }

  .storm-about-craft-inner {
    min-height: auto;
  }

  .storm-about-craft-facts {
    grid-template-columns: 1fr;
  }

  .storm-about-craft-facts span {
    min-height: 0;
  }

  .storm-about-craft figure,
  .storm-about-craft figure img {
    min-height: 470px;
  }

  .storm-about-craft figure {
    margin: 0 -14px;
  }

  .storm-about-trade .storm-outline-link {
    width: 100%;
  }
}

.storm-collections-inspiration {
  padding: clamp(56px, 7vw, 104px) 0;
  background: var(--storm-bg);
}

.storm-collections-inspiration-inner {
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  gap: clamp(32px, 5vw, 80px);
  align-items: center;
}

.storm-collections-inspiration h2 {
  max-width: 520px;
  font-size: clamp(3.2rem, 4.6vw, 5.8rem);
}

.storm-collections-inspiration figure {
  position: relative;
  min-height: 430px;
  margin: 0;
  overflow: hidden;
  background: #071326;
}

.storm-collections-inspiration figure img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  opacity: 0.72;
}

.storm-collections-inspiration figcaption {
  position: absolute;
  right: 36px;
  bottom: 32px;
  max-width: 320px;
  color: #fff;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(2.6rem, 4vw, 4.8rem);
  line-height: 0.98;
  text-transform: uppercase;
}

.storm-story-split,
.storm-b2b-promo {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  min-height: 570px;
  border-bottom: 1px solid var(--storm-line);
  background: var(--storm-bg);
}

.storm-story-image,
.storm-b2b-image {
  overflow: hidden;
}

.storm-story-image img,
.storm-b2b-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.storm-story-copy,
.storm-b2b-copy {
  display: grid;
  align-content: center;
  padding: clamp(44px, 7vw, 110px);
}

.storm-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.storm-benefit {
  min-height: 176px;
  padding: 32px;
  border-left: 1px solid var(--storm-line);
  text-align: center;
}

.storm-benefit:first-child {
  border-left: 0;
}

.storm-benefit strong {
  display: block;
  margin-top: 14px;
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-benefit p {
  margin: 8px auto 0;
  max-width: 220px;
  color: var(--storm-muted);
  line-height: 1.5;
}

.storm-benefit-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto;
  color: var(--storm-accent);
  stroke-width: 1.45;
}

.storm-b2b-promo {
  grid-template-columns: 0.95fr 1.05fr;
  background: color-mix(in srgb, var(--storm-surface-soft) 50%, var(--storm-bg));
}

body.storm-b2b-login-template .storm-site-header,
body.storm-b2b-login-template .storm-site-footer {
  display: none;
}

body.storm-b2b-login-template .storm-main {
  min-height: 100svh;
}

.storm-b2b-login-page {
  display: grid;
  grid-template-columns: minmax(420px, 0.95fr) minmax(460px, 1.05fr);
  min-height: 100svh;
  background: #f6f7f9;
  color: #0a1018;
}

.storm-b2b-login-brand {
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: 100svh;
  overflow: hidden;
  padding: clamp(38px, 5vw, 72px);
  background:
    linear-gradient(90deg, rgba(2, 8, 15, 0.98) 0%, rgba(5, 18, 36, 0.88) 42%, rgba(7, 24, 48, 0.46) 100%),
    radial-gradient(circle at 72% 45%, rgba(26, 111, 232, 0.42), transparent 34%),
    var(--storm-b2b-login-image) 78% 58% / min(84vw, 920px) auto no-repeat,
    linear-gradient(135deg, #020914, #071a32 62%, #020914);
  color: #fff;
  animation: storm-b2b-login-brand-in 720ms cubic-bezier(0.2, 0.72, 0.18, 1) both;
}

.storm-b2b-login-brand::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 8, 15, 0), rgba(2, 8, 15, 0.18) 46%, rgba(2, 8, 15, 0.68)),
    radial-gradient(circle at 80% 70%, rgba(29, 120, 255, 0.3), transparent 34%);
  pointer-events: none;
}

.storm-b2b-login-logo,
.storm-b2b-login-intro,
.storm-b2b-login-benefits {
  position: relative;
  z-index: 1;
}

.storm-b2b-login-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  width: fit-content;
  color: #fff;
  animation: storm-b2b-login-rise 520ms ease 120ms both;
}

.storm-b2b-login-logo .storm-brand-mark {
  color: #fff;
}

.storm-b2b-login-logo .storm-brand-subline {
  color: #fff;
  text-align: left;
}

.storm-b2b-login-intro {
  max-width: 520px;
  margin-top: clamp(58px, 9vw, 132px);
  animation: storm-b2b-login-rise 620ms ease 220ms both;
}

.storm-b2b-login-intro span {
  display: block;
  width: 28px;
  height: 2px;
  margin-bottom: 28px;
  background: var(--storm-accent);
}

.storm-b2b-login-intro h1 {
  margin: 0;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(3rem, 4.6vw, 5.2rem);
  line-height: 0.94;
  text-transform: uppercase;
}

.storm-b2b-login-intro p {
  max-width: 470px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 1.06rem;
  line-height: 1.65;
}

.storm-b2b-login-benefits {
  display: grid;
  gap: 22px;
  width: min(100%, 660px);
  margin-top: clamp(46px, 11vw, 180px);
  padding: 28px;
  border: 1px solid rgba(218, 232, 255, 0.18);
  background: rgba(2, 9, 18, 0.74);
  backdrop-filter: blur(14px);
  animation: storm-b2b-login-rise 660ms ease 360ms both;
}

.storm-b2b-login-benefits div {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 18px;
  align-items: center;
}

.storm-b2b-login-benefits .storm-icon {
  width: 34px;
  height: 34px;
  color: #7fb6ff;
  stroke-width: 1.45;
}

.storm-b2b-login-benefits strong,
.storm-b2b-login-help strong {
  display: block;
  font-size: 0.88rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-b2b-login-benefits em,
.storm-b2b-login-help em {
  display: block;
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.74);
  font-style: normal;
  line-height: 1.45;
}

.storm-b2b-login-panel {
  position: relative;
  display: grid;
  align-content: center;
  min-height: 100svh;
  padding: clamp(44px, 7vw, 92px);
  background:
    radial-gradient(circle at 64% 18%, rgba(12, 90, 190, 0.08), transparent 34%),
    linear-gradient(135deg, #fff, #f5f7fa);
  animation: storm-b2b-login-panel-in 720ms cubic-bezier(0.2, 0.72, 0.18, 1) both;
}

.storm-b2b-login-close {
  position: absolute;
  top: clamp(30px, 4vw, 60px);
  right: clamp(30px, 5vw, 70px);
  z-index: 2;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(15, 24, 38, 0.12);
  background: rgba(255, 255, 255, 0.66);
  color: #0a1018;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
  animation: storm-b2b-login-rise 500ms ease 420ms both;
}

.storm-b2b-login-close:hover {
  border-color: rgba(15, 24, 38, 0.28);
  background: #fff;
  transform: translateY(-1px);
}

.storm-b2b-login-close .storm-icon {
  width: 24px;
  height: 24px;
  stroke-width: 2;
}

.storm-b2b-login-card {
  width: min(100%, 620px);
  margin: 0 auto;
  animation: storm-b2b-login-form-in 680ms ease 300ms both;
}

.storm-b2b-login-card h2 {
  margin: 0;
  color: #0a1018;
  font-family: Inter, "Avenir Next", "Segoe UI", Arial, sans-serif;
  font-size: clamp(2.2rem, 3.4vw, 3.5rem);
  font-weight: 900;
  letter-spacing: 0;
}

.storm-b2b-login-card p {
  margin: 14px 0 42px;
  color: #727985;
  font-size: 1.08rem;
}

.storm-b2b-login-form {
  display: grid;
}

.storm-b2b-login-form label {
  margin-bottom: 10px;
  color: #111722;
  font-weight: 800;
}

.storm-b2b-login-field {
  display: grid;
  grid-template-columns: 56px 1fr;
  align-items: center;
  min-height: 68px;
  margin-bottom: 28px;
  border: 1px solid rgba(15, 24, 38, 0.18);
  background: rgba(255, 255, 255, 0.62);
}

.storm-b2b-login-field .storm-icon {
  margin: 0 auto;
  color: #79818c;
  stroke-width: 1.6;
}

.storm-b2b-login-field input {
  min-height: 66px;
  border: 0;
  background: transparent;
  color: #0a1018;
  font-size: 1rem;
  outline: none;
  padding: 0 18px 0 0;
}

.storm-b2b-login-field input::placeholder {
  color: #a3a9b2;
}

.storm-b2b-login-forgot {
  justify-self: end;
  margin: -14px 0 34px;
  color: var(--storm-accent);
  font-weight: 700;
}

.storm-b2b-login-submit,
.storm-b2b-login-normal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  width: 100%;
  border: 1px solid #07111e;
  background: #020914;
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-b2b-login-submit {
  gap: 18px;
  cursor: pointer;
}

.storm-b2b-login-submit .storm-icon {
  width: 22px;
  height: 22px;
}

.storm-b2b-login-separator {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
  align-items: center;
  margin: 36px 0;
  color: #8b929b;
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.storm-b2b-login-separator::before,
.storm-b2b-login-separator::after {
  content: "";
  height: 1px;
  background: rgba(12, 20, 32, 0.14);
}

.storm-b2b-login-normal {
  gap: 14px;
  background: transparent;
  color: #111722;
}

.storm-b2b-login-normal .storm-icon {
  width: 24px;
  height: 24px;
  color: #4f5865;
}

.storm-b2b-login-help {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 620px);
  gap: 18px;
  justify-content: center;
  align-items: start;
  padding: 42px clamp(44px, 7vw, 92px);
  background: rgba(235, 239, 245, 0.62);
  animation: storm-b2b-login-help-in 620ms ease 520ms both;
}

.storm-b2b-login-help .storm-icon {
  width: 32px;
  height: 32px;
  color: #111722;
  stroke-width: 1.55;
}

.storm-b2b-login-help strong {
  color: #111722;
}

.storm-b2b-login-help em {
  color: #747c87;
}

.storm-b2b-login-help a {
  display: inline-block;
  margin-top: 8px;
  color: var(--storm-accent);
  font-weight: 700;
}

@keyframes storm-b2b-login-brand-in {
  from {
    opacity: 0;
    transform: translateX(-32px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes storm-b2b-login-panel-in {
  from {
    opacity: 0;
    transform: translateX(32px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes storm-b2b-login-rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes storm-b2b-login-form-in {
  from {
    opacity: 0;
    transform: translateY(24px) scale(0.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes storm-b2b-login-help-in {
  from {
    opacity: 0;
    transform: translateY(22px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.storm-newsletter {
  position: relative;
  isolation: isolate;
  min-height: 560px;
  overflow: hidden;
  border-top: 1px solid var(--storm-line);
  border-bottom: 1px solid var(--storm-line);
  background: var(--storm-bg);
}

.storm-newsletter-background,
.storm-newsletter-background::after,
.storm-newsletter-media {
  position: absolute;
  inset: 0;
}

.storm-newsletter-background {
  z-index: -2;
  overflow: hidden;
  pointer-events: none;
}

.storm-newsletter-background::after {
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.68) 48%, rgba(255, 255, 255, 0.76) 100%),
    rgba(255, 255, 255, 0.22);
  content: "";
}

html[data-storm-theme="dark"] .storm-newsletter-background::after {
  background:
    linear-gradient(90deg, rgba(0, 5, 14, 0.86) 0%, rgba(0, 7, 18, 0.68) 48%, rgba(0, 4, 12, 0.84) 100%),
    rgba(0, 0, 0, 0.2);
}

.storm-newsletter-media {
  display: block;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: opacity 500ms ease;
}

.storm-newsletter-video {
  z-index: 1;
}

.storm-newsletter-light {
  opacity: 1;
}

.storm-newsletter-dark {
  opacity: 0;
}

html[data-storm-theme="dark"] .storm-newsletter-light {
  opacity: 0;
}

html[data-storm-theme="dark"] .storm-newsletter-dark {
  opacity: 1;
}

.storm-newsletter-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
  gap: clamp(54px, 7vw, 116px);
  align-items: center;
  min-height: 560px;
  padding: clamp(76px, 8vw, 128px) 0;
}

.storm-newsletter-copy {
  max-width: 620px;
}

.storm-newsletter-title {
  max-width: 680px;
  margin: 17px 0 22px;
  color: var(--storm-text);
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(4rem, 6.2vw, 7.4rem);
  font-weight: 900;
  letter-spacing: 0.01em;
  line-height: 0.88;
  text-transform: uppercase;
}

.storm-newsletter-copy > p:not(.storm-kicker) {
  max-width: 560px;
  margin: 0;
  color: var(--storm-muted);
  font-size: 1.05rem;
  line-height: 1.7;
}

.storm-newsletter-copy ul {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 26px;
  margin: 28px 0 0;
  padding: 0;
  color: var(--storm-text);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  list-style: none;
  text-transform: uppercase;
}

.storm-newsletter-copy li {
  position: relative;
  padding-left: 18px;
}

.storm-newsletter-copy li::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 8px;
  height: 8px;
  background: var(--storm-accent);
  content: "";
  transform: translateY(-50%);
}

.storm-newsletter-form {
  padding: clamp(28px, 3.8vw, 50px);
  border: 1px solid color-mix(in srgb, var(--storm-accent) 32%, var(--storm-line));
  border-top: 3px solid var(--storm-accent);
  background: color-mix(in srgb, var(--storm-bg) 84%, transparent);
  box-shadow: 0 30px 80px rgba(0, 27, 68, 0.17);
  backdrop-filter: blur(22px);
}

.storm-newsletter-field-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.storm-newsletter-field-row > label {
  grid-column: 1 / -1;
  margin-bottom: 10px;
  color: var(--storm-text);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.storm-newsletter-field-row input,
.storm-newsletter-field-row button {
  min-height: 66px;
  border: 1px solid var(--storm-line);
  border-radius: 0;
}

.storm-newsletter-field-row input {
  min-width: 0;
  padding: 0 20px;
  background: color-mix(in srgb, var(--storm-bg) 92%, transparent);
  color: var(--storm-text);
  font-size: 0.92rem;
}

.storm-newsletter-field-row input:focus {
  position: relative;
  z-index: 1;
  border-color: var(--storm-accent);
  outline: 2px solid var(--storm-accent);
  outline-offset: -2px;
}

.storm-newsletter-field-row button {
  display: inline-flex;
  gap: 18px;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  padding: 0 28px;
  border-color: var(--storm-accent);
  background: var(--storm-accent);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.storm-newsletter-field-row button:hover,
.storm-newsletter-field-row button:focus-visible {
  border-color: #1686ff;
  background: #1686ff;
  color: #fff;
  transform: translateY(-1px);
}

.storm-newsletter-field-row button .storm-icon {
  width: 16px;
  height: 16px;
}

.storm-newsletter-consent {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-top: 22px;
  color: var(--storm-muted);
  cursor: pointer;
  font-size: 0.72rem;
  line-height: 1.55;
}

.storm-newsletter-consent input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  border-radius: 0;
  accent-color: var(--storm-accent);
}

.storm-newsletter-consent a {
  color: var(--storm-text);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: var(--storm-accent);
  text-underline-offset: 3px;
}

.storm-newsletter-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.storm-newsletter-message {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-left: 3px solid currentColor;
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.5;
}

.storm-newsletter-message.is-success {
  background: color-mix(in srgb, #14804a 12%, transparent);
  color: #14804a;
}

.storm-newsletter-message.is-error {
  background: color-mix(in srgb, #b42318 10%, transparent);
  color: #b42318;
}

html[data-storm-theme="dark"] .storm-newsletter-message.is-success {
  color: #70d7a4;
}

html[data-storm-theme="dark"] .storm-newsletter-message.is-error {
  color: #ff9b93;
}

.storm-site-footer {
  flex-shrink: 0;
  background: color-mix(in srgb, var(--storm-bg) 88%, #000 12%);
  color: var(--storm-text);
  padding: 58px 0 28px;
}

.storm-footer-grid {
  display: grid;
  grid-template-columns: 1.45fr repeat(4, 1fr);
  gap: 46px;
}

.storm-footer-brand p,
.storm-site-footer a {
  display: block;
  color: var(--storm-muted);
  line-height: 1.55;
}

.storm-site-footer h3 {
  margin: 0 0 18px;
  font-family: Inter, "Avenir Next", sans-serif;
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.storm-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  margin-top: 44px;
  padding-top: 22px;
  border-top: 1px solid var(--storm-line);
  color: var(--storm-muted);
  font-size: 0.8rem;
}

.storm-footer-bottom nav {
  display: flex;
  align-items: center;
  gap: 32px;
}

.storm-site-footer .storm-footer-withdraw-button {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 8px 14px;
  border: 1px solid var(--storm-text);
  background: var(--storm-text);
  color: var(--storm-bg);
  font-size: 0.74rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.storm-site-footer .storm-footer-withdraw-button:hover,
.storm-site-footer .storm-footer-withdraw-button:focus {
  background: transparent;
  color: var(--storm-text);
}

body > .eu-owb-order-withdraw-from-contract-button {
  display: none;
}

.storm-withdrawal-flow {
  scroll-margin-top: 110px;
  margin: 0 0 48px;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--storm-line);
  background: color-mix(in srgb, var(--storm-surface-soft) 74%, transparent);
}

.storm-withdrawal-kicker {
  margin: 0 0 8px;
  color: var(--storm-accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-withdrawal-flow h2 {
  margin: 0 0 12px;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.95;
  text-transform: uppercase;
}

.storm-withdrawal-flow p {
  max-width: 760px;
}

.storm-withdrawal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 28px 0 24px;
}

.storm-withdrawal-grid label,
.storm-withdrawal-full {
  display: grid;
  gap: 8px;
}

.storm-withdrawal-full {
  grid-column: 1 / -1;
}

.storm-withdrawal-grid span {
  color: var(--storm-muted);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.storm-withdrawal-grid input,
.storm-withdrawal-grid textarea {
  width: 100%;
  border: 1px solid var(--storm-line);
  background: var(--storm-surface);
  color: var(--storm-text);
  font: inherit;
}

.storm-withdrawal-grid input {
  min-height: 48px;
  padding: 0 14px;
}

.storm-withdrawal-grid textarea {
  padding: 12px 14px;
  resize: vertical;
}

.storm-withdrawal-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid var(--storm-text);
  background: var(--storm-text);
  color: var(--storm-bg);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.storm-withdrawal-button:hover,
.storm-withdrawal-button:focus {
  background: transparent;
  color: var(--storm-text);
}

.storm-withdrawal-edit {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  margin-left: 18px;
  color: var(--storm-muted);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.storm-withdrawal-summary {
  display: grid;
  grid-template-columns: minmax(140px, 0.28fr) minmax(0, 1fr);
  gap: 10px 18px;
  margin: 24px 0;
  padding: 20px;
  border: 1px solid var(--storm-line);
  background: var(--storm-surface);
}

.storm-withdrawal-summary dt {
  color: var(--storm-muted);
  font-weight: 900;
}

.storm-withdrawal-summary dd {
  margin: 0;
}

.storm-withdrawal-notice {
  margin: 22px 0;
  padding: 18px;
  border: 1px solid var(--storm-line);
  background: var(--storm-surface);
}

.storm-withdrawal-notice-error {
  border-color: #c72f46;
}

.storm-withdrawal-success {
  border-color: color-mix(in srgb, var(--storm-accent) 54%, var(--storm-line));
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
  color: var(--storm-accent);
  font-family: Impact, "Arial Black", sans-serif;
  letter-spacing: 0.04em;
}

.woocommerce div.product .button,
.woocommerce ul.products li.product .button {
  background: var(--storm-accent);
  color: #fff;
}

/* Reference-style WooCommerce shop archive */
.post-type-archive-product .storm-container.storm-content,
.tax-product_cat .storm-container.storm-content,
.tax-product_tag .storm-container.storm-content {
  width: 100%;
  max-width: none;
  padding: 0;
}

.post-type-archive-product,
.tax-product_cat,
.tax-product_tag {
  --storm-shop-white: #ffffff;
  --storm-shop-ink: #070a0f;
  --storm-shop-muted: #5e6874;
  --storm-shop-blue: #0e5cc4;
  --storm-shop-line: rgba(8, 18, 34, 0.12);
  background: var(--storm-shop-white);
}

[data-storm-theme="dark"] .post-type-archive-product,
[data-storm-theme="dark"] .tax-product_cat,
[data-storm-theme="dark"] .tax-product_tag {
  --storm-shop-white: #0c121a;
  --storm-shop-ink: #f7fbff;
  --storm-shop-muted: #a9b7c8;
  --storm-shop-line: rgba(225, 239, 255, 0.15);
}

.woocommerce-cart .storm-container.storm-content {
  width: 100%;
  max-width: none;
  padding: 0;
}

.woocommerce-cart .storm-page-title {
  display: none;
}

.storm-cart-hero {
  min-height: 430px;
  border-bottom: 1px solid var(--storm-line);
  background:
    radial-gradient(circle at 76% 14%, rgba(15, 110, 234, 0.13), transparent 34%),
    linear-gradient(103deg, #fff 0%, #f7fbff 42%, #e6f1ff 100%);
  overflow: hidden;
}

.storm-cart-empty {
  position: relative;
  min-height: clamp(610px, 72vh, 820px);
  overflow: hidden;
  border-bottom: 1px solid rgba(109, 156, 218, 0.2);
  background:
    radial-gradient(circle at 76% 46%, rgba(21, 117, 245, 0.2), transparent 24%),
    linear-gradient(112deg, #f9fbff 0%, #edf4ff 48%, #d9e9ff 100%);
  isolation: isolate;
}

.storm-cart-empty::before {
  content: "STORM";
  position: absolute;
  z-index: -1;
  right: -0.04em;
  bottom: -0.2em;
  color: rgba(12, 73, 159, 0.055);
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(11rem, 25vw, 30rem);
  font-weight: 900;
  line-height: 0.8;
  letter-spacing: -0.035em;
  pointer-events: none;
}

.storm-cart-empty-grid {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.44;
  background-image:
    linear-gradient(rgba(18, 80, 164, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18, 80, 164, 0.07) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, #000, transparent 58%);
}

.storm-cart-empty-inner {
  display: grid;
  grid-template-columns: minmax(330px, 0.9fr) minmax(470px, 1.1fr);
  align-items: center;
  min-height: inherit;
  gap: clamp(36px, 6vw, 96px);
  padding-top: clamp(58px, 7vw, 94px);
  padding-bottom: clamp(58px, 7vw, 94px);
}

.storm-cart-empty-copy {
  position: relative;
  z-index: 2;
  max-width: 640px;
}

.storm-cart-empty-copy .storm-kicker {
  margin: 0 0 22px;
  color: #0f6eea;
}

.storm-cart-empty h1 {
  display: grid;
  margin: 0;
  color: #080d14;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(4.4rem, 7.4vw, 8.7rem);
  font-weight: 900;
  letter-spacing: -0.018em;
  line-height: 0.82;
  text-transform: uppercase;
}

.storm-cart-empty h1 span,
.storm-cart-empty h1 strong {
  font: inherit;
}

.storm-cart-empty h1 strong {
  color: #0f6eea;
}

.storm-cart-empty-lead {
  max-width: 560px;
  margin: 30px 0 0;
  color: #334153;
  font-size: clamp(1rem, 1.15vw, 1.16rem);
  line-height: 1.75;
}

.storm-cart-empty-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  margin-top: 34px;
}

body.woocommerce-cart .storm-cart-empty-primary {
  min-height: 54px;
  padding: 0 25px;
  gap: 20px;
  border-color: #0f6eea;
  background: #0f6eea;
}

.storm-cart-empty-primary .storm-icon,
.storm-cart-empty-secondary .storm-icon {
  width: 18px;
  height: 18px;
}

.storm-cart-empty-secondary {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  color: #0a1420;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-cart-empty-signature {
  display: grid;
  gap: 5px;
  margin-top: clamp(48px, 7vw, 88px);
  padding-left: 18px;
  border-left: 3px solid #0f6eea;
  color: #0b1420;
  text-transform: uppercase;
}

.storm-cart-empty-signature span {
  color: #0f6eea;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.storm-cart-empty-signature strong {
  font-size: 0.78rem;
  letter-spacing: 0.055em;
}

.storm-cart-empty-watch {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 570px;
  margin: 0;
}

.storm-cart-empty-watch::before {
  content: "";
  position: absolute;
  width: min(37vw, 550px);
  aspect-ratio: 1;
  border: 1px solid rgba(15, 110, 234, 0.22);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.88) 0 36%, rgba(15, 110, 234, 0.08) 37% 56%, transparent 57%);
  box-shadow: 0 42px 110px rgba(14, 77, 160, 0.18);
}

.storm-cart-empty-watch img {
  position: relative;
  z-index: 2;
  width: min(30vw, 405px);
  max-height: 610px;
  object-fit: contain;
  filter: drop-shadow(0 38px 42px rgba(5, 24, 50, 0.25));
  animation: storm-cart-watch-float 6s ease-in-out infinite;
}

.storm-cart-empty-orbit,
.storm-cart-empty-orbit span {
  position: absolute;
  border: 1px solid rgba(15, 110, 234, 0.2);
  border-radius: 50%;
}

.storm-cart-empty-orbit {
  z-index: 1;
  width: min(44vw, 660px);
  aspect-ratio: 1;
}

.storm-cart-empty-orbit::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #0f6eea;
  box-shadow: 0 0 0 8px rgba(15, 110, 234, 0.12);
}

.storm-cart-empty-orbit span:nth-child(1) {
  inset: 9%;
}

.storm-cart-empty-orbit span:nth-child(2) {
  inset: 19%;
}

.storm-cart-empty-orbit span:nth-child(3) {
  inset: 31%;
}

.storm-cart-empty-watch figcaption {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 12%;
  display: grid;
  gap: 4px;
  min-width: 220px;
  padding: 16px 20px;
  border-left: 3px solid #0f6eea;
  background: #07111e;
  color: #fff;
  box-shadow: 0 22px 50px rgba(7, 17, 30, 0.22);
  text-transform: uppercase;
}

.storm-cart-empty-watch figcaption span {
  color: #4c9bff;
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.storm-cart-empty-watch figcaption strong {
  font-size: 0.8rem;
  letter-spacing: 0.05em;
}

@keyframes storm-cart-watch-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}

[data-storm-theme="dark"] .storm-cart-empty {
  border-bottom-color: rgba(83, 147, 234, 0.2);
  background:
    radial-gradient(circle at 76% 46%, rgba(15, 110, 234, 0.28), transparent 25%),
    linear-gradient(112deg, #02070d 0%, #06101d 48%, #0a213e 100%);
}

[data-storm-theme="dark"] .storm-cart-empty::before {
  color: rgba(67, 141, 241, 0.075);
}

[data-storm-theme="dark"] .storm-cart-empty h1,
[data-storm-theme="dark"] .storm-cart-empty-secondary,
[data-storm-theme="dark"] .storm-cart-empty-signature {
  color: #f7fbff;
}

[data-storm-theme="dark"] .storm-cart-empty-lead {
  color: #b7c6d8;
}

[data-storm-theme="dark"] .storm-cart-empty-watch::before {
  border-color: rgba(91, 157, 247, 0.25);
  background: radial-gradient(circle, rgba(20, 47, 82, 0.42) 0 36%, rgba(15, 110, 234, 0.12) 37% 56%, transparent 57%);
  box-shadow: 0 42px 110px rgba(0, 0, 0, 0.34);
}

@media (max-width: 980px) {
  .storm-cart-empty-inner {
    grid-template-columns: 1fr 0.86fr;
    gap: 22px;
  }

  .storm-cart-empty-watch {
    min-height: 500px;
  }

  .storm-cart-empty-watch img {
    width: min(36vw, 350px);
  }
}

@media (max-width: 720px) {
  .storm-cart-empty {
    min-height: auto;
  }

  .storm-cart-empty-inner {
    grid-template-columns: 1fr;
    padding-top: 58px;
    padding-bottom: 0;
  }

  .storm-cart-empty h1 {
    font-size: clamp(4rem, 19vw, 6rem);
  }

  .storm-cart-empty-lead {
    margin-top: 24px;
  }

  .storm-cart-empty-signature {
    margin-top: 44px;
  }

  .storm-cart-empty-watch {
    min-height: 470px;
  }

  .storm-cart-empty-watch::before {
    width: min(84vw, 420px);
  }

  .storm-cart-empty-orbit {
    width: min(104vw, 520px);
  }

  .storm-cart-empty-watch img {
    width: min(68vw, 330px);
    max-height: 460px;
  }

  .storm-cart-empty-watch figcaption {
    right: 0;
    bottom: 8%;
    min-width: 190px;
  }
}

@media (max-width: 460px) {
  .storm-cart-empty-actions {
    align-items: stretch;
    flex-direction: column;
  }

  body.woocommerce-cart .storm-cart-empty-primary,
  .storm-cart-empty-secondary {
    justify-content: space-between;
    width: 100%;
  }
}

.storm-cart-hero-inner {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(420px, 1.1fr);
  align-items: center;
  min-height: 430px;
  gap: 36px;
}

.storm-cart-hero h1 {
  margin: 10px 0 20px;
  max-width: 600px;
  color: #0b0f14;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(4.4rem, 7vw, 7.2rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.92;
  text-transform: uppercase;
}

.storm-cart-hero p {
  max-width: 520px;
  margin: 0;
  color: #1c2530;
  font-size: 1.08rem;
  line-height: 1.8;
}

.storm-cart-hero img {
  justify-self: end;
  width: min(620px, 100%);
  max-height: 430px;
  object-fit: contain;
  filter: drop-shadow(0 28px 44px rgba(8, 30, 65, 0.22));
}

.storm-cart-back {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
  color: #0b0f14;
  font-size: 0.88rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-cart-back .storm-icon {
  transform: rotate(180deg);
}

.storm-cart-shell {
  background: #fff;
}

.storm-cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 390px);
  gap: 54px;
  align-items: start;
  padding: 0 0 54px;
}

.storm-cart-items {
  min-width: 0;
  padding-top: 34px;
}

.storm-cart-table-head,
.storm-cart-item {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) 130px 172px 130px;
  gap: 24px;
  align-items: center;
}

.storm-cart-table-head {
  padding: 0 0 18px;
  border-bottom: 1px solid rgba(14, 25, 38, 0.12);
  color: #0b0f14;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.storm-cart-item {
  padding: 22px 0;
  border-bottom: 1px solid rgba(14, 25, 38, 0.12);
}

.storm-cart-product {
  display: grid;
  grid-template-columns: 152px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}

.storm-cart-thumb {
  display: grid;
  place-items: center;
  min-height: 168px;
  background: #f7f8fa;
  border: 1px solid rgba(14, 25, 38, 0.09);
}

.storm-cart-thumb img {
  width: 132px;
  height: 148px;
  object-fit: contain;
}

.storm-cart-product h2 {
  margin: 0;
  color: #0b0f14;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: 1.3rem;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

.storm-cart-color,
.storm-cart-sku,
.storm-cart-ean,
.storm-cart-stock,
.storm-cart-remove {
  margin: 6px 0 0;
  color: #5c6671;
  font-size: 0.82rem;
}

.storm-cart-color {
  color: var(--storm-model-color-accent, #0f6eea);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.storm-cart-stock {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1f8a49;
  font-weight: 800;
}

.storm-cart-stock span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
}

.storm-cart-stock.is-out-of-stock {
  color: #c3282d;
}

.storm-cart-remove,
.woocommerce .storm-cart-remove.remove,
body.woocommerce-cart .storm-cart-item a.storm-cart-remove.remove {
  display: inline-flex;
  color: #0b0f14 !important;
  width: auto;
  height: auto;
  border-radius: 0;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
}

body.woocommerce-cart .storm-cart-item a.storm-cart-remove.remove:hover {
  background: transparent;
  color: #0f6eea !important;
}

.storm-cart-price,
.storm-cart-subtotal {
  color: #0b0f14;
  font-weight: 900;
}

body.woocommerce-cart .storm-cart-quantity .quantity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 116px;
  height: 52px;
  border: 0;
  background: transparent;
}

body.woocommerce-cart .storm-cart-quantity input.qty {
  width: 110px;
  height: 44px;
  border: 1px solid rgba(8, 18, 34, 0.22);
  background: #fff;
  color: #0b0f14;
  color-scheme: light;
  padding: 0 30px 0 14px;
  text-align: center;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  appearance: auto;
}

.storm-cart-quantity .qty::-webkit-inner-spin-button,
.storm-cart-quantity .qty::-webkit-outer-spin-button {
  opacity: 1;
  cursor: pointer;
}

.storm-cart-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 22px;
}

.storm-cart-update {
  min-height: 46px;
  padding: 0 20px;
  border: 1px solid #0f6eea;
  background: #0f6eea;
  color: #fff;
}

.storm-cart-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 30px;
  border: 1px solid rgba(14, 25, 38, 0.1);
  background: #fbfcff;
}

.storm-cart-benefits div {
  min-height: 104px;
  padding: 20px;
  border-left: 1px solid rgba(14, 25, 38, 0.1);
}

.storm-cart-benefits div:first-child {
  border-left: 0;
}

.storm-cart-benefits .storm-icon {
  width: 28px;
  height: 28px;
  color: #0f5ebd;
}

.storm-cart-benefits strong,
.storm-cart-benefits span {
  display: block;
}

.storm-cart-benefits strong {
  margin-top: 8px;
  color: #0f5ebd;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.storm-cart-benefits span {
  margin-top: 4px;
  color: #263342;
  font-size: 0.82rem;
  line-height: 1.4;
}

.storm-cart-summary {
  position: sticky;
  top: 104px;
  min-height: 520px;
  padding: 42px 34px;
  background:
    radial-gradient(circle at 80% 0%, rgba(15, 110, 234, 0.11), transparent 34%),
    #f8fbff;
  border-left: 1px solid rgba(14, 25, 38, 0.1);
}

.storm-cart-summary h2,
.woocommerce-cart .cross-sells > h2 {
  margin: 0 0 34px;
  color: #0b0f14;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: 2rem;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

.storm-cart-tax-note {
  margin: -22px 0 22px;
  color: #536274;
  font-family: Arial, sans-serif;
  font-size: 0.76rem;
}

.storm-cart-summary-row,
.storm-cart-total {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  color: #0b0f14;
}

.storm-cart-summary-row {
  margin-top: 14px;
  font-size: 0.96rem;
}

.storm-cart-summary-row strong {
  text-align: right;
}

.storm-cart-summary-row ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.storm-cart-summary-row .woocommerce-shipping-destination,
.storm-cart-summary-row .woocommerce-shipping-calculator {
  display: none;
}

.storm-cart-total {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid rgba(14, 25, 38, 0.14);
  font-size: 1.18rem;
}

.storm-cart-total small {
  display: block;
  margin-top: 3px;
  color: #687384;
  font-size: 0.72rem;
}

.storm-cart-total strong {
  font-size: 1.55rem;
}

.storm-cart-total > span {
  margin-top: 4px;
}

.storm-cart-checkout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  width: 100%;
  min-height: 64px;
  margin-top: 12px;
  border-color: #0f6eea;
  background: #0f6eea;
  color: #fff;
}

body.woocommerce-cart .storm-cart-summary > .storm-cart-checkout.checkout-button {
  margin-top: 12px !important;
}

.storm-cart-checkout .storm-icon {
  width: 22px;
  height: 22px;
}

.storm-cart-coupon {
  margin-top: 30px;
  padding: 20px;
  border: 1px solid rgba(14, 25, 38, 0.16);
  background: rgba(255, 255, 255, 0.64);
}

.storm-cart-coupon label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  color: #0b0f14;
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.storm-cart-coupon .storm-icon {
  width: 22px;
  height: 22px;
  color: #0f5ebd;
}

.storm-cart-coupon div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.storm-cart-coupon input {
  min-height: 44px;
  border: 1px solid rgba(14, 25, 38, 0.16);
  background: #fff;
  padding: 0 12px;
}

.storm-cart-coupon .button {
  min-height: 44px;
  padding: 0 14px;
  background: #0f6eea;
  color: #fff;
}

body.woocommerce-cart .storm-cart-shell :is(.storm-cart-update, .storm-cart-checkout, .storm-cart-coupon .button),
body.woocommerce-cart .storm-cart-shell :is(.storm-cart-update, .storm-cart-checkout, .storm-cart-coupon .button):hover,
body.woocommerce-cart .storm-cart-shell :is(.storm-cart-update, .storm-cart-checkout, .storm-cart-coupon .button):focus {
  border-color: #0f6eea !important;
  background: #0f6eea !important;
  color: #fff !important;
}

body.woocommerce-cart .storm-cart-shell :is(.storm-cart-update, .storm-cart-checkout, .storm-cart-coupon .button):hover {
  background: #1686ff !important;
}

body.woocommerce-cart .storm-cart-shell :is(.storm-cart-update, .storm-cart-checkout, .storm-cart-coupon .button):disabled,
body.woocommerce-cart .storm-cart-shell :is(.storm-cart-update, .storm-cart-checkout, .storm-cart-coupon .button).disabled {
  border-color: #0f6eea !important;
  background: #0f6eea !important;
  color: #fff !important;
  opacity: 0.45;
}

.woocommerce-cart .cross-sells {
  --storm-cart-card-line: rgba(8, 18, 34, 0.12);
  --storm-cart-card-blue: #0e5cc4;
  padding: 54px max(30px, calc((100vw - 1560px) / 2));
  background: #f7f9fc;
}

.storm-cart-recommendations-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.storm-cart-recommendations-head h2 {
  margin: 0;
}

.storm-cart-recommendations-head a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #0f5ebd;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.storm-cart-recommendations-head .storm-icon {
  width: 18px;
  height: 18px;
}

.woocommerce-cart .cross-sells ul.products {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.woocommerce-cart .cross-sells ul.products li.product {
  position: relative;
  display: grid;
  align-content: start;
  min-height: 318px;
  border: 1px solid var(--storm-cart-card-line);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  transition:
    border-color 180ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

.woocommerce-cart .cross-sells ul.products li.product a.woocommerce-LoopProduct-link {
  position: relative;
  display: grid;
  grid-template-rows: 236px auto auto;
  min-height: 316px;
  overflow: hidden;
  padding: 0 16px 18px;
  color: #081222;
}

.woocommerce-cart .cross-sells ul.products li.product a.woocommerce-LoopProduct-link::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 188px;
  right: 0;
  bottom: -48px;
  left: 0;
  background: radial-gradient(125% 82px at 50% -16px, transparent 66%, rgba(226, 238, 251, 0.92) 67%, #f8fbff 74%, #fff 100%);
  pointer-events: none;
  transition:
    background 220ms ease,
    filter 220ms ease,
    transform 220ms ease;
}

.woocommerce-cart .cross-sells ul.products li.product img {
  position: relative;
  z-index: 0;
  width: calc(100% + 32px);
  max-width: none;
  height: 220px;
  margin: 0 -16px 14px;
  padding: 16px;
  object-fit: contain;
  background: #fff;
  transition:
    filter 220ms ease,
    transform 260ms ease;
}

.woocommerce-cart .cross-sells ul.products li.product .storm-loop-collection,
.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title,
.woocommerce-cart .cross-sells ul.products li.product .price {
  position: relative;
  z-index: 2;
}

.woocommerce-cart .cross-sells ul.products li.product .storm-loop-collection {
  margin: 0 0 4px;
  color: var(--storm-cart-card-blue);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title {
  min-height: 0;
  margin: 0;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  color: #0b0f14;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.woocommerce-cart .cross-sells ul.products li.product .price {
  margin: 6px 36px 0 0;
  color: #080c12;
  font-family: Inter, "Avenir Next", "Segoe UI", Arial, sans-serif;
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0;
}

.woocommerce-cart .cross-sells ul.products li.product .button {
  display: none;
}

.woocommerce-cart .cross-sells ul.products li.product .wc-gzd-additional-info-loop {
  display: block;
  margin: 3px 36px 0 0;
  color: var(--storm-muted);
  font-size: 0.62rem;
  line-height: 1.35;
}

.woocommerce-cart .cross-sells ul.products li.product .storm-loop-wishlist {
  position: absolute;
  right: 14px;
  bottom: 16px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #53606a;
  cursor: pointer;
}

.woocommerce-cart .cross-sells ul.products li.product .storm-loop-wishlist .storm-icon {
  width: 23px;
  height: 23px;
  stroke-width: 1.6;
}

[data-storm-theme="dark"] .storm-cart-hero {
  border-bottom-color: rgba(225, 239, 255, 0.14);
  background:
    radial-gradient(circle at 76% 14%, rgba(15, 110, 234, 0.24), transparent 34%),
    linear-gradient(103deg, #020812 0%, #071321 44%, #0b223d 100%);
}

[data-storm-theme="dark"] .storm-cart-hero h1,
[data-storm-theme="dark"] .storm-cart-hero p,
[data-storm-theme="dark"] .storm-cart-back,
[data-storm-theme="dark"] .storm-cart-table-head,
[data-storm-theme="dark"] .storm-cart-product h2,
[data-storm-theme="dark"] .storm-cart-remove,
[data-storm-theme="dark"] .storm-cart-price,
[data-storm-theme="dark"] .storm-cart-subtotal,
[data-storm-theme="dark"] .storm-cart-summary h2,
[data-storm-theme="dark"] .storm-cart-summary-row,
[data-storm-theme="dark"] .storm-cart-total,
[data-storm-theme="dark"] .storm-cart-coupon label,
[data-storm-theme="dark"] .woocommerce-cart .cross-sells > h2,
[data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title {
  color: #f7fbff;
}

[data-storm-theme="dark"] .storm-cart-shell,
[data-storm-theme="dark"] .woocommerce-cart .cross-sells {
  --storm-cart-card-line: rgba(225, 239, 255, 0.16);
  background: #060b12;
}

[data-storm-theme="dark"] .storm-cart-table-head,
[data-storm-theme="dark"] .storm-cart-item,
[data-storm-theme="dark"] .storm-cart-benefits,
[data-storm-theme="dark"] .storm-cart-benefits div,
[data-storm-theme="dark"] .storm-cart-summary,
[data-storm-theme="dark"] .storm-cart-coupon,
[data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product {
  border-color: rgba(225, 239, 255, 0.14);
}

[data-storm-theme="dark"] .storm-cart-thumb,
[data-storm-theme="dark"] .storm-cart-update,
[data-storm-theme="dark"] .storm-cart-coupon input {
  border-color: rgba(225, 239, 255, 0.16);
  background: #fff;
  color: #0b0f14;
}

[data-storm-theme="dark"] .storm-cart-quantity .quantity {
  border-color: transparent;
  background: transparent;
  color: inherit;
}

html[data-storm-theme="dark"] body.woocommerce-cart .storm-cart-quantity input.qty {
  border-color: rgba(225, 239, 255, 0.26);
  background: #101b29;
  color: #f7fbff;
  color-scheme: dark;
}

[data-storm-theme="dark"] .storm-cart-sku,
[data-storm-theme="dark"] .storm-cart-ean,
[data-storm-theme="dark"] .storm-cart-total small {
  color: #a6bbd4;
}

[data-storm-theme="dark"] .storm-cart-benefits {
  background: rgba(8, 19, 33, 0.98);
}

[data-storm-theme="dark"] .storm-cart-benefits span {
  color: #d1dfef;
}

[data-storm-theme="dark"] .storm-cart-summary {
  background:
    radial-gradient(circle at 80% 0%, rgba(15, 110, 234, 0.16), transparent 34%),
    #091523;
}

[data-storm-theme="dark"] .storm-cart-coupon {
  background: rgba(3, 9, 16, 0.52);
}

[data-storm-theme="dark"] .storm-cart-checkout {
  background: #0f6eea;
}

[data-storm-theme="dark"] .storm-cart-recommendations-head a {
  color: #7eb7ff;
}

[data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product {
  background: #07111d;
}

[data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product a.woocommerce-LoopProduct-link {
  background: #fff;
  color: #f7fbff;
}

[data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product a.woocommerce-LoopProduct-link::before {
  background: radial-gradient(125% 82px at 50% -16px, transparent 61%, rgba(78, 151, 255, 0.36) 62.5%, rgba(11, 45, 84, 0.98) 66%, #06172b 76%, #020812 100%);
}

[data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title,
[data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product .price {
  color: #f7fbff;
}

[data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product .storm-loop-wishlist {
  color: #b8c9dd;
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce-cart .cross-sells ul.products li.product:hover,
  .woocommerce-cart .cross-sells ul.products li.product:focus-within {
    border-color: color-mix(in srgb, var(--storm-cart-card-blue) 58%, var(--storm-cart-card-line));
    box-shadow: 0 18px 42px rgba(6, 34, 74, 0.12);
    transform: translateY(-6px);
  }

  .woocommerce-cart .cross-sells ul.products li.product:hover a.woocommerce-LoopProduct-link::before,
  .woocommerce-cart .cross-sells ul.products li.product:focus-within a.woocommerce-LoopProduct-link::before {
    background: radial-gradient(130% 92px at 50% -18px, transparent 63%, rgba(69, 151, 255, 0.28) 64.5%, rgba(226, 238, 251, 0.97) 69%, #f8fbff 76%, #fff 100%);
    filter: drop-shadow(0 -7px 16px rgba(24, 111, 226, 0.34));
    transform: translateY(-3px);
  }

  .woocommerce-cart .cross-sells ul.products li.product:hover a img,
  .woocommerce-cart .cross-sells ul.products li.product:focus-within a img {
    filter: drop-shadow(0 18px 20px rgba(8, 26, 48, 0.12));
    transform: translateY(-7px) scale(1.045);
  }

  [data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product:hover,
  [data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product:focus-within {
    border-color: rgba(78, 151, 255, 0.58);
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(78, 151, 255, 0.16);
  }

  [data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product:hover a.woocommerce-LoopProduct-link::before,
  [data-storm-theme="dark"] .woocommerce-cart .cross-sells ul.products li.product:focus-within a.woocommerce-LoopProduct-link::before {
    background: radial-gradient(125% 88px at 50% -18px, transparent 58%, rgba(78, 151, 255, 0.58) 60.5%, rgba(14, 72, 136, 0.99) 65%, #061d39 76%, #020812 100%);
    filter: drop-shadow(0 -7px 18px rgba(78, 151, 255, 0.42));
  }
}

@media (max-width: 1180px) {
  .storm-cart-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .storm-cart-summary {
    position: static;
    margin-bottom: 48px;
    border-left: 0;
    border-top: 1px solid rgba(14, 25, 38, 0.1);
  }

  .storm-cart-table-head,
  .storm-cart-item {
    grid-template-columns: minmax(320px, 1fr) 110px 150px 110px;
    gap: 16px;
  }
}

@media (max-width: 860px) {
  .storm-cart-hero-inner {
    grid-template-columns: 1fr;
    padding: 54px 0 0;
  }

  .storm-cart-hero img {
    justify-self: center;
    max-height: 300px;
  }

  .storm-cart-table-head {
    display: none;
  }

  .storm-cart-item {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 24px;
    border: 1px solid rgba(14, 25, 38, 0.12);
    margin-bottom: 16px;
  }

  .storm-cart-product {
    grid-template-columns: 118px minmax(0, 1fr);
  }

  .storm-cart-thumb {
    min-height: 132px;
  }

  .storm-cart-thumb img {
    width: 104px;
    height: 116px;
  }

  .storm-cart-price,
  .storm-cart-quantity,
  .storm-cart-subtotal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
  }

  .storm-cart-price::before,
  .storm-cart-quantity::before,
  .storm-cart-subtotal::before {
    content: attr(data-title);
    color: #5c6671;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .storm-cart-benefits,
  .woocommerce-cart .cross-sells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .storm-cart-hero h1 {
    font-size: clamp(3.2rem, 16vw, 4.6rem);
  }

  .storm-cart-product {
    grid-template-columns: 1fr;
  }

  .storm-cart-thumb {
    min-height: 190px;
  }

  .storm-cart-thumb img {
    width: 150px;
    height: 168px;
  }

  .storm-cart-summary {
    padding: 32px 22px;
  }

  .storm-cart-coupon div,
  .storm-cart-benefits,
  .woocommerce-cart .cross-sells ul.products {
    grid-template-columns: 1fr;
  }
}

.storm-shop-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--storm-shop-line);
  background: var(--storm-shop-white);
  isolation: isolate;
}

.storm-shop-liquid-glass::after {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.75) 44%, rgba(255, 255, 255, 0.4) 100%);
}

[data-storm-theme="dark"] .storm-shop-hero {
  background: #0c121a;
}

[data-storm-theme="dark"] .storm-shop-liquid-glass::after {
  background: linear-gradient(90deg, rgba(5, 10, 17, 0.92) 0%, rgba(7, 16, 28, 0.76) 44%, rgba(7, 20, 37, 0.44) 100%);
}

.storm-shop-hero::after {
  content: none;
}

[data-storm-theme="dark"] .storm-shop-hero::after {
  content: none;
}

.storm-shop-hero-inner,
.storm-shop-catalog-inner {
  width: min(calc(100% - 60px), 1560px);
  margin: 0 auto;
}

.storm-shop-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(420px, 1fr);
  align-items: center;
  min-height: 360px;
}

.storm-shop-hero-copy {
  display: grid;
  gap: 22px;
  padding: 52px 0;
}

.storm-shop-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  color: var(--storm-shop-muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.storm-shop-breadcrumb strong {
  color: var(--storm-shop-ink);
}

.storm-shop-hero h1 {
  margin: 0;
  color: var(--storm-shop-ink);
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 5.2rem;
  font-weight: 900;
  line-height: 0.92;
  text-transform: uppercase;
}

.storm-shop-hero p {
  max-width: 360px;
  margin: 0;
  color: var(--storm-shop-ink);
  font-size: 1.1rem;
  line-height: 1.72;
}

.storm-shop-hero-media {
  position: relative;
  min-height: 360px;
}

.storm-shop-hero-media img {
  position: absolute;
  right: 9%;
  bottom: -210px;
  width: min(38vw, 440px);
  max-width: none;
  transform: rotate(22deg);
  filter: drop-shadow(0 28px 42px rgba(8, 19, 34, 0.22));
}

.storm-shop-catalog {
  background: var(--storm-shop-white);
  color: var(--storm-shop-ink);
}

.storm-shop-catalog-inner {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 30px;
  padding: 24px 0 44px;
}

.storm-shop-catalog-inner.is-filter-collapsed {
  grid-template-columns: minmax(0, 1fr);
}

.storm-shop-filters {
  position: sticky;
  top: 98px;
  align-self: start;
  display: grid;
  gap: 24px;
}

.storm-shop-catalog-inner.is-filter-collapsed .storm-shop-filters {
  position: static;
}

.storm-filter-toggle,
.storm-reset-filters {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  border: 1px solid var(--storm-shop-line);
  background: transparent;
  color: var(--storm-shop-muted);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
  transition:
    border-color 180ms ease,
    color 180ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 220ms ease;
}

.storm-filter-toggle .storm-icon {
  width: 18px;
  height: 18px;
  transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-shop-catalog-inner.is-filter-collapsed .storm-filter-block,
.storm-shop-catalog-inner.is-filter-collapsed .storm-reset-filters {
  display: none;
}

.storm-filter-block {
  display: grid;
  gap: 11px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--storm-shop-line);
}

.storm-filter-scroll {
  max-height: 360px;
  overflow: auto;
  padding-right: 6px;
}

.storm-filter-scroll::-webkit-scrollbar {
  width: 5px;
}

.storm-filter-scroll::-webkit-scrollbar-thumb {
  background: rgba(14, 92, 196, 0.32);
}

.storm-filter-block h2 {
  margin: 0 0 8px;
  color: var(--storm-shop-ink);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.storm-filter-row {
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 24px;
  color: var(--storm-shop-ink);
  font-size: 0.86rem;
}

.storm-filter-row > span:first-child {
  display: block;
  width: 15px;
  height: 15px;
  border: 1px solid rgba(8, 18, 34, 0.28);
  background: transparent;
}

[data-storm-theme="dark"] .storm-filter-row > span:first-child {
  border-color: rgba(225, 239, 255, 0.38);
}

.storm-filter-row.is-active > span:first-child {
  border-color: var(--storm-shop-blue);
  background: var(--storm-shop-blue);
  box-shadow: inset 0 0 0 3px var(--storm-shop-white);
}

.storm-filter-row em {
  color: var(--storm-shop-muted);
  font-style: normal;
}

.storm-color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
}

.storm-color-swatches a {
  width: 25px;
  height: 25px;
  border: 1px solid rgba(8, 18, 34, 0.12);
  border-radius: 50%;
  background: var(--swatch);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

.storm-color-swatches a.is-active {
  border-color: var(--storm-shop-blue);
  box-shadow: 0 0 0 3px rgba(14, 92, 196, 0.18), inset 0 0 0 2px rgba(255, 255, 255, 0.42);
}

.storm-reset-filters {
  color: var(--storm-shop-muted);
}

.storm-shop-results {
  min-width: 0;
}

.storm-shop-toolbar {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 28px;
  align-items: center;
  min-height: 46px;
  margin-bottom: 18px;
}

.storm-shop-count,
.storm-shop-count .woocommerce-result-count {
  margin: 0;
  color: var(--storm-shop-ink);
  font-size: 0.84rem;
  font-weight: 850;
  text-transform: uppercase;
}

.storm-shop-sorting {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--storm-shop-muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.storm-shop-sorting .woocommerce-ordering {
  margin: 0;
}

.storm-shop-sorting select {
  min-height: 46px;
  min-width: 170px;
  border: 1px solid var(--storm-shop-line);
  border-radius: 0;
  background: var(--storm-shop-white);
  color: var(--storm-shop-ink);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.storm-shop-viewmode {
  display: inline-flex;
  gap: 16px;
  align-items: center;
  padding-left: 18px;
  border-left: 1px solid var(--storm-shop-line);
}

.storm-shop-viewmode button {
  display: grid;
  gap: 3px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--storm-shop-muted);
  cursor: pointer;
  transition:
    color 180ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-shop-viewmode button[data-storm-grid-view="4"] {
  grid-template-columns: repeat(2, 7px);
}

.storm-shop-viewmode button[data-storm-grid-view="3"] {
  grid-template-columns: repeat(3, 5px);
}

.storm-shop-viewmode i {
  width: 7px;
  height: 7px;
  border: 1px solid currentColor;
  transition:
    background 180ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-shop-viewmode button[data-storm-grid-view="3"] i {
  width: 5px;
}

.storm-shop-viewmode .is-active {
  color: var(--storm-shop-blue);
}

.storm-shop-results .woocommerce ul.products,
.woocommerce .storm-shop-results ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.storm-shop-results[data-grid-view="3"] .woocommerce ul.products,
.woocommerce .storm-shop-results[data-grid-view="3"] ul.products {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.woocommerce .storm-shop-results ul.products li.product,
.woocommerce-page .storm-shop-results ul.products li.product {
  position: relative;
  display: grid;
  align-content: start;
  min-height: 392px;
  border: 1px solid var(--storm-shop-line);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  transition:
    border-color 180ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

.woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link {
  position: relative;
  display: grid;
  --storm-loop-image-scale: 1.1;
  --storm-loop-image-hover-scale: 1.16;
  grid-template-rows: 314px auto auto;
  min-height: 406px;
  overflow: hidden;
  padding: 0 12px 24px;
  color: #081222;
}

.woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 274px;
  right: 0;
  bottom: -48px;
  left: 0;
  background: radial-gradient(130% 112px at 50% -20px, transparent 66%, rgba(226, 238, 251, 0.92) 67%, #f8fbff 74%, #fff 100%);
  pointer-events: none;
  transition:
    background 220ms ease,
    filter 220ms ease,
    transform 220ms ease;
}

.woocommerce .storm-shop-results ul.products li.product a img {
  position: relative;
  z-index: 0;
  width: calc(100% + 24px);
  max-width: none;
  height: 286px;
  margin: 14px -12px 14px;
  padding: 4px 2px;
  object-fit: contain;
  background: #fff;
  transform: scale(var(--storm-loop-image-scale));
  transform-origin: center center;
  transition:
    filter 220ms ease,
    transform 260ms ease;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-collection,
.woocommerce .storm-shop-results ul.products li.product .woocommerce-loop-product__title,
.woocommerce .storm-shop-results ul.products li.product .price {
  position: relative;
  z-index: 2;
  text-align: center;
}

.woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product {
  min-height: 540px;
}

.woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product a.woocommerce-LoopProduct-link {
  --storm-loop-image-scale: 1.04;
  --storm-loop-image-hover-scale: 1.1;
  grid-template-rows: 468px auto auto;
  min-height: 552px;
  padding: 0 16px 28px;
}

.woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product a.woocommerce-LoopProduct-link::before {
  top: 408px;
  background: radial-gradient(132% 138px at 50% -24px, transparent 66%, rgba(226, 238, 251, 0.95) 67%, #f8fbff 74%, #fff 100%);
}

.woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product a img {
  width: calc(100% + 32px);
  height: 428px;
  margin: 20px -16px 20px;
  padding: 4px 2px;
}

html[data-storm-theme="dark"] .woocommerce .storm-shop-results ul.products li.product,
html[data-storm-theme="dark"] .woocommerce-page .storm-shop-results ul.products li.product {
  border-color: rgba(225, 239, 255, 0.16);
  background: #020812;
}

html[data-storm-theme="dark"] .woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link {
  background: #fff;
  color: #f7fbff;
}

html[data-storm-theme="dark"] .woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link::before {
  background: radial-gradient(130% 98px at 50% -18px, transparent 61%, rgba(78, 151, 255, 0.36) 62.5%, rgba(11, 45, 84, 0.98) 66%, #06172b 76%, #020812 100%);
}

html[data-storm-theme="dark"] .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product a.woocommerce-LoopProduct-link::before {
  background: radial-gradient(132% 124px at 50% -22px, transparent 61%, rgba(78, 151, 255, 0.38) 62.5%, rgba(11, 45, 84, 0.99) 66%, #06172b 76%, #020812 100%);
}

@media (hover: hover) and (pointer: fine) {
  .storm-nav a:hover {
    transform: translateY(-1px);
  }

  .storm-nav a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
  }

  .storm-icon-link:hover,
  .storm-cart-icon:hover,
  .storm-theme-toggle:hover {
    color: var(--storm-accent);
    transform: translateY(-1px);
  }

  .storm-icon-link:hover::before,
  .storm-cart-icon:hover::before,
  .storm-theme-toggle:hover::after {
    opacity: 1;
    transform: scale(1);
  }

  .storm-icon-link:hover .storm-icon,
  .storm-cart-icon:hover .storm-icon,
  .storm-theme-toggle:hover .storm-icon {
    transform: scale(1.08);
  }

  .storm-outline-link:hover,
  .storm-text-link:hover {
    transform: translateX(3px);
  }

  .storm-outline-link:hover {
    box-shadow: 0 18px 38px color-mix(in srgb, var(--storm-accent) 18%, transparent);
  }

  .storm-outline-link:hover::before {
    opacity: 1;
    transform: translateX(0);
  }

  .storm-outline-link:hover .storm-icon,
  .storm-text-link:hover .storm-icon {
    transform: translateX(8px);
  }

  .storm-shop-viewmode button:hover {
    color: var(--storm-shop-blue);
    transform: translateY(-1px);
  }

  .storm-shop-viewmode button:hover i,
  .storm-shop-viewmode .is-active i {
    background: currentColor;
  }

  .storm-filter-toggle:hover,
  .storm-reset-filters:hover {
    border-color: color-mix(in srgb, var(--storm-shop-blue) 54%, var(--storm-shop-line));
    color: var(--storm-shop-blue);
    box-shadow: 0 12px 28px rgba(6, 34, 74, 0.08);
    transform: translateY(-2px);
  }

  .storm-filter-toggle:hover .storm-icon {
    transform: translateX(-2px);
  }

  .storm-wishlist-button:hover {
    border-color: var(--storm-accent);
    box-shadow: 0 14px 30px color-mix(in srgb, var(--storm-accent) 16%, transparent);
    transform: translateY(-2px);
  }

  .storm-wishlist-button:hover .storm-icon {
    transform: translateX(4px) scale(1.04);
  }

  .storm-wishlist-button.is-favorited {
    border-color: var(--storm-accent);
    background: var(--storm-accent);
    color: #fff;
  }

  .woocommerce .storm-shop-results ul.products li.product:hover,
  .woocommerce-page .storm-shop-results ul.products li.product:hover,
  .woocommerce .storm-shop-results ul.products li.product:focus-within,
  .woocommerce-page .storm-shop-results ul.products li.product:focus-within {
    border-color: color-mix(in srgb, var(--storm-shop-blue) 58%, var(--storm-shop-line));
    box-shadow: 0 18px 42px rgba(6, 34, 74, 0.12);
    transform: translateY(-6px);
  }

  .woocommerce .storm-shop-results ul.products li.product:hover a.woocommerce-LoopProduct-link::before,
  .woocommerce .storm-shop-results ul.products li.product:focus-within a.woocommerce-LoopProduct-link::before {
    background: radial-gradient(130% 92px at 50% -18px, transparent 63%, rgba(69, 151, 255, 0.28) 64.5%, rgba(226, 238, 251, 0.97) 69%, #f8fbff 76%, #fff 100%);
    filter: drop-shadow(0 -7px 16px rgba(24, 111, 226, 0.34));
    transform: translateY(-3px);
  }

  .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product:hover a.woocommerce-LoopProduct-link::before,
  .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product:focus-within a.woocommerce-LoopProduct-link::before {
    background: radial-gradient(132% 118px at 50% -22px, transparent 63%, rgba(69, 151, 255, 0.28) 64.5%, rgba(226, 238, 251, 0.97) 69%, #f8fbff 76%, #fff 100%);
  }

  .woocommerce .storm-shop-results ul.products li.product:hover a img,
  .woocommerce .storm-shop-results ul.products li.product:focus-within a img {
    filter: drop-shadow(0 18px 20px rgba(8, 26, 48, 0.12));
    transform: translateY(-7px) scale(var(--storm-loop-image-hover-scale));
  }

  html[data-storm-theme="dark"] .woocommerce .storm-shop-results ul.products li.product:hover,
  html[data-storm-theme="dark"] .woocommerce-page .storm-shop-results ul.products li.product:hover,
  html[data-storm-theme="dark"] .woocommerce .storm-shop-results ul.products li.product:focus-within,
  html[data-storm-theme="dark"] .woocommerce-page .storm-shop-results ul.products li.product:focus-within {
    border-color: rgba(78, 151, 255, 0.58);
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(78, 151, 255, 0.16);
  }

  html[data-storm-theme="dark"] .woocommerce .storm-shop-results ul.products li.product:hover a.woocommerce-LoopProduct-link::before,
  html[data-storm-theme="dark"] .woocommerce .storm-shop-results ul.products li.product:focus-within a.woocommerce-LoopProduct-link::before {
    background: radial-gradient(125% 88px at 50% -18px, transparent 58%, rgba(78, 151, 255, 0.58) 60.5%, rgba(14, 72, 136, 0.99) 65%, #061d39 76%, #020812 100%);
    filter: drop-shadow(0 -7px 18px rgba(78, 151, 255, 0.42));
  }

  html[data-storm-theme="dark"] .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product:hover a.woocommerce-LoopProduct-link::before,
  html[data-storm-theme="dark"] .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product:focus-within a.woocommerce-LoopProduct-link::before {
    background: radial-gradient(128% 116px at 50% -22px, transparent 58%, rgba(78, 151, 255, 0.58) 60.5%, rgba(14, 72, 136, 0.99) 65%, #061d39 76%, #020812 100%);
  }
}

.woocommerce .storm-shop-results ul.products li.product .wc-gzd-additional-info-loop {
  display: inline-block;
  margin: 0;
  color: var(--storm-muted);
  font-size: 0.62rem;
  line-height: 1.35;
}

.woocommerce .storm-shop-results ul.products li.product {
  text-align: center;
}

.woocommerce .storm-shop-results ul.products li.product .tax-info {
  margin-top: 0;
}

.woocommerce .storm-shop-results ul.products li.product .shipping-costs-info::before {
  content: none;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-price-row {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: center;
  min-width: 0;
  margin: -23px 12px 16px;
  text-align: center;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-price-notes {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-price-row .price {
  flex: 0 0 auto;
  margin: 0;
  font-size: 20px;
  line-height: 1.15;
  white-space: nowrap;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-price-row .wc-gzd-additional-info-loop {
  display: block;
  white-space: nowrap;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-price-row .shipping-costs-info a {
  color: inherit;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-collection {
  margin: 30px 0 5px;
  color: var(--storm-shop-blue);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.woocommerce .storm-shop-results ul.products li.product .woocommerce-loop-product__title {
  min-height: 0;
  margin: 0;
  color: #080c12;
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.woocommerce .storm-shop-results ul.products li.product .price {
  margin: 3px 0 0;
  color: #080c12;
  font-family: Inter, "Avenir Next", "Segoe UI", Arial, sans-serif;
  font-size: 1.125rem;
  font-weight: 900;
  letter-spacing: 0;
}

html[data-storm-theme="dark"] .woocommerce .storm-shop-results ul.products li.product .woocommerce-loop-product__title,
html[data-storm-theme="dark"] .woocommerce .storm-shop-results ul.products li.product .price {
  color: #f7fbff;
}

.woocommerce .storm-shop-results ul.products li.product .price .woocommerce-Price-currencySymbol {
  margin-left: 0;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-actions {
  position: absolute;
  z-index: 4;
  top: 18px;
  right: 18px;
  display: grid;
  gap: 8px;
}

.storm-loop-actions > .added_to_cart.wc-forward {
  display: none !important;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-action {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(8, 18, 34, 0.14);
  background: rgba(255, 255, 255, 0.88);
  color: #081222;
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-cart.is-confirmed,
.single-product .related.products ul.products li.product .storm-loop-cart.is-confirmed {
  border-color: var(--storm-shop-blue);
  background: var(--storm-shop-blue);
  color: #fff;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-cart.is-confirmed .storm-icon,
.single-product .related.products ul.products li.product .storm-loop-cart.is-confirmed .storm-icon {
  opacity: 0;
  transform: scale(0.72);
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-cart.is-confirmed::after,
.single-product .related.products ul.products li.product .storm-loop-cart.is-confirmed::after {
  position: absolute;
  width: 7px;
  height: 12px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  content: "";
  transform: translateY(-1px) rotate(45deg);
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-action:hover,
.woocommerce .storm-shop-results ul.products li.product .storm-loop-action:focus {
  border-color: var(--storm-shop-blue);
  background: var(--storm-shop-blue);
  color: #fff;
  transform: translateY(-1px);
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-wishlist.is-favorited {
  border-color: var(--storm-shop-blue);
  background: var(--storm-shop-blue);
  color: #fff;
}

html[data-storm-theme="dark"] .woocommerce .storm-shop-results ul.products li.product .storm-loop-action {
  border-color: rgba(225, 239, 255, 0.18);
  background: rgba(9, 18, 30, 0.76);
  color: #f7fbff;
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-action .storm-icon {
  width: 20px;
  height: 20px;
  stroke-width: 1.6;
  transition: opacity 140ms ease, transform 140ms ease;
}

.woocommerce .storm-shop-results ul.products li.product .storm-product-ribbon,
.single-product .related.products ul.products li.product .storm-product-ribbon {
  position: absolute;
  z-index: 3;
  top: 0;
  right: auto;
  left: 16px;
  margin-top: 9px;
  display: grid;
  place-items: center;
  width: 34px;
  min-height: 0;
  padding: 12px 8px;
  background: #0874e8;
  box-shadow: -8px 10px 24px rgba(8, 55, 114, 0.18);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 0.67rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  opacity: 0.92;
  transform: translateY(-8px) rotate(180deg);
  transform-origin: center;
  transition:
    background 180ms ease,
    box-shadow 220ms ease,
    opacity 180ms ease,
    transform 220ms ease;
}

.woocommerce .storm-shop-results ul.products li.product .storm-product-ribbon--bestseller,
.single-product .related.products ul.products li.product .storm-product-ribbon--bestseller {
  background: #061f43;
}

.woocommerce .storm-shop-results ul.products li.product .storm-product-ribbon--limited,
.single-product .related.products ul.products li.product .storm-product-ribbon--limited {
  background: #17202c;
}

.woocommerce .storm-shop-results ul.products li.product .storm-product-ribbon--final-few,
.single-product .related.products ul.products li.product .storm-product-ribbon--final-few {
  background: #1457a8;
}

.woocommerce .storm-shop-results ul.products li.product .storm-product-ribbon--outlet,
.single-product .related.products ul.products li.product .storm-product-ribbon--outlet {
  background: #44505e;
}

html[data-storm-theme="dark"] .woocommerce .storm-shop-results ul.products li.product .storm-product-ribbon,
html[data-storm-theme="dark"] .single-product .related.products ul.products li.product .storm-product-ribbon {
  box-shadow: -8px 10px 26px rgba(0, 0, 0, 0.34);
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce .storm-shop-results ul.products li.product:hover .storm-product-ribbon,
  .woocommerce .storm-shop-results ul.products li.product:focus-within .storm-product-ribbon,
  .single-product .related.products ul.products li.product:hover .storm-product-ribbon,
  .single-product .related.products ul.products li.product:focus-within .storm-product-ribbon {
    background: #1686ff;
    box-shadow: -10px 12px 30px rgba(8, 89, 184, 0.3);
    opacity: 1;
    transform: translateY(0) rotate(180deg);
  }
}

.woocommerce .storm-shop-results ul.products li.product .storm-loop-wishlist.is-favorited .storm-icon {
  fill: currentColor;
}

.storm-wishlist-button.is-favorited .storm-icon {
  fill: currentColor;
}

.storm-shop-catalog--favorites .storm-favorites-heading {
  display: none;
}

.woocommerce .storm-shop-results span.onsale {
  top: 10px;
  left: 10px;
  min-width: auto;
  min-height: 0;
  border-radius: 0;
  background: var(--storm-shop-blue);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  padding: 7px 9px;
  text-transform: uppercase;
}

.storm-shop-pagination {
  display: flex;
  justify-content: center;
  padding: 36px 0 0;
}

.storm-shop-load-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 28px;
  border: 1px solid var(--storm-shop-ink);
  background: var(--storm-shop-ink);
  color: var(--storm-shop-white);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition:
    background 180ms ease,
    color 180ms ease,
    opacity 180ms ease;
}

.storm-shop-load-more:hover,
.storm-shop-load-more:focus {
  background: transparent;
  color: var(--storm-shop-ink);
}

.storm-shop-load-more.is-loading {
  opacity: 0.62;
  pointer-events: none;
}

.storm-shop-empty {
  padding: 80px 0;
  background: var(--storm-shop-white);
  color: var(--storm-shop-ink);
}

@media (max-width: 1100px) {
  .storm-home-hero-inner,
  .storm-collections-grid,
  .storm-collections-hero-inner,
  .storm-collection-index-grid,
  .storm-collections-inspiration-inner,
  .storm-story-split,
  .storm-b2b-promo,
  .storm-newsletter-inner,
  .storm-footer-grid {
    grid-template-columns: 1fr;
  }

  .storm-home-watch {
    min-height: 520px;
  }

  .storm-home-watch-main {
    width: min(90vw, 560px);
  }

  .storm-home-watch-side {
    width: min(38vw, 300px);
    max-height: 470px;
  }

  [data-watch-gender-group="women"].storm-home-watch-side {
    width: min(62.92vw, 486px);
    max-height: 744px;
  }

  .storm-collections-hero-inner {
    min-height: auto;
  }

  .storm-collections-hero-copy {
    padding: 58px 0 0;
  }

  .storm-collections-hero-media {
    min-height: 420px;
    margin: 0 -28px;
  }

  .storm-collection-tabs {
    top: 92px;
  }

  .storm-collection-index-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .storm-home-collection-slider .storm-collection-tile {
    flex-basis: calc((100% - 14px) / 2);
    min-height: 620px;
  }

  .storm-section-copy {
    z-index: auto;
  }

  .storm-shop-hero-inner {
    grid-template-columns: 1fr;
  }

  .storm-shop-hero-media {
    min-height: 240px;
  }

  .storm-shop-hero-media img {
    right: 4%;
    bottom: -200px;
    width: 420px;
  }

  .storm-shop-catalog-inner {
    grid-template-columns: 1fr;
  }

  .storm-shop-filters {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .storm-filter-toggle,
  .storm-reset-filters {
    grid-column: 1 / -1;
  }

  .storm-withdrawal-grid,
  .storm-withdrawal-summary {
    grid-template-columns: 1fr;
  }

  .storm-withdrawal-edit {
    margin: 14px 0 0;
  }

  .storm-shop-results .woocommerce ul.products,
  .woocommerce .storm-shop-results ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .storm-collection-tile,
  .storm-collection-tile:nth-last-child(2),
  .storm-collection-tile:last-child {
    grid-column: auto;
  }

  .storm-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .storm-container {
    width: min(calc(100% - 28px), 1560px);
  }

  .storm-shop-hero-inner,
  .storm-shop-catalog-inner {
    width: min(calc(100% - 28px), 1560px);
  }

  .storm-shop-hero-inner {
    min-height: auto;
  }

  .storm-shop-hero-copy {
    padding: 36px 0 18px;
  }

  .storm-shop-hero h1 {
    font-size: 3.6rem;
  }

  .storm-shop-hero-media {
    min-height: 180px;
  }

  .storm-shop-hero-media img {
    right: -50px;
    bottom: -135px;
    width: 300px;
  }

  .storm-shop-filters {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .storm-shop-toolbar {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .storm-shop-sorting {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    justify-content: stretch;
  }

  .storm-shop-toolbar > *,
  .storm-shop-sorting,
  .storm-shop-sorting .woocommerce-ordering {
    min-width: 0;
    max-width: 100%;
  }

  .storm-shop-sorting .woocommerce-ordering,
  .storm-shop-sorting select {
    width: 100%;
  }

  .storm-shop-sorting select {
    min-width: 0;
  }

  .storm-shop-viewmode {
    display: none;
  }

  .storm-shop-results .woocommerce ul.products,
  .woocommerce .storm-shop-results ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link {
    grid-template-rows: 190px auto auto;
    min-height: 270px;
    padding: 0 12px 16px;
  }

  .woocommerce .storm-shop-results ul.products li.product a img {
    width: calc(100% + 24px);
    height: 190px;
    margin-right: -12px;
    margin-left: -12px;
    padding: 12px;
  }

  .woocommerce .storm-shop-results ul.products li.product .woocommerce-loop-product__title {
    font-size: 1rem;
  }

  .storm-header-inner {
    min-height: auto;
  }

  .storm-home-hero-inner {
    min-height: auto;
    padding: 58px 0;
  }

  .storm-home-copy h1 {
    font-size: clamp(3.8rem, 18vw, 5.8rem);
  }

  .storm-home-watch {
    min-height: 390px;
  }

  .storm-home-watch-main {
    width: min(74vw, 320px);
    max-height: 370px;
  }

  .storm-home-watch-side {
    width: min(29vw, 118px);
    max-height: 260px;
    opacity: 0.2;
  }

  [data-watch-gender-group="women"].storm-home-watch-side {
    width: min(48.62vw, 200px);
    max-height: 415px;
  }

  .storm-home-watch .storm-home-watch-side-left {
    left: 20%;
  }

  .storm-home-watch .storm-home-watch-side-right {
    left: 80%;
  }

  .storm-home-watch [data-watch-gender-group="women"].storm-home-watch-side-left {
    left: calc(20% - 10px);
  }

  .storm-home-watch [data-watch-gender-group="women"].storm-home-watch-side-right {
    left: calc(80% + 10px);
  }

  .storm-home-watch-info {
    bottom: 64px;
    grid-template-columns: 1fr;
    width: calc(100% - 20px);
    padding: 13px 14px;
  }

  .storm-home-watch-info h2 {
    font-size: 1.25rem;
  }

  .storm-home-watch-info > p:nth-of-type(2) {
    font-size: 0.67rem;
  }

  .storm-home-watch-info > div {
    grid-row: auto;
    grid-column: 1;
    grid-template-columns: auto 1fr;
    justify-items: start;
    margin: 10px 0 0;
  }

  .storm-home-watch-info > div a {
    justify-self: end;
  }

  .storm-home-watch-info-price {
    justify-items: start;
    min-width: 0;
  }

  .storm-home-gender-switch {
    bottom: 4px;
    left: 50%;
  }

  .storm-collections-hero-copy h1,
  .storm-collections-inspiration h2 {
    font-size: clamp(3.2rem, 15vw, 5.2rem);
  }

  .storm-collections-hero-media {
    min-height: 320px;
  }

  .storm-collection-tabs {
    top: 76px;
  }

  .storm-collection-tabs .storm-container {
    gap: 18px;
    padding: 18px 0;
  }

  .storm-collection-index-grid {
    grid-template-columns: 1fr;
  }

  .storm-home-collection-slider .storm-collection-tile {
    flex-basis: 100%;
    min-height: 580px;
  }

  .storm-collection-slider-prev {
    left: 8px;
  }

  .storm-collection-slider-next {
    right: 8px;
  }

  .storm-collection-tile {
    min-height: 560px;
    padding: 30px 24px 24px;
  }

  .storm-collection-tile-copy h2 {
    font-size: clamp(2.5rem, 13vw, 4rem);
  }

  .storm-collections-inspiration figure,
  .storm-collections-inspiration figure img {
    min-height: 330px;
  }

  .storm-collections-inspiration figcaption {
    right: 24px;
    bottom: 24px;
  }

  .storm-benefits,
  .storm-newsletter-field-row {
    grid-template-columns: 1fr;
  }

  .storm-newsletter-field-row button {
    width: 100%;
  }

  .storm-benefit {
    border-left: 0;
    border-top: 1px solid var(--storm-line);
  }

  .storm-footer-bottom {
    flex-direction: column;
  }
}

/* Reference-style WooCommerce product detail page */
.single-product .storm-container.storm-content {
  width: 100%;
  max-width: none;
  padding: 0;
}

.single-product .woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(430px, 0.88fr);
  min-height: calc(100vh - 116px);
  padding: 0;
  background:
    radial-gradient(circle at 34% 42%, rgba(14, 98, 206, 0.35), transparent 28%),
    linear-gradient(90deg, #020914 0%, #061830 50%, #f7f8fa 50%, #fff 100%);
}

[data-storm-theme="dark"] .single-product .woocommerce div.product {
  background:
    radial-gradient(circle at 34% 42%, rgba(14, 98, 206, 0.42), transparent 28%),
    linear-gradient(90deg, #020914 0%, #061830 50%, #f4f5f6 50%, #ffffff 100%);
}

.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product div.summary {
  float: none;
  width: auto;
  margin: 0;
}

.single-product .woocommerce div.product div.images {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 780px;
  padding: clamp(44px, 6vw, 96px) 8vw clamp(44px, 6vw, 96px) clamp(88px, 8vw, 150px);
  background:
    radial-gradient(circle at 48% 74%, rgba(22, 113, 247, 0.36), transparent 24%),
    linear-gradient(135deg, #020811, #071b34 58%, #020811);
  overflow: hidden;
}

.single-product .woocommerce div.product div.images::after {
  content: "";
  position: absolute;
  right: -82px;
  top: -10%;
  bottom: -10%;
  width: 190px;
  border-radius: 50%;
  background: #fff;
  box-shadow: -30px 0 70px rgba(255, 255, 255, 0.24);
}

.single-product .woocommerce-product-gallery__wrapper {
  position: relative;
  z-index: 2;
}

.single-product .woocommerce div.product div.images img {
  width: min(62vw, 680px);
  max-height: 700px;
  object-fit: contain;
  border-radius: 0;
  background: transparent;
  filter: drop-shadow(0 38px 60px rgba(0, 0, 0, 0.5));
}

.single-product .woocommerce div.product div.images .flex-control-thumbs {
  position: absolute;
  left: clamp(22px, 3vw, 70px);
  top: 120px;
  z-index: 4;
  display: grid;
  gap: 16px;
  width: 74px;
  margin: 0;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li {
  width: 74px;
  height: 74px;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.38);
  background: rgba(255, 255, 255, 0.04);
}

.single-product .woocommerce div.product div.images .flex-control-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
  filter: none;
}

.single-product .woocommerce div.product div.summary {
  position: relative;
  z-index: 3;
  display: grid;
  align-content: center;
  padding: clamp(48px, 7vw, 118px) clamp(34px, 7vw, 110px);
  background: #fff;
  color: #0b0f14;
}

html[data-storm-theme] body.single-product .woocommerce div.product div.summary.entry-summary {
  background: #fff !important;
  color: #0b0f14 !important;
}

html[data-storm-theme] body.single-product .woocommerce div.product div.summary.entry-summary > *:not(.price),
html[data-storm-theme] body.single-product .woocommerce div.product div.summary.entry-summary p,
html[data-storm-theme] body.single-product .woocommerce div.product div.summary.entry-summary label {
  color: inherit;
}

.single-product .storm-product-collection {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 9px;
  margin: 0 0 18px;
  color: #0c57bc;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.single-product .storm-product-collection a {
  color: #0f6eea;
  text-decoration: none;
  text-underline-offset: 3px;
  transition: color 180ms ease;
}

.single-product .storm-product-collection a:hover,
.single-product .storm-product-collection a:focus-visible {
  color: #074ea9;
  text-decoration: underline;
}

.single-product .storm-product-collection-separator {
  color: #9aa5b3;
}

html[data-storm-theme] body.single-product .woocommerce div.product div.summary.entry-summary .storm-product-collection a {
  color: #0f6eea;
}

.single-product .product_title {
  display: grid;
  gap: 6px;
  max-width: 520px;
  color: #0b0f14;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(4rem, 6vw, 7.5rem);
  line-height: 0.92;
  text-transform: uppercase;
}

.single-product .storm-product-title-model,
.single-product .storm-product-title-color {
  display: block;
}

.single-product .storm-product-title-color {
  color: var(--storm-model-color-accent, var(--storm-product-info-price));
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(2.1rem, 4.1vw, 4.4rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 0.95;
}

@media (max-width: 720px) {
  .single-product .product_title {
    max-width: calc(100vw - 48px);
    font-size: clamp(3.2rem, 14vw, 5rem);
    overflow-wrap: anywhere;
  }

  .single-product .storm-product-title-color {
    font-size: clamp(2rem, 9vw, 3rem);
  }
}

.single-product .storm-product-tagline {
  margin: 14px 0 34px;
  color: #0b0f14;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price {
  color: #0b0f14;
  font-family: Inter, "Avenir Next", sans-serif;
  font-size: 1.45rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.single-product .woocommerce-product-details__short-description {
  max-width: 540px;
  color: #28313c;
  line-height: 1.65;
}

.single-product form.cart {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 12px;
  max-width: 540px;
  margin-top: 28px;
  align-items: stretch;
}

.single-product form.cart .quantity {
  grid-column: 1;
  margin: 0;
}

.single-product .quantity .qty {
  width: 100%;
  height: 64px;
  border: 1px solid #cbd3dd;
  text-align: center;
}

.single-product .woocommerce div.product form.cart .button {
  grid-column: 2;
  width: 100%;
  height: 64px;
  margin: 0;
  border: 0;
  background: #073f9e;
  color: #fff;
}

.storm-wishlist-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 540px;
  min-height: 58px;
  margin-top: 12px;
  border: 1px solid #9fa9b6;
  background: transparent;
  color: #073f9e;
  font-weight: 900;
  letter-spacing: 0.08em;
  padding: 0 24px;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    border-color 180ms ease,
    color 180ms ease,
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 220ms ease;
}

.storm-wishlist-button .storm-icon {
  transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.storm-product-benefits {
  display: grid;
  gap: 12px;
  margin: 34px 0 0;
  padding: 0;
  color: #0b0f14;
  font-size: 0.9rem;
  font-weight: 800;
  list-style: none;
}

.storm-product-benefits li::before {
  content: "○";
  margin-right: 12px;
  color: #0c57bc;
}

.storm-product-quick-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 22px;
  margin: 20px 0 28px;
  color: var(--storm-product-info-muted);
}

.storm-product-quick-specs div {
  min-width: 0;
  padding-top: 12px;
  border-top: 1px solid color-mix(in srgb, var(--storm-product-info-border) 50%, transparent);
}

.storm-product-quick-specs dt {
  margin: 0 0 4px;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--storm-product-info-link);
}

.storm-product-quick-specs dd {
  margin: 0;
  color: var(--storm-product-info-text);
  line-height: 1.45;
}

.storm-product-story {
  grid-column: 1 / -1;
  display: grid;
  min-height: 520px;
  align-items: center;
  padding: clamp(48px, 7vw, 100px);
  background:
    linear-gradient(90deg, rgba(3, 8, 18, 0.82), rgba(3, 12, 28, 0.38)),
    url("assets/img/storm-cinemav7-bg.png") center/cover;
  color: #fff;
}

.storm-product-story > div {
  max-width: 500px;
}

.storm-product-story h2,
.storm-product-details h2 {
  margin: 18px 0 28px;
  font-family: Impact, "Arial Black", sans-serif;
  font-size: clamp(3.2rem, 5vw, 6rem);
  line-height: 0.98;
  text-transform: uppercase;
}

.storm-product-story p {
  color: #d8e4f3;
  line-height: 1.7;
}

.storm-product-details {
  --storm-detail-bg: #f7f8fa;
  --storm-detail-text: #0b0f14;
  --storm-detail-muted: #27313c;
  --storm-detail-accent: #0b4fb3;
  --storm-detail-line: #d9dee6;
  --storm-detail-chip-bg: #fff;
  --storm-detail-chip-border: #cad4e2;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 0.45fr 1fr;
  gap: 50px;
  padding: clamp(44px, 6vw, 90px);
  background: var(--storm-detail-bg);
  color: var(--storm-detail-text);
}

html[data-storm-theme="dark"] .storm-product-details {
  --storm-detail-bg: linear-gradient(135deg, #020812, #07172d 58%, #020812);
  --storm-detail-text: #f7f8f8;
  --storm-detail-muted: #c5d2e2;
  --storm-detail-accent: #7fb3ff;
  --storm-detail-line: rgba(255, 255, 255, 0.16);
  --storm-detail-chip-bg: rgba(255, 255, 255, 0.035);
  --storm-detail-chip-border: rgba(255, 255, 255, 0.22);
}

html[data-storm-theme="dark"] .single-product .related.products {
  background: #020812;
}

.storm-detail-grid {
  display: grid;
  gap: 28px;
  color: var(--storm-detail-muted);
  line-height: 1.5;
}

.storm-spec-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 42px;
  margin: 0;
}

.storm-spec-row {
  display: grid;
  grid-template-columns: minmax(120px, 0.78fr) minmax(0, 1.22fr);
  gap: 18px;
  align-items: baseline;
  padding: 14px 0;
  border-top: 1px solid var(--storm-detail-line);
}

.storm-spec-row dt {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--storm-detail-accent);
}

.storm-spec-row dd {
  margin: 0;
  color: var(--storm-detail-text);
}

.storm-spec-highlights h3 {
  margin: 10px 0 14px;
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-spec-highlights ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.storm-spec-highlights li {
  padding: 9px 12px;
  border: 1px solid var(--storm-detail-chip-border);
  background: var(--storm-detail-chip-bg);
  color: var(--storm-detail-text);
  font-size: 0.9rem;
  font-weight: 700;
}

.single-product .related.products {
  grid-column: 1 / -1;
  padding: clamp(36px, 5vw, 70px);
  background: #f7f8fa;
}

.single-product .related.products > h2 {
  margin: 0 0 34px;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(2.2rem, 3vw, 3.6rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.88;
  text-align: center;
  text-transform: uppercase;
}

.single-product .related.products ul.products {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.single-product .related.products ul.products li.product {
  position: relative;
  display: grid;
  align-content: start;
  float: none;
  width: 100%;
  min-height: 392px;
  margin: 0;
  border: 1px solid var(--storm-shop-line);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  transition:
    border-color 180ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link {
  position: relative;
  display: grid;
  --storm-loop-image-scale: 1.1;
  --storm-loop-image-hover-scale: 1.16;
  grid-template-rows: 314px auto auto;
  min-height: 406px;
  overflow: hidden;
  padding: 0 12px 24px;
  color: #081222;
}

.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 274px;
  right: 0;
  bottom: -48px;
  left: 0;
  background: radial-gradient(130% 112px at 50% -20px, transparent 66%, rgba(226, 238, 251, 0.92) 67%, #f8fbff 74%, #fff 100%);
  pointer-events: none;
  transition:
    background 220ms ease,
    filter 220ms ease,
    transform 220ms ease;
}

.single-product .related.products ul.products li.product a img {
  position: relative;
  z-index: 0;
  width: calc(100% + 24px);
  max-width: none;
  height: 286px;
  margin: 14px -12px 14px;
  padding: 4px 2px;
  object-fit: contain;
  background: #fff;
  transform: scale(var(--storm-loop-image-scale));
  transform-origin: center center;
  transition:
    filter 220ms ease,
    transform 260ms ease;
}

.single-product .related.products ul.products li.product .storm-loop-collection,
.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product .price {
  position: relative;
  z-index: 2;
}

.single-product .related.products ul.products li.product {
  text-align: center;
}

.single-product .related.products ul.products li.product .storm-loop-collection {
  margin: 30px 0 5px;
  color: var(--storm-shop-blue);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  min-height: 0;
  margin: 0;
  color: #080c12;
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.single-product .related.products ul.products li.product .button {
  display: none;
}

.single-product .related.products ul.products li.product .wc-gzd-additional-info-loop {
  display: inline-block;
  margin: 0;
  color: var(--storm-muted);
  font-size: 0.62rem;
  line-height: 1.35;
}

.single-product .related.products ul.products li.product .shipping-costs-info::before {
  content: none;
}

.single-product .related.products ul.products li.product .storm-loop-price-row {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: center;
  min-width: 0;
  margin: -23px 12px 16px;
  text-align: center;
}

.single-product .related.products ul.products li.product .storm-loop-price-notes {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.single-product .related.products ul.products li.product .storm-loop-price-row .price {
  margin: 0;
  font-size: 20px;
  line-height: 1.15;
  white-space: nowrap;
}

.single-product .related.products ul.products li.product .storm-loop-price-row .wc-gzd-additional-info-loop {
  display: block;
  white-space: nowrap;
}

.single-product .related.products ul.products li.product .storm-loop-price-row .shipping-costs-info a {
  color: inherit;
}

.single-product .related.products ul.products li.product .storm-loop-actions {
  position: absolute;
  z-index: 4;
  top: 18px;
  right: 18px;
  display: grid;
  gap: 8px;
}

.single-product .related.products ul.products li.product .storm-loop-action {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(8, 18, 34, 0.14);
  background: rgba(255, 255, 255, 0.88);
  color: #081222;
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.single-product .related.products ul.products li.product .storm-loop-action .storm-icon {
  width: 20px;
  height: 20px;
  stroke-width: 1.6;
  transition: opacity 140ms ease, transform 140ms ease;
}

html[data-storm-theme="dark"] .single-product .related.products ul.products li.product {
  border-color: rgba(225, 239, 255, 0.16);
  background: #020812;
}

html[data-storm-theme="dark"] .single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link {
  background: #fff;
  color: #f7fbff;
}

html[data-storm-theme="dark"] .single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link::before {
  background: radial-gradient(126% 92px at 50% -18px, transparent 61%, rgba(78, 151, 255, 0.36) 62.5%, rgba(11, 45, 84, 0.98) 66%, #06172b 76%, #020812 100%);
}

html[data-storm-theme="dark"] .single-product .related.products ul.products li.product .woocommerce-loop-product__title,
html[data-storm-theme="dark"] .single-product .related.products ul.products li.product .price {
  color: #f7fbff;
}

html[data-storm-theme="dark"] .single-product .related.products ul.products li.product .storm-loop-wishlist {
  color: #b8c9dd;
}

html[data-storm-theme="dark"] .single-product .related.products ul.products li.product .storm-loop-action {
  border-color: rgba(225, 239, 255, 0.18);
  background: rgba(9, 18, 30, 0.76);
  color: #f7fbff;
}

@media (hover: hover) and (pointer: fine) {
  .single-product .related.products ul.products li.product:hover,
  .single-product .related.products ul.products li.product:focus-within {
    border-color: color-mix(in srgb, var(--storm-shop-blue) 58%, var(--storm-shop-line));
    box-shadow: 0 18px 42px rgba(6, 34, 74, 0.12);
    transform: translateY(-6px);
  }

  .single-product .related.products ul.products li.product:hover a.woocommerce-LoopProduct-link::before,
  .single-product .related.products ul.products li.product:focus-within a.woocommerce-LoopProduct-link::before {
    background: radial-gradient(130% 102px at 50% -20px, transparent 63%, rgba(69, 151, 255, 0.28) 64.5%, rgba(226, 238, 251, 0.97) 69%, #f8fbff 76%, #fff 100%);
    filter: drop-shadow(0 -7px 16px rgba(24, 111, 226, 0.34));
    transform: translateY(-3px);
  }

  .single-product .related.products ul.products li.product:hover a img,
  .single-product .related.products ul.products li.product:focus-within a img {
    filter: drop-shadow(0 18px 20px rgba(8, 26, 48, 0.12));
    transform: translateY(-7px) scale(var(--storm-loop-image-hover-scale));
  }

  .single-product .related.products ul.products li.product .storm-loop-action:hover,
  .single-product .related.products ul.products li.product .storm-loop-action:focus {
    border-color: var(--storm-shop-blue);
    background: var(--storm-shop-blue);
    color: #fff;
    transform: translateY(-1px);
  }

  html[data-storm-theme="dark"] .single-product .related.products ul.products li.product:hover,
  html[data-storm-theme="dark"] .single-product .related.products ul.products li.product:focus-within {
    border-color: rgba(78, 151, 255, 0.58);
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(78, 151, 255, 0.16);
  }

  html[data-storm-theme="dark"] .single-product .related.products ul.products li.product:hover a.woocommerce-LoopProduct-link::before,
  html[data-storm-theme="dark"] .single-product .related.products ul.products li.product:focus-within a.woocommerce-LoopProduct-link::before {
    background: radial-gradient(126% 98px at 50% -20px, transparent 58%, rgba(78, 151, 255, 0.58) 60.5%, rgba(14, 72, 136, 0.99) 65%, #061d39 76%, #020812 100%);
    filter: drop-shadow(0 -7px 18px rgba(78, 151, 255, 0.42));
  }
}

@media (max-width: 1100px) {
  .single-product .related.products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .single-product .related.products {
    padding: 56px 14px 64px;
  }

  .single-product .related.products > h2 {
    margin-bottom: 28px;
    font-size: clamp(2rem, 10vw, 3rem);
    text-align: center;
  }

  .single-product .related.products ul.products {
    display: flex;
    gap: 12px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .single-product .related.products ul.products::-webkit-scrollbar {
    display: none;
  }

  .single-product .related.products ul.products li.product {
    flex: 0 0 calc((100% - 12px) / 2);
    min-width: 0;
    min-height: 392px;
    float: none;
    width: 100%;
    max-width: none;
    margin: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link {
    grid-template-rows: 190px auto auto;
    min-height: 270px;
    width: 100%;
    padding: 0 12px 16px;
  }

  .single-product .related.products ul.products li.product a img {
    width: calc(100% + 24px);
    height: 190px;
    margin: 0 -12px;
    padding: 12px;
  }

  .single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link::before {
    top: 162px;
  }

  .single-product .related.products ul.products li.product .storm-loop-collection {
    margin-top: 20px;
    font-size: 0.58rem;
  }

  .single-product .related.products ul.products li.product .storm-loop-price-row {
    gap: 3px;
    margin: 6px 8px 14px;
  }

  .single-product .related.products ul.products li.product .storm-loop-price-row .price {
    font-size: 1.05rem;
  }

  .single-product .related.products ul.products li.product .storm-loop-price-notes {
    gap: 5px;
  }

  .single-product .related.products ul.products li.product .storm-loop-actions {
    top: 12px;
    right: 10px;
    gap: 6px;
  }

  .single-product .related.products ul.products li.product .storm-loop-action {
    width: 30px;
    height: 30px;
  }

  .single-product .related.products ul.products li.product .storm-loop-action .storm-icon {
    width: 16px;
    height: 16px;
  }

  .single-product .related.products ul.products li.product .storm-product-ribbon {
    left: 8px;
    width: 26px;
    margin-top: 8px;
    padding: 9px 6px;
    font-size: 0.55rem;
  }
}

/* Match the homepage bestseller lifestyle-image transition. */
.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link > img:not(.storm-loop-hover-image) {
  opacity: 1;
  transition:
    opacity 360ms ease,
    filter 220ms ease,
    transform 420ms cubic-bezier(0.2, 0.82, 0.2, 1);
}

.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link > img.storm-loop-hover-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  max-width: none;
  height: 314px;
  margin: 0;
  padding: 0;
  background: #eef3f8;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.025);
  transform-origin: center;
  transition:
    opacity 360ms ease,
    transform 700ms cubic-bezier(0.2, 0.82, 0.2, 1);
}

@media (hover: hover) and (pointer: fine) {
  .single-product .related.products ul.products li.product:has(img.storm-loop-hover-image):hover a.woocommerce-LoopProduct-link > img:not(.storm-loop-hover-image),
  .single-product .related.products ul.products li.product:has(img.storm-loop-hover-image):focus-within a.woocommerce-LoopProduct-link > img:not(.storm-loop-hover-image) {
    opacity: 0;
  }

  .single-product .related.products ul.products li.product:hover a.woocommerce-LoopProduct-link > img.storm-loop-hover-image,
  .single-product .related.products ul.products li.product:focus-within a.woocommerce-LoopProduct-link > img.storm-loop-hover-image {
    filter: none;
    opacity: 1;
    transform: scale(1.075);
  }
}

@media (max-width: 720px) {
  .single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link > img.storm-loop-hover-image {
    height: 190px;
  }
}

body.single-product.woocommerce div.product {
  --storm-product-info-bg: #07172d;
  --storm-product-info-bg-deep: #020812;
  --storm-product-info-text: #f7f8f8;
  --storm-product-info-muted: #c5d2e2;
  --storm-product-info-price: #7fb3ff;
  --storm-product-info-field-bg: #020812;
  --storm-product-info-border: rgba(255, 255, 255, 0.45);
  --storm-product-info-link: #8dbbff;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(430px, 0.88fr);
  min-height: calc(100vh - 116px);
  padding: 0;
  background: #fff;
}

html[data-storm-theme="dark"] body.single-product.woocommerce div.product {
  --storm-product-info-bg: #07172d;
  --storm-product-info-bg-deep: #020812;
  --storm-product-info-text: #f7f8f8;
  --storm-product-info-muted: #c5d2e2;
  --storm-product-info-price: #7fb3ff;
  --storm-product-info-field-bg: #020812;
  --storm-product-info-border: rgba(255, 255, 255, 0.45);
  --storm-product-info-link: #8dbbff;
  background: #fff;
}

html[data-storm-theme="light"] body.single-product.woocommerce div.product {
  --storm-product-info-bg: #f7fbff;
  --storm-product-info-bg-deep: #dceafa;
  --storm-product-info-text: #0b0f14;
  --storm-product-info-muted: #28313c;
  --storm-product-info-price: #073f9e;
  --storm-product-info-field-bg: #fff;
  --storm-product-info-border: #c4ccd8;
  --storm-product-info-link: #073f9e;
  background: #fff;
}

body.single-product.woocommerce div.product div.images,
body.single-product.woocommerce div.product div.summary {
  float: none;
  width: auto;
  margin: 0;
}

body.single-product.woocommerce div.product div.images {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 780px;
  padding: clamp(44px, 6vw, 96px) 8vw clamp(44px, 6vw, 96px) clamp(88px, 8vw, 150px);
  background: #fff;
  opacity: 1 !important;
  overflow: visible;
}

body.single-product.woocommerce div.product.storm-gallery-scene-active div.images {
  background: #fff;
  overflow: hidden;
}

body.single-product.woocommerce div.product div.images::before,
body.single-product.woocommerce div.product div.images::after {
  content: none;
}

body.single-product.woocommerce div.product.storm-gallery-scene-active div.images::before,
body.single-product.woocommerce div.product.storm-gallery-scene-transition div.images::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--storm-gallery-scene-image) center / cover no-repeat;
  pointer-events: none;
  transform-origin: 50% 50%;
}

body.single-product.woocommerce div.product.storm-gallery-scene-active div.images::before {
  opacity: 1;
  transform: scale(1) translate3d(0, 0, 0);
}

body.single-product.woocommerce div.product.storm-gallery-scene-transition div.images::before,
body.single-product.woocommerce div.product.storm-gallery-scene-initial div.images::before {
  animation: storm-gallery-scene-in 720ms cubic-bezier(0.18, 0.82, 0.22, 1) both;
}

body.single-product.woocommerce div.product.storm-gallery-scene-transition div.images::after {
  z-index: 1;
  background: var(--storm-gallery-previous-scene-image) center / cover no-repeat;
  animation: storm-gallery-scene-out 620ms cubic-bezier(0.18, 0.82, 0.22, 1) both;
}

body.single-product.woocommerce div.product div.images img {
  width: min(62vw, 680px);
  max-height: 700px;
  object-fit: contain;
  border-radius: 0;
  background: #fff;
  filter: none;
}

/* Sunglasses packshots sit low in their square source canvas. Give standard
   slides a 35% larger viewport and lift the whole canvas, so the glasses stay
   fully visible. Lifestyle/scene images keep their existing full-bleed crop. */
body.single-product.woocommerce div.product.product_cat-sonnenbrillen:not(.storm-gallery-scene-active)
  div.images .flex-viewport {
  width: min(83.7vw, 918px, calc(100% - 48px));
  max-width: min(83.7vw, 918px, calc(100% - 48px));
}

body.single-product.woocommerce div.product.product_cat-sonnenbrillen
  .woocommerce-product-gallery__image[data-storm-gallery-scene="false"] > a > img:not(.zoomImg) {
  width: 100%;
  max-height: none;
  transform: translateY(-28%);
}

body.single-product.woocommerce div.product.storm-gallery-scene-active div.images .flex-viewport,
body.single-product.woocommerce div.product.storm-gallery-scene-active div.images .woocommerce-product-gallery__wrapper,
body.single-product.woocommerce div.product.storm-gallery-scene-active div.images .woocommerce-product-gallery__image {
  background: transparent;
}

body.single-product.woocommerce div.product.storm-gallery-scene-active div.images .flex-viewport,
body.single-product.woocommerce div.product.storm-gallery-scene-active div.images .woocommerce-product-gallery__wrapper {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100% !important;
}

body.single-product.woocommerce div.product.storm-gallery-scene-active div.images .flex-viewport {
  opacity: 0;
  pointer-events: none;
}

body.single-product.woocommerce div.product.storm-gallery-scene-active div.images .woocommerce-product-gallery__image img {
  opacity: 0;
}

body.single-product.woocommerce div.product div.images img.zoomImg {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none;
  visibility: hidden !important;
}

body.single-product.woocommerce div.product .woocommerce-product-gallery__image {
  background: #fff;
}

body.single-product.woocommerce div.product .woocommerce-product-gallery__wrapper {
  background: #fff;
}

body.single-product.woocommerce div.product .flex-viewport {
  justify-self: center;
  width: min(62vw, 680px);
  max-width: min(62vw, 680px);
  background: #fff;
}

body.single-product.woocommerce div.product.storm-gallery-standard-transition div.images > .flex-viewport,
body.single-product.woocommerce div.product.storm-gallery-standard-transition div.images > .woocommerce-product-gallery__wrapper {
  animation: storm-gallery-standard-in 620ms cubic-bezier(0.18, 0.82, 0.22, 1) both;
  transform-origin: 50% 50%;
}

body.single-product.woocommerce div.product .woocommerce-product-gallery__trigger {
  top: clamp(18px, 3vw, 42px);
  right: clamp(22px, 3vw, 70px);
  z-index: 5;
  background: #fff;
  color: #07172d;
}

body.single-product.woocommerce div.product div.images .flex-control-thumbs {
  position: absolute;
  left: clamp(22px, 3vw, 70px);
  top: 120px;
  z-index: 4;
  display: grid;
  gap: 16px;
  width: 74px;
  margin: 0;
}

body.single-product.woocommerce div.product div.images .flex-control-thumbs li {
  width: 74px;
  height: 74px;
  margin: 0;
  border: 1px solid #c8d2df;
  background: #fff;
}

body.single-product.woocommerce div.product div.images .flex-control-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
  opacity: 0.72;
}

body.single-product.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
body.single-product.woocommerce div.product div.images .flex-control-thumbs img:hover {
  opacity: 1;
}

body.single-product.woocommerce div.product div.summary.entry-summary {
  position: relative;
  z-index: 3;
  display: grid;
  align-content: center;
  overflow: hidden;
  margin-left: clamp(-128px, -6vw, -84px);
  padding:
    clamp(48px, 7vw, 118px)
    clamp(34px, 7vw, 110px)
    clamp(48px, 7vw, 118px)
    clamp(150px, 12vw, 230px);
  border-radius: 0;
  background:
    radial-gradient(circle at 72% 28%, color-mix(in srgb, var(--storm-accent-2) 18%, transparent), transparent 34%),
    linear-gradient(135deg, var(--storm-product-info-bg), var(--storm-product-info-bg-deep) 72%) !important;
  color: var(--storm-product-info-text) !important;
}

body.single-product.woocommerce div.product div.summary.entry-summary::before,
body.single-product.woocommerce div.product.storm-gallery-scene-initial div.summary.entry-summary::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -18%;
  bottom: -18%;
  left: clamp(-300px, -15vw, -230px);
  width: clamp(300px, 21vw, 420px);
  border-radius: 0 50% 50% 0 / 0 50% 50% 0;
  background: #fff;
  pointer-events: none;
}

body.single-product.woocommerce div.product.storm-gallery-scene-initial div.summary.entry-summary::after {
  background: #fff;
  animation: storm-gallery-initial-cover-out 720ms cubic-bezier(0.18, 0.82, 0.22, 1) both;
}

body.single-product.woocommerce div.product.storm-gallery-scene-active div.summary.entry-summary::before {
  background:
    var(--storm-gallery-scene-image) var(--storm-gallery-scene-curve-position, center) / var(--storm-gallery-scene-curve-size, cover) no-repeat,
    #fff;
}

body.single-product.woocommerce div.product.storm-gallery-scene-transition div.summary.entry-summary::before {
  animation: storm-gallery-curve-in 720ms cubic-bezier(0.18, 0.82, 0.22, 1) both;
}

body.single-product.woocommerce div.product div.summary.entry-summary > * {
  position: relative;
  z-index: 1;
}

@keyframes storm-gallery-scene-in {
  from {
    opacity: 0;
    transform: scale(1.075) translate3d(2.5%, 0, 0);
  }

  to {
    opacity: 1;
    transform: scale(1) translate3d(0, 0, 0);
  }
}

@keyframes storm-gallery-scene-out {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(1.045) translate3d(-2%, 0, 0);
  }
}

@keyframes storm-gallery-curve-in {
  from {
    opacity: 0;
    transform: translate3d(-14px, 0, 0) scaleX(0.985);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scaleX(1);
  }
}

@keyframes storm-gallery-initial-cover-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes storm-gallery-standard-in {
  from {
    opacity: 0;
    transform: scale(1.025);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

html[data-storm-theme="light"] body.single-product.woocommerce div.product div.summary.entry-summary {
  background:
    radial-gradient(circle at 76% 18%, rgba(15, 110, 234, 0.12), transparent 32%),
    linear-gradient(100deg, #f9fbfe 0%, #eef4fb 46%, #dceafa 100%) !important;
}

body.single-product.woocommerce div.product div.summary.entry-summary p,
body.single-product.woocommerce div.product div.summary.entry-summary label,
body.single-product.woocommerce div.product div.summary.entry-summary .woocommerce-product-details__short-description {
  color: var(--storm-product-info-muted);
}

body.single-product.woocommerce div.product div.summary.entry-summary .product_title,
body.single-product.woocommerce div.product div.summary.entry-summary .storm-product-tagline,
body.single-product.woocommerce div.product div.summary.entry-summary .storm-product-benefits {
  color: var(--storm-product-info-text);
}

body.single-product.woocommerce div.product p.price,
body.single-product.woocommerce div.product span.price {
  color: #5d9cff;
}

body.single-product.woocommerce div.product div.summary.entry-summary p.price,
body.single-product.woocommerce div.product div.summary.entry-summary span.price {
  color: var(--storm-product-info-price);
}

body.single-product.woocommerce div.product div.summary.entry-summary > p.price {
  margin: 0 0 12px;
  font-size: 2.25rem;
  line-height: 1;
}

body.single-product .summary.entry-summary .storm-b2b-price-display {
  display: grid;
  grid-template-columns: max-content minmax(190px, max-content);
  gap: 32px;
  align-items: end;
  width: 100%;
}

body.single-product .summary.entry-summary .storm-b2b-trade-price,
body.single-product .summary.entry-summary .storm-b2b-uvp-single {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

body.single-product .summary.entry-summary .storm-b2b-trade-amount {
  display: block;
  color: var(--storm-product-info-price);
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 58px;
  font-weight: 900;
  line-height: 0.95;
  white-space: nowrap;
}

body.single-product .summary.entry-summary .storm-b2b-trade-amount .woocommerce-Price-amount,
body.single-product .summary.entry-summary .storm-b2b-trade-amount .woocommerce-Price-currencySymbol {
  color: inherit;
  font: inherit;
}

body.single-product .summary.entry-summary .storm-b2b-price-note {
  display: inline-block;
  margin-top: 8px;
  font-family: Inter, "Avenir Next", sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.single-product .summary.entry-summary .storm-b2b-uvp {
  color: var(--storm-product-info-muted);
}

body.single-product .summary.entry-summary .storm-b2b-uvp-single {
  gap: 3px;
  margin: 0 0 30px;
  font-family: Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
}

body.single-product .summary.entry-summary .storm-b2b-uvp-label {
  color: var(--storm-product-info-muted);
  font-size: 0.72rem;
  font-weight: 400;
  line-height: 1.2;
  white-space: nowrap;
}

body.single-product .summary.entry-summary .storm-b2b-uvp-amount,
body.single-product .summary.entry-summary .storm-b2b-uvp-amount .woocommerce-Price-amount,
body.single-product .summary.entry-summary .storm-b2b-uvp-amount .woocommerce-Price-currencySymbol {
  color: var(--storm-product-info-text);
  font-family: Arial, sans-serif;
  font-size: 36px;
  font-weight: 300;
  line-height: 1;
  white-space: nowrap;
}

body.single-product .summary.entry-summary .legal-price-info {
  margin: 0 0 24px;
}

body.single-product .summary.entry-summary .legal-price-info .wc-gzd-additional-info {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0;
  color: var(--storm-product-info-muted);
  font-size: 0.78rem;
  line-height: 1.5;
}

body.single-product .summary.entry-summary .legal-price-info a {
  color: var(--storm-product-info-link);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 720px) {
  body.single-product.woocommerce div.product div.summary.entry-summary > p.price {
    font-size: 2rem;
  }

  body.single-product .summary.entry-summary .storm-b2b-price-display {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.single-product .summary.entry-summary .storm-b2b-trade-amount {
    font-size: 46px;
  }

  body.single-product .summary.entry-summary .storm-b2b-uvp-single {
    margin-bottom: 0;
  }

  body.single-product .summary.entry-summary .storm-b2b-uvp-amount,
  body.single-product .summary.entry-summary .storm-b2b-uvp-amount .woocommerce-Price-amount,
  body.single-product .summary.entry-summary .storm-b2b-uvp-amount .woocommerce-Price-currencySymbol {
    font-size: 30px;
  }
}

body.single-product.woocommerce div.product form.cart .button {
  grid-column: 2;
  width: 100%;
  height: 64px;
  margin: 0;
  border: 0;
  background: #0f6eea;
  color: #fff;
}

body.single-product.woocommerce div.product div.summary.entry-summary .quantity .qty {
  background: var(--storm-product-info-field-bg);
  border-color: var(--storm-product-info-border);
  color: var(--storm-product-info-text);
}

body.single-product.woocommerce div.product div.summary.entry-summary .storm-wishlist-button {
  border-color: var(--storm-product-info-border);
  color: var(--storm-product-info-link);
}

body.single-product.woocommerce div.product div.summary.entry-summary .product_meta,
body.single-product.woocommerce div.product div.summary.entry-summary .product_meta a {
  color: var(--storm-product-info-muted);
}

@media (max-width: 980px) {
  .single-product .woocommerce div.product {
    grid-template-columns: 1fr;
  }

  body.single-product.woocommerce div.product {
    grid-template-columns: 1fr;
  }

  body.single-product.woocommerce div.product div.summary.entry-summary {
    margin-left: 0;
    padding: 48px 24px;
    border-radius: 0;
    overflow: visible;
  }

  body.single-product.woocommerce div.product div.summary.entry-summary::before {
    content: none;
  }

  .single-product .woocommerce div.product div.images {
    min-height: 560px;
    padding: 72px 24px;
  }

  body.single-product.woocommerce div.product div.images {
    min-height: 560px;
    padding: 72px 24px;
  }

  .single-product .woocommerce div.product div.images::after {
    content: none;
  }

  body.single-product.woocommerce div.product div.images::after {
    content: none;
  }

  .single-product .woocommerce div.product div.images .flex-control-thumbs {
    position: static;
    display: flex;
    width: auto;
    margin-top: 18px;
  }

  body.single-product.woocommerce div.product div.images .flex-control-thumbs {
    position: static;
    display: flex;
    width: auto;
    margin-top: 18px;
  }

  .storm-product-details,
  .storm-detail-grid {
    grid-template-columns: 1fr;
  }

  .storm-product-quick-specs,
  .storm-spec-list,
  .storm-spec-row {
    grid-template-columns: 1fr;
  }

  .storm-spec-row {
    gap: 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce .storm-shop-results ul.products li.product,
  .woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link::before,
  .woocommerce .storm-shop-results ul.products li.product a img,
  .single-product .related.products ul.products li.product,
  .single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link::before,
  .single-product .related.products ul.products li.product a img,
  .woocommerce-cart .cross-sells ul.products li.product,
  .woocommerce-cart .cross-sells ul.products li.product a.woocommerce-LoopProduct-link::before,
  .woocommerce-cart .cross-sells ul.products li.product a img,
  .storm-nav a,
  .storm-nav a::after,
  .storm-collections-mega,
  .storm-collections-mega-tile,
  .storm-collections-mega-tile::before,
  .storm-collections-mega-heading .storm-icon,
  .storm-theme-toggle,
  .storm-theme-toggle::after,
  .storm-theme-toggle .storm-icon,
  .storm-icon-link,
  .storm-icon-link::before,
  .storm-icon-link .storm-icon,
  .storm-cart-icon,
  .storm-cart-icon::before,
  .storm-cart-icon .storm-icon,
  .storm-button,
  .storm-button::before,
  .button,
  .button::before,
  .woocommerce a.button,
  .woocommerce a.button::before,
  .woocommerce button.button,
  .woocommerce button.button::before,
  .woocommerce input.button,
  .woocommerce #respond input#submit,
  .woocommerce #respond input#submit::before,
  .storm-outline-link,
  .storm-outline-link::before,
  .storm-outline-link .storm-icon,
  .storm-text-link,
  .storm-text-link .storm-icon,
  .storm-home-watch-model,
  .storm-home-watch-info,
  .storm-filter-toggle,
  .storm-filter-toggle .storm-icon,
  .storm-reset-filters,
  .storm-wishlist-button,
  .storm-wishlist-button .storm-icon,
  .storm-shop-viewmode button,
  .storm-shop-viewmode i,
  body.single-product.woocommerce div.product.storm-gallery-scene-active div.images::before,
  body.single-product.woocommerce div.product.storm-gallery-scene-transition div.images::after,
  body.single-product.woocommerce div.product.storm-gallery-scene-active div.summary.entry-summary::before,
  .storm-b2b-login-brand,
  .storm-b2b-login-logo,
  .storm-b2b-login-intro,
  .storm-b2b-login-benefits,
  .storm-b2b-login-panel,
  .storm-b2b-login-close,
  .storm-b2b-login-card,
  .storm-b2b-login-help,
  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-info,
  .woocommerce-notices-wrapper .woocommerce-error {
    animation: none;
    transition: none;
  }

  .woocommerce .storm-shop-results ul.products li.product:hover,
  .woocommerce .storm-shop-results ul.products li.product:focus-within,
  .woocommerce .storm-shop-results ul.products li.product:hover a.woocommerce-LoopProduct-link::before,
  .woocommerce .storm-shop-results ul.products li.product:focus-within a.woocommerce-LoopProduct-link::before,
  .woocommerce .storm-shop-results ul.products li.product:hover a img,
  .woocommerce .storm-shop-results ul.products li.product:focus-within a img,
  .single-product .related.products ul.products li.product:hover,
  .single-product .related.products ul.products li.product:focus-within,
  .single-product .related.products ul.products li.product:hover a.woocommerce-LoopProduct-link::before,
  .single-product .related.products ul.products li.product:focus-within a.woocommerce-LoopProduct-link::before,
  .single-product .related.products ul.products li.product:hover a img,
  .single-product .related.products ul.products li.product:focus-within a img,
  .woocommerce-cart .cross-sells ul.products li.product:hover,
  .woocommerce-cart .cross-sells ul.products li.product:focus-within,
  .woocommerce-cart .cross-sells ul.products li.product:hover a.woocommerce-LoopProduct-link::before,
  .woocommerce-cart .cross-sells ul.products li.product:focus-within a.woocommerce-LoopProduct-link::before,
  .woocommerce-cart .cross-sells ul.products li.product:hover a img,
  .woocommerce-cart .cross-sells ul.products li.product:focus-within a img,
  .storm-nav a:hover,
  .storm-theme-toggle:hover,
  .storm-theme-toggle:hover .storm-icon,
  .storm-icon-link:hover,
  .storm-icon-link:hover .storm-icon,
  .storm-cart-icon:hover,
  .storm-cart-icon:hover .storm-icon,
  .storm-button:hover::before,
  .button:hover::before,
  .woocommerce a.button:hover::before,
  .woocommerce button.button:hover::before,
  .woocommerce #respond input#submit:hover::before,
  .storm-outline-link:hover,
  .storm-outline-link:hover::before,
  .storm-outline-link:hover .storm-icon,
  .storm-text-link:hover,
  .storm-text-link:hover .storm-icon,
  .storm-filter-toggle:hover,
  .storm-filter-toggle:hover .storm-icon,
  .storm-reset-filters:hover,
  .storm-wishlist-button:hover,
  .storm-wishlist-button:hover .storm-icon,
  .storm-shop-viewmode button:hover,
  .storm-b2b-login-close:hover {
    transform: none;
  }
}

@media (max-width: 1100px) {
  .storm-b2b-login-page {
    grid-template-columns: 1fr;
  }

  .storm-b2b-login-brand,
  .storm-b2b-login-panel {
    min-height: auto;
  }

  .storm-b2b-login-brand {
    min-height: 680px;
  }

  .storm-b2b-login-panel {
    padding-bottom: 220px;
  }
}

@media (max-width: 720px) {
  .storm-b2b-login-brand,
  .storm-b2b-login-panel {
    padding: 30px 22px;
  }

  .storm-b2b-login-brand {
    min-height: 620px;
    background-position: center, center, 58% 58%, center;
    background-size: cover, cover, 760px auto, cover;
  }

  .storm-b2b-login-intro {
    margin-top: 56px;
  }

  .storm-b2b-login-benefits {
    padding: 20px;
  }

  .storm-b2b-login-panel {
    padding-top: 96px;
    padding-bottom: 220px;
  }

  .storm-b2b-login-close {
    top: 28px;
    right: 22px;
  }

  .storm-b2b-login-help {
    grid-template-columns: 32px 1fr;
    padding: 30px 22px;
  }
}

body :where(input, select, textarea):focus,
body.woocommerce :where(input, select, textarea):focus,
body.woocommerce-page :where(input, select, textarea):focus,
body.woocommerce-cart .storm-cart-quantity input.qty:focus {
  outline: 2px solid var(--storm-focus) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px var(--storm-focus-glow) !important;
}

body :where(a, button, summary, [tabindex]:not([tabindex="-1"])):focus,
body.woocommerce :where(a, button):focus,
body.woocommerce-page :where(a, button):focus {
  outline: none !important;
  box-shadow: none !important;
}

.storm-b2b-login-field:focus-within {
  border-color: var(--storm-focus);
  box-shadow: 0 0 0 4px var(--storm-focus-glow);
}

.woocommerce .quantity:focus-within,
.woocommerce-page .quantity:focus-within,
.storm-cart-quantity .quantity:focus-within {
  border-color: var(--storm-focus) !important;
  box-shadow: 0 0 0 4px var(--storm-focus-glow) !important;
}

body.woocommerce-cart .storm-cart-quantity .quantity:focus-within {
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Homepage bestseller product row. */
.storm-home-bestsellers {
  --storm-shop-white: #ffffff;
  --storm-shop-ink: #070a0f;
  --storm-shop-muted: #5e6874;
  --storm-shop-blue: #0e5cc4;
  --storm-shop-line: rgba(8, 18, 34, 0.12);
  padding: clamp(64px, 6.5vw, 104px) 0;
  border-bottom: 1px solid var(--storm-line);
  background: var(--storm-shop-white);
}

[data-storm-theme="dark"] .storm-home-bestsellers {
  --storm-shop-white: #0c121a;
  --storm-shop-ink: #f7fbff;
  --storm-shop-muted: #a9b7c8;
  --storm-shop-line: rgba(225, 239, 255, 0.15);
}

.storm-home-bestsellers-head {
  display: flex;
  gap: 28px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 34px;
}

.storm-home-bestsellers-head h2 {
  margin: 4px 0 0;
  color: var(--storm-shop-ink);
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(3.8rem, 5vw, 6.2rem);
  font-weight: 900;
  line-height: 0.88;
  text-transform: uppercase;
}

.storm-home-bestsellers-head .storm-text-link {
  flex: none;
  margin-bottom: 8px;
}

.storm-home-bestseller-products .woocommerce ul.products,
.woocommerce .storm-home-bestseller-products ul.products {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  .storm-home-bestseller-products .woocommerce ul.products,
  .woocommerce .storm-home-bestseller-products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .storm-home-bestsellers {
    padding: 56px 0 64px;
  }

  .storm-home-bestsellers-head {
    display: grid;
    gap: 20px;
    align-items: start;
    margin-bottom: 28px;
  }

  .storm-home-bestsellers-head h2 {
    font-size: clamp(3.5rem, 17vw, 5rem);
  }

  .storm-home-bestsellers-head .storm-text-link {
    margin: 0;
  }

  .storm-home-bestseller-products .woocommerce ul.products,
  .woocommerce .storm-home-bestseller-products ul.products {
    display: flex;
    gap: 12px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .storm-home-bestseller-products .woocommerce ul.products::-webkit-scrollbar,
  .woocommerce .storm-home-bestseller-products ul.products::-webkit-scrollbar {
    display: none;
  }

  .woocommerce .storm-home-bestseller-products ul.products li.product {
    flex: 0 0 calc((100% - 12px) / 2);
    min-width: 0;
    min-height: 392px;
    float: none;
    width: 100%;
    max-width: none;
    margin: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .woocommerce .storm-home-bestseller-products ul.products li.product a.woocommerce-LoopProduct-link {
    width: 100%;
  }

  .woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link::before {
    top: 162px;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-collection {
    margin-top: 20px;
    font-size: 0.58rem;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-price-row {
    gap: 3px;
    margin: 6px 8px 14px;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-price-row .price {
    font-size: 1.05rem;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-price-notes {
    gap: 5px;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-actions {
    top: 12px;
    right: 10px;
    gap: 6px;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-action {
    width: 30px;
    height: 30px;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-action .storm-icon {
    width: 16px;
    height: 16px;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-product-ribbon {
    left: 8px;
    width: 26px;
    margin-top: 8px;
    padding: 9px 6px;
    font-size: 0.55rem;
    box-shadow: -5px 7px 16px rgba(8, 55, 114, 0.16);
  }
}

/* Product-card lifestyle image transition. */
.woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link > img:not(.storm-loop-hover-image) {
  opacity: 1;
  transition:
    opacity 360ms ease,
    filter 220ms ease,
    transform 420ms cubic-bezier(0.2, 0.82, 0.2, 1);
}

.woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link > img.storm-loop-hover-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  max-width: none;
  height: 314px;
  margin: 0;
  padding: 0;
  background: #eef3f8;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.025);
  transform-origin: center;
  transition:
    opacity 360ms ease,
    transform 700ms cubic-bezier(0.2, 0.82, 0.2, 1);
}

.woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product a.woocommerce-LoopProduct-link > img.storm-loop-hover-image {
  height: 468px;
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce .storm-shop-results ul.products li.product:has(img.storm-loop-hover-image):hover a.woocommerce-LoopProduct-link > img:not(.storm-loop-hover-image),
  .woocommerce .storm-shop-results ul.products li.product:has(img.storm-loop-hover-image):focus-within a.woocommerce-LoopProduct-link > img:not(.storm-loop-hover-image) {
    opacity: 0;
  }

  .woocommerce .storm-shop-results ul.products li.product:hover a.woocommerce-LoopProduct-link > img.storm-loop-hover-image,
  .woocommerce .storm-shop-results ul.products li.product:focus-within a.woocommerce-LoopProduct-link > img.storm-loop-hover-image {
    filter: none;
    opacity: 1;
    transform: scale(1.075);
  }
}

@media (max-width: 720px) {
  .woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link > img.storm-loop-hover-image,
  .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product a.woocommerce-LoopProduct-link > img.storm-loop-hover-image {
    height: 190px;
  }
}

/* Sunglasses are considerably wider than watches; lift them into the visual centre. */
body.storm-accessories-catalog .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link > img:not(.storm-loop-hover-image) {
  transform: translateY(-8%) scale(var(--storm-loop-image-scale));
}

@media (hover: hover) and (pointer: fine) {
  body.storm-accessories-catalog .storm-shop-results ul.products li.product:hover a.woocommerce-LoopProduct-link > img:not(.storm-loop-hover-image),
  body.storm-accessories-catalog .storm-shop-results ul.products li.product:focus-within a.woocommerce-LoopProduct-link > img:not(.storm-loop-hover-image) {
    transform: translateY(calc(-8% - 7px)) scale(var(--storm-loop-image-hover-scale));
  }
}

/* Keep the responsive site chrome inside the viewport. */
@media (max-width: 980px) {
  .storm-site-header {
    overflow-x: clip;
  }

  .storm-header-inner,
  .storm-header-inner > *,
  .storm-nav-shell,
  .storm-nav,
  .storm-header-actions {
    min-width: 0;
    max-width: 100%;
  }

  .storm-brand,
  .storm-nav-shell,
  .storm-header-actions {
    width: 100%;
  }

  .storm-nav-shell {
    overflow: hidden;
  }

  .storm-nav-shell.is-watches-open {
    overflow: visible;
  }

  .storm-nav {
    width: 100%;
    overscroll-behavior-inline: contain;
  }

  .storm-nav a {
    flex: 0 0 auto;
  }

  .storm-header-actions {
    flex-wrap: wrap;
  }

  .storm-watches-dropdown {
    left: 16px;
    width: calc(100vw - 32px);
    transform: translateY(-12px);
  }

  .storm-nav-shell.is-watches-open .storm-watches-dropdown {
    transform: translateY(0);
  }
}

@media (max-width: 520px) {
  .storm-watches-dropdown-grid {
    grid-template-columns: 1fr;
  }

  .storm-watches-dropdown-grid a {
    min-height: 220px;
  }
}

@media (max-width: 720px) {
  .storm-footer-bottom nav {
    flex-wrap: wrap;
    gap: 12px 22px;
  }
}

/* Contact page — reference-led, editorial and deliberately blue-accented. */
.storm-contact-page {
  --storm-contact-blue: #0876e8;
  --storm-contact-ink: #080c12;
  --storm-contact-muted: #68717d;
  --storm-contact-line: #d9dee5;
  --storm-contact-pale: #f4f7fb;
  --storm-contact-surface: #fff;
  --storm-contact-field: #fff;
  background: var(--storm-contact-surface);
  color: var(--storm-contact-ink);
}

html[data-storm-theme="dark"] .storm-contact-page {
  --storm-contact-ink: #f7f9fc;
  --storm-contact-muted: #aeb9c8;
  --storm-contact-line: rgba(225, 239, 255, 0.16);
  --storm-contact-pale: #0a1728;
  --storm-contact-surface: #020812;
  --storm-contact-field: #071421;
  color-scheme: dark;
}

.storm-contact-page h1,
.storm-contact-page h2 {
  margin: 0;
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.94;
  text-transform: uppercase;
}

.storm-contact-hero {
  position: relative;
  min-height: 510px;
  overflow: hidden;
  border-bottom: 1px solid var(--storm-contact-line);
  background: #f8fafc;
  color: var(--storm-contact-ink);
  isolation: isolate;
}

.storm-contact-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(360px, 0.78fr) minmax(520px, 1.22fr);
  min-height: 510px;
}

html[data-storm-theme="dark"] .storm-contact-hero {
  --storm-contact-ink: #f7f9fc;
  --storm-contact-muted: #b9c3d1;
  --storm-contact-line: rgba(225, 239, 255, 0.16);
  border-bottom: 0;
}

.storm-contact-hero-copy {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  max-width: 520px;
  padding: 64px 0 72px;
}

.storm-contact-breadcrumb {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 36px;
  color: var(--storm-contact-muted);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-contact-breadcrumb strong {
  color: var(--storm-contact-ink);
}

.storm-contact-hero h1 {
  font-size: clamp(4.4rem, 7vw, 8rem);
}

.storm-contact-rule {
  display: block;
  width: 38px;
  height: 3px;
  margin: 27px 0 28px;
  background: var(--storm-contact-blue);
}

.storm-contact-hero-copy > p {
  max-width: 440px;
  margin: 0;
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.75;
}

.storm-contact-hero-media {
  position: relative;
  min-width: 0;
}

.storm-contact-hero-watch {
  position: absolute;
  top: -170px;
  right: clamp(36px, 6vw, 110px);
  width: min(39.2vw, 488px);
  max-width: none;
  filter: drop-shadow(0 34px 36px rgba(7, 19, 34, 0.22));
  transform: translate3d(
      var(--storm-contact-watch-parallax-x, 0px),
      calc(var(--storm-contact-watch-parallax-y, 0px) + var(--storm-contact-watch-scroll-y, 0px)),
      0
    )
    rotate(-9deg);
  transform-origin: 50% 44%;
  transition: transform 180ms ease-out;
  will-change: transform;
}

.storm-contact-main {
  border-bottom: 1px solid var(--storm-contact-line);
}

.storm-contact-main-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.06fr) minmax(320px, 0.88fr) minmax(320px, 0.82fr);
  align-items: stretch;
  padding-right: 0;
  padding-left: 0;
}

.storm-contact-form-column,
.storm-contact-methods {
  padding: clamp(54px, 5vw, 84px) clamp(28px, 4.5vw, 72px);
  background: var(--storm-contact-surface);
}

.storm-contact-form-column {
  scroll-margin-top: 110px;
}

.storm-contact-methods {
  border-left: 1px solid var(--storm-contact-line);
}

.storm-contact-eyebrow {
  margin: 0 0 13px;
  color: var(--storm-contact-blue);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.storm-contact-form-column h2,
.storm-contact-methods h2,
.storm-contact-location h2,
.storm-contact-dealers h2 {
  font-size: clamp(2.1rem, 3vw, 3.5rem);
}

.storm-contact-form-column h2,
.storm-contact-methods h2 {
  margin-bottom: 36px;
}

.storm-contact-form {
  display: grid;
  gap: 10px;
}

.storm-contact-form > label:not(.storm-contact-privacy) {
  margin-top: 9px;
  font-size: 0.78rem;
  font-weight: 800;
}

.storm-contact-form label span,
.storm-contact-form-column a,
.storm-contact-method a {
  color: var(--storm-contact-blue);
}

.storm-contact-form input:not([type="checkbox"]),
.storm-contact-form select,
.storm-contact-form textarea {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--storm-contact-line);
  border-radius: 0;
  background: var(--storm-contact-field);
  color: var(--storm-contact-ink);
  padding: 14px 16px;
}

.storm-contact-form textarea {
  min-height: 168px;
  resize: vertical;
}

.storm-contact-form ::placeholder,
.storm-contact-form select:invalid {
  color: #98a0aa;
}

.storm-contact-field-icon {
  position: relative;
}

.storm-contact-field-icon .storm-icon {
  position: absolute;
  top: 50%;
  left: 15px;
  width: 19px;
  height: 19px;
  color: #7d8792;
  transform: translateY(-50%);
}

.storm-contact-field-icon input:not([type="checkbox"]) {
  padding-left: 48px;
}

.storm-contact-privacy {
  margin: 8px 0 3px;
  color: var(--storm-contact-muted);
  font-size: 0.7rem;
  line-height: 1.55;
}

.storm-contact-submit,
.storm-contact-outline-button {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  min-height: 56px;
  padding: 16px 20px;
  border: 1px solid var(--storm-contact-ink);
  border-radius: 0;
  background: var(--storm-contact-ink);
  color: var(--storm-contact-surface);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.storm-contact-submit {
  width: 100%;
  margin-top: 8px;
}

.storm-contact-submit .storm-icon,
.storm-contact-outline-button .storm-icon {
  width: 19px;
  height: 19px;
}

.storm-contact-submit:hover,
.storm-contact-outline-button:hover {
  border-color: var(--storm-contact-blue);
  background: var(--storm-contact-blue);
  color: #fff;
  transform: translateY(-2px);
}

.storm-contact-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.storm-contact-notice {
  margin: -14px 0 24px;
  padding: 14px 16px;
  border-left: 3px solid var(--storm-contact-blue);
  background: var(--storm-contact-pale);
  font-size: 0.82rem;
  line-height: 1.55;
}

.storm-contact-notice.is-error {
  border-color: #ca2941;
}

.storm-contact-service-note {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 15px;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--storm-contact-line);
  color: var(--storm-contact-muted);
  font-size: 0.75rem;
  line-height: 1.55;
}

.storm-contact-service-note .storm-icon {
  width: 26px;
  height: 26px;
  color: var(--storm-contact-blue);
}

.storm-contact-service-note strong {
  display: block;
  margin-bottom: 2px;
  color: var(--storm-contact-ink);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.storm-contact-method {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 18px;
  padding: 26px 0;
  border-bottom: 1px solid var(--storm-contact-line);
}

.storm-contact-method:last-child {
  border-bottom: 0;
}

.storm-contact-method > .storm-icon {
  width: 26px;
  height: 26px;
  color: var(--storm-contact-blue);
  stroke-width: 1.55;
}

.storm-contact-method strong,
.storm-contact-method a {
  display: block;
}

.storm-contact-method strong {
  margin-bottom: 8px;
  font-size: 0.73rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storm-contact-method a {
  margin-bottom: 6px;
  font-weight: 700;
}

.storm-contact-method p {
  margin: 0;
  color: var(--storm-contact-muted);
  font-size: 0.76rem;
  line-height: 1.55;
}

.storm-contact-location {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(360px, 1fr);
  min-width: 0;
  overflow: hidden;
  background: #070b10;
  color: #fff;
}

.storm-contact-location-copy {
  padding: clamp(54px, 5vw, 78px) clamp(30px, 4vw, 58px) 42px;
}

.storm-contact-location .storm-contact-rule {
  margin: 22px 0;
}

.storm-contact-location address {
  font-style: normal;
  line-height: 1.75;
}

.storm-contact-location img {
  width: 100%;
  height: 100%;
  min-height: 400px;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.1) contrast(1.04);
}

.storm-contact-dealers {
  scroll-margin-top: 100px;
  border-bottom: 1px solid var(--storm-contact-line);
  background: var(--storm-contact-surface);
}

.storm-contact-dealers-grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.66fr) minmax(520px, 1.34fr);
  align-items: center;
  min-height: 355px;
  padding-top: 42px;
  padding-bottom: 42px;
}

.storm-contact-dealers-grid > div {
  max-width: 440px;
  padding: 26px 0;
}

.storm-contact-dealers-grid > div > p:not(.storm-contact-eyebrow) {
  margin: 20px 0 26px;
  color: var(--storm-contact-muted);
  line-height: 1.65;
}

.storm-contact-dealers-grid > img {
  width: 100%;
  max-height: 300px;
  object-fit: contain;
}

.storm-contact-outline-button {
  gap: 40px;
  width: fit-content;
  background: var(--storm-contact-surface);
  color: var(--storm-contact-ink);
}

.storm-contact-benefits {
  border-bottom: 1px solid var(--storm-contact-line);
  background: var(--storm-contact-surface);
}

.storm-contact-benefits .storm-benefit {
  min-height: 142px;
  padding: 25px;
  border-color: var(--storm-contact-line);
}

.storm-contact-benefits .storm-benefits {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.storm-contact-benefits .storm-benefit-icon {
  width: 39px;
  height: 39px;
  color: var(--storm-contact-blue);
}

.storm-contact-benefits .storm-benefit strong {
  color: var(--storm-contact-blue);
}

.storm-contact-benefits .storm-benefit p {
  color: var(--storm-contact-muted);
}

html[data-storm-theme="dark"] .storm-contact-dealers-grid > img {
  opacity: 0.72;
  filter: brightness(0) invert(1);
}

@media (max-width: 980px) {
  .storm-contact-hero-grid {
    grid-template-columns: minmax(320px, 0.82fr) minmax(440px, 1.18fr);
  }

  .storm-contact-main-grid {
    grid-template-columns: 1fr 1fr;
  }

  .storm-contact-location {
    grid-column: 1 / -1;
    grid-template-columns: 0.75fr 1.25fr;
    grid-template-rows: minmax(470px, auto);
  }
}

@media (max-width: 900px) {
  .storm-contact-hero,
  .storm-contact-hero-grid {
    min-height: 680px;
  }

  .storm-contact-hero-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  .storm-contact-hero-copy {
    max-width: 620px;
    padding: 54px 0 10px;
  }

  .storm-contact-breadcrumb {
    margin-bottom: 25px;
  }

  .storm-contact-hero-watch {
    top: -210px;
    right: 4vw;
    width: min(59.2vw, 448px);
  }

  .storm-contact-dealers-grid {
    grid-template-columns: 1fr;
  }

  .storm-contact-dealers-grid > img {
    max-height: 260px;
  }
}

@media (max-width: 720px) {
  .storm-contact-hero,
  .storm-contact-hero-grid {
    min-height: 760px;
  }

  .storm-contact-hero-copy {
    padding-top: 40px;
  }

  .storm-contact-hero h1 {
    font-size: clamp(4rem, 21vw, 6.2rem);
  }

  .storm-contact-hero-watch {
    top: 24px;
    right: -2vw;
    width: min(70.4vw, 408px);
  }

  .storm-contact-main-grid {
    grid-template-columns: 1fr;
  }

  .storm-contact-form-column,
  .storm-contact-methods {
    padding: 48px 20px;
  }

  .storm-contact-methods {
    border-top: 1px solid var(--storm-contact-line);
    border-left: 0;
  }

  .storm-contact-location {
    grid-column: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto 390px;
  }

  .storm-contact-location-copy {
    padding: 48px 20px 38px;
  }

  .storm-contact-location img {
    min-height: 390px;
  }

  .storm-contact-dealers-grid {
    min-height: 0;
    padding-top: 42px;
    padding-bottom: 32px;
  }

  .storm-contact-dealers-grid > img {
    margin-top: 22px;
  }

  .storm-contact-benefits .storm-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .storm-contact-benefits .storm-benefit:nth-child(3) {
    border-left: 0;
  }
}

@media (max-width: 460px) {
  .storm-contact-benefits .storm-benefits {
    grid-template-columns: 1fr;
  }

  .storm-contact-benefits .storm-benefit {
    border-top: 1px solid var(--storm-contact-line);
    border-left: 0;
  }
}

/* Profile login dropdown and compact two-row mobile header. */
.storm-profile-menu {
  position: relative;
  flex: 0 0 auto;
}

.storm-profile-trigger {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.storm-profile-dropdown {
  position: absolute;
  top: calc(100% + 16px);
  right: 0;
  z-index: 230;
  display: grid;
  width: 290px;
  padding: 8px;
  border: 1px solid var(--storm-line);
  border-top: 2px solid var(--storm-accent);
  background: color-mix(in srgb, var(--storm-bg) 96%, transparent);
  box-shadow: 0 24px 60px rgba(0, 12, 30, 0.28);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-10px);
  transition: opacity 180ms ease, visibility 180ms ease, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
  backdrop-filter: blur(22px);
}

.storm-profile-menu.is-open .storm-profile-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.storm-profile-dropdown > a {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 13px;
  align-items: center;
  min-height: 68px;
  padding: 12px;
  border-bottom: 1px solid var(--storm-line);
  color: var(--storm-text);
}

.storm-profile-dropdown > a:last-child {
  border-bottom: 0;
}

.storm-profile-dropdown > a:hover,
.storm-profile-dropdown > a:focus-visible {
  background: color-mix(in srgb, var(--storm-accent) 12%, transparent);
  color: var(--storm-accent);
}

.storm-profile-dropdown .storm-icon {
  width: 23px;
  height: 23px;
}

.storm-profile-dropdown strong,
.storm-profile-dropdown small {
  display: block;
}

.storm-profile-dropdown strong {
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.storm-profile-dropdown small {
  margin-top: 4px;
  color: var(--storm-muted);
  font-size: 0.68rem;
  line-height: 1.35;
}

@media (max-width: 720px) {
  .storm-site-header {
    overflow: visible;
  }

  .storm-header-inner {
    grid-template-columns: minmax(116px, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 12px 10px;
    min-height: 0;
    padding: 13px 0 10px;
  }

  .storm-header-inner > .storm-brand {
    grid-row: 1;
    grid-column: 1;
    align-items: flex-start;
    align-self: center;
    width: fit-content;
    max-width: 128px;
    gap: 0;
  }

  .storm-header-inner .storm-brand-mark {
    margin: 0;
    font-size: 2rem;
    line-height: 0.92;
  }

  .storm-header-inner .storm-brand-subline {
    width: 75%;
    margin: 6px 0 0;
    font-size: 0.61rem;
    letter-spacing: 0.19em;
    line-height: 1;
    text-align: left;
    white-space: nowrap;
    transform: scaleX(1.3333);
    transform-origin: left center;
  }

  .storm-header-inner > .storm-header-actions {
    grid-row: 1;
    grid-column: 2;
    justify-self: end;
    align-self: center;
    flex-wrap: nowrap;
    gap: 1px;
    width: auto;
  }

  .storm-header-actions .storm-icon-link,
  .storm-header-actions .storm-cart-icon,
  .storm-header-actions .storm-theme-toggle {
    width: 36px;
    height: 36px;
    min-height: 36px;
  }

  .storm-header-actions .storm-icon {
    width: 20px;
    height: 20px;
  }

  .storm-header-search {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }

  .storm-header-search-form {
    width: 36px;
    height: 36px;
  }

  .storm-header-search.is-open .storm-header-search-form {
    position: fixed;
    top: 10px;
    right: 14px;
    width: calc(100vw - 28px);
    height: 46px;
  }

  body.admin-bar .storm-header-search.is-open .storm-header-search-form {
    top: 56px;
  }

  .storm-header-search.is-open .storm-header-search-input {
    height: 44px;
  }

  .storm-header-search.is-open .storm-header-search-trigger {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }

  .storm-header-inner > .storm-nav-shell {
    grid-row: 2;
    grid-column: 1 / -1;
    width: 100%;
    overflow: hidden;
  }

  .storm-header-inner .storm-nav {
    gap: 26px;
    width: 100%;
    padding: 8px 0 6px;
    font-size: 0.7rem;
    scrollbar-width: thin;
  }

  .storm-profile-dropdown {
    top: calc(100% + 12px);
    right: -41px;
    width: min(290px, calc(100vw - 28px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .storm-header-search,
  .storm-header-search-form,
  .storm-header-search-input,
  .storm-header-inner,
  .storm-header-actions,
  .storm-nav-shell,
  .storm-nav {
    transition: none;
  }
}

@media (min-width: 900px) and (max-width: 1100px) {
  .storm-footer-grid {
    grid-template-columns: 1.45fr repeat(4, minmax(0, 1fr));
    gap: 24px;
  }
}

.storm-contact-template .storm-site-footer {
  border-color: rgba(255, 255, 255, 0.12);
  background: #04080d;
  color: #f7f9fc;
}

.storm-contact-template .storm-site-footer .storm-brand-mark,
.storm-contact-template .storm-site-footer .storm-brand-subline,
.storm-contact-template .storm-site-footer h3 {
  color: #f7f9fc;
}

.storm-contact-template .storm-site-footer a,
.storm-contact-template .storm-footer-brand p,
.storm-contact-template .storm-footer-bottom {
  color: #b8c2ce;
}

.storm-contact-template .storm-footer-bottom {
  border-color: rgba(255, 255, 255, 0.12);
}

.storm-contact-template .storm-site-footer .storm-footer-withdraw-button {
  border-color: #f7f9fc;
  background: #f7f9fc;
  color: #04080d;
}

/* STORM checkout */
body.woocommerce-checkout {
  --storm-checkout-blue: #0f6eea;
  --storm-checkout-blue-bright: #1686ff;
  --storm-checkout-ink: #07101d;
  --storm-checkout-navy: #061120;
  --storm-checkout-navy-soft: #0a1a30;
  --storm-checkout-surface: rgba(255, 255, 255, 0.84);
  --storm-checkout-field: rgba(247, 250, 255, 0.96);
  --storm-checkout-line: rgba(42, 75, 116, 0.18);
  --storm-checkout-muted: #586779;
}

body.woocommerce-checkout .storm-container.storm-content {
  width: 100%;
  max-width: none;
  padding: 0 0 clamp(72px, 8vw, 126px);
  background:
    radial-gradient(circle at 72% 12%, rgba(15, 110, 234, 0.14), transparent 30%),
    linear-gradient(120deg, #f9fbff 0%, #edf4ff 52%, #dceaff 100%);
}

body.woocommerce-checkout .storm-checkout-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(320px, 30vw, 470px);
  align-items: center;
  border-bottom: 1px solid rgba(15, 110, 234, 0.16);
  overflow: hidden;
}

body.woocommerce-checkout .storm-checkout-liquid-glass::after {
  background: linear-gradient(90deg, rgba(247, 251, 255, 0.88) 0%, rgba(241, 247, 255, 0.7) 48%, rgba(230, 240, 253, 0.42) 100%);
}

body.woocommerce-checkout .storm-checkout-hero-inner {
  position: relative;
  z-index: 3;
  width: min(calc(100% - 60px), 1560px);
  margin: 0 auto;
  padding: clamp(62px, 7vw, 104px) 0;
}

body.woocommerce-checkout .storm-checkout-hero-kicker {
  margin: 0 0 22px;
  color: var(--storm-checkout-blue);
  font-family: Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

body.woocommerce-checkout .storm-checkout-title {
  max-width: 760px;
  margin: 0;
  color: var(--storm-checkout-ink);
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(5rem, 9.2vw, 9.2rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 0.78;
  text-transform: uppercase;
}

body.woocommerce-checkout .storm-checkout-hero-copy {
  margin: 26px 0 0;
  color: #35465a;
  font-size: clamp(0.9rem, 1.2vw, 1.08rem);
  font-weight: 700;
  letter-spacing: 0.015em;
}

body.woocommerce-checkout .storm-content article > .woocommerce {
  width: min(calc(100% - 60px), 1560px);
  margin: 0 auto;
  padding-top: clamp(28px, 3vw, 46px);
}

body.woocommerce-checkout .woocommerce-form-login,
body.woocommerce-checkout .checkout_coupon {
  margin: 0 0 28px;
  padding: 26px;
  border: 1px solid var(--storm-checkout-line);
  border-top: 2px solid var(--storm-checkout-blue);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 50px rgba(29, 68, 116, 0.1);
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle {
  margin: 0;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  position: relative;
  display: flex;
  min-height: 70px;
  gap: 18px;
  align-items: center;
  margin: 0 0 28px;
  padding: 15px 18px 15px 72px;
  border: 1px solid var(--storm-checkout-line);
  border-left: 3px solid var(--storm-checkout-blue);
  background: rgba(255, 255, 255, 0.9);
  color: var(--storm-checkout-muted);
  box-shadow: 0 14px 38px rgba(29, 68, 116, 0.08);
  font-size: 0.84rem;
  line-height: 1.45;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
  position: absolute;
  top: 50%;
  left: 18px;
  display: grid;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(15, 110, 234, 0.28);
  border-radius: 50%;
  place-items: center;
  background: rgba(15, 110, 234, 0.08);
  color: var(--storm-checkout-blue);
  content: "%";
  font-family: Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1;
  transform: translateY(-50%);
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::after {
  content: none;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle a {
  flex: 0 0 auto;
  margin-left: auto;
  padding: 10px 14px;
  border: 1px solid rgba(15, 110, 234, 0.34);
  background: rgba(15, 110, 234, 0.05);
  color: var(--storm-checkout-blue);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.045em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle a:hover,
body.woocommerce-checkout .woocommerce-form-coupon-toggle a:focus-visible {
  border-color: var(--storm-checkout-blue);
  background: var(--storm-checkout-blue);
  color: #fff;
  outline: none;
}

body.woocommerce-checkout .checkout_coupon > p:first-child {
  margin: 0 0 18px;
  color: var(--storm-checkout-muted);
  font-size: 0.84rem;
  line-height: 1.55;
}

body.woocommerce-checkout .checkout_coupon .form-row-first {
  float: left;
  width: calc(100% - 196px);
  margin: 0;
}

body.woocommerce-checkout .checkout_coupon .form-row-last {
  float: right;
  width: 180px;
  margin: 0;
}

body.woocommerce-checkout .checkout_coupon .button {
  width: 100%;
  min-height: 52px;
  padding: 0 18px;
  border: 1px solid var(--storm-checkout-blue);
  border-radius: 0;
  background: var(--storm-checkout-blue);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.woocommerce-checkout .checkout_coupon .button:hover,
body.woocommerce-checkout .checkout_coupon .button:focus-visible {
  border-color: var(--storm-checkout-blue-bright);
  background: var(--storm-checkout-blue-bright);
  color: #fff;
}

body.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, 0.92fr);
  gap: clamp(26px, 3vw, 52px);
  align-items: start;
  margin-top: 30px;
}

body.woocommerce-checkout form.checkout #customer_details,
body.woocommerce-checkout form.checkout #order_review {
  min-width: 0;
}

body.woocommerce-checkout form.checkout #customer_details {
  display: block;
  padding: clamp(28px, 3.2vw, 52px);
  border: 1px solid var(--storm-checkout-line);
  border-top: 3px solid var(--storm-checkout-blue);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(240, 246, 255, 0.86)),
    var(--storm-checkout-surface);
  box-shadow: 0 24px 70px rgba(29, 68, 116, 0.11);
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
  float: none;
  width: 100%;
}

body.woocommerce-checkout #customer_details .col-2 {
  margin-top: 34px;
  padding-top: 32px;
  border-top: 1px solid var(--storm-checkout-line);
}

body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout #order_review > h3 {
  margin: 0 0 26px;
  color: var(--storm-checkout-ink);
  font-family: Impact, "Arial Black", "Avenir Next Condensed", sans-serif;
  font-size: clamp(1.9rem, 2.3vw, 2.8rem);
  font-weight: 900;
  letter-spacing: 0.015em;
  line-height: 0.95;
  text-transform: uppercase;
}

body.woocommerce-checkout #customer_details h3::before,
body.woocommerce-checkout #order_review > h3::before {
  display: block;
  margin-bottom: 10px;
  color: var(--storm-checkout-blue);
  content: "CHECKOUT";
  font-family: Arial, sans-serif;
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1;
}

body.woocommerce-checkout #customer_details .woocommerce-shipping-fields h3 {
  margin-bottom: 20px;
  font-family: Arial, sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

body.woocommerce-checkout #customer_details .woocommerce-shipping-fields h3::before {
  content: none;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 22px;
}

body.woocommerce-checkout .form-row {
  float: none;
  width: 100%;
  margin: 0 0 19px;
  padding: 0;
}

body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
  grid-column: span 1;
}

body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #shipping_address_1_field,
body.woocommerce-checkout #shipping_address_2_field {
  grid-column: 1 / -1;
}

body.woocommerce-checkout .form-row label {
  margin: 0 0 8px;
  color: var(--storm-checkout-muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.woocommerce-checkout .form-row .required {
  color: var(--storm-checkout-blue);
}

body.woocommerce-checkout .form-row :is(input.input-text, textarea, select),
body.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: 52px;
  border: 1px solid var(--storm-checkout-line);
  border-radius: 0;
  background: var(--storm-checkout-field);
  color: var(--storm-checkout-ink);
  box-shadow: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

body.woocommerce-checkout .form-row :is(input.input-text, textarea, select) {
  padding: 13px 15px;
}

body.woocommerce-checkout .form-row textarea {
  min-height: 118px;
  resize: vertical;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 11px 42px 11px 15px;
  color: var(--storm-checkout-ink);
  line-height: 28px;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}

body.woocommerce-checkout .form-row :is(input.input-text, textarea, select):focus,
body.woocommerce-checkout .select2-container--focus .select2-selection--single,
body.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: var(--storm-checkout-blue);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(15, 110, 234, 0.12);
  outline: none;
}

body.woocommerce-checkout #ship-to-different-address label,
body.woocommerce-checkout .wc-gzd-checkbox-placeholder label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--storm-checkout-ink);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: none;
}

body.woocommerce-checkout input[type="checkbox"] {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin: 1px 0 0;
  accent-color: var(--storm-checkout-blue);
}

body.woocommerce-checkout .woocommerce-additional-fields {
  margin-top: 26px;
}

body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  padding-left: 22px;
  border-left: 2px solid var(--storm-checkout-blue);
}

body.woocommerce-checkout form.checkout #order_review {
  position: sticky;
  top: 116px;
  display: flex;
  flex-direction: column;
  padding: clamp(28px, 3vw, 46px);
  border: 1px solid rgba(122, 174, 239, 0.2);
  border-top: 3px solid var(--storm-checkout-blue-bright);
  background:
    radial-gradient(circle at 88% 8%, rgba(22, 134, 255, 0.2), transparent 30%),
    linear-gradient(145deg, var(--storm-checkout-navy-soft), var(--storm-checkout-navy) 68%);
  color: #eef6ff;
  box-shadow: 0 30px 80px rgba(1, 11, 26, 0.24);
}

body.woocommerce-checkout #order_review > #order_review_heading {
  order: 1;
  color: #fff;
}

body.woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table {
  order: 2;
}

body.woocommerce-checkout #order_review > #order_payment_heading {
  order: 3;
  margin-top: 34px;
  color: #fff;
}

body.woocommerce-checkout #order_review > #payment {
  order: 4;
}

body.woocommerce-checkout #order_review > .wc-gzd-checkbox-placeholder {
  order: 5;
}

body.woocommerce-checkout #order_review > .wc-gzd-order-submit {
  order: 6;
}

body.woocommerce-checkout #order_review > noscript {
  order: 7;
}

body.woocommerce-checkout #order_review > h3::before {
  color: #62a8ff;
}

body.woocommerce-checkout #order_review table.shop_table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
  background: transparent;
  color: #eef6ff;
}

body.woocommerce-checkout #order_review table.shop_table thead th {
  padding: 0 0 15px;
  border-bottom: 1px solid rgba(225, 239, 255, 0.2);
  color: #86bdff;
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
  padding: 14px 0;
  border-right: 0;
  border-bottom: 1px solid rgba(225, 239, 255, 0.12);
  color: inherit;
}

body.woocommerce-checkout #order_review table.shop_table .product-name {
  padding-right: 18px;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.35;
}

body.woocommerce-checkout #order_review table.shop_table .product-name img {
  float: none;
  width: 56px;
  height: 68px;
  margin: 0 13px 0 0;
  padding: 4px;
  background: #fff;
  object-fit: contain;
  vertical-align: middle;
}

body.woocommerce-checkout #order_review table.shop_table .product-total {
  width: 29%;
  color: #fff;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

body.woocommerce-checkout #order_review table.shop_table tfoot th,
body.woocommerce-checkout #order_review table.shop_table tfoot td {
  padding: 13px 0;
  font-size: 0.76rem;
  font-weight: 800;
}

body.woocommerce-checkout #order_review table.shop_table .storm-b2c-shipping-threshold th,
body.woocommerce-checkout #order_review table.shop_table .storm-b2c-shipping-threshold td {
  padding: 11px 12px;
  border-bottom: 1px solid rgba(30, 132, 255, 0.42);
  background: rgba(15, 110, 234, 0.14);
  color: #b9d9ff;
  font-size: 0.7rem;
  line-height: 1.45;
}

body.woocommerce-checkout #order_review table.shop_table .storm-b2c-shipping-threshold th {
  border-left: 2px solid var(--storm-checkout-blue-bright);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

body.woocommerce-checkout #order_review table.shop_table .storm-b2c-shipping-threshold td {
  text-align: right;
}

body.woocommerce-checkout #order_review table.shop_table .order-total th,
body.woocommerce-checkout #order_review table.shop_table .order-total td {
  padding-top: 20px;
  border-bottom: 0;
  color: #fff;
  font-size: 1.15rem;
}

body.woocommerce-checkout #order_review table.shop_table .order-tax th,
body.woocommerce-checkout #order_review table.shop_table .order-tax td {
  padding-top: 0;
  border-bottom: 0;
  color: #9fb0c4;
  font-size: 0.66rem;
  font-weight: 600;
}

body.woocommerce-checkout #payment {
  margin: 0;
  border: 1px solid rgba(225, 239, 255, 0.14);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.045);
  color: #d8e5f3;
}

body.woocommerce-checkout #payment ul.payment_methods {
  padding: 0;
  border: 0;
}

body.woocommerce-checkout #payment .woocommerce-info,
body.woocommerce-checkout #payment .woocommerce-error {
  margin: 0;
  padding: 18px 18px 18px 42px;
  border: 0;
  border-left: 3px solid var(--storm-checkout-blue-bright);
  background: rgba(255, 255, 255, 0.06);
  color: #c7d4e3;
  box-shadow: none;
  font-size: 0.72rem;
  line-height: 1.55;
}

body.woocommerce-checkout #payment .payment_box {
  margin: 12px 0 0;
  background: rgba(255, 255, 255, 0.08);
  color: #d8e5f3;
}

body.woocommerce-checkout #payment .payment_box::before {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.woocommerce-checkout #order_review > .wc-gzd-checkbox-placeholder {
  margin: 22px 0 0;
  padding-top: 20px;
  border-top: 1px solid rgba(225, 239, 255, 0.14);
}

body.woocommerce-checkout #order_review .wc-gzd-checkbox-placeholder label {
  color: #c7d4e3;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.5;
}

body.woocommerce-checkout #order_review .wc-gzd-checkbox-placeholder a {
  color: #7eb7ff;
}

body.woocommerce-checkout #order_review .wc-gzd-order-submit {
  margin-top: 18px;
}

body.woocommerce-checkout #order_review #place_order,
body.woocommerce-checkout #order_review .wc-gzd-order-submit .button {
  width: 100%;
  min-height: 60px;
  margin: 0;
  padding: 0 24px;
  border: 1px solid var(--storm-checkout-blue-bright);
  border-radius: 0;
  background: var(--storm-checkout-blue);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: 0 16px 34px rgba(15, 110, 234, 0.28);
}

body.woocommerce-checkout #order_review #place_order:hover,
body.woocommerce-checkout #order_review #place_order:focus-visible,
body.woocommerce-checkout #order_review .wc-gzd-order-submit .button:hover,
body.woocommerce-checkout #order_review .wc-gzd-order-submit .button:focus-visible {
  border-color: var(--storm-checkout-blue-bright);
  background: var(--storm-checkout-blue-bright);
  color: #fff;
  transform: translateY(-1px);
}

html[data-storm-theme="dark"] body.woocommerce-checkout .storm-container.storm-content {
  background:
    radial-gradient(circle at 72% 12%, rgba(15, 110, 234, 0.2), transparent 30%),
    linear-gradient(120deg, #030810 0%, #071321 52%, #0b1b30 100%);
}

html[data-storm-theme="dark"] body.woocommerce-checkout .storm-checkout-liquid-glass::after {
  background: linear-gradient(90deg, rgba(3, 8, 16, 0.9) 0%, rgba(5, 14, 26, 0.74) 48%, rgba(7, 20, 37, 0.48) 100%);
}

html[data-storm-theme="dark"] body.woocommerce-checkout .storm-checkout-title {
  color: #f7fbff;
}

html[data-storm-theme="dark"] body.woocommerce-checkout .storm-checkout-hero-copy {
  color: #b9c8d8;
}

html[data-storm-theme="dark"] body.woocommerce-checkout form.checkout #customer_details,
html[data-storm-theme="dark"] body.woocommerce-checkout .woocommerce-form-login,
html[data-storm-theme="dark"] body.woocommerce-checkout .checkout_coupon,
html[data-storm-theme="dark"] body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
html[data-storm-theme="dark"] body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
  border-color: rgba(225, 239, 255, 0.15);
  background: rgba(7, 19, 33, 0.88);
  color: #b9c8d8;
}

html[data-storm-theme="dark"] body.woocommerce-checkout #customer_details h3,
html[data-storm-theme="dark"] body.woocommerce-checkout .woocommerce-form-coupon-toggle a,
html[data-storm-theme="dark"] body.woocommerce-checkout .woocommerce-form-login-toggle a,
html[data-storm-theme="dark"] body.woocommerce-checkout #ship-to-different-address label {
  color: #f7fbff;
}

html[data-storm-theme="dark"] body.woocommerce-checkout .woocommerce-form-coupon-toggle a {
  border-color: rgba(126, 183, 255, 0.38);
  background: rgba(126, 183, 255, 0.08);
  color: #7eb7ff;
}

html[data-storm-theme="dark"] body.woocommerce-checkout .woocommerce-form-coupon-toggle a:hover,
html[data-storm-theme="dark"] body.woocommerce-checkout .woocommerce-form-coupon-toggle a:focus-visible {
  border-color: var(--storm-checkout-blue-bright);
  background: var(--storm-checkout-blue-bright);
  color: #fff;
}

html[data-storm-theme="dark"] body.woocommerce-checkout .form-row label {
  color: #aebed0;
}

html[data-storm-theme="dark"] body.woocommerce-checkout .form-row :is(input.input-text, textarea, select),
html[data-storm-theme="dark"] body.woocommerce-checkout .select2-container .select2-selection--single {
  border-color: rgba(225, 239, 255, 0.16);
  background: rgba(255, 255, 255, 0.055);
  color: #f7fbff;
}

html[data-storm-theme="dark"] body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  color: #f7fbff;
}

@media (max-width: 1100px) {
  body.woocommerce-checkout form.checkout {
    grid-template-columns: minmax(0, 1fr) minmax(370px, 0.82fr);
    gap: 24px;
  }

  body.woocommerce-checkout form.checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review {
    padding: 28px;
  }
}

@media (max-width: 880px) {
  body.woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
  }

  body.woocommerce-checkout form.checkout #order_review {
    position: static;
  }
}

@media (max-width: 620px) {
  body.woocommerce-checkout .storm-checkout-hero-inner,
  body.woocommerce-checkout .storm-content article > .woocommerce {
    width: min(calc(100% - 32px), 1560px);
  }

  body.woocommerce-checkout .storm-checkout-hero {
    min-height: 300px;
  }

  body.woocommerce-checkout .storm-checkout-hero-inner {
    padding: 64px 0;
  }

  body.woocommerce-checkout .storm-checkout-title {
    font-size: clamp(4.2rem, 22vw, 6.4rem);
  }

  body.woocommerce-checkout .storm-checkout-hero-copy {
    margin-top: 20px;
  }

  body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    display: block;
    padding: 16px 16px 16px 66px;
  }

  body.woocommerce-checkout .woocommerce-form-coupon-toggle a {
    display: block;
    width: fit-content;
    margin: 10px 0 0;
    white-space: normal;
  }

  body.woocommerce-checkout .checkout_coupon .form-row-first,
  body.woocommerce-checkout .checkout_coupon .form-row-last {
    float: none;
    width: 100%;
  }

  body.woocommerce-checkout .checkout_coupon .form-row-last {
    margin-top: 10px;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last {
    grid-column: 1;
  }

  body.woocommerce-checkout form.checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review {
    padding: 24px 18px;
  }

  body.woocommerce-checkout #order_review table.shop_table .product-name img {
    width: 46px;
    height: 58px;
    margin-right: 8px;
  }
}

/* Final mobile overrides live at the end of the cascade intentionally. */
@media (max-width: 720px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
  }

  .storm-main,
  .storm-site-header,
  .storm-site-footer,
  .single-product .storm-container.storm-content,
  .single-product .woocommerce,
  .single-product .woocommerce div.product {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .storm-header-inner > .storm-nav-shell {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }

  .storm-header-inner .storm-nav {
    justify-content: space-between;
    gap: clamp(8px, 3vw, 16px);
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 7px 0 5px;
    overflow: hidden;
    font-size: clamp(0.56rem, 2.45vw, 0.68rem);
  }

  .storm-header-inner .storm-nav a {
    flex: 0 1 auto;
    min-width: 0;
    white-space: nowrap;
  }

  .storm-shop-catalog-inner,
  .storm-shop-catalog-inner.is-filter-collapsed {
    grid-template-columns: minmax(0, 1fr);
  }

  .storm-shop-filters,
  .storm-shop-catalog-inner.is-filter-collapsed .storm-shop-filters {
    position: static;
    width: 100%;
    min-width: 0;
  }

  .storm-shop-results,
  .storm-shop-results .woocommerce,
  .storm-shop-results .products {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .storm-shop-results .woocommerce ul.products,
  .woocommerce .storm-shop-results ul.products,
  .woocommerce .storm-shop-results[data-grid-view="3"] ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .woocommerce .storm-shop-results ul.products li.product,
  .woocommerce-page .storm-shop-results ul.products li.product,
  .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product {
    float: none;
    width: 100%;
    min-width: 0;
    min-height: 0;
    margin: 0;
  }

  .woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link,
  .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product a.woocommerce-LoopProduct-link {
    grid-template-rows: 166px auto auto;
    width: 100%;
    min-width: 0;
    min-height: 282px;
    padding: 0 8px 13px;
  }

  .woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link::before,
  .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product a.woocommerce-LoopProduct-link::before {
    top: 141px;
  }

  .woocommerce .storm-shop-results ul.products li.product a img,
  .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product a img,
  .woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link > img.storm-loop-hover-image,
  .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product a.woocommerce-LoopProduct-link > img.storm-loop-hover-image {
    width: calc(100% + 16px);
    max-width: none;
    height: 166px;
    margin: 8px -8px 10px;
    padding: 8px 5px;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-collection {
    margin: 17px 0 4px;
    font-size: 0.58rem;
    overflow-wrap: anywhere;
  }

  .woocommerce .storm-shop-results ul.products li.product .woocommerce-loop-product__title {
    font-size: clamp(0.8rem, 3.7vw, 0.96rem);
    line-height: 1.03;
    overflow-wrap: anywhere;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-price-row {
    width: calc(100% - 12px);
    margin: 4px 6px 12px;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-price-row .price {
    max-width: 100%;
    font-size: clamp(0.9rem, 4.2vw, 1.05rem);
    white-space: normal;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-price-notes {
    flex-wrap: wrap;
    gap: 3px 5px;
    max-width: 100%;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-price-row .wc-gzd-additional-info-loop,
  .woocommerce .storm-shop-results ul.products li.product .storm-b2b-price-note,
  .woocommerce .storm-shop-results ul.products li.product .storm-b2b-uvp {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-b2b-price-note {
    display: block;
    margin-top: 3px;
    padding: 0;
    background: transparent;
    font-size: 0.55rem;
    line-height: 1.2;
  }

  body.single-product.woocommerce div.product div.images,
  .single-product .woocommerce div.product div.images {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    background: #fff;
  }

  body.single-product.woocommerce div.product.storm-gallery-scene-active div.images::before,
  body.single-product.woocommerce div.product.storm-gallery-scene-transition div.images::after {
    content: none;
  }

  body.single-product.woocommerce div.product.storm-gallery-scene-active div.images .flex-viewport,
  body.single-product.woocommerce div.product.storm-gallery-scene-active div.images .woocommerce-product-gallery__wrapper,
  body.single-product.woocommerce div.product .flex-viewport,
  body.single-product.woocommerce div.product .woocommerce-product-gallery__wrapper {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto !important;
    min-width: 0;
    opacity: 1;
    pointer-events: auto;
    background: #fff;
  }

  body.single-product.woocommerce div.product.storm-gallery-scene-active div.images .woocommerce-product-gallery__image img,
  body.single-product.woocommerce div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg) {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    margin: 0;
    padding: 0;
    opacity: 1;
    filter: none;
    transform: none;
  }

  body.single-product.woocommerce div.product div.images .woocommerce-product-gallery__image[data-storm-gallery-scene="true"] img:not(.zoomImg) {
    aspect-ratio: 4 / 5;
    object-fit: cover;
  }

  body.single-product.woocommerce div.product div.images .woocommerce-product-gallery__image[data-storm-gallery-scene="false"] img:not(.zoomImg) {
    aspect-ratio: 1 / 1;
    padding: 16px;
    object-fit: contain;
  }

  body.single-product.woocommerce div.product div.images .flex-control-thumbs,
  .single-product .woocommerce div.product div.images .flex-control-thumbs {
    position: static;
    display: flex;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 10px 14px 14px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }

  body.single-product.woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar {
    display: none;
  }

  body.single-product.woocommerce div.product div.images .flex-control-thumbs li,
  .single-product .woocommerce div.product div.images .flex-control-thumbs li {
    flex: 0 0 clamp(54px, 16vw, 64px);
    width: clamp(54px, 16vw, 64px);
    height: clamp(54px, 16vw, 64px);
  }

  body.single-product.woocommerce div.product .woocommerce-product-gallery__trigger {
    top: 14px;
    right: 14px;
  }

  body.single-product.woocommerce div.product div.summary.entry-summary {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 36px 20px 44px;
    overflow: hidden;
  }

  body.single-product.woocommerce div.product div.summary.entry-summary > *,
  body.single-product.woocommerce div.product form.cart,
  body.single-product.woocommerce div.product .storm-wishlist-button {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  body.single-product.woocommerce div.product form.cart {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 10px;
  }

  body.single-product.woocommerce div.product form.cart .button {
    min-width: 0;
    padding-inline: 14px;
    font-size: clamp(0.78rem, 3.6vw, 0.96rem);
    white-space: normal;
  }

  body.single-product.woocommerce div.product div.summary.entry-summary iframe,
  body.single-product.woocommerce div.product div.summary.entry-summary [class*="payment"],
  body.single-product.woocommerce div.product div.summary.entry-summary [class*="paypal"],
  body.single-product.woocommerce div.product div.summary.entry-summary [class*="amazon"] {
    max-width: 100%;
  }

  .single-product .product_title,
  .storm-product-benefits {
    max-width: 100%;
  }
}

@media (max-width: 720px) {
  .single-product .woocommerce div.product,
  body.single-product.woocommerce div.product {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.single-product.woocommerce div.product .woocommerce-product-gallery__wrapper {
    width: 1000% !important;
    max-width: none !important;
  }
}

@media (max-width: 720px) {
  .woocommerce .storm-shop-results ul.products li.product a.woocommerce-LoopProduct-link,
  .woocommerce .storm-shop-results[data-grid-view="3"] ul.products li.product a.woocommerce-LoopProduct-link {
    min-height: 228px;
    padding-bottom: 4px;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-collection {
    margin-top: 32px;
  }

  .woocommerce .storm-shop-results ul.products li.product .storm-loop-price-row {
    margin-top: 0;
  }
}
