@charset "UTF-8";
/*! Ramenwasser Depot — built CSS. Edit SCSS in assets/scss/, then: npm run build:css */
/**
 * Design tokens — WCD brand palette. Run: npm run build:css
 */
:root {
  --rw-color-navy: #003362;
  --rw-color-navy-dark: #060f1f;
  --rw-color-navy-mid: #003362;
  --rw-color-brand: #0044f1;
  --rw-color-brand-hover: #0038cc;
  --rw-color-brand-light: #7fa0f8;
  --rw-color-brand-light-hover: #6b90f6;
  --rw-color-primary: #003362;
  --rw-color-primary-dark: #060f1f;
  --rw-color-primary-light: #e8eef5;
  --rw-color-secondary: #4a5f7a;
  --rw-color-accent: #0044f1;
  --rw-color-text: #1a2b42;
  --rw-color-text-muted: #5c6b7f;
  --rw-color-text-inverse: #ffffff;
  --rw-color-bg: #ffffff;
  --rw-color-bg-alt: #f4f6f9;
  --rw-color-bg-dark: #003362;
  --rw-color-border: #d4dce6;
  --rw-color-border-light: #e8edf3;
  --rw-color-border-strong: #0b1f3f;
  --rw-color-cat-hero-bg: #e8eeff;
  --rw-color-highlight-bg: #d9e3fe;
  --rw-color-header-main-bg: #ffffff;
  --rw-color-header-nav-bg: #ffffff;
  --rw-color-toggle-track: #d4dce6;
  --rw-color-breadcrumb-bg: #f4f6f9;
  --rw-color-sale: #d62839;
  --rw-color-success: #2d9d4e;
  --rw-color-warning: #e9a100;
  --rw-color-error: #c1121f;
  --rw-font-family: Poppins, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  --rw-font-size-xs: 0.75rem;
  --rw-font-size-sm: 0.875rem;
  --rw-font-size-base: 1rem;
  --rw-font-size-md: 1.125rem;
  --rw-font-size-lg: 1.25rem;
  --rw-font-size-xl: 1.5rem;
  --rw-font-size-2xl: 2rem;
  --rw-font-size-3xl: 2.5rem;
  --rw-font-size-hero: clamp(2rem, 4vw, 3rem);
  --rw-font-weight-normal: 400;
  --rw-font-weight-medium: 500;
  --rw-font-weight-semibold: 600;
  --rw-font-weight-bold: 700;
  --rw-line-height-tight: 1.2;
  --rw-line-height-base: 1.5;
  --rw-line-height-relaxed: 1.65;
  --rw-space-1: 0.25rem;
  --rw-space-2: 0.5rem;
  --rw-space-3: 0.75rem;
  --rw-space-4: 1rem;
  --rw-space-5: 1.25rem;
  --rw-space-6: 1.5rem;
  --rw-space-8: 2rem;
  --rw-space-10: 2.5rem;
  --rw-space-12: 3rem;
  --rw-space-16: 4rem;
  --rw-space-20: 5rem;
  --rw-container-max: 1280px;
  --rw-container-narrow: 720px;
  --rw-header-height: 72px;
  --rw-radius-sm: 15px;
  --rw-radius-md: 8px;
  --rw-radius-lg: 12px;
  --rw-radius-full: 9999px;
  --rw-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --rw-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1);
  --rw-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
  --rw-transition: 0.2s ease;
  --rw-bp-tablet: 768px;
  --rw-bp-desktop: 1024px;
  --rw-bp-wide: 1280px;
}

/**
 * Base styles and layout utilities.
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--rw-font-family);
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text);
  background-color: var(--rw-color-bg);
  -webkit-font-smoothing: antialiased;
}

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

a {
  color: var(--rw-color-primary);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color var(--rw-transition);
}

a:hover {
  color: var(--rw-color-primary-dark);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--rw-color-secondary);
  outline-offset: 2px;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 var(--rw-space-4);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-text);
}

h1 {
  font-size: var(--rw-font-size-3xl);
}

h2 {
  font-size: var(--rw-font-size-2xl);
}

h3 {
  font-size: var(--rw-font-size-xl);
}

h4 {
  font-size: var(--rw-font-size-lg);
}

p {
  margin: 0 0 var(--rw-space-4);
}

ul, ol {
  margin: 0 0 var(--rw-space-4);
  padding-left: var(--rw-space-6);
}

.rw-skip-link {
  position: absolute;
  top: -100%;
  left: var(--rw-space-4);
  z-index: 9999;
  padding: var(--rw-space-3) var(--rw-space-4);
  background: var(--rw-color-primary);
  color: var(--rw-color-text-inverse);
  border-radius: var(--rw-radius-sm);
}

.rw-skip-link:focus {
  top: var(--rw-space-4);
}

.rw-container {
  width: 100%;
  max-width: var(--rw-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--rw-space-4);
  padding-right: var(--rw-space-4);
}

@media (min-width: 768px) {
  .rw-container {
    padding-left: var(--rw-space-6);
    padding-right: var(--rw-space-6);
  }
}
.rw-section {
  padding-top: var(--rw-space-12);
}

.rw-section--alt {
  background-color: var(--rw-color-bg-alt);
}

.rw-section--centered {
  text-align: center;
}

.rw-section__header {
  text-align: center;
  max-width: var(--rw-container-narrow);
  margin: 0 auto var(--rw-space-10);
}

.rw-section__title {
  margin-bottom: var(--rw-space-3);
}

.rw-section__subtitle {
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-md);
  margin: 0;
}

.rw-site-main {
  min-height: 50vh;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  word-wrap: normal !important;
}

/**
 * Buttons
 */
.rw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rw-space-2);
  padding: var(--rw-space-3) var(--rw-space-6);
  font-family: inherit;
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--rw-radius-md);
  cursor: pointer;
  transition: background-color var(--rw-transition), border-color var(--rw-transition), color var(--rw-transition), transform var(--rw-transition);
}

.rw-btn:hover {
  text-decoration: none;
  transform: translateY(-1px);
}

.rw-btn--primary {
  background-color: var(--rw-color-primary);
  color: var(--rw-color-text-inverse);
  border-color: var(--rw-color-primary);
}

.rw-btn--primary:hover {
  background-color: var(--rw-color-primary-dark);
  border-color: var(--rw-color-primary-dark);
  color: var(--rw-color-text-inverse);
}

.rw-btn--secondary {
  background-color: transparent;
  color: var(--rw-color-primary);
  border-color: var(--rw-color-primary);
}

.rw-btn--secondary:hover {
  background-color: var(--rw-color-primary-light);
  color: var(--rw-color-primary-dark);
}

.rw-btn--white {
  background-color: var(--rw-color-bg);
  color: var(--rw-color-primary);
  border-color: var(--rw-color-bg);
}

.rw-btn--white:hover {
  background-color: var(--rw-color-bg-alt);
  color: var(--rw-color-primary-dark);
}

.rw-btn--sm {
  padding: var(--rw-space-2) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
}

.rw-btn--block {
  width: 100%;
}

.rw-btn--hero-outline {
  background-color: transparent;
  color: var(--rw-color-text-inverse);
  border-color: rgba(255, 255, 255, 0.8);
}

.rw-btn--hero-outline:hover {
  background-color: rgba(255, 255, 255, 0.15);
  color: var(--rw-color-text-inverse);
  border-color: var(--rw-color-text-inverse);
}

.rw-btn--brand {
  background-color: var(--rw-color-brand);
  color: var(--rw-color-text-inverse);
  border-color: var(--rw-color-brand);
  border-radius: var(--rw-radius-sm);
}

.rw-btn--brand:hover {
  background-color: var(--rw-color-brand-hover);
  border-color: var(--rw-color-brand-hover);
  color: var(--rw-color-text-inverse);
}

.rw-btn--outline-navy {
  background-color: transparent;
  color: var(--rw-color-navy);
  border: 1px solid var(--rw-color-navy);
  border-radius: var(--rw-radius-sm);
}

.rw-btn--outline-navy:hover {
  background-color: rgba(0, 51, 98, 0.06);
  color: var(--rw-color-navy);
  border-color: var(--rw-color-navy);
}

/**
 * Site header — WCD 3-tier layout
 */
.rw-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: var(--rw-color-header-nav-bg);
}

/* Tier 1: USP bar */
.rw-header-usp {
  background: var(--rw-color-navy);
  color: var(--rw-color-text-inverse);
  font-size: var(--rw-font-size-sm);
}

.rw-header-usp__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-3) var(--rw-space-6);
  padding-block: var(--rw-space-2);
}

.rw-header-usp__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-4) var(--rw-space-8);
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-header-usp__item {
  display: flex;
  align-items: center;
  gap: var(--rw-space-2);
}

.rw-header-usp__icon {
  display: flex;
  flex-shrink: 0;
  color: var(--rw-color-brand-light) !important;
}

.rw-header-usp__item a,
.rw-header-usp__item span {
  color: var(--rw-color-text-inverse);
  text-decoration: none;
}

.rw-header-usp__item a:hover {
  text-decoration: underline;
}

.rw-lang-dropdown--header-usp > summary {
  color: var(--rw-color-text-inverse);
}

.rw-lang-dropdown--header-usp .rw-lang-dropdown__menu {
  background: var(--rw-color-bg);
  border-color: var(--rw-color-border);
}

.rw-lang-dropdown--header-usp .rw-lang-dropdown__menu a {
  color: var(--rw-color-text);
}

@media (min-width: 1024px) {
  .rw-header-usp__list {
    gap: var(--rw-space-12);
  }
}
/* Logo column width for main header grid only */
.rw-header__grid {
  --rw-header-logo-col: minmax(0, 200px);
}

.rw-header-main__grid {
  display: grid;
  grid-template-columns: var(--rw-header-logo-col) minmax(0, 1fr) auto;
  align-items: center;
  column-gap: var(--rw-space-6);
  row-gap: var(--rw-space-4);
  padding-block: var(--rw-space-4);
}

/* Tier 2: Logo + search + actions */
.rw-header-main {
  background: var(--rw-color-header-main-bg);
  border-bottom: 1px solid var(--rw-color-border-light);
}

.rw-header-main__left {
  display: none;
  align-items: center;
  gap: var(--rw-space-1);
  min-width: 0;
}

.rw-header-main__logo {
  display: flex;
  align-items: center;
  grid-column: 1;
  min-width: 0;
}

.rw-header-main__logo .custom-logo-link,
.rw-header-main__logo .rw-header__logo {
  display: flex;
  align-items: center;
  line-height: 0;
}

.rw-header-main__logo img,
.rw-header__logo img {
  display: block;
  max-height: 56px;
  width: auto;
  max-width: 100%;
}

.rw-header-main__search {
  grid-column: 2;
  min-width: 0;
}

.rw-header-main__actions {
  grid-column: 3;
}

/* Product search group */
.rw-header-search-form,
.rw-header-main__search .woocommerce-product-search {
  display: flex;
  align-items: stretch;
  width: 100%;
  max-width: 720px;
  margin: 0;
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  overflow: hidden;
  background: var(--rw-color-bg);
}

.rw-header-search-form__category {
  position: relative;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  background: var(--rw-color-bg-alt);
  border-right: 1px solid var(--rw-color-border);
}

.rw-header-search-form__category-icon {
  display: none;
  padding-left: var(--rw-space-3);
  color: var(--rw-color-text-muted);
}

@media (min-width: 768px) {
  .rw-header-search-form__category-icon {
    display: flex;
  }
}
.rw-header-search-form__select {
  appearance: none;
  border: none;
  background: transparent;
  padding: var(--rw-space-3) var(--rw-space-8) var(--rw-space-3) var(--rw-space-3);
  font-family: inherit;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text);
  cursor: pointer;
  max-width: 160px;
}

.rw-header-search-form__chevron {
  position: absolute;
  right: var(--rw-space-2);
  pointer-events: none;
  color: var(--rw-color-text-muted);
}

.rw-header-search-form__input,
.rw-header-main__search .woocommerce-product-search input[type=search] {
  flex: 1;
  min-width: 0;
  width: 100%;
  padding: var(--rw-space-3) var(--rw-space-4);
  font-size: var(--rw-font-size-base);
  color: var(--rw-color-text);
  border: none;
  border-radius: 0;
  background: var(--rw-color-bg);
}

.rw-header-search-form__input::placeholder,
.rw-header-main__search .woocommerce-product-search input[type=search]::placeholder {
  color: var(--rw-color-text-muted);
}

.rw-header-search-form__input:focus,
.rw-header-main__search .woocommerce-product-search input[type=search]:focus {
  outline: none;
}

.rw-header-search-form__submit,
.rw-header-main__search .woocommerce-product-search button {
  display: flex;
  align-items: center;
  gap: var(--rw-space-2);
  flex-shrink: 0;
  padding: var(--rw-space-3) var(--rw-space-5);
  font-family: inherit;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text-inverse);
  background: var(--rw-color-brand);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--rw-transition);
}

.rw-header-search-form__submit:hover,
.rw-header-main__search .woocommerce-product-search button:hover {
  background: var(--rw-color-brand-hover);
  color: var(--rw-color-text-inverse);
}

.rw-header-search-form__submit span {
  display: none;
}

@media (min-width: 768px) {
  .rw-header-search-form__submit span {
    display: inline;
  }
}
/* Header actions */
.rw-header-main__actions {
  display: flex;
  align-items: center;
  gap: var(--rw-space-2);
}

.rw-header-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--rw-space-1);
  min-width: 64px;
  padding: var(--rw-space-1) var(--rw-space-2);
  color: var(--rw-color-navy);
  text-decoration: none;
  transition: color var(--rw-transition);
}

.rw-header-action:hover {
  color: var(--rw-color-brand);
  text-decoration: none;
}

.rw-header-action__icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
}

.rw-header-action__label {
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-medium);
  line-height: 1.2;
  text-align: center;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rw-header-action__count {
  position: absolute;
  top: -4px;
  right: -8px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  font-size: 10px;
  font-weight: var(--rw-font-weight-bold);
  line-height: 18px;
  text-align: center;
  color: var(--rw-color-text-inverse);
  background: var(--rw-color-brand);
  border-radius: var(--rw-radius-full);
}

.rw-header-action__count--wishlist {
  background: var(--rw-color-navy);
}

.rw-header-action__count[hidden] {
  display: none;
}

.rw-header__icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--rw-color-navy);
  background: transparent;
  border: none;
  cursor: pointer;
}

.rw-header__toggle {
  display: flex;
  position: relative;
  z-index: 201;
}

.rw-header__toggle-icon--close {
  display: none;
}

.rw-header__toggle[aria-expanded=true] .rw-header__toggle-icon--open {
  display: none;
}

.rw-header__toggle[aria-expanded=true] .rw-header__toggle-icon--close {
  display: flex;
}

@media (min-width: 1024px) {
  .rw-header__toggle {
    display: none;
  }
}
@media (max-width: 1023px) {
  .rw-header-usp__inner {
    justify-content: center;
    flex-wrap: nowrap;
    padding-block: var(--rw-space-1);
  }
  .rw-header-usp__lang {
    display: none;
  }
  .rw-header-usp__list {
    justify-content: center;
    flex-wrap: nowrap;
    min-width: 0;
  }
  .rw-header-usp__item {
    display: none;
  }
  .rw-header-usp__item.is-active {
    display: flex;
  }
  .rw-header-main__grid {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto;
    column-gap: var(--rw-space-2);
    padding-block: var(--rw-space-2);
  }
  .rw-header-main__left {
    display: flex;
    grid-column: 1;
    grid-row: 1;
  }
  .rw-header-main__logo {
    grid-column: 2;
    grid-row: 1;
    justify-content: center;
  }
  .rw-header-main__logo img,
  .rw-header__logo img {
    max-height: 40px;
  }
  .rw-header-main__actions {
    grid-column: 3;
    grid-row: 1;
    gap: 0;
  }
  .rw-header-main__search {
    display: none;
    grid-column: 1/-1;
    grid-row: 2;
  }
  .rw-header.is-search-open .rw-header-main__grid {
    grid-template-rows: auto auto;
  }
  .rw-header.is-search-open .rw-header-main__search {
    display: block;
  }
  .rw-header-search-form,
  .rw-header-main__search .woocommerce-product-search {
    max-width: none;
  }
  .rw-header-search-form__category {
    display: none;
  }
  .rw-header-action {
    min-width: 44px;
    padding: 0;
  }
  .rw-header-action--account {
    display: none;
  }
  .rw-header-action__label {
    display: none;
  }
  .rw-header__search-toggle[aria-expanded=true] {
    color: var(--rw-color-brand);
  }
}
/* Tier 3: Main nav */
.rw-header-nav {
  display: none;
  position: relative;
  background: var(--rw-color-header-nav-bg);
  border-bottom: 1px solid var(--rw-color-border-light);
}

@media (min-width: 1024px) {
  .rw-header-nav {
    display: block;
  }
}
.rw-header-nav__grid {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  column-gap: var(--rw-space-6);
  padding-block: var(--rw-space-3);
}

.rw-header-nav__grid .rw-mega-nav {
  display: contents;
}

.rw-header-nav__left,
.rw-header-nav__right {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: var(--rw-space-2);
}

.rw-header-nav__left {
  grid-column: 1;
  flex-shrink: 0;
}

.rw-header-nav__right {
  grid-column: 2;
  justify-content: flex-end;
}

.rw-mega-nav__item {
  position: relative;
}

.rw-mega-nav__item--categories,
.rw-mega-nav__item--brands {
  position: static;
}

.rw-header-nav__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  padding: var(--rw-space-3) var(--rw-space-5);
  font-family: inherit;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text-inverse);
  background: var(--rw-color-navy);
  border: none;
  border-radius: 0;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color var(--rw-transition);
}

.rw-header-nav__cta:hover {
  background: var(--rw-color-navy-dark);
  color: var(--rw-color-text-inverse);
}

.rw-header-nav__cta-icon, .rw-header-nav__link-icon {
  display: contents;
}

.rw-header-nav__cta-icon svg {
  width: 18px;
  height: 18px;
}

.rw-header-nav__link {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-1);
  padding: var(--rw-space-3) var(--rw-space-4);
  font-family: inherit;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text);
  background: transparent;
  border: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}

.rw-header-nav__link:hover {
  color: var(--rw-color-brand);
  text-decoration: none;
}

.rw-header-nav__link-icon svg {
  width: 16px;
  height: 16px;
}

.rw-mega-nav__pages {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-mega-nav__pages > li > a {
  display: flex;
  align-items: center;
  padding: var(--rw-space-3) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text);
  text-decoration: none;
  white-space: nowrap;
}

.rw-mega-nav__pages > li > a:hover {
  color: var(--rw-color-brand);
  text-decoration: none;
}

.rw-mega-nav__pages > li.menu-item-highlight > a,
.rw-mega-nav__pages > li.menu-item-promoties > a {
  color: var(--rw-color-brand);
  font-weight: var(--rw-font-weight-semibold);
}

.rw-mega-nav__pages > li.menu-item-highlight > a::before,
.rw-mega-nav__pages > li.menu-item-promoties > a::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: var(--rw-space-2);
  background: var(--rw-color-brand);
  border-radius: var(--rw-radius-full);
  vertical-align: middle;
}

.rw-mobile-nav .rw-nav > li.menu-item-highlight > a,
.rw-mobile-nav .rw-nav > li.menu-item-promoties > a,
.rw-mobile-nav .rw-nav > li.menu-item-highlight > a .rw-mobile-nav__row-label,
.rw-mobile-nav .rw-nav > li.menu-item-promoties > a .rw-mobile-nav__row-label {
  color: var(--rw-color-brand);
  font-weight: var(--rw-font-weight-semibold);
}

.rw-mega-nav__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 210;
  min-width: 220px;
  max-height: 360px;
  overflow-y: auto;
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  box-shadow: var(--rw-shadow-md);
}

.rw-mega-nav__dropdown:not([hidden]) {
  display: block;
}

/* Full-width mega menu panels (categories, brands) */
.rw-mega-nav__dropdown--categories,
.rw-mega-nav__dropdown--brands {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 220;
  min-width: unset;
  max-height: none;
  overflow: visible;
  padding: 0;
  border: none;
  border-top: 1px solid var(--rw-color-border-light);
  border-radius: 0;
  box-shadow: var(--rw-shadow-lg);
}

.rw-mega-nav__dropdown--brands {
  max-height: min(70vh, 640px);
  overflow-y: auto;
}

.rw-mega-menu {
  padding-block: var(--rw-space-8);
}

.rw-mega-menu__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--rw-space-8) var(--rw-space-10);
  align-items: start;
}

.rw-mega-menu__grid.has-promo {
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(220px, 280px);
}

.rw-mega-menu__col {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-8);
  min-width: 0;
}

.rw-mega-menu__group {
  min-width: 0;
}

.rw-mega-menu__heading {
  margin: 0 0 var(--rw-space-3);
  padding-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--rw-color-border-light);
}

.rw-mega-menu__heading a {
  color: var(--rw-color-navy);
  text-decoration: none;
  transition: color var(--rw-transition);
}

.rw-mega-menu__heading a:hover {
  color: var(--rw-color-brand);
  text-decoration: none;
}

.rw-mega-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-mega-menu__list li + li {
  margin-top: var(--rw-space-2);
}

.rw-mega-menu__list a {
  display: block;
  padding: 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-normal);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text);
  text-decoration: none;
  transition: color var(--rw-transition);
}

.rw-mega-menu__list a:hover {
  color: var(--rw-color-brand);
  background: transparent;
  text-decoration: none;
}

.rw-mega-menu__list--columns {
  column-count: 4;
  column-gap: var(--rw-space-10);
}

.rw-mega-menu__list--columns li,
.rw-mega-menu__list--columns li + li {
  break-inside: avoid;
  margin-top: 0;
  padding-block: 2px;
}

.rw-mega-menu__promo {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-self: stretch;
  min-height: 280px;
  padding: var(--rw-space-6);
  background: linear-gradient(180deg, var(--rw-color-navy) 0%, var(--rw-color-navy-dark) 100%);
  border-radius: var(--rw-radius-md);
}

.rw-mega-menu__promo-label {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rw-color-brand-light);
}

.rw-mega-menu__promo-title {
  margin: 0 0 var(--rw-space-3);
  font-size: var(--rw-font-size-xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-text-inverse);
}

.rw-mega-menu__promo-text {
  margin: 0 0 var(--rw-space-6);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: rgba(255, 255, 255, 0.85);
}

.rw-mega-menu__promo-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  align-self: flex-start;
  padding: var(--rw-space-3) var(--rw-space-5);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-brand);
  background: var(--rw-color-bg);
  border-radius: var(--rw-radius-sm);
  text-decoration: none;
  transition: background-color var(--rw-transition), color var(--rw-transition);
}

.rw-mega-menu__promo-btn:hover {
  color: var(--rw-color-brand-hover);
  background: var(--rw-color-bg-alt);
  text-decoration: none;
}

.rw-mega-menu__promo-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

@media (max-width: 1279px) {
  .rw-mega-menu__grid,
  .rw-mega-menu__grid.has-promo {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .rw-mega-menu__promo {
    grid-column: 1/-1;
    min-height: 200px;
  }
  .rw-mega-menu__list--columns {
    column-count: 3;
  }
}
/* Language switcher */
.rw-lang-dropdown {
  position: relative;
}

.rw-lang-dropdown > summary {
  display: flex;
  align-items: center;
  gap: var(--rw-space-1);
  padding: var(--rw-space-2) var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  list-style: none;
  cursor: pointer;
}

.rw-lang-dropdown > summary::-webkit-details-marker {
  display: none;
}

.rw-lang-dropdown > summary::marker {
  content: "";
}

.rw-lang-dropdown__menu {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 210;
  min-width: 120px;
  margin: 0;
  padding: var(--rw-space-2) 0;
  list-style: none;
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border);
  box-shadow: var(--rw-shadow-md);
}

.rw-lang-dropdown__menu a {
  display: block;
  padding: var(--rw-space-2) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text);
  text-decoration: none;
}

.rw-lang-dropdown__menu a:hover,
.rw-lang-dropdown__menu a.is-active {
  background: var(--rw-color-bg-alt);
}

.rw-lang-dropdown__menu a.is-unavailable,
.rw-lang-dropdown__menu .is-unavailable,
.rw-lang-pills__link.is-unavailable {
  opacity: 0.45;
  cursor: not-allowed;
  text-decoration: none;
}

/* VAT toggle */
.rw-vat-toggle-wrap {
  display: flex;
  align-items: center;
  gap: var(--rw-space-2);
  margin-left: var(--rw-space-2);
}

.rw-vat-toggle__label {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text);
}

.rw-vat-toggle--switch {
  display: inline-flex;
  text-decoration: none;
}

.rw-vat-toggle--switch:hover {
  text-decoration: none;
}

.rw-vat-toggle__track {
  display: block;
  position: relative;
  width: 44px;
  height: 24px;
  background: var(--rw-color-toggle-track);
  border-radius: var(--rw-radius-full);
  transition: background-color var(--rw-transition);
}

.rw-vat-toggle--switch.is-incl .rw-vat-toggle__track {
  background: var(--rw-color-brand);
}

.rw-vat-toggle__knob {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  background: var(--rw-color-bg);
  border-radius: var(--rw-radius-full);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  transition: transform var(--rw-transition);
}

.rw-vat-toggle--switch.is-incl .rw-vat-toggle__knob {
  transform: translateX(20px);
}

.rw-vat-toggle:not(.rw-vat-toggle--switch) {
  display: flex;
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-sm);
  overflow: hidden;
}

.rw-vat-toggle__btn {
  padding: var(--rw-space-1) var(--rw-space-3);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text-muted);
  text-decoration: none;
  white-space: nowrap;
}

.rw-vat-toggle__btn.is-active {
  background: var(--rw-color-navy);
  color: var(--rw-color-text-inverse);
}

/* Mobile nav */
.rw-mobile-nav {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: var(--rw-header-offset, var(--rw-header-height, 112px));
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 199;
  background: var(--rw-color-bg);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, -16px, 0);
  transform-origin: top center;
  clip-path: inset(0 0 16% 0);
  transition: opacity 0.26s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), clip-path 0.4s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.4s;
}

.rw-mobile-nav.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
  clip-path: inset(0);
}

.rw-mobile-nav[hidden] {
  display: none !important;
}

.rw-mobile-nav:not(.is-open),
.rw-mobile-nav:not(.is-open) * {
  pointer-events: none !important;
}

.rw-mobile-nav:not(.is-open) .rw-mobile-nav__panel {
  visibility: hidden !important;
}

.rw-mobile-nav__panels {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.rw-mobile-nav__panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: var(--rw-color-bg);
  transform: translateX(100%);
  visibility: hidden;
  pointer-events: none;
  transition: transform 0.22s ease, visibility 0.22s ease;
}

.rw-mobile-nav__panel.is-active {
  transform: translateX(0);
}

.rw-mobile-nav.is-open .rw-mobile-nav__panel.is-active {
  visibility: visible;
  pointer-events: auto;
}

.rw-mobile-nav__panel[data-panel=root] {
  transform: translateX(-24%);
}

.rw-mobile-nav__panel[data-panel=root].is-active {
  transform: translateX(0);
}

body.rw-nav-open .rw-header-usp,
body.rw-nav-open .rw-header-main {
  position: relative;
  z-index: 201;
}

.rw-mobile-nav__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.rw-mobile-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-mobile-nav__row,
.rw-mobile-nav__pages .rw-nav a,
.rw-mobile-nav__pages .rw-mega-nav__pages a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 52px;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 0;
  border-bottom: 1px solid var(--rw-color-border-light);
  background: none;
  color: var(--rw-color-navy);
  font: inherit;
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-medium);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.rw-mobile-nav__row:hover,
.rw-mobile-nav__pages .rw-nav a:hover,
.rw-mobile-nav__pages .rw-mega-nav__pages a:hover {
  color: var(--rw-color-brand);
  text-decoration: none;
  background: var(--rw-color-bg-alt);
}

.rw-mobile-nav__row-label {
  min-width: 0;
}

.rw-mobile-nav__row-icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--rw-color-text-muted);
}

.rw-mobile-nav__row--all {
  font-weight: var(--rw-font-weight-semibold);
}

.rw-mobile-nav__row--back {
  justify-content: flex-start;
  gap: var(--rw-space-2);
  font-weight: var(--rw-font-weight-semibold);
}

.rw-mobile-nav__row--back .rw-mobile-nav__row-icon {
  color: var(--rw-color-navy);
}

.rw-mobile-nav__pages .rw-mega-nav__pages,
.rw-mobile-nav__pages .rw-nav {
  display: block;
  flex-wrap: nowrap;
}

.rw-mobile-nav__pages .rw-mega-nav__pages > li > a,
.rw-mobile-nav__pages .rw-nav > li > a {
  padding: var(--rw-space-3) var(--rw-space-4);
}

.rw-mobile-nav__utilities {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--rw-space-3);
  flex-shrink: 0;
  padding: var(--rw-space-4);
  border-top: 1px solid var(--rw-color-border-light);
  background: var(--rw-color-bg);
}

.rw-mobile-nav__account {
  display: flex;
  align-items: center;
  gap: var(--rw-space-3);
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-navy);
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.rw-mobile-nav__account:hover,
.rw-mobile-nav__account:focus-visible {
  background: var(--rw-color-bg);
  border-color: var(--rw-color-border);
  box-shadow: var(--rw-shadow-sm);
  color: var(--rw-color-navy);
  text-decoration: none;
}

.rw-mobile-nav__account-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: var(--rw-radius-full);
  background: var(--rw-color-navy);
  color: var(--rw-color-text-inverse);
}

.rw-mobile-nav__account-avatar svg {
  width: 20px;
  height: 20px;
}

.rw-mobile-nav__account-avatar--initials {
  font-size: 0.8125rem;
  font-weight: var(--rw-font-weight-semibold);
  letter-spacing: 0.02em;
  line-height: 1;
}

.rw-mobile-nav__account-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.rw-mobile-nav__account-name {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rw-mobile-nav__account-meta {
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text-muted);
  line-height: 1.3;
}

.rw-mobile-nav__account-chevron {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--rw-color-text-muted);
  transition: color 0.2s ease, transform 0.2s ease;
}

.rw-mobile-nav__account:hover .rw-mobile-nav__account-chevron,
.rw-mobile-nav__account:focus-visible .rw-mobile-nav__account-chevron {
  color: var(--rw-color-brand);
  transform: translateX(2px);
}

.rw-lang-dropdown--mobile {
  width: 100%;
}

.rw-lang-dropdown--mobile > summary {
  display: flex;
  align-items: center;
  gap: var(--rw-space-3);
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-navy);
  font-size: inherit;
  font-weight: inherit;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.rw-lang-dropdown--mobile > summary:hover,
.rw-lang-dropdown--mobile[open] > summary {
  background: var(--rw-color-bg);
  border-color: var(--rw-color-border);
  box-shadow: var(--rw-shadow-sm);
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: var(--rw-radius-full);
  background: var(--rw-color-navy);
  color: var(--rw-color-text-inverse);
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__avatar svg {
  width: 20px;
  height: 20px;
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__name {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1.3;
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__meta {
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text-muted);
  line-height: 1.3;
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__chevron {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--rw-color-text-muted);
  transition: color 0.2s ease, transform 0.2s ease;
}

.rw-lang-dropdown--mobile > summary:hover .rw-lang-dropdown__chevron,
.rw-lang-dropdown--mobile[open] .rw-lang-dropdown__chevron {
  color: var(--rw-color-brand);
}

.rw-lang-dropdown--mobile[open] .rw-lang-dropdown__chevron {
  transform: rotate(180deg);
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__menu {
  position: static;
  width: 100%;
  min-width: 0;
  margin-top: var(--rw-space-2);
  padding: var(--rw-space-1);
  border-radius: var(--rw-radius-md);
  box-shadow: none;
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__option {
  display: flex;
  align-items: center;
  gap: var(--rw-space-2);
  min-height: 44px;
  padding: var(--rw-space-2) var(--rw-space-3);
  border-radius: calc(var(--rw-radius-md) - 2px);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-navy);
  text-decoration: none;
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__option:hover {
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-navy);
  text-decoration: none;
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__option.is-active {
  background: var(--rw-color-primary-light);
  color: var(--rw-color-navy);
  font-weight: var(--rw-font-weight-semibold);
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__option-name {
  flex: 1;
  min-width: 0;
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__option-code {
  flex-shrink: 0;
  padding: 2px 6px;
  border-radius: var(--rw-radius-sm);
  background: var(--rw-color-bg);
  font-size: 0.6875rem;
  font-weight: var(--rw-font-weight-semibold);
  letter-spacing: 0.04em;
  color: var(--rw-color-text-muted);
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__option.is-active .rw-lang-dropdown__option-code {
  background: var(--rw-color-bg);
  color: var(--rw-color-navy);
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__option-check {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--rw-color-brand);
}

.rw-lang-dropdown--mobile .rw-lang-dropdown__option-check svg {
  width: 16px;
  height: 16px;
}

.rw-mobile-nav__utilities .rw-vat-toggle-wrap {
  margin-left: 0;
}

.rw-mobile-nav__utilities .rw-vat-toggle:not(.rw-vat-toggle--switch) {
  width: 100%;
}

.rw-mobile-nav__utilities .rw-vat-toggle__btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
}

@keyframes rw-mobile-nav-content-in {
  from {
    opacity: 0;
    transform: translate3d(0, 12px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.rw-mobile-nav.is-entering .rw-mobile-nav__panel[data-panel=root] .rw-mobile-nav__body,
.rw-mobile-nav.is-entering .rw-mobile-nav__panel[data-panel=root] .rw-mobile-nav__utilities {
  animation: rw-mobile-nav-content-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.rw-mobile-nav.is-entering .rw-mobile-nav__panel[data-panel=root] .rw-mobile-nav__utilities {
  animation-delay: 70ms;
}

@media (min-width: 1024px) {
  .rw-mobile-nav {
    display: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rw-mobile-nav,
  .rw-mobile-nav.is-open {
    transform: none;
    clip-path: none;
    transition: opacity 0.15s ease, visibility 0.15s ease;
  }
  .rw-mobile-nav.is-entering .rw-mobile-nav__panel[data-panel=root] .rw-mobile-nav__body,
  .rw-mobile-nav.is-entering .rw-mobile-nav__panel[data-panel=root] .rw-mobile-nav__utilities {
    animation: none;
  }
  .rw-mobile-nav__account-chevron,
  .rw-lang-dropdown--mobile .rw-lang-dropdown__chevron {
    transition: none;
  }
  .rw-lang-dropdown--mobile[open] .rw-lang-dropdown__chevron {
    transform: none;
  }
}
body.rw-nav-open {
  overflow: hidden;
}

.rw-header__logo {
  display: flex;
  align-items: center;
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-text);
  text-decoration: none;
}

.rw-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-nav a {
  display: block;
  padding: var(--rw-space-3) 0;
  color: var(--rw-color-text);
  text-decoration: none;
}

/**
 * Site footer — WCD layered structure
 */
.rw-footer {
  color: var(--rw-color-text-inverse);
}

.rw-footer a {
  text-decoration: none;
}

/* Band A: Newsletter */
.rw-footer-newsletter {
  background: var(--rw-color-navy-mid);
  padding: var(--rw-space-10) 0;
}

@media (max-width: 1023px) {
  .rw-footer-newsletter {
    padding: var(--rw-space-8) 0;
  }
  .rw-footer-newsletter__inner {
    gap: var(--rw-space-5);
  }
  .rw-footer-newsletter__headline {
    font-size: 1.25rem;
  }
}
.rw-footer-newsletter__inner {
  display: grid;
  gap: var(--rw-space-8);
}

@media (min-width: 1024px) {
  .rw-footer-newsletter__inner {
    grid-template-columns: 1fr 1.1fr;
    align-items: start;
  }
}
.rw-footer-newsletter__kicker {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rw-color-brand-light);
}

.rw-footer-newsletter__headline {
  margin: 0;
  font-size: clamp(1.25rem, 2.5vw, var(--rw-font-size-2xl));
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-text-inverse);
}

.rw-footer-newsletter__form-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-3);
}

.rw-lang-pills {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--rw-space-2);
  justify-content: flex-start;
  margin: 0 0 var(--rw-space-1);
  padding: 0;
  background: none;
}

.rw-lang-pills__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  padding: var(--rw-space-2) var(--rw-space-4);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1;
  color: var(--rw-color-text-inverse);
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: var(--rw-radius-sm);
  background: transparent;
  transition: background-color var(--rw-transition), border-color var(--rw-transition), color var(--rw-transition);
}

.rw-lang-pills__link:hover {
  color: var(--rw-color-text-inverse);
  text-decoration: none;
  border-color: rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.08);
}

.rw-lang-pills__link.is-active {
  color: var(--rw-color-text-inverse);
  background: var(--rw-color-brand-light);
  border-color: var(--rw-color-brand-light);
}

.rw-lang-pills__link.is-active:hover {
  background: var(--rw-color-brand-light-hover);
  border-color: var(--rw-color-brand-light-hover);
}

.rw-footer-newsletter .rw-newsletter-form {
  /* GF orbital: email + submit are sibling fields inside .gform_fields (12-col grid). */
}
.rw-footer-newsletter .rw-newsletter-form .gform_wrapper,
.rw-footer-newsletter .rw-newsletter-form .gform_wrapper form,
.rw-footer-newsletter .rw-newsletter-form .gform-body,
.rw-footer-newsletter .rw-newsletter-form .gform_body,
.rw-footer-newsletter .rw-newsletter-form .gform_fields,
.rw-footer-newsletter .rw-newsletter-form .gfield,
.rw-footer-newsletter .rw-newsletter-form .ginput_container {
  margin: 0;
  padding: 0;
  border: none;
  list-style: none;
  box-shadow: none;
}
.rw-footer-newsletter .rw-newsletter-form .gform_wrapper.gravity-theme,
.rw-footer-newsletter .rw-newsletter-form .gform_wrapper {
  margin: 0 !important;
  max-width: none;
}
.rw-footer-newsletter .rw-newsletter-form .gform_heading,
.rw-footer-newsletter .rw-newsletter-form .gform_required_legend,
.rw-footer-newsletter .rw-newsletter-form .gfield_description,
.rw-footer-newsletter .rw-newsletter-form .gform_validation_container {
  display: none !important;
}
.rw-footer-newsletter .rw-newsletter-form .gfield_label,
.rw-footer-newsletter .rw-newsletter-form .gform-field-label,
.rw-footer-newsletter .rw-newsletter-form .gfield_required,
.rw-footer-newsletter .rw-newsletter-form .hidden_label .gfield_label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.rw-footer-newsletter .rw-newsletter-form form {
  margin: 0;
  padding: 0;
  background: transparent;
}
.rw-footer-newsletter .rw-newsletter-form .gform_wrapper.gravity-theme .gform_fields,
.rw-footer-newsletter .rw-newsletter-form .gform_fields {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  grid-column-gap: 0 !important;
  grid-row-gap: 0 !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  width: 100%;
  border-radius: var(--rw-radius-md);
  overflow: hidden;
  background: var(--rw-color-bg);
}
.rw-footer-newsletter .rw-newsletter-form .gfield.gfield--width-half,
.rw-footer-newsletter .rw-newsletter-form .gfield--type-email,
.rw-footer-newsletter .rw-newsletter-form .gfield--input-type-email,
.rw-footer-newsletter .rw-newsletter-form .gfield--type-submit {
  grid-column: auto !important;
  width: auto !important;
  max-width: none !important;
}
.rw-footer-newsletter .rw-newsletter-form .gfield--type-email,
.rw-footer-newsletter .rw-newsletter-form .gfield--input-type-email {
  flex: 1 1 auto;
  min-width: 0;
}
.rw-footer-newsletter .rw-newsletter-form .gfield--type-submit,
.rw-footer-newsletter .rw-newsletter-form #field_submit_1 {
  display: flex !important;
  flex: 0 0 auto;
  align-items: stretch !important;
  align-self: stretch !important;
}
.rw-footer-newsletter .rw-newsletter-form .ginput_container {
  display: block;
  height: 100%;
}
.rw-footer-newsletter .rw-newsletter-form .gform_wrapper.gravity-theme .gfield input,
.rw-footer-newsletter .rw-newsletter-form .gform_wrapper.gravity-theme .gfield input.large,
.rw-footer-newsletter .rw-newsletter-form input[type=email],
.rw-footer-newsletter .rw-newsletter-form input[type=text],
.rw-footer-newsletter .rw-newsletter-form .ginput_container input {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  min-height: 3rem;
  min-width: 0;
  padding: var(--rw-space-3) var(--rw-space-4) !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: inherit;
  font-size: var(--rw-font-size-base) !important;
  line-height: 1.4;
  color: var(--rw-color-text);
}
.rw-footer-newsletter .rw-newsletter-form .gform_wrapper.gravity-theme .gfield input:focus,
.rw-footer-newsletter .rw-newsletter-form input[type=email]:focus,
.rw-footer-newsletter .rw-newsletter-form input[type=text]:focus,
.rw-footer-newsletter .rw-newsletter-form .ginput_container input:focus {
  outline: none !important;
  box-shadow: none !important;
}
.rw-footer-newsletter .rw-newsletter-form .gform_footer,
.rw-footer-newsletter .rw-newsletter-form .gform-footer,
.rw-footer-newsletter .rw-newsletter-form .gform_page_footer {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  min-height: 0;
}
.rw-footer-newsletter .rw-newsletter-form .gform_wrapper.gravity-theme .gfield--type-submit button,
.rw-footer-newsletter .rw-newsletter-form .gform_wrapper.gravity-theme .gform_footer button,
.rw-footer-newsletter .rw-newsletter-form .rw-newsletter-form__submit,
.rw-footer-newsletter .rw-newsletter-form .gform_button,
.rw-footer-newsletter .rw-newsletter-form .gfield--type-submit .gform_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  align-self: stretch !important;
  gap: var(--rw-space-2);
  width: auto !important;
  min-height: 3rem;
  height: 100%;
  margin: 0 !important;
  padding: var(--rw-space-3) var(--rw-space-5) !important;
  font-family: inherit;
  font-size: var(--rw-font-size-sm) !important;
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none;
  color: var(--rw-color-text-inverse) !important;
  background: var(--rw-color-brand) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color var(--rw-transition);
}
.rw-footer-newsletter .rw-newsletter-form .gform_wrapper.gravity-theme .gfield--type-submit button:hover,
.rw-footer-newsletter .rw-newsletter-form .rw-newsletter-form__submit:hover,
.rw-footer-newsletter .rw-newsletter-form .gform_button:hover,
.rw-footer-newsletter .rw-newsletter-form .gfield--type-submit .gform_button:hover {
  background: var(--rw-color-brand-hover) !important;
  color: var(--rw-color-text-inverse) !important;
}
.rw-footer-newsletter .rw-newsletter-form .gform_validation_errors,
.rw-footer-newsletter .rw-newsletter-form .validation_error,
.rw-footer-newsletter .rw-newsletter-form .gfield_validation_message,
.rw-footer-newsletter .rw-newsletter-form .validation_message {
  margin: var(--rw-space-2) 0 0;
  padding: 0;
  border: none;
  background: none;
  font-size: var(--rw-font-size-sm);
  color: #f5a5ad;
}
.rw-footer-newsletter .rw-newsletter-form .gform_confirmation_message {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  color: #8fd9a8;
}

.rw-footer-newsletter__terms {
  margin: 0;
  font-size: var(--rw-font-size-xs);
  color: rgba(255, 255, 255, 0.7);
}

.rw-footer-newsletter__terms a {
  color: var(--rw-color-brand-light);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.rw-footer-newsletter__terms a:hover {
  color: var(--rw-color-brand-light-hover);
}

/* Band B: Columns */
.rw-footer-columns-wrap {
  background: var(--rw-color-navy);
  padding: var(--rw-space-12) 0 var(--rw-space-10);
}

.rw-footer-accordion {
  margin: 0;
}

.rw-footer-accordion > summary {
  list-style: none;
  cursor: pointer;
}

.rw-footer-accordion > summary::-webkit-details-marker {
  display: none;
}

.rw-footer-accordion > summary::marker {
  content: "";
}

@media (max-width: 1023px) {
  .rw-footer-columns-wrap {
    padding: var(--rw-space-8) 0;
  }
  .rw-footer-columns-layout {
    gap: var(--rw-space-6);
  }
  .rw-footer__logo img,
  .rw-footer__logo-img {
    max-height: 48px;
  }
  .rw-footer-columns {
    gap: 0;
    grid-template-columns: 1fr;
  }
  .rw-footer-columns__col + .rw-footer-columns__col {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
  .rw-footer-accordion > summary.rw-footer__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: var(--rw-space-4) 0;
  }
  .rw-footer-accordion > summary.rw-footer__title::after {
    content: "";
    width: 8px;
    height: 8px;
    margin-left: var(--rw-space-3);
    border-right: 2px solid rgba(255, 255, 255, 0.7);
    border-bottom: 2px solid rgba(255, 255, 255, 0.7);
    transform: rotate(45deg);
    transition: transform var(--rw-transition);
  }
  .rw-footer-accordion[open] > summary.rw-footer__title::after {
    transform: rotate(-135deg);
  }
  .rw-footer-accordion__body {
    padding-bottom: var(--rw-space-4);
  }
  .rw-footer-trust-wrap,
  .rw-footer-legal-wrap {
    padding-top: var(--rw-space-4);
    padding-bottom: var(--rw-space-5);
  }
  .rw-footer-trust {
    gap: var(--rw-space-4);
  }
}
@media (min-width: 1024px) {
  .rw-footer-accordion > summary {
    pointer-events: none;
    cursor: default;
  }
  .rw-footer-accordion:not([open]) .rw-footer-accordion__body {
    display: block;
  }
}
.rw-footer-columns-layout {
  display: grid;
  gap: var(--rw-space-8);
}

.rw-footer-columns__brand {
  display: flex;
  align-items: flex-start;
}

.rw-footer__logo img,
.rw-footer__logo-img {
  max-height: 72px;
  width: auto;
}

.rw-footer-columns {
  display: grid;
  gap: var(--rw-space-8);
  min-width: 0;
}

@media (min-width: 768px) {
  .rw-footer-columns {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .rw-footer-columns-layout {
    grid-template-columns: minmax(160px, 220px) 1fr;
    align-items: start;
    gap: var(--rw-space-10) var(--rw-space-12);
  }
  .rw-footer-columns {
    grid-template-columns: repeat(5, 1fr);
  }
  .rw-footer-columns__col--brands {
    grid-column: span 2;
  }
  .rw-footer-columns__col--brands .rw-footer-accordion {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: var(--rw-space-8);
    align-content: start;
  }
  .rw-footer-columns__col--brands .rw-footer__title {
    grid-column: 1;
  }
  .rw-footer-columns__col--brands .rw-footer-accordion__body {
    grid-column: 1/-1;
  }
  .rw-footer-columns__col--brands .rw-footer__menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--rw-space-8);
  }
  .rw-footer-columns__col--brands .rw-footer__cta-wrap {
    grid-column: 1;
  }
}
.rw-footer__title {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 var(--rw-space-4);
  color: var(--rw-color-text-inverse);
}

.rw-footer__menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-footer__menu li {
  margin-bottom: var(--rw-space-2);
}

.rw-footer__menu a,
.rw-footer__menu em {
  font-size: var(--rw-font-size-sm);
  color: rgba(255, 255, 255, 0.75);
}

.rw-footer__menu a:hover {
  color: var(--rw-color-text-inverse);
  text-decoration: underline;
}

.rw-footer__menu .menu-item-highlight > a,
.rw-footer__cta {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-brand-light);
}

.rw-footer__menu .menu-item-highlight > a:hover,
.rw-footer__cta:hover {
  color: var(--rw-color-text-inverse);
  text-decoration: underline;
}

.rw-footer__menu em {
  font-style: normal;
}

.rw-footer__cta-wrap {
  margin: var(--rw-space-4) 0 0;
}

/* Band C: Trust */
.rw-footer-trust-wrap {
  background: var(--rw-color-navy-dark);
  padding: var(--rw-space-5) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.rw-footer-trust {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--rw-space-5);
}

@media (min-width: 1024px) {
  .rw-footer-trust {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--rw-space-8) var(--rw-space-10);
  }
}
.rw-footer-trust__block {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-3);
  min-width: 0;
}

@media (min-width: 1024px) {
  .rw-footer-trust__block {
    flex-wrap: nowrap;
  }
}
.rw-footer-trust__title {
  flex-shrink: 0;
  align-self: center;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1;
  margin: 0;
  white-space: nowrap;
  color: var(--rw-color-text-inverse);
}

.rw-footer-trust__icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  min-height: 32px;
  gap: var(--rw-space-2);
  min-width: 0;
}

@media (min-width: 1024px) {
  .rw-footer-trust__icons {
    flex-wrap: nowrap;
  }
}
.rw-footer-trust__icons img {
  display: block;
  flex-shrink: 0;
  height: 26px;
  width: auto;
  max-height: 26px;
  max-width: 56px;
  object-fit: contain;
  object-position: center;
}

.rw-footer-trust__block--payment .rw-footer-trust__icons {
  gap: var(--rw-space-2);
}

.rw-footer-trust__block--payment .rw-footer-trust__icons img {
  height: 26px;
  max-height: 26px;
  max-width: 44px;
}

.rw-footer-trust__block--shipping .rw-footer-trust__icons img {
  max-width: 64px;
}

.rw-footer-trust__placeholder {
  font-size: var(--rw-font-size-xs);
  color: rgba(255, 255, 255, 0.5);
  line-height: var(--rw-line-height-relaxed);
}

.rw-footer-trust__lang {
  flex-shrink: 0;
}

@media (min-width: 1024px) {
  .rw-footer-trust__lang {
    margin-left: auto;
  }
}
.rw-footer-trust__block--social {
  align-items: center;
}

.rw-footer-trust .rw-footer-social--icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-self: center;
  min-height: 32px;
  gap: var(--rw-space-2);
}

@media (min-width: 1024px) {
  .rw-footer-trust .rw-footer-social--icons {
    flex-wrap: nowrap;
  }
}
.rw-footer-trust .rw-footer-social__link {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--rw-color-text-inverse);
  background: rgba(255, 255, 255, 0.1);
  border-radius: var(--rw-radius-sm);
  transition: background-color var(--rw-transition), color var(--rw-transition);
}

.rw-footer-trust .rw-footer-social__link:hover {
  background: var(--rw-color-brand);
  color: var(--rw-color-text-inverse);
  text-decoration: none;
}

.rw-footer-trust .rw-footer-social__link img {
  display: block;
  height: 13px;
  width: auto;
  object-fit: contain;
}

.rw-lang-dropdown--footer-trust > summary {
  padding: 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text-inverse);
}

.rw-lang-dropdown--footer-trust .rw-lang-dropdown__flag {
  display: block;
  flex-shrink: 0;
  width: 18px;
  height: auto;
  border-radius: 1px;
}

.rw-lang-dropdown--footer-trust .rw-lang-dropdown__menu {
  top: auto;
  bottom: 100%;
  right: 0;
  margin-bottom: var(--rw-space-2);
}

/* Band D: Legal */
.rw-footer-legal-wrap {
  background: var(--rw-color-navy-dark);
  padding: var(--rw-space-6) 0 var(--rw-space-8);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.rw-footer-legal__disclaimer {
  margin: 0 0 var(--rw-space-6);
  font-size: var(--rw-font-size-xs);
  line-height: var(--rw-line-height-relaxed);
  color: rgba(255, 255, 255, 0.55);
}

.rw-footer-bottom {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
  align-items: flex-start;
}

@media (min-width: 768px) {
  .rw-footer-bottom {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
}
.rw-footer-bottom__credit,
.rw-footer-bottom__copy {
  margin: 0;
  font-size: var(--rw-font-size-xs);
  color: rgba(255, 255, 255, 0.55);
}

.rw-footer-bottom__credit a {
  color: inherit;
}

.rw-footer-bottom__credit a:hover {
  color: var(--rw-color-text-inverse);
}

.rw-footer-bottom__legal .rw-footer__menu {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-4);
}

.rw-footer-bottom__legal .rw-footer__menu li {
  margin: 0;
}

.rw-footer-bottom__legal .rw-footer__menu a {
  font-size: var(--rw-font-size-xs);
  color: rgba(255, 255, 255, 0.65);
}

.rw-footer-bottom__legal .rw-footer__menu a:hover {
  color: var(--rw-color-text-inverse);
}

/**
 * Homepage — hero slider
 */
.rw-site-main--home {
  padding: 0;
}

.rw-slider {
  position: relative;
  overflow: hidden;
}

.rw-slider--light {
  color: var(--rw-color-text-inverse);
}

.rw-slider--dark {
  color: var(--rw-color-primary);
}

.rw-slider__viewport {
  position: relative;
  width: 100%;
  /* 85dvh geeft laptops genoeg hoogte; max-height houdt grote monitors in toom */
  height: calc(85dvh - var(--rw-header-height, 72px));
  min-height: 360px;
  max-height: 920px;
}
@media (min-width: 768px) {
  .rw-slider__viewport {
    min-height: 480px;
  }
}

.rw-slider__track {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  height: 100%;
  min-height: inherit;
}

.rw-slider__slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  z-index: 0;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.rw-slider__slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.rw-slider__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: linear-gradient(135deg, var(--rw-color-primary-dark) 0%, var(--rw-color-primary) 50%, var(--rw-color-secondary) 100%);
}

.rw-slider__slide--dark .rw-slider__media {
  background: linear-gradient(135deg, #e8eef5 0%, #c5d3e3 50%, #a8bcd0 100%);
}

.rw-slider__slide--light[style*="--rw-slider-image"] .rw-slider__media {
  background-image: linear-gradient(90deg, rgba(0, 35, 70, 0.82) 0%, rgba(0, 35, 70, 0.45) 55%, rgba(0, 35, 70, 0.2) 100%), var(--rw-slider-image);
  background-size: cover;
  background-position: center;
}

.rw-slider__slide--dark[style*="--rw-slider-image"] .rw-slider__media {
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(255, 255, 255, 0.2) 100%), var(--rw-slider-image);
  background-size: cover;
  background-position: center;
}

.rw-slider__video {
  position: absolute;
  border: 0;
  pointer-events: none;
  /* Cover-style crop for 16:9 embeds */
  width: 100vw;
  height: 56.25vw;
  min-height: 100%;
  min-width: 177.78%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.rw-slider__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0, 35, 70, 0.72) 0%, rgba(0, 35, 70, 0.35) 55%, rgba(0, 35, 70, 0.12) 100%);
}

.rw-slider__slide--dark .rw-slider__media::after {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.45) 50%, rgba(255, 255, 255, 0.15) 100%);
}

.rw-slider__slide[style*="--rw-slider-image"] .rw-slider__media::after {
  display: none;
}

.rw-slider__content {
  position: relative;
  z-index: 2;
  padding: var(--rw-space-16) 0;
  max-width: 640px;
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.rw-slider__title {
  font-size: var(--rw-font-size-hero);
  margin: 0 0 var(--rw-space-4);
}

.rw-slider__slide--light .rw-slider__title {
  color: var(--rw-color-text-inverse);
}

.rw-slider__slide--dark .rw-slider__title {
  color: var(--rw-color-primary);
}

.rw-slider__text {
  font-size: var(--rw-font-size-md);
  line-height: var(--rw-line-height-relaxed);
  margin: 0 0 var(--rw-space-8);
}

.rw-slider__slide--light .rw-slider__text {
  color: rgba(255, 255, 255, 0.92);
}

.rw-slider__slide--dark .rw-slider__text {
  color: var(--rw-color-primary);
  opacity: 0.9;
}

.rw-slider__cta {
  margin-top: var(--rw-space-2);
}

.rw-slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 48px;
  height: 48px;
  border-radius: var(--rw-radius-full);
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
  transition: background var(--rw-transition), border-color var(--rw-transition), color var(--rw-transition);
}

.rw-slider--light .rw-slider__arrow {
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  color: var(--rw-color-text-inverse);
}

.rw-slider--light .rw-slider__arrow:hover,
.rw-slider--light .rw-slider__arrow:focus-visible {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.6);
  outline: none;
}

.rw-slider--dark .rw-slider__arrow {
  border: 1px solid rgba(0, 51, 98, 0.35);
  background: rgba(0, 51, 98, 0.08);
  color: var(--rw-color-primary);
}

.rw-slider--dark .rw-slider__arrow:hover,
.rw-slider--dark .rw-slider__arrow:focus-visible {
  background: rgba(0, 51, 98, 0.16);
  border-color: rgba(0, 51, 98, 0.55);
  outline: none;
}

.rw-slider__arrow--prev {
  left: var(--rw-space-4);
}

.rw-slider__arrow--next {
  right: var(--rw-space-4);
}

@media (max-width: 1023px) {
  .rw-slider__arrow {
    display: none;
  }
}
@media (min-width: 1024px) {
  .rw-slider__arrow--prev {
    left: var(--rw-space-8);
  }
  .rw-slider__arrow--next {
    right: var(--rw-space-8);
  }
}
.rw-slider__dots {
  position: absolute;
  left: 50%;
  bottom: var(--rw-space-6);
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  gap: var(--rw-space-2);
}

.rw-slider__dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: var(--rw-radius-full);
  cursor: pointer;
  transition: background var(--rw-transition), transform var(--rw-transition);
}

.rw-slider--light .rw-slider__dot {
  background: rgba(255, 255, 255, 0.4);
}

.rw-slider--light .rw-slider__dot.is-active {
  background: var(--rw-color-text-inverse);
  transform: scale(1.2);
}

.rw-slider--light .rw-slider__dot:hover,
.rw-slider--light .rw-slider__dot:focus-visible {
  background: rgba(255, 255, 255, 0.85);
  outline: none;
}

.rw-slider--dark .rw-slider__dot {
  background: rgba(0, 51, 98, 0.35);
}

.rw-slider--dark .rw-slider__dot.is-active {
  background: var(--rw-color-primary);
  transform: scale(1.2);
}

.rw-slider--dark .rw-slider__dot:hover,
.rw-slider--dark .rw-slider__dot:focus-visible {
  background: rgba(0, 51, 98, 0.75);
  outline: none;
}

/* Legacy homepage sections (reserved for later) */
.rw-hero {
  position: relative;
  background: linear-gradient(135deg, var(--rw-color-primary-dark) 0%, var(--rw-color-primary) 50%, var(--rw-color-secondary) 100%);
  color: var(--rw-color-text-inverse);
  padding: var(--rw-space-16) 0;
  overflow: hidden;
}

.rw-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  opacity: 0.5;
}

.rw-hero__inner {
  position: relative;
  display: grid;
  gap: var(--rw-space-10);
  align-items: center;
}

@media (min-width: 1024px) {
  .rw-hero__inner {
    grid-template-columns: 1fr 1fr;
  }
}
.rw-hero__content {
  max-width: 560px;
}

.rw-hero__eyebrow {
  display: inline-block;
  margin-bottom: var(--rw-space-4);
  padding: var(--rw-space-1) var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: rgba(255, 255, 255, 0.15);
  border-radius: var(--rw-radius-full);
}

.rw-hero__title {
  font-size: var(--rw-font-size-hero);
  color: var(--rw-color-text-inverse);
  margin-bottom: var(--rw-space-4);
}

.rw-hero__text {
  font-size: var(--rw-font-size-md);
  line-height: var(--rw-line-height-relaxed);
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: var(--rw-space-8);
}

.rw-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-4);
}

.rw-hero__visual {
  display: none;
}

@media (min-width: 1024px) {
  .rw-hero__visual {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .rw-hero__visual-inner {
    width: 100%;
    max-width: 480px;
    aspect-ratio: 4/3;
    background: rgba(255, 255, 255, 0.1);
    border-radius: var(--rw-radius-lg);
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--rw-font-size-sm);
    color: rgba(255, 255, 255, 0.6);
  }
}
/* Categories */
.rw-categories__grid {
  display: grid;
  gap: var(--rw-space-6);
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .rw-categories__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .rw-categories__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.rw-category-card {
  display: flex;
  flex-direction: column;
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: box-shadow var(--rw-transition), transform var(--rw-transition);
}

.rw-category-card:hover {
  box-shadow: var(--rw-shadow-md);
  transform: translateY(-4px);
  text-decoration: none;
  color: inherit;
}

.rw-category-card__image {
  aspect-ratio: 3/2;
  background: var(--rw-color-bg-alt);
  overflow: hidden;
}

.rw-category-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rw-category-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}

.rw-category-card__body {
  padding: var(--rw-space-5);
}

.rw-category-card__title {
  font-size: var(--rw-font-size-md);
  font-weight: var(--rw-font-weight-semibold);
  margin: 0 0 var(--rw-space-2);
}

.rw-category-card__count {
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  margin: 0;
}

/* USP bar */
.rw-usp-bar {
  background: var(--rw-color-primary-light);
  border-top: 1px solid var(--rw-color-border-light);
  border-bottom: 1px solid var(--rw-color-border-light);
  padding: var(--rw-space-8) 0;
}

.rw-usp-bar__grid {
  display: grid;
  gap: var(--rw-space-6);
}

@media (min-width: 768px) {
  .rw-usp-bar__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .rw-usp-bar__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.rw-usp-item {
  display: flex;
  gap: var(--rw-space-4);
  align-items: flex-start;
}

.rw-usp-item__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rw-color-bg);
  border-radius: var(--rw-radius-md);
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-xl);
  box-shadow: var(--rw-shadow-sm);
}

.rw-usp-item__title {
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  margin: 0 0 var(--rw-space-1);
}

.rw-usp-item__text {
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  margin: 0;
  line-height: var(--rw-line-height-relaxed);
}

/* Featured products section */
.rw-featured__grid {
  display: grid;
  gap: var(--rw-space-6);
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
  .rw-featured__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .rw-featured__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.rw-featured__footer {
  text-align: center;
  margin-top: var(--rw-space-10);
}

.rw-empty-state {
  text-align: center;
  padding: var(--rw-space-12);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-lg);
}

/**
 * Product card (shop loop)
 */
.rw-product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: transparent;
  border: none;
  border-radius: 0;
  overflow: visible;
  list-style: none;
  margin: 0;
}

.rw-product-card__media {
  position: relative;
  aspect-ratio: 4/5;
  background: #E9E9E9;
  border-radius: var(--rw-radius-lg);
  overflow: hidden;
}

.rw-product-card__image-link {
  display: block;
  position: relative;
  height: 100%;
  text-decoration: none;
}

.rw-product-card__media img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: var(--rw-radius-lg);
  transition: transform var(--rw-transition), opacity var(--rw-transition);
}

.rw-product-card__image-hover {
  position: absolute;
  inset: 0;
  opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
  .rw-product-card:hover .rw-product-card__image-link:not(.rw-product-card__image-link--has-hover) img:not(.rw-product-card__placeholder):not(.woocommerce-placeholder):not(.rw-product-card__image-hover) {
    transform: scale(1.02);
  }
  .rw-product-card:hover .rw-product-card__image-hover {
    opacity: 1;
  }
}
.rw-product-card__media img.rw-product-card__placeholder,
.rw-product-card__media img.woocommerce-placeholder {
  object-fit: cover;
}

.rw-product-card__badges {
  position: absolute;
  top: var(--rw-space-3);
  left: var(--rw-space-3);
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-2);
}

.rw-product-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.7rem;
  font-size: 0.6875rem;
  font-weight: var(--rw-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--rw-color-text-inverse);
  border-radius: var(--rw-radius-sm);
  line-height: 1;
}

.rw-product-card__badge--sale {
  background: var(--rw-color-brand);
}

.rw-product-card__badge--new {
  background: var(--rw-color-brand-light);
}

.rw-product-card__wishlist {
  position: absolute;
  top: var(--rw-space-3);
  right: var(--rw-space-3);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--rw-radius-full);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  color: var(--rw-color-text-muted);
  text-decoration: none;
  transition: color var(--rw-transition), border-color var(--rw-transition);
}

.rw-product-card__wishlist:hover {
  color: var(--rw-color-brand);
  border-color: var(--rw-color-brand-light);
}

.rw-product-card__wishlist svg {
  width: 18px;
  height: 18px;
}

.rw-product-card__wishlist.rw-wishlist-toggle {
  padding: 0;
  cursor: pointer;
  appearance: none;
  position: absolute;
}

.rw-product-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: var(--rw-space-1);
  padding: var(--rw-space-5) 0 0;
}

.rw-product-card__brand {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
  margin: 0;
  line-height: var(--rw-line-height-tight);
}

.rw-product-card__title {
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-normal);
  margin: 0;
  line-height: var(--rw-line-height-tight);
}

.rw-product-card__title a {
  color: var(--rw-color-navy);
  text-decoration: none;
}

.rw-product-card__title a:hover {
  color: var(--rw-color-brand);
}

.rw-product-card__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-2);
  margin-top: var(--rw-space-1);
}

.rw-product-card__stars {
  position: relative;
  display: inline-flex;
  width: 70px;
  height: 14px;
  flex: 0 0 auto;
}

.rw-product-card__stars-empty,
.rw-product-card__stars-filled {
  display: inline-flex;
  gap: 0;
  line-height: 0;
}

.rw-product-card__stars-empty {
  color: var(--rw-color-border);
}

.rw-product-card__stars-filled {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: calc(var(--rw-rating, 0) / 5 * 100%);
  color: var(--rw-color-brand);
}

.rw-product-card__stars svg {
  width: 14px;
  height: 14px;
}

.rw-product-card__reviews {
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-normal);
  color: var(--rw-color-text-muted);
  line-height: 1;
}

.rw-product-card__price {
  margin-top: var(--rw-space-2);
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
  line-height: var(--rw-line-height-tight);
}

.rw-price--unknown {
  filter: blur(8px);
  user-select: none;
  pointer-events: none;
}

.rw-product-card__price-prefix {
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-product-card__price-current {
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-product-card__price-sale {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--rw-space-2);
}

.rw-product-card__price-sale .rw-product-card__price-current {
  color: var(--rw-color-brand);
}

.rw-product-card__price-regular {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-normal);
  color: var(--rw-color-text-muted);
  text-decoration: line-through;
}

.rw-product-card__price-percent {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-normal);
  color: var(--rw-color-brand);
}

@media (max-width: 767px) {
  .rw-product-card__title {
    font-size: var(--rw-font-size-sm);
  }
  .rw-product-card__price {
    font-size: var(--rw-font-size-sm);
  }
}
/**
 * Product slider block
 */
.rw-product-slider {
  margin-bottom: var(--rw-space-12);
}

.rw-product-slider__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4) var(--rw-space-8);
  margin-bottom: var(--rw-space-6);
}

.rw-product-slider__heading {
  min-width: 0;
}

.rw-product-slider .rw-product-slider__title {
  margin: 0;
  font-size: var(--rw-font-size-2xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-product-slider .rw-product-card__title {
  margin: 0;
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-normal);
  line-height: var(--rw-line-height-tight);
}

.rw-product-slider .rw-product-card__title a {
  color: var(--rw-color-navy);
  text-decoration: none;
}

.rw-product-slider .rw-product-card__title a:hover {
  color: var(--rw-color-brand);
}

.rw-product-slider__subtitle {
  margin: var(--rw-space-2) 0 0;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
}

/* Tighter than the shared outline button, which is pill-rounded by default. */
.rw-product-slider__cta {
  flex: 0 0 auto;
  padding: var(--rw-space-3) var(--rw-space-5);
  border-width: 1px;
  border-radius: var(--rw-radius-md);
  font-size: var(--rw-font-size-sm);
}

/*
 * --rw-slider-columns-desktop is set inline by the block so the editor can
 * configure it; the media queries below override --rw-slider-columns on the
 * same element, which keeps the responsive steps winning over the inline value.
 */
.rw-product-slider__viewport {
  --rw-slider-columns: var(--rw-slider-columns-desktop, 4);
  --rw-slider-gap: var(--rw-space-6);
  --rw-slider-nav-size: 40px;
  --rw-slider-nav-offset: var(--rw-space-4);
  position: relative;
}

.woocommerce ul.products.rw-product-slider__track,
.rw-product-slider__track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: var(--rw-slider-gap);
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.rw-product-slider__track::-webkit-scrollbar {
  display: none;
}

.woocommerce ul.products.rw-product-slider__track > li.product,
.rw-product-slider__track > li {
  flex: 0 0 calc((100% - (var(--rw-slider-columns) - 1) * var(--rw-slider-gap)) / var(--rw-slider-columns));
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  float: none !important;
  scroll-snap-align: start;
}

/*
 * The card media is square, so its center sits at half the slide width.
 * A percentage margin resolves against the container width (unlike `top`),
 * which is what lines the arrows up with the middle of the product images.
 */
.rw-product-slider__nav {
  position: absolute;
  top: 0;
  margin-top: calc((100% - (var(--rw-slider-columns) - 1) * var(--rw-slider-gap)) / var(--rw-slider-columns) / 2);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--rw-slider-nav-size);
  height: var(--rw-slider-nav-size);
  padding: 0;
  transform: translateY(-50%);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-full);
  background: var(--rw-color-bg);
  box-shadow: var(--rw-shadow-md);
  color: var(--rw-color-navy);
  cursor: pointer;
  transition: background-color var(--rw-transition), border-color var(--rw-transition);
}

.rw-product-slider__nav:hover {
  background: var(--rw-color-bg-alt);
  border-color: var(--rw-color-border);
}

.rw-product-slider__nav[hidden] {
  display: none;
}

.rw-product-slider__nav svg {
  width: 18px;
  height: 18px;
}

.rw-product-slider__nav--prev {
  left: var(--rw-slider-nav-offset);
}

.rw-product-slider__nav--next {
  right: var(--rw-slider-nav-offset);
}

/*
 * The page container is 1280px wide, so from ~1400px there is room to park the
 * arrows fully outside the cards with a gap instead of on top of them.
 */
@media (min-width: 1400px) {
  .rw-product-slider__nav--prev {
    left: calc(-1 * (var(--rw-slider-nav-size) + var(--rw-slider-nav-offset)));
  }
  .rw-product-slider__nav--next {
    right: calc(-1 * (var(--rw-slider-nav-size) + var(--rw-slider-nav-offset)));
  }
}
@media (max-width: 1279px) {
  .rw-product-slider__viewport {
    --rw-slider-columns: 3;
    --rw-slider-gap: var(--rw-space-5);
  }
}
@media (max-width: 1023px) {
  .rw-product-slider__viewport {
    --rw-slider-columns: 2.2;
  }
}
@media (max-width: 639px) {
  .rw-product-slider__viewport {
    --rw-slider-columns: 1.3;
    --rw-slider-gap: var(--rw-space-4);
  }
  .rw-product-slider .rw-product-slider__title {
    font-size: var(--rw-font-size-xl);
  }
  .rw-product-slider__nav {
    display: none;
  }
}
@media (max-width: 767px) {
  .rw-product-slider .rw-product-card__title {
    font-size: var(--rw-font-size-sm);
  }
}
.entry-content > .rw-product-slider:first-child {
  margin-top: var(--rw-space-6);
}

.entry-content > .rw-product-slider:last-child {
  margin-bottom: 0;
}

/**
 * Editor: product picker in the block sidebar
 */
.rw-product-picker__results,
.rw-product-picker__selection {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-product-picker__results {
  max-height: 220px;
  overflow-y: auto;
  border: 1px solid #ddd;
  border-radius: 2px;
}

.rw-product-picker__results li .components-button {
  width: 100%;
  height: auto;
  min-height: 32px;
  justify-content: flex-start;
  text-align: left;
  white-space: normal;
}

.rw-product-picker__variations-toggle.components-button {
  min-height: 24px;
  padding-top: 0;
  padding-bottom: 4px;
  color: #50575e;
  font-size: 11px;
}

.rw-product-picker__variations {
  margin: 0;
  padding: 0 0 4px;
  list-style: none;
  background: #f6f7f7;
}

.rw-product-picker__variations .components-button {
  padding-left: 20px;
  font-size: 12px;
}

.rw-product-picker__variations-note {
  margin: 0;
  padding: 4px 12px 8px 20px;
  font-size: 11px;
  color: #757575;
}

.rw-product-picker__empty,
.rw-product-picker__count {
  margin: 8px 0;
  font-size: 12px;
  color: #757575;
}

.rw-product-picker__item {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid #ddd;
  border-radius: 2px;
  margin-bottom: 4px;
  background: #fff;
  cursor: grab;
}

.rw-product-picker__handle {
  color: #949494;
  line-height: 1;
}

.rw-product-picker__label {
  flex: 1;
  min-width: 0;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.rw-product-picker__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 2px;
}

/**
 * Recently viewed products block
 */
.rw-recently-viewed-products__placeholder-card {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-3);
  min-width: 0;
  margin: 0;
  list-style: none;
}

.rw-recently-viewed-products__placeholder-image {
  display: block;
  aspect-ratio: 1;
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-lg);
}

.rw-recently-viewed-products__placeholder-label {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text-muted);
}

/**
 * New arrival products block
 */
.rw-new-arrival-products__placeholder-card {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-3);
  min-width: 0;
  margin: 0;
  list-style: none;
}

.rw-new-arrival-products__placeholder-image {
  display: block;
  aspect-ratio: 1;
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-lg);
}

.rw-new-arrival-products__placeholder-label {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text-muted);
}

/**
 * Promotion products block
 */
.rw-promotion-products {
  margin-bottom: var(--rw-space-12);
}

.rw-promotion-products__header {
  margin-bottom: var(--rw-space-6);
}

.rw-promotion-products__title {
  margin: 0;
  font-size: var(--rw-font-size-2xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-promotion-products__description {
  margin: var(--rw-space-2) 0 0;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
}

.rw-promotion-products .rw-promotion-products__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rw-space-6);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-promotion-products__placeholder-card {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-3);
  min-width: 0;
  margin: 0;
  list-style: none;
}

.rw-promotion-products__placeholder-image {
  display: block;
  aspect-ratio: 1;
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-lg);
}

.rw-promotion-products__placeholder-label {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text-muted);
}

.rw-promotion-products__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--rw-space-5);
  margin: 0;
  padding: var(--rw-space-6) var(--rw-space-8);
  text-align: center;
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
}

.rw-promotion-products__empty-text {
  margin: 0;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
}

.rw-promotion-products__empty--editor {
  margin-top: var(--rw-space-6);
}

@media (min-width: 768px) {
  .rw-promotion-products .rw-promotion-products__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .rw-promotion-products .rw-promotion-products__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
/**
 * Recent orders block
 */
.rw-recent-orders {
  padding: var(--rw-space-6);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  box-shadow: var(--rw-shadow-sm);
}

.rw-recent-orders__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-bottom: var(--rw-space-4);
}

.rw-recent-orders__title {
  margin: 0;
  font-size: var(--rw-font-size-md);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-recent-orders__all {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  flex-shrink: 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-brand);
  text-decoration: none;
  transition: color var(--rw-transition);
}

.rw-recent-orders__all:hover,
.rw-recent-orders__all:focus-visible {
  color: var(--rw-color-brand-hover);
}

.rw-recent-orders__all-icon {
  display: inline-flex;
}

.rw-recent-orders__all-icon svg {
  width: 14px;
  height: 14px;
}

.rw-recent-orders__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-recent-orders__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "thumbs meta total" "status status action";
  align-items: center;
  gap: var(--rw-space-3) var(--rw-space-4);
  margin: 0;
  padding: var(--rw-space-4) 0;
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-recent-orders__thumbs {
  grid-area: thumbs;
  display: flex;
  align-items: center;
}

.rw-recent-orders__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  padding: 3px;
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: 6px;
  overflow: hidden;
}

.rw-recent-orders__thumb + .rw-recent-orders__thumb {
  margin-left: -10px;
}

.rw-recent-orders__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.rw-recent-orders__thumb--placeholder {
  background: var(--rw-color-bg-alt);
}

.rw-recent-orders__thumb-more {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  margin-left: -10px;
  padding: 3px;
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: 6px;
}

.rw-recent-orders__meta {
  grid-area: meta;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.rw-recent-orders__number {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-recent-orders__details {
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-recent-orders__separator {
  margin: 0 2px;
}

.rw-recent-orders__total {
  grid-area: total;
  justify-self: end;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-navy);
  white-space: nowrap;
}

.rw-recent-orders__status {
  grid-area: status;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  padding: var(--rw-space-1) var(--rw-space-3);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-medium);
  white-space: nowrap;
  border-radius: var(--rw-radius-full);
}

.rw-recent-orders__status-icon {
  display: inline-flex;
}

.rw-recent-orders__status-icon svg {
  width: 14px;
  height: 14px;
}

.rw-recent-orders__status--info {
  color: #2563eb;
  background: #eff6ff;
}

.rw-recent-orders__status--success {
  color: #166534;
  background: #f0fdf4;
}

.rw-recent-orders__status--neutral {
  color: #4b5563;
  background: #f3f4f6;
}

.rw-recent-orders__status--danger {
  color: var(--rw-color-error);
  background: #fdeaec;
}

.rw-recent-orders__action {
  grid-area: action;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-1);
  padding: 0;
  font-size: var(--rw-font-size-sm);
  font-family: inherit;
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-brand);
  text-decoration: none;
  white-space: nowrap;
  background: none;
  border: 0;
  cursor: pointer;
  transition: color var(--rw-transition);
}

.rw-recent-orders__action:hover,
.rw-recent-orders__action:focus-visible {
  color: var(--rw-color-brand-hover);
}

.rw-recent-orders__action-icon {
  display: inline-flex;
}

.rw-recent-orders__action-icon svg {
  width: 14px;
  height: 14px;
}

.rw-recent-orders__empty {
  margin: 0;
  padding: var(--rw-space-4) 0 0;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  border-top: 1px solid var(--rw-color-border-light);
}

@media (min-width: 768px) {
  .rw-recent-orders {
    padding: var(--rw-space-6) var(--rw-space-8);
  }
  .rw-recent-orders__item {
    grid-template-columns: auto minmax(0, 1fr) auto 148px 96px;
    grid-template-areas: "thumbs meta total status action";
    gap: var(--rw-space-5);
    padding: var(--rw-space-5) 0;
  }
}
/**
 * Account dashboard invoices list
 */
.rw-account-section .rw-account-invoices-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-account-invoices-list__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "icon meta total" "download download download";
  align-items: center;
  gap: var(--rw-space-3) var(--rw-space-4);
  padding: var(--rw-space-4) 0;
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-account-invoices-list__item:first-child {
  padding-top: 0;
  border-top: 0;
}

.rw-account-invoices-list__icon {
  grid-area: icon;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  padding: 3px;
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: 6px;
}
.rw-account-invoices-list__icon svg {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
}

.rw-account-invoices-list__meta {
  grid-area: meta;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.rw-account-invoices-list__ref {
  display: block;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-account-invoices-list__details {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-1);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-account-invoices-list__separator {
  margin: 0 2px;
}

.rw-account-invoices-list__status {
  color: inherit;
}

.rw-account-invoices-list__total {
  grid-area: total;
  justify-self: end;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
  white-space: nowrap;
}

.rw-account-invoices-list__download {
  grid-area: download;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--rw-color-text-muted);
  text-decoration: none;
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: 6px;
  transition: color var(--rw-transition), background-color var(--rw-transition), border-color var(--rw-transition);
}
.rw-account-invoices-list__download svg {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
}

.rw-account-invoices-list__download:hover,
.rw-account-invoices-list__download:focus-visible {
  color: var(--rw-color-brand);
  background: var(--rw-color-bg-alt);
  border-color: var(--rw-color-border);
}

@media (min-width: 768px) {
  .rw-account-invoices-list__item {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    grid-template-areas: "icon meta total download";
    gap: var(--rw-space-5);
    padding: var(--rw-space-5) 0;
  }
  .rw-account-invoices-list__download {
    justify-self: end;
  }
}
@media (max-width: 767px) {
  .rw-account-invoices-list__item {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    grid-template-areas: "icon meta total download";
  }
  .rw-account-invoices-list__download {
    justify-self: end;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rw-account-invoices-list__download {
    transition: none;
  }
}
/**
 * Shop filter sidebar
 */
.rw-shop-filters-wrap {
  width: 100%;
}

.rw-shop-filters-mobile {
  display: block;
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  overflow: hidden;
}

.rw-shop-filters-mobile__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-3);
  padding: var(--rw-space-4) var(--rw-space-5);
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.rw-shop-filters-mobile__toggle::-webkit-details-marker {
  display: none;
}
.rw-shop-filters-mobile__toggle::after {
  content: "";
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--rw-transition);
}

.rw-shop-filters-mobile[open] > .rw-shop-filters-mobile__toggle::after {
  transform: rotate(-135deg);
}

.rw-shop-filters-mobile__panel {
  padding: 0 var(--rw-space-5) var(--rw-space-5);
}

.rw-shop-filters-desktop {
  display: none;
}

@media (min-width: 1024px) {
  .rw-shop-filters-mobile {
    display: none;
  }
  .rw-shop-filters-desktop {
    display: block;
  }
}
.rw-shop-filter-section + .rw-shop-filter-section {
  margin-top: var(--rw-space-8);
  padding-top: 0;
  border-top: none;
}

.rw-shop-filter-section__details {
  border: none;
}

.rw-shop-filter-section__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-3);
  padding: 0 0 var(--rw-space-3);
  margin-bottom: var(--rw-space-4);
  border-bottom: 1px solid var(--rw-color-navy);
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.rw-shop-filter-section__summary::-webkit-details-marker {
  display: none;
}

.rw-shop-filter-section__title {
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-shop-filter-section__chevron {
  display: inline-flex;
  color: var(--rw-color-navy);
  transition: transform var(--rw-transition);
}

.rw-shop-filter-section__details[open] .rw-shop-filter-section__chevron {
  transform: rotate(180deg);
}

.rw-shop-filter-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.rw-shop-filter-list--nested {
  margin-top: 0.625rem;
  padding-left: calc(28px + var(--rw-space-1) + 20px + var(--rw-space-3));
}

.rw-shop-filter-list[hidden] {
  display: none;
}

.rw-shop-filter-item__row {
  display: flex;
  align-items: flex-start;
  gap: var(--rw-space-1);
}

.rw-shop-filter-item__expand {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-top: -3px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--rw-color-text-muted);
  cursor: pointer;
  line-height: 0;
  touch-action: manipulation;
}

.rw-shop-filter-item__expand::before {
  content: "";
  position: absolute;
  top: -8px;
  right: -2px;
  bottom: -8px;
  left: -8px;
}

.rw-shop-filter-item__expand:hover {
  color: var(--rw-color-navy);
}

.rw-shop-filter-item__expand-icon {
  display: flex;
  width: 18px;
  height: 18px;
  transform: rotate(-90deg);
  transform-origin: center;
  transition: transform var(--rw-transition);
}

.rw-shop-filter-item__expand-icon svg {
  display: block;
  width: 18px;
  height: 18px;
}

.rw-shop-filter-item__expand[aria-expanded=true] .rw-shop-filter-item__expand-icon {
  transform: rotate(0deg);
}

.rw-shop-filter-item__row .rw-shop-filter-item__link {
  flex: 1;
  min-width: 0;
}

.rw-shop-filter-item__link {
  display: grid;
  grid-template-columns: 20px 1fr auto;
  align-items: start;
  gap: var(--rw-space-3);
  padding: 0;
  color: var(--rw-color-navy);
  text-decoration: none;
  font-size: var(--rw-font-size-base);
  line-height: 1.4;
}

.rw-shop-filter-item__link:hover {
  color: var(--rw-color-brand);
}

.rw-shop-filter-item__checkbox {
  width: 20px;
  height: 20px;
  margin-top: 1px;
  border: 1.5px solid var(--rw-color-border-light);
  border-radius: 5px;
  background: var(--rw-color-bg);
  position: relative;
  flex-shrink: 0;
  transition: background-color var(--rw-transition), border-color var(--rw-transition);
}

.rw-shop-filter-item__link.is-active .rw-shop-filter-item__checkbox {
  background: var(--rw-color-brand);
  border-color: var(--rw-color-brand);
}

.rw-shop-filter-item__link.is-active .rw-shop-filter-item__checkbox::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 6px;
  width: 5px;
  height: 9px;
  border-right: 2px solid var(--rw-color-text-inverse);
  border-bottom: 2px solid var(--rw-color-text-inverse);
  transform: rotate(45deg);
}

.rw-shop-filter-item__label {
  font-weight: var(--rw-font-weight-normal);
}

.rw-shop-filter-item__count {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-normal);
  color: #94a3b8;
  white-space: nowrap;
}

.rw-shop-filter-more {
  margin-top: var(--rw-space-4);
}

.rw-shop-filter-more__toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-normal);
  color: var(--rw-color-navy);
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.rw-shop-filter-more__toggle::-webkit-details-marker {
  display: none;
}

.rw-shop-filter-more__toggle:hover {
  color: var(--rw-color-brand);
}

.rw-shop-filter-more__icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  color: inherit;
}

.rw-shop-filter-more__icon svg {
  width: 16px;
  height: 16px;
}

.rw-shop-filter-more__panel {
  padding-top: var(--rw-space-3);
}

.rw-shop-filter-more__search {
  width: 100%;
  margin-bottom: var(--rw-space-3);
  padding: var(--rw-space-2) var(--rw-space-3);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  font-family: inherit;
  font-size: var(--rw-font-size-sm);
  background: var(--rw-color-bg);
}

.rw-shop-filter-item.is-hidden {
  display: none;
}

/**
 * Theme blocks — Grid, Accordion
 */
/* Shared section header */
.rw-block {
  margin-bottom: var(--rw-space-12);
}

.rw-block__header {
  margin-bottom: var(--rw-space-8);
}

.rw-block__title {
  margin: 0 0 var(--rw-space-3);
  font-size: var(--rw-font-size-xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-text);
}

.rw-block__intro {
  margin: 0;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

/* Grid blocks */
.rw-block-grid .rw-block__title {
  font-size: var(--rw-font-size-base);
  color: var(--rw-color-brand);
}

.rw-block-grid__items {
  display: grid;
  gap: var(--rw-space-4);
}

.rw-block-grid__items--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rw-block-grid__items--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rw-block-grid__item {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* The bordered box grows so cards in a row stay equal height; the note sits below it. */
.rw-block-grid__card,
.rw-block-grid__link {
  flex: 1 1 auto;
}

.rw-block-grid__item-note {
  margin: var(--rw-space-3) 0 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-block-grid__item-note p {
  margin: 0 0 var(--rw-space-2);
}

.rw-block-grid__item-note p:last-child {
  margin-bottom: 0;
}

/* Grid van 3 — bordered cards */
.rw-block-grid--3 .rw-block-grid__card {
  padding: var(--rw-space-6);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
}

.rw-block-grid__item-title {
  margin: 0 0 var(--rw-space-3);
  font-size: var(--rw-font-size-md);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-text);
}

.rw-block-grid__item-title a {
  color: inherit;
  text-decoration: none;
}

.rw-block-grid__item-title a:hover {
  color: var(--rw-color-primary);
  text-decoration: underline;
}

.rw-block-grid__item-desc {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-block-grid__item-desc p:last-child {
  margin-bottom: 0;
}

.rw-block-grid__item-desc a,
.rw-block-grid__link-desc a,
.rw-block-grid__item-note a {
  color: var(--rw-color-brand);
  text-decoration: underline;
}

.rw-block-grid__item-desc a:hover,
.rw-block-grid__link-desc a:hover,
.rw-block-grid__item-note a:hover {
  color: var(--rw-color-primary);
}

/* Grid van 2 — clickable rows */
.rw-block-grid__link {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
  padding: var(--rw-space-5) var(--rw-space-6);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
  color: inherit;
  transition: background-color var(--rw-transition), border-color var(--rw-transition);
}

.rw-block-grid__link-row {
  min-width: 0;
}

.rw-block-grid__link-hit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  width: 100%;
  color: inherit;
  text-decoration: none;
}

a.rw-block-grid__link-hit:hover {
  color: inherit;
  text-decoration: none;
}

.rw-block-grid__link:has(a.rw-block-grid__link-hit:hover) {
  background: var(--rw-color-primary-light);
  border-color: var(--rw-color-border-light);
}

.rw-block-grid__link-title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text);
}

.rw-block-grid__link-desc {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
}

.rw-block-grid__link-desc p:last-child {
  margin-bottom: 0;
}

.rw-block-grid__link--with-icon .rw-block-grid__link-desc {
  padding-left: calc(40px + var(--rw-space-4));
}

.rw-block-grid__chevron {
  flex-shrink: 0;
  color: var(--rw-color-text-muted);
}

.rw-block-grid__chevron svg {
  display: block;
}

/* Optional item icon */
.rw-block-grid__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  color: var(--rw-color-brand);
}

.rw-block-grid__icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

.rw-block-grid__link--with-icon .rw-block-grid__link-title {
  flex: 1 1 auto;
}

.rw-block-grid__card--with-icon {
  display: flex;
  align-items: flex-start;
  gap: var(--rw-space-4);
}

.rw-block-grid__card--with-icon .rw-block-grid__card-body {
  flex: 1 1 auto;
  min-width: 0;
}

/* Accordion */
.rw-block-accordion__items {
  border-top: 1px solid var(--rw-color-border);
}

.rw-block-accordion__item {
  border-bottom: 1px solid var(--rw-color-border);
}

.rw-block-accordion__summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rw-space-4);
  padding: var(--rw-space-5) 0;
  list-style: none;
  cursor: pointer;
}

.rw-block-accordion__summary::-webkit-details-marker {
  display: none;
}

.rw-block-accordion__summary::marker {
  content: "";
}

.rw-block-accordion__summary-text {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
  min-width: 0;
}

.rw-block-accordion__title {
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text);
}

.rw-block-accordion__summary-desc {
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-block-accordion__chevron {
  flex-shrink: 0;
  margin-top: var(--rw-space-1);
  color: var(--rw-color-text-muted);
  transition: transform var(--rw-transition);
}

.rw-block-accordion__chevron svg {
  display: block;
}

.rw-block-accordion__item[open] .rw-block-accordion__chevron {
  transform: rotate(180deg);
}

.rw-block-accordion__content {
  padding: 0 0 var(--rw-space-5);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
}

.rw-block-accordion__content p:last-child {
  margin-bottom: 0;
}

/* Page content spacing */
.entry-content > .rw-block:first-child {
  margin-top: var(--rw-space-6);
}

.entry-content > .rw-block:last-child {
  margin-bottom: 0;
}

.entry-content > .wp-block-heading + .rw-block,
.entry-content > p + .rw-block {
  margin-top: var(--rw-space-10);
}

/* Editor-only helpers */
.rw-block-editor__empty,
.rw-block-editor__placeholder {
  padding: var(--rw-space-4);
  border: 1px dashed var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  color: var(--rw-color-text-muted);
}

.rw-block-editor__items {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
}

.rw-block-editor__item {
  padding: var(--rw-space-4);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}

.rw-block-editor__item-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-3);
  margin-bottom: var(--rw-space-3);
}

.rw-block-editor__item-actions {
  display: flex;
  gap: var(--rw-space-2);
}

.rw-block-editor__help {
  margin: 0 0 var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-block-grid__item-desc.block-editor-rich-text__editable:empty::before,
.rw-block-grid__link-desc.block-editor-rich-text__editable:empty::before,
.rw-block-grid__item-note.block-editor-rich-text__editable:empty::before {
  opacity: 0.65;
}

.rw-icon-picker__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(40px, 1fr));
  gap: var(--rw-space-1);
  margin-top: var(--rw-space-2);
}

.rw-icon-picker__option {
  justify-content: center;
}

.rw-icon-picker__glyph svg {
  display: block;
  width: 20px;
  height: 20px;
}

.rw-icon-picker__empty {
  margin: var(--rw-space-2) 0 0;
  color: var(--rw-color-text-muted);
}

@media (max-width: 1023px) {
  .rw-block-grid__items--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .rw-block-grid__items--3,
  .rw-block-grid__items--2 {
    grid-template-columns: 1fr;
  }
}
/**
 * Category hero block
 */
.rw-cat-hero {
  background: var(--rw-color-cat-hero-bg);
  padding: var(--rw-space-10) 0;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

@media (min-width: 768px) {
  .rw-cat-hero {
    padding: var(--rw-space-16) 0;
  }
}
.rw-cat-hero__inner {
  display: flex;
  justify-content: flex-start;
}

.rw-cat-hero__content {
  max-width: 560px;
  width: 100%;
}

.rw-cat-hero__title {
  margin: 0 0 var(--rw-space-6);
  font-size: clamp(2rem, 3.5vw, 2.5rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-cat-hero__text {
  margin-bottom: var(--rw-space-8);
}

.rw-cat-hero__text p {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-navy);
}

.rw-cat-hero__text p:last-child {
  margin-bottom: 0;
}

.rw-cat-hero__text strong {
  font-weight: var(--rw-font-weight-semibold);
}

.rw-cat-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-4);
  align-items: center;
}

.rw-cat-hero__actions .rw-block-editor__placeholder {
  flex: 1 1 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

@media (max-width: 479px) {
  .rw-cat-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .rw-cat-hero__actions .rw-btn {
    width: 100%;
  }
}
.entry-content > .rw-cat-hero:first-child {
  margin-top: 0;
}

/**
 * Ontdek per categorie block
 */
.rw-cat-discover {
  margin-bottom: var(--rw-space-12);
}

.rw-cat-discover__title {
  margin: 0 0 var(--rw-space-8);
  font-size: var(--rw-font-size-2xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-cat-discover__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-4);
}

.rw-cat-discover__card {
  min-width: 0;
}

.rw-cat-discover__link {
  display: flex;
  flex-direction: column;
  min-height: 170px;
  padding: var(--rw-space-5);
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-lg);
  color: inherit;
  text-decoration: none;
  transition: background-color var(--rw-transition);
}

.rw-cat-discover__link:not(.rw-cat-discover__link--static):hover {
  background: var(--rw-color-primary-light);
  text-decoration: none;
  color: inherit;
}

.rw-cat-discover__card-title {
  margin: 0 0 var(--rw-space-4);
  font-size: 1rem;
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-cat-discover__card-media {
  display: flex;
  flex: 1;
  align-items: end;
  justify-content: end;
  min-height: 0;
}

.rw-cat-discover__card-image {
  display: block;
  max-width: 100%;
  max-height: 180px;
  width: auto;
  height: auto;
  max-height: 70px;
  min-width: 70px;
  object-fit: contain;
}

.rw-cat-discover__card-image--placeholder {
  opacity: 0.85;
}

@media (min-width: 768px) {
  .rw-cat-discover__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--rw-space-5);
  }
}
@media (min-width: 1280px) {
  .rw-cat-discover__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--rw-space-6);
  }
  .rw-cat-discover__link {
    padding: var(--rw-space-3);
  }
  .rw-cat-discover__card-title {
    font-size: 1.1rem;
  }
}
@media (max-width: 479px) {
  .rw-cat-discover__grid {
    grid-template-columns: 1fr;
  }
}
.entry-content > .rw-cat-discover:first-child {
  margin-top: var(--rw-space-6);
}

.entry-content > .rw-cat-discover:last-child {
  margin-bottom: 0;
}

/**
 * Categoriekaarten block
 */
.rw-cat-cards {
  margin-bottom: var(--rw-space-12);
}

.rw-cat-cards__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: var(--rw-space-4);
}

.rw-cat-cards__link {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--rw-radius-lg);
  text-decoration: none;
  color: inherit;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  transition: transform var(--rw-transition), box-shadow var(--rw-transition);
}

.rw-cat-cards__link:hover,
.rw-cat-cards__link:focus-visible {
  text-decoration: none;
  color: inherit;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

.rw-cat-cards__link:focus-visible {
  outline: 2px solid var(--rw-color-navy);
  outline-offset: 3px;
}

.rw-cat-cards__media {
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--rw-color-bg-alt);
}

.rw-cat-cards__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.rw-cat-cards__image--placeholder {
  background: var(--rw-color-bg-alt);
}

.rw-cat-cards__link:hover .rw-cat-cards__image,
.rw-cat-cards__link:focus-visible .rw-cat-cards__image {
  transform: scale(1.05);
}

.rw-cat-cards__label {
  position: absolute;
  left: var(--rw-space-4);
  bottom: var(--rw-space-4);
  z-index: 1;
  max-width: calc(100% - var(--rw-space-4) * 2);
  padding: var(--rw-space-2) var(--rw-space-4);
  background: #fff;
  border-radius: var(--rw-radius-sm);
  font-size: 0.9375rem;
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

@media (min-width: 768px) {
  .rw-cat-cards__grid {
    grid-template-columns: repeat(min(2, var(--rw-cat-cards-cols, 2)), minmax(0, 1fr));
    gap: var(--rw-space-5);
  }
  .rw-cat-cards__media {
    aspect-ratio: 3/2;
  }
}
@media (min-width: 1024px) {
  .rw-cat-cards__grid {
    grid-template-columns: repeat(var(--rw-cat-cards-cols, 2), minmax(0, 1fr));
  }
  .rw-cat-cards__grid[style*="--rw-cat-cards-cols: 4"] .rw-cat-cards__media,
  .rw-cat-cards__grid[style*="--rw-cat-cards-cols: 5"] .rw-cat-cards__media {
    aspect-ratio: 1/1.05;
  }
  .rw-cat-cards__grid[style*="--rw-cat-cards-cols: 4"] .rw-cat-cards__label,
  .rw-cat-cards__grid[style*="--rw-cat-cards-cols: 5"] .rw-cat-cards__label {
    left: var(--rw-space-3);
    bottom: var(--rw-space-3);
    max-width: calc(100% - var(--rw-space-3) * 2);
    font-size: 0.875rem;
    padding: var(--rw-space-2) var(--rw-space-3);
  }
}
/**
 * Discover-all block: category tree + brands directory
 */
.rw-discover-all {
  margin-bottom: var(--rw-space-12);
}

.rw-discover-all .rw-block__title {
  font-size: var(--rw-font-size-2xl);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-discover-all__categories {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rw-space-8) var(--rw-space-10);
  margin-top: var(--rw-space-8);
}

.rw-discover-all__col {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-8);
  min-width: 0;
}

.rw-discover-all__group {
  min-width: 0;
}

.rw-discover-all__heading {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-discover-all__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-discover-all__list li + li {
  margin-top: var(--rw-space-1);
}

.rw-discover-all__link {
  position: relative;
  display: inline;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-normal);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-brand);
  text-decoration: none;
  transition: color var(--rw-transition);
}

.rw-discover-all__link--parent {
  font-size: inherit;
  font-weight: inherit;
  color: var(--rw-color-navy);
}

.rw-discover-all__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.rw-discover-all__link:hover,
.rw-discover-all__link:focus-visible {
  color: var(--rw-color-brand-hover);
  text-decoration: none;
}

.rw-discover-all__link--parent:hover,
.rw-discover-all__link--parent:focus-visible {
  color: var(--rw-color-brand);
}

.rw-discover-all__link:hover::after,
.rw-discover-all__link:focus-visible::after {
  transform: scaleX(1);
}

.rw-discover-all__link:focus-visible {
  outline: 2px solid var(--rw-color-brand);
  outline-offset: 3px;
}

.rw-discover-all__brands {
  margin-top: var(--rw-space-12);
}

.rw-discover-all__brands-title {
  margin: 0 0 var(--rw-space-6);
  font-size: var(--rw-font-size-xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-discover-all__brands-list {
  list-style: none;
  margin: 0;
  padding: 0;
  column-count: 2;
  column-gap: var(--rw-space-8);
}

.rw-discover-all__brands-list li {
  break-inside: avoid;
  margin: 0 0 var(--rw-space-2);
}

@media (min-width: 768px) {
  .rw-discover-all__categories {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .rw-discover-all__brands-list {
    column-count: 5;
  }
}
@media (min-width: 1024px) {
  .rw-discover-all__categories {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--rw-space-8) var(--rw-space-12);
  }
  .rw-discover-all__brands-list {
    column-count: 10;
    column-gap: var(--rw-space-10);
  }
}
/**
 * Categorie promobanner — 50/50 image + promo content
 */
.rw-cat-promo {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.rw-cat-promo__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 360px;
}

.rw-cat-promo--no-media .rw-cat-promo__grid {
  grid-template-columns: 1fr;
}

.rw-cat-promo__media {
  position: relative;
  min-height: 240px;
  overflow: hidden;
}

.rw-cat-promo__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rw-cat-promo__content {
  display: flex;
  align-items: center;
  background: var(--rw-color-bg-alt);
  border-left: 4px solid transparent;
}

/* Image position modifiers */
.rw-cat-promo--image-left .rw-cat-promo__media {
  order: 1;
}

.rw-cat-promo--image-left .rw-cat-promo__content {
  order: 2;
}

.rw-cat-promo--image-right .rw-cat-promo__media {
  order: 2;
}

.rw-cat-promo--image-right .rw-cat-promo__content {
  order: 1;
  border-left: none;
  border-right: 4px solid transparent;
}

.rw-cat-promo__content-inner {
  width: 100%;
  padding: var(--rw-space-10) var(--rw-space-12);
}

.rw-cat-promo__label {
  margin: 0 0 var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rw-color-brand);
}

.rw-cat-promo__label:empty {
  display: none;
}

.rw-cat-promo__title {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-2xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-cat-promo__title:empty {
  display: none;
}

.rw-cat-promo__text {
  margin: 0 0 var(--rw-space-8);
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-cat-promo__text:empty {
  display: none;
  margin-bottom: 0;
}

.rw-cat-promo__content-inner .rw-block-editor__placeholder {
  margin-top: var(--rw-space-3);
}

@media (min-width: 1024px) {
  .rw-cat-promo__content-inner {
    padding: var(--rw-space-10) var(--rw-space-16);
  }
}
@media (max-width: 767px) {
  .rw-cat-promo__grid {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .rw-cat-promo__media {
    min-height: 240px;
  }
  .rw-cat-promo--image-left .rw-cat-promo__media,
  .rw-cat-promo--image-right .rw-cat-promo__media {
    order: 1;
  }
  .rw-cat-promo--image-left .rw-cat-promo__content,
  .rw-cat-promo--image-right .rw-cat-promo__content {
    order: 2;
  }
  .rw-cat-promo__content {
    border-left: none;
    border-right: none;
    border-top: 4px solid var(--rw-color-brand);
  }
}
.entry-content > .rw-cat-promo:first-child {
  margin-top: 0;
}

/**
 * Highlight banner — uitgelichte banner met titel, tekst en knoppen
 */
.rw-highlight-banner__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-8);
  padding: var(--rw-space-6);
  background: var(--rw-color-highlight-bg);
  border-radius: var(--rw-radius-sm);
}

.rw-highlight-banner__content {
  min-width: 0;
}

.rw-highlight-banner__title {
  margin: 0;
  font-size: 22px;
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-highlight-banner__title:empty {
  display: none;
}

.rw-highlight-banner__text {
  max-width: 30rem;
  margin: var(--rw-space-2) 0 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
}

.rw-highlight-banner__text:empty {
  display: none;
}

.rw-highlight-banner__actions {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  gap: var(--rw-space-3);
  align-items: center;
}

.rw-highlight-banner__button {
  flex-shrink: 0;
  padding: 0.625rem var(--rw-space-4);
  font-size: 0.8125rem;
  border-radius: 6px;
}

@media (max-width: 767px) {
  .rw-highlight-banner__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--rw-space-6);
    padding: var(--rw-space-8) var(--rw-space-6);
  }
  .rw-highlight-banner__title {
    font-size: 30px;
  }
}
/**
 * Cashback tiers — maandelijkse cashback-schaal met tier-kaarten
 */
.rw-cashback-tiers__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-8);
}

.rw-cashback-tiers__content {
  min-width: 0;
}

.rw-cashback-tiers__title {
  margin: 0;
  font-size: 22px;
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-cashback-tiers__title:empty {
  display: none;
}

.rw-cashback-tiers__description {
  max-width: 36rem;
  margin: var(--rw-space-2) 0 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
}

.rw-cashback-tiers__description:empty {
  display: none;
}

.rw-cashback-tiers__button {
  flex-shrink: 0;
  padding: 0.625rem var(--rw-space-4);
  font-size: 0.8125rem;
  border-radius: 6px;
  gap: var(--rw-space-2);
}

.rw-cashback-tiers__button-icon {
  display: inline-flex;
  align-items: center;
}

.rw-cashback-tiers__button-icon svg {
  width: 1em;
  height: 1em;
}

.rw-cashback-tiers__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--rw-space-4);
  margin: var(--rw-space-8) 0 0;
  padding: 0;
  list-style: none;
}

.rw-cashback-tiers__tier {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--rw-space-3);
  min-height: 8.5rem;
  padding: var(--rw-space-6) var(--rw-space-4);
  text-align: center;
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
}

.rw-cashback-tiers__price,
.rw-cashback-tiers__credit {
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
}

.rw-cashback-tiers__percentage {
  font-size: var(--rw-font-size-2xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-cashback-tiers__closing {
  margin: var(--rw-space-6) 0 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
}

.rw-cashback-tiers__closing:empty {
  display: none;
}

@media (max-width: 1023px) {
  .rw-cashback-tiers__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .rw-cashback-tiers__header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--rw-space-6);
  }
  .rw-cashback-tiers__title {
    font-size: 30px;
  }
  .rw-cashback-tiers__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--rw-space-3);
  }
}
/**
 * Loyalty tiers — tier-kaarten met sterren, intro en voordelenlijst
 */
.rw-loyalty-tiers__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-8);
}

.rw-loyalty-tiers__content {
  min-width: 0;
}

.rw-loyalty-tiers__title {
  margin: 0;
  font-size: 22px;
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-loyalty-tiers__title:empty {
  display: none;
}

.rw-loyalty-tiers__description {
  max-width: 36rem;
  margin: var(--rw-space-2) 0 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
}

.rw-loyalty-tiers__description:empty {
  display: none;
}

.rw-loyalty-tiers__button {
  flex-shrink: 0;
  padding: 0.625rem var(--rw-space-4);
  font-size: 0.8125rem;
  border-radius: 6px;
  gap: var(--rw-space-2);
}

.rw-loyalty-tiers__button-icon {
  display: inline-flex;
  align-items: center;
}

.rw-loyalty-tiers__button-icon svg {
  width: 1em;
  height: 1em;
}

.rw-loyalty-tiers__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--rw-space-4);
  margin: var(--rw-space-8) 0 0;
  padding: 0;
  list-style: none;
}

.rw-loyalty-tiers__tier {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--rw-space-6);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
}

.rw-loyalty-tiers__stars {
  margin-bottom: var(--rw-space-3);
}

.rw-loyalty-tiers__stars--preview {
  font-size: 14px;
  line-height: 1;
  color: var(--rw-color-border);
  letter-spacing: 0.05em;
}

.rw-loyalty-tiers__stars .rw-star-rating__filled {
  color: var(--rw-color-navy);
}

.rw-loyalty-tiers__tier-title {
  margin: 0;
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-loyalty-tiers__tier-intro {
  margin: var(--rw-space-2) 0 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
}

.rw-loyalty-tiers__tier-desc,
.rw-loyalty-tiers__tier-desc ul {
  margin: var(--rw-space-4) 0 0;
  padding: 0 0 0 1.25rem;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
  list-style: disc;
}

.rw-loyalty-tiers__tier-desc ul {
  margin-top: 0;
}

.rw-loyalty-tiers__tier-desc li,
.rw-loyalty-tiers__tier-desc ul li {
  margin: 0;
}

.rw-loyalty-tiers__tier-desc li + li,
.rw-loyalty-tiers__tier-desc ul li + li {
  margin-top: var(--rw-space-2);
}

.rw-loyalty-tiers__tier-desc a {
  color: var(--rw-color-brand);
  text-decoration: underline;
}

.rw-loyalty-tiers__tier-desc a:hover {
  color: var(--rw-color-primary);
}

@media (max-width: 1023px) {
  .rw-loyalty-tiers__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .rw-loyalty-tiers__header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--rw-space-6);
  }
  .rw-loyalty-tiers__title {
    font-size: 30px;
  }
  .rw-loyalty-tiers__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--rw-space-3);
  }
}
/**
 * CTA Panel — verticaal paneel met titel, content en knoppen
 */
.rw-cta-panel__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--rw-space-6);
  padding: var(--rw-space-8) var(--rw-space-10);
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-sm);
}

.rw-cta-panel__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
  text-transform: uppercase;
}

.rw-cta-panel__title:empty {
  display: none;
}

.rw-cta-panel__content {
  width: 100%;
  max-width: 42rem;
}

.rw-cta-panel__content p {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-cta-panel__content p:first-child {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
}

.rw-cta-panel__content p:last-child {
  margin-bottom: 0;
}

.rw-cta-panel__content strong {
  font-weight: var(--rw-font-weight-semibold);
}

.rw-cta-panel__content:empty {
  display: none;
}

.rw-cta-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-3);
  align-items: center;
  margin-top: var(--rw-space-2);
}

.rw-cta-panel__button {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  padding: 0.625rem var(--rw-space-4);
  font-size: 0.8125rem;
  border-radius: var(--rw-radius-sm);
}

@media (max-width: 767px) {
  .rw-cta-panel__inner {
    padding: var(--rw-space-8) var(--rw-space-6);
  }
}
/**
 * CTA mediabanner — media links + titel, tekst en knop rechts
 */
.rw-cta-media {
  background-color: var(--rw-color-navy);
  color: var(--rw-color-text-inverse);
  border-radius: var(--rw-radius-lg);
  overflow: hidden;
}

.rw-cta-media__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: var(--rw-space-8);
  align-items: center;
  padding: var(--rw-space-6);
}

.rw-cta-media--no-media .rw-cta-media__inner {
  grid-template-columns: 1fr;
}

.rw-cta-media__media {
  position: relative;
  min-width: 0;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: var(--rw-radius-md);
  background: rgba(255, 255, 255, 0.08);
}

.rw-cta-media__image,
.rw-cta-media__video,
.rw-cta-media__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.rw-cta-media__image {
  object-fit: cover;
}

.rw-cta-media__video {
  border: 0;
}

.rw-cta-media__placeholder {
  background: rgba(255, 255, 255, 0.12);
}

.rw-cta-media__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding-right: var(--rw-space-4);
}

.rw-cta-media__title {
  margin: 0;
  font-size: var(--rw-font-size-3xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: inherit;
}

.rw-cta-media__title:empty {
  display: none;
}

.rw-cta-media__text {
  margin: var(--rw-space-3) 0 0;
  max-width: 36rem;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: inherit;
}

.rw-cta-media__text:empty {
  display: none;
}

.rw-cta-media__button {
  margin-top: var(--rw-space-6);
  background-color: var(--rw-color-brand);
  border-color: var(--rw-color-brand);
  color: var(--rw-color-text-inverse);
  border-radius: var(--rw-radius-sm);
}

.rw-cta-media__button:hover {
  opacity: 0.92;
  color: var(--rw-color-text-inverse);
}

@media (max-width: 767px) {
  .rw-cta-media__inner {
    grid-template-columns: 1fr;
    gap: var(--rw-space-6);
    padding: var(--rw-space-4);
  }
  .rw-cta-media__content {
    padding-right: 0;
    padding-bottom: var(--rw-space-2);
  }
  .rw-cta-media__title {
    font-size: 1.75rem;
  }
  .rw-cta-media__media {
    aspect-ratio: 16/10;
  }
}
/**
 * Contentblok met afbeelding — two-column text + image section
 */
.rw-content-image {
  margin: 0;
  background: #f8f8f8;
  padding: var(--rw-space-12) 0;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.rw-content-image__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--rw-space-10);
  align-items: center;
}

.rw-content-image__content {
  min-width: 0;
}

.rw-content-image__title {
  margin: 0 0 var(--rw-space-6);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-content-image__title:empty {
  display: none;
}

.rw-content-image__text {
  margin-bottom: var(--rw-space-8);
}

.rw-content-image__text p {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-content-image__text p:last-child {
  margin-bottom: 0;
}

.rw-content-image__text strong {
  font-weight: var(--rw-font-weight-semibold);
}

.rw-content-image__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-4);
  align-items: center;
}

.rw-content-image__media {
  min-width: 0;
}

.rw-content-image__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--rw-radius-sm);
  object-fit: cover;
}

.rw-content-image__placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  min-height: 240px;
  border-radius: var(--rw-radius-sm);
  background: #dfe3fa;
}

/* Image position modifiers */
.rw-content-image--image-right .rw-content-image__content {
  order: 1;
}

.rw-content-image--image-right .rw-content-image__media {
  order: 2;
}

.rw-content-image--image-left .rw-content-image__content {
  order: 2;
}

.rw-content-image--image-left .rw-content-image__media {
  order: 1;
}

@media (max-width: 767px) {
  .rw-content-image {
    padding: var(--rw-space-10) 0;
  }
  .rw-content-image__grid {
    grid-template-columns: 1fr;
    gap: var(--rw-space-8);
  }
  .rw-content-image--image-left .rw-content-image__content,
  .rw-content-image--image-right .rw-content-image__content {
    order: 1;
  }
  .rw-content-image--image-left .rw-content-image__media,
  .rw-content-image--image-right .rw-content-image__media {
    order: 2;
  }
  .rw-content-image__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .rw-content-image__actions .rw-btn {
    width: 100%;
  }
}
/**
 * Favoriete merken block
 */
.rw-favorite-brands {
  margin-bottom: var(--rw-space-12);
}

.rw-favorite-brands__title {
  margin: 0 0 var(--rw-space-8);
  font-size: var(--rw-font-size-2xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-favorite-brands__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-4);
}

.rw-favorite-brands__card {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16/10;
  min-height: 100px;
  padding: var(--rw-space-5);
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-lg);
  color: inherit;
  text-decoration: none;
  transition: transform var(--rw-transition), box-shadow var(--rw-transition), background-color var(--rw-transition);
}

.rw-favorite-brands__card:not(.rw-favorite-brands__card--static):hover {
  background: var(--rw-color-primary-light);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
  text-decoration: none;
  color: inherit;
}

.rw-favorite-brands__card:not(.rw-favorite-brands__card--static):hover .rw-favorite-brands__logo,
.rw-favorite-brands__card:not(.rw-favorite-brands__card--static):hover .rw-favorite-brands__placeholder {
  transform: scale(1.05);
}

.rw-favorite-brands__logo {
  display: block;
  max-width: 80%;
  max-height: 70%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform var(--rw-transition);
}

.rw-favorite-brands__placeholder {
  display: block;
  max-width: 90%;
  font-size: 0.875rem;
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-tight);
  text-align: center;
  color: var(--rw-color-navy);
  transition: transform var(--rw-transition);
}

@media (min-width: 768px) {
  .rw-favorite-brands__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--rw-space-5);
  }
  .rw-favorite-brands__card {
    min-height: 120px;
    padding: var(--rw-space-6);
  }
}
@media (min-width: 1280px) {
  .rw-favorite-brands__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--rw-space-6);
  }
  .rw-favorite-brands__card {
    min-height: 140px;
  }
  .rw-favorite-brands__placeholder {
    font-size: 1rem;
  }
}
@media (max-width: 479px) {
  .rw-favorite-brands__grid {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rw-favorite-brands__card,
  .rw-favorite-brands__logo,
  .rw-favorite-brands__placeholder {
    transition: background-color var(--rw-transition);
  }
  .rw-favorite-brands__card:not(.rw-favorite-brands__card--static):hover {
    box-shadow: none;
    transform: none;
  }
  .rw-favorite-brands__card:not(.rw-favorite-brands__card--static):hover .rw-favorite-brands__logo,
  .rw-favorite-brands__card:not(.rw-favorite-brands__card--static):hover .rw-favorite-brands__placeholder {
    transform: none;
  }
}
.entry-content > .rw-favorite-brands:first-child {
  margin-top: var(--rw-space-6);
}

.entry-content > .rw-favorite-brands:last-child {
  margin-bottom: 0;
}

/**
 * Brands slider block
 */
.rw-brands-slider {
  margin-bottom: var(--rw-space-12);
}

.rw-brands-slider__viewport {
  --rw-brands-visible: var(--rw-brands-visible-desktop, 6);
  --rw-brands-gap: var(--rw-space-4);
  overflow: hidden;
  width: 100%;
  container-type: inline-size;
}

.rw-brands-slider__track {
  display: flex;
  gap: var(--rw-brands-gap);
  margin: 0;
  padding: 0;
  list-style: none;
  will-change: transform;
}

.rw-brands-slider__slide {
  flex: 0 0 calc((100cqi - (var(--rw-brands-visible) - 1) * var(--rw-brands-gap)) / var(--rw-brands-visible));
  min-width: 0;
}

.rw-brands-slider__card {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16/10;
  width: 100%;
  padding: var(--rw-space-4);
  background: #fff;
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  color: inherit;
  text-decoration: none;
  transition: border-color var(--rw-transition), box-shadow var(--rw-transition);
}

.rw-brands-slider__card:not(.rw-brands-slider__card--static):hover {
  border-color: var(--rw-color-border);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  text-decoration: none;
  color: inherit;
}

.rw-brands-slider__logo {
  display: block;
  max-width: 80%;
  max-height: 70%;
  width: auto;
  height: auto;
  object-fit: contain;
}

@media (max-width: 1279px) {
  .rw-brands-slider__viewport {
    --rw-brands-visible: 4;
  }
}
@media (max-width: 1023px) {
  .rw-brands-slider__viewport {
    --rw-brands-visible: 3;
    --rw-brands-gap: var(--rw-space-3);
  }
}
@media (max-width: 639px) {
  .rw-brands-slider__viewport {
    --rw-brands-visible: 2;
  }
  .rw-brands-slider__card {
    padding: var(--rw-space-3);
  }
}
@media (prefers-reduced-motion: reduce) {
  .rw-brands-slider__card {
    transition: none;
  }
  .rw-brands-slider__card:not(.rw-brands-slider__card--static):hover {
    box-shadow: none;
  }
}
.entry-content > .rw-brands-slider:first-child {
  margin-top: var(--rw-space-6);
}

.entry-content > .rw-brands-slider:last-child {
  margin-bottom: 0;
}

/**
 * In-page navigation — anchor list left, scrollable content right
 */
/**
 * The sticky header (main + nav tiers) height varies per breakpoint.
 * blocks-in-page-navigation.js measures it and publishes --rw-in-page-nav-offset;
 * the fallback keeps anchor links usable without JavaScript.
 */
.rw-in-page-nav {
  margin-bottom: var(--rw-space-16);
}

.rw-in-page-nav__grid {
  display: grid;
  grid-template-columns: var(--rw-in-page-nav-width, 25%) minmax(0, 1fr);
  gap: var(--rw-space-12);
  align-items: start;
}

.rw-in-page-nav--nav-20 .rw-in-page-nav__grid {
  --rw-in-page-nav-width: 20%;
}

.rw-in-page-nav--nav-25 .rw-in-page-nav__grid {
  --rw-in-page-nav-width: 25%;
}

.rw-in-page-nav--nav-33 .rw-in-page-nav__grid {
  --rw-in-page-nav-width: 33.3333%;
}

.rw-in-page-nav--nav-50 .rw-in-page-nav__grid {
  --rw-in-page-nav-width: 50%;
}

/* Navigation */
.rw-in-page-nav__nav {
  min-width: 0;
}

.rw-in-page-nav--sticky .rw-in-page-nav__nav {
  position: sticky;
  top: var(--rw-in-page-nav-offset, calc(var(--rw-header-height, 72px) + var(--rw-space-6)));
}

.rw-in-page-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
}

.rw-in-page-nav__link {
  display: flex;
  align-items: center;
  gap: var(--rw-space-3);
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  text-decoration: none;
  font-family: inherit;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text);
  cursor: pointer;
  transition: color var(--rw-transition);
}

.rw-in-page-nav__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border: 1px solid currentcolor;
  border-radius: var(--rw-radius-full);
  color: inherit;
  transition: background-color var(--rw-transition), color var(--rw-transition);
}

.rw-in-page-nav__icon svg {
  width: 12px;
  height: 12px;
}

.rw-in-page-nav__label {
  min-width: 0;
}

.rw-in-page-nav__link:hover,
.rw-in-page-nav__link:focus-visible {
  color: var(--rw-color-brand);
}

.rw-in-page-nav__item.is-active .rw-in-page-nav__link {
  color: var(--rw-color-brand);
  font-weight: var(--rw-font-weight-semibold);
}

.rw-in-page-nav__item.is-active .rw-in-page-nav__icon {
  background: var(--rw-color-brand);
  border-color: var(--rw-color-brand);
  color: var(--rw-color-text-inverse);
}

.rw-in-page-nav__empty {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

/* Content */
.rw-in-page-nav__content {
  min-width: 0;
}

.rw-in-page-nav__title {
  margin: 0 0 var(--rw-space-10);
  font-size: var(--rw-font-size-3xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-in-page-nav__title:empty {
  display: none;
}

.rw-in-page-nav__section {
  scroll-margin-top: var(--rw-in-page-nav-offset, calc(var(--rw-header-height, 72px) + var(--rw-space-6)));
}

.rw-in-page-nav__section + .rw-in-page-nav__section {
  margin-top: var(--rw-space-10);
}

.rw-in-page-nav__section-title {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-in-page-nav__section-title:empty {
  display: none;
}

.rw-in-page-nav__section-content > * {
  margin-top: 0;
  margin-bottom: var(--rw-space-4);
}

.rw-in-page-nav__section-content > *:last-child {
  margin-bottom: 0;
}

.rw-in-page-nav__section-content p,
.rw-in-page-nav__section-content li {
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
}

.rw-in-page-nav__section-content strong {
  font-weight: var(--rw-font-weight-semibold);
}

.rw-in-page-nav__section-content h2,
.rw-in-page-nav__section-content h3,
.rw-in-page-nav__section-content h4 {
  margin: var(--rw-space-6) 0 var(--rw-space-3);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-in-page-nav__section-content ul,
.rw-in-page-nav__section-content ol {
  margin: 0 0 var(--rw-space-4);
  padding-left: var(--rw-space-5);
}

.rw-in-page-nav__section-content li {
  margin-bottom: var(--rw-space-1);
}

.rw-in-page-nav__section-content a {
  color: var(--rw-color-brand);
}

/* Editor only: button below the sections to add another one */
.rw-in-page-nav__appender {
  margin-top: var(--rw-space-6);
}

@media (max-width: 1023px) {
  .rw-in-page-nav__grid {
    grid-template-columns: 1fr;
    gap: var(--rw-space-8);
  }
  .rw-in-page-nav--sticky .rw-in-page-nav__nav {
    position: static;
  }
}
/**
 * Gift card (cadeaubon) saldo check block
 */
.rw-gift-card__inner {
  padding: var(--rw-space-8) var(--rw-space-10);
  background: var(--rw-color-highlight-bg);
  border-radius: var(--rw-radius-sm);
}

.rw-gift-card__title {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-gift-card__title:empty {
  display: none;
}

.rw-gift-card__form {
  display: flex;
  align-items: stretch;
  gap: var(--rw-space-3);
}

.rw-gift-card__input {
  flex: 1 1 auto;
  min-width: 0;
  padding: var(--rw-space-3) var(--rw-space-4);
  font-family: inherit;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
}

.rw-gift-card__input::placeholder {
  color: var(--rw-color-text-muted);
}

.rw-gift-card__input:focus {
  outline: 2px solid var(--rw-color-brand);
  outline-offset: 1px;
  border-color: var(--rw-color-brand);
}

.rw-gift-card__input:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.rw-gift-card__submit {
  flex-shrink: 0;
  padding: var(--rw-space-3) var(--rw-space-5);
  font-size: var(--rw-font-size-sm);
}

.rw-gift-card__submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}

.rw-gift-card__feedback {
  margin-top: var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
}

.rw-gift-card__feedback:empty {
  display: none;
}

.rw-gift-card__feedback .wsh-odoo-gift-card__message {
  margin: 0;
}

.rw-gift-card__feedback .wsh-odoo-gift-card__message--valid,
.rw-gift-card__feedback--success .wsh-odoo-gift-card__message {
  color: var(--rw-color-success);
}

.rw-gift-card__feedback .wsh-odoo-gift-card__message--error,
.rw-gift-card__feedback--error .wsh-odoo-gift-card__message {
  color: var(--rw-color-error);
}

.rw-gift-card.is-loading .rw-gift-card__inner {
  opacity: 0.9;
}

@media (max-width: 767px) {
  .rw-gift-card__inner {
    padding: var(--rw-space-6);
  }
  .rw-gift-card__form {
    flex-direction: column;
  }
  .rw-gift-card__submit {
    width: 100%;
  }
}
/**
 * Gift card purchase block
 */
.rw-gift-card-purchase__inner {
  padding: var(--rw-space-8) var(--rw-space-10);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  box-shadow: 0 12px 40px rgba(6, 15, 31, 0.06);
}

.rw-gift-card-purchase__title {
  margin: 0 0 var(--rw-space-3);
  font-size: clamp(1.5rem, 2vw, 2rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-gift-card-purchase__intro {
  margin: 0 0 var(--rw-space-6);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-base);
}

.rw-gift-card-purchase__notice {
  margin: 0;
  padding: var(--rw-space-4);
  background: var(--rw-color-highlight-bg);
  border-radius: var(--rw-radius-sm);
  color: var(--rw-color-text);
}

.rw-gift-card-purchase__types {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-3);
  margin-bottom: var(--rw-space-4);
}

.rw-gift-card-purchase__type {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--rw-space-1);
  border: 1px solid var(--rw-color-border);
  background: var(--rw-color-bg);
  color: var(--rw-color-navy);
  font: inherit;
  text-align: left;
  padding: var(--rw-space-4);
  border-radius: var(--rw-radius-md);
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.rw-gift-card-purchase__type:hover:not(.is-disabled):not(:disabled) {
  border-color: var(--rw-color-brand);
}

.rw-gift-card-purchase__type.is-active {
  border-color: var(--rw-color-brand);
  background: var(--rw-color-highlight-bg);
  box-shadow: inset 0 0 0 1px var(--rw-color-brand);
}

.rw-gift-card-purchase__type.is-disabled,
.rw-gift-card-purchase__type:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.rw-gift-card-purchase__type-label {
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
}

.rw-gift-card-purchase__type-hint {
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  line-height: var(--rw-line-height-base);
}

.rw-gift-card-purchase__type-notice {
  margin: 0 0 var(--rw-space-6);
  padding: var(--rw-space-3) var(--rw-space-4);
  background: var(--rw-color-highlight-bg);
  border-radius: var(--rw-radius-sm);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
}

.rw-gift-card-purchase__amount-label {
  display: block;
  margin-bottom: var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
}

.rw-gift-card-purchase__presets {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-2);
  margin-bottom: var(--rw-space-4);
}

.rw-gift-card-purchase__preset {
  border: 1px solid var(--rw-color-border);
  background: var(--rw-color-bg);
  color: var(--rw-color-navy);
  font: inherit;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  padding: var(--rw-space-2) var(--rw-space-4);
  border-radius: var(--rw-radius-pill);
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.rw-gift-card-purchase__preset.is-active,
.rw-gift-card-purchase__preset:hover {
  border-color: var(--rw-color-brand);
  color: var(--rw-color-brand);
}

.rw-gift-card-purchase__amount-input-wrap {
  display: flex;
  align-items: center;
  gap: var(--rw-space-2);
  margin-bottom: var(--rw-space-6);
}

.rw-gift-card-purchase__currency {
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-gift-card-purchase__amount-input {
  flex: 1 1 auto;
  min-width: 0;
  padding: var(--rw-space-3) var(--rw-space-4);
  font-family: inherit;
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
}

.rw-gift-card-purchase__amount-input:focus {
  outline: 2px solid var(--rw-color-brand);
  outline-offset: 1px;
  border-color: var(--rw-color-brand);
}

.rw-gift-card-purchase__recipient {
  margin: 0 0 var(--rw-space-4);
  padding: 0;
  border: 0;
}

.rw-gift-card-purchase__recipient legend {
  margin-bottom: var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
}

.rw-gift-card-purchase__radio {
  display: flex;
  align-items: center;
  gap: var(--rw-space-2);
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-base);
  color: var(--rw-color-text);
  cursor: pointer;
}

.rw-gift-card-purchase__field {
  display: block;
  margin-bottom: var(--rw-space-4);
}

.rw-gift-card-purchase__field > span {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
}

.rw-gift-card-purchase__field input,
.rw-gift-card-purchase__field textarea {
  width: 100%;
  padding: var(--rw-space-3) var(--rw-space-4);
  font-family: inherit;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
}

.rw-gift-card-purchase__field textarea {
  resize: vertical;
  min-height: 6rem;
}

.rw-gift-card-purchase__physical-note {
  margin-bottom: var(--rw-space-4);
  padding: var(--rw-space-4);
  background: var(--rw-color-highlight-bg);
  border-radius: var(--rw-radius-sm);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}

.rw-gift-card-purchase__physical-note p {
  margin: 0;
}

.rw-gift-card-purchase__submit {
  width: 100%;
  margin-top: var(--rw-space-2);
}

.rw-gift-card-purchase__feedback {
  margin-top: var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
}

.rw-gift-card-purchase__feedback:empty {
  display: none;
}

.rw-gift-card-purchase__feedback--success {
  color: var(--rw-color-success);
}

.rw-gift-card-purchase__feedback--error {
  color: var(--rw-color-error);
}

.rw-gift-card-purchase.is-loading .rw-gift-card-purchase__inner {
  opacity: 0.92;
}

.wcd-gift-card-purchase-status {
  margin-bottom: var(--rw-space-6);
}

.wcd-gift-card-purchase-status__title {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.wcd-gift-card-purchase-status__code-label {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.wcd-gift-card-purchase-status__code {
  margin: 0 0 var(--rw-space-3);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: var(--rw-font-weight-bold);
  letter-spacing: 0.12em;
  color: var(--rw-color-brand);
}

.wcd-gift-card-purchase-status__amount,
.wcd-gift-card-purchase-status__note {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text);
}

@media (max-width: 767px) {
  .rw-gift-card-purchase__inner {
    padding: var(--rw-space-6);
  }
  .rw-gift-card-purchase__types {
    grid-template-columns: 1fr;
  }
}
/**
 * Wishlist: heart toggle (shop card + product detail) and wishlist block
 */
.rw-wishlist-toggle {
  position: relative;
  cursor: pointer;
}

.rw-wishlist-toggle__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.rw-wishlist-toggle__icon--filled {
  display: none;
  color: var(--rw-color-brand);
}

.rw-wishlist-toggle.is-active .rw-wishlist-toggle__icon--outline {
  display: none;
}

.rw-wishlist-toggle.is-active .rw-wishlist-toggle__icon--filled {
  display: inline-flex;
}

.rw-wishlist-toggle.is-active {
  color: var(--rw-color-brand);
  border-color: var(--rw-color-brand-light);
}

/**
 * Wishlist block
 */
.rw-wishlist {
  margin-bottom: var(--rw-space-12);
}

.rw-wishlist__title {
  margin: 0 0 var(--rw-space-6);
  font-size: var(--rw-font-size-3xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-wishlist .rw-wishlist__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-6);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-wishlist .rw-wishlist__grid[hidden] {
  display: none;
}

.rw-wishlist__empty,
.rw-wishlist__login {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--rw-space-4);
  padding: var(--rw-space-8);
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-lg);
}

.rw-wishlist__empty[hidden],
.rw-wishlist__login[hidden] {
  display: none;
}

.rw-wishlist__empty-text,
.rw-wishlist__login-text,
.rw-wishlist__notice {
  margin: 0;
  color: var(--rw-color-text-muted);
}

.rw-wishlist__editor-note {
  margin: 0 0 var(--rw-space-6);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-wishlist__placeholder-card {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-3);
  min-width: 0;
  margin: 0;
  list-style: none;
}

.rw-wishlist__placeholder-image {
  display: block;
  aspect-ratio: 1;
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-lg);
}

.rw-wishlist__placeholder-label {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text-muted);
}

@media (min-width: 768px) {
  .rw-wishlist .rw-wishlist__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .rw-wishlist .rw-wishlist__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
/**
 * Instagram gallery block
 */
.rw-ig-gallery {
  margin-bottom: var(--rw-space-12);
}

.rw-ig-gallery__header {
  text-align: center;
}
.rw-ig-gallery__header .rw-block__header {
  margin-bottom: var(--rw-space-8);
}
.rw-ig-gallery__header .rw-block__title {
  color: var(--rw-color-navy);
}
.rw-ig-gallery__header .rw-block__intro {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

.rw-ig-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-4);
}

.rw-ig-gallery__item {
  display: block;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

.rw-ig-gallery__item:hover,
.rw-ig-gallery__item:focus-visible {
  text-decoration: none;
  color: inherit;
}

.rw-ig-gallery__item:focus-visible {
  outline: 2px solid var(--rw-color-navy);
  outline-offset: 3px;
  border-radius: var(--rw-radius-lg);
}

.rw-ig-gallery__media {
  position: relative;
  display: block;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: var(--rw-radius-lg);
  background: var(--rw-color-bg-alt);
}

.rw-ig-gallery__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.rw-ig-gallery__image--placeholder {
  background: var(--rw-color-bg-alt);
}

.rw-ig-gallery__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.45);
  color: #fff;
  opacity: 0;
  transition: opacity var(--rw-transition);
}

.rw-ig-gallery__icon {
  display: block;
  flex-shrink: 0;
}

.rw-ig-gallery__item:hover .rw-ig-gallery__overlay,
.rw-ig-gallery__item:focus-visible .rw-ig-gallery__overlay {
  opacity: 1;
}

.rw-ig-gallery__item:hover .rw-ig-gallery__image,
.rw-ig-gallery__item:focus-visible .rw-ig-gallery__image {
  transform: scale(1.05);
}

@media (min-width: 768px) {
  .rw-ig-gallery__grid {
    grid-template-columns: repeat(min(3, var(--rw-ig-gallery-cols, 5)), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .rw-ig-gallery__grid {
    grid-template-columns: repeat(var(--rw-ig-gallery-cols, 5), minmax(0, 1fr));
    gap: var(--rw-space-5);
  }
}
@media (prefers-reduced-motion: reduce) {
  .rw-ig-gallery__image,
  .rw-ig-gallery__overlay {
    transition: none;
  }
  .rw-ig-gallery__item:hover .rw-ig-gallery__image,
  .rw-ig-gallery__item:focus-visible .rw-ig-gallery__image {
    transform: none;
  }
}
/**
 * Account invoices page block styles.
 */
.rw-account-invoices-page__intro {
  margin: 0 0 var(--rw-space-5);
  color: var(--rw-color-text-muted);
  line-height: var(--rw-line-height-normal);
}

.rw-account-invoices-page__login-notice {
  margin: 0;
  padding: var(--rw-space-4);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-subtle);
  border-radius: var(--rw-radius-md);
}

.rw-account-invoices-page__list-wrap {
  margin-top: var(--rw-space-2);
}

.rw-account-invoices-page .rw-account-invoices-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-account-invoices-page .rw-account-invoices-list__item {
  padding: var(--rw-space-4) 0;
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-account-invoices-page .rw-account-invoices-list__item:first-child {
  padding-top: 0;
  border-top: 0;
}

.rw-account-invoices-page--editor .rw-account-invoices-page__editor-note {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-account-invoices-page--editor .rw-account-invoices-list__icon,
.rw-account-invoices-page--editor .rw-account-invoices-list__download {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--rw-color-border-light);
  border-radius: var(--rw-radius-sm);
}

.rw-account-invoices-page--editor .rw-account-invoices-list__download {
  width: 2rem;
  height: 2rem;
}

/**
 * Account returns page styles.
 */
.rw-account-returns-page__login-notice,
.rw-account-returns-page__editor-note {
  margin: 0 0 var(--rw-space-4);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}

.rw-account-returns-page__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--rw-space-4);
  margin-bottom: var(--rw-space-5);
}

.rw-account-returns-page__title {
  margin: 0;
  font-size: var(--rw-font-size-xl);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
}

.rw-account-returns-page__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  white-space: nowrap;
}

.rw-account-returns-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-account-returns-list__item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: var(--rw-space-4);
  align-items: center;
  padding: var(--rw-space-5);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-account-returns-list__item + .rw-account-returns-list__item {
  margin-top: var(--rw-space-4);
}

.rw-account-returns-list__thumb {
  display: block;
  width: 72px;
  height: 72px;
  overflow: hidden;
  background: var(--rw-color-bg-subtle);
  border-radius: var(--rw-radius-sm);
}

.rw-account-returns-list__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rw-account-returns-list__thumb--placeholder {
  background: linear-gradient(135deg, var(--rw-color-bg-subtle), #e8edf2);
}

.rw-account-returns-list__meta {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-1);
  min-width: 0;
}

.rw-account-returns-list__status {
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
}

.rw-account-returns-list__details {
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}

.rw-account-returns-list__link {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-1);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-navy);
  text-decoration: none;
  white-space: nowrap;
}

.rw-account-returns-list__link:hover,
.rw-account-returns-list__link:focus-visible {
  text-decoration: underline;
}

.rw-account-returns-panel {
  position: fixed;
  inset: 0;
  z-index: 100040;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--rw-space-4);
  background: rgba(0, 20, 40, 0.45);
}

.rw-account-returns-panel[hidden] {
  display: none;
}

.rw-account-returns-panel__dialog {
  display: flex;
  flex-direction: column;
  width: min(680px, 100%);
  max-height: min(90vh, 760px);
  overflow: hidden;
  background: var(--rw-color-bg, #fff);
  border-radius: var(--rw-radius-md);
  box-shadow: 0 16px 48px rgba(0, 20, 40, 0.18);
}

.rw-account-returns-panel__header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-3);
  padding: var(--rw-space-4) var(--rw-space-5);
  border-bottom: 1px solid var(--rw-color-border-light);
  background: var(--rw-color-bg-alt);
}

.rw-account-returns-panel__title {
  margin: 0;
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
}

.rw-account-returns-panel__close {
  appearance: none;
  flex-shrink: 0;
  padding: var(--rw-space-2) var(--rw-space-3);
  color: var(--rw-color-navy);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-sm);
  cursor: pointer;
  text-decoration: none;
  transition: border-color var(--rw-transition), background-color var(--rw-transition);
}

.rw-account-returns-panel__close:hover,
.rw-account-returns-panel__close:focus-visible {
  background: var(--rw-color-bg-subtle);
  border-color: var(--rw-color-border);
}

.rw-account-returns-panel__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-5);
  padding: var(--rw-space-5);
}

.rw-account-returns-panel__footer {
  display: flex;
  flex-shrink: 0;
  justify-content: flex-end;
  padding: var(--rw-space-4) var(--rw-space-5);
  border-top: 1px solid var(--rw-color-border-light);
  background: var(--rw-color-bg-alt);
}

.rw-account-returns-panel__error {
  margin: 0 0 var(--rw-space-4);
  padding: var(--rw-space-3);
  color: #8a1f1f;
  background: #fdeeee;
  border-radius: var(--rw-radius-sm);
}

.rw-account-returns-panel__loading {
  margin: 0;
  color: var(--rw-color-text-muted);
}

.rw-account-returns-create__delivery {
  padding: var(--rw-space-4);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-account-returns-create__delivery + .rw-account-returns-create__delivery {
  margin-top: var(--rw-space-4);
}

.rw-account-returns-create__delivery-title {
  margin: 0 0 var(--rw-space-4);
  padding-bottom: var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
  border-bottom: 1px solid var(--rw-color-border-light);
}

.rw-account-returns-create__line {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 96px;
  gap: var(--rw-space-3);
  align-items: center;
  padding: var(--rw-space-3);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-sm);
}

.rw-account-returns-create__line + .rw-account-returns-create__line {
  margin-top: var(--rw-space-2);
}

.rw-account-returns-create__line-thumb {
  width: 56px;
  height: 56px;
  overflow: hidden;
  background: var(--rw-color-bg-subtle);
  border-radius: var(--rw-radius-sm);
}

.rw-account-returns-create__line-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rw-account-returns-create__line-name {
  display: block;
  font-weight: var(--rw-font-weight-medium);
}

.rw-account-returns-create__line-meta {
  display: block;
  margin-top: var(--rw-space-1);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}

.rw-account-returns-create__qty-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-1);
}

.rw-account-returns-create__qty-label {
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs, 0.75rem);
  font-weight: var(--rw-font-weight-medium);
}

.rw-account-returns-create__qty {
  width: 100%;
  padding: var(--rw-space-2);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-sm);
  font-size: var(--rw-font-size-base);
  text-align: center;
}

.rw-account-returns-detail__section {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-3);
}

.rw-account-returns-detail__section-title {
  display: flex;
  align-items: center;
  gap: var(--rw-space-2);
  margin: 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.rw-account-returns-detail__section-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  padding: 0 var(--rw-space-2);
  font-size: var(--rw-font-size-xs, 0.75rem);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text-muted);
  text-transform: none;
  letter-spacing: normal;
  background: var(--rw-color-bg-subtle);
  border-radius: var(--rw-radius-full, 999px);
}

.rw-account-returns-detail {
  margin: 0;
}

.rw-account-returns-detail--summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-3);
  padding: var(--rw-space-4);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-account-returns-detail__row {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-1);
  padding: 0;
}

.rw-account-returns-detail__row dt {
  margin: 0;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs, 0.75rem);
  font-weight: var(--rw-font-weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.rw-account-returns-detail__row dd {
  margin: 0;
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-navy);
}

.rw-account-returns-detail__status {
  display: inline-flex;
  padding: var(--rw-space-1) var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
  background: #e8f0f8;
  border-radius: var(--rw-radius-full, 999px);
}

.rw-account-returns-detail__products {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-account-returns-detail__product {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: var(--rw-space-3);
  align-items: center;
  padding: var(--rw-space-3);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-sm);
}

.rw-account-returns-detail__product-thumb {
  width: 56px;
  height: 56px;
  overflow: hidden;
  background: var(--rw-color-bg-subtle);
  border-radius: var(--rw-radius-sm);
}

.rw-account-returns-detail__product-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rw-account-returns-detail__product-name {
  display: block;
  font-weight: var(--rw-font-weight-medium);
}

.rw-account-returns-detail__product-qty {
  display: block;
  margin-top: var(--rw-space-1);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}

@media (max-width: 640px) {
  .rw-account-returns-list__item {
    grid-template-columns: 56px minmax(0, 1fr);
  }
  .rw-account-returns-list__thumb {
    width: 56px;
    height: 56px;
  }
  .rw-account-returns-list__link {
    grid-column: 2;
  }
  .rw-account-returns-create__line {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .rw-account-returns-create__qty-wrap {
    grid-column: 2;
  }
  .rw-account-returns-detail--summary {
    grid-template-columns: 1fr;
  }
}
/**
 * Account repairs page styles.
 */
.rw-account-repairs-page__login-notice,
.rw-account-repairs-page__editor-note {
  margin: 0 0 var(--rw-space-4);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}

.rw-account-repairs-page__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--rw-space-4);
  margin-bottom: var(--rw-space-6);
}

.rw-account-repairs-page__cta {
  margin-left: auto;
}

.rw-account-repairs-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-account-repairs-list__item {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: var(--rw-space-4) var(--rw-space-5);
  align-items: center;
  padding: var(--rw-space-5) 0;
  border-bottom: 1px solid var(--rw-color-border);
}

.rw-account-repairs-list__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-surface-muted);
  overflow: hidden;
}

.rw-account-repairs-list__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rw-account-repairs-list__thumb--placeholder {
  width: 100%;
  height: 100%;
  background: var(--rw-color-surface-muted);
}

.rw-account-repairs-list__meta {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-1);
  min-width: 0;
}

.rw-account-repairs-list__status {
  font-weight: 600;
  color: var(--rw-color-navy);
}

.rw-account-repairs-list__details {
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}

.rw-account-repairs-list__link {
  font-weight: 600;
  color: var(--rw-color-navy);
  text-decoration: none;
  white-space: nowrap;
}

.rw-account-repairs-list__link:hover,
.rw-account-repairs-list__link:focus-visible {
  text-decoration: underline;
}

.rw-account-repairs-create {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
}

.rw-account-repairs-create__mode {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--rw-space-2);
  padding: var(--rw-space-1);
  border-radius: 999px;
  background: var(--rw-color-surface-muted);
}

.rw-account-repairs-create__mode-btn {
  border: 0;
  background: transparent;
  padding: var(--rw-space-2) var(--rw-space-4);
  border-radius: 999px;
  font: inherit;
  font-weight: 600;
  color: var(--rw-color-text-muted);
  cursor: pointer;
}

.rw-account-repairs-create__mode-btn.is-active {
  background: var(--rw-color-surface);
  color: var(--rw-color-navy);
  box-shadow: var(--rw-shadow-sm);
}

.rw-account-repairs-create__field-label,
.rw-account-repairs-create__search-label {
  font-weight: 600;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-navy);
}

.rw-account-repairs-create__search,
.rw-account-repairs-create__title,
.rw-account-repairs-create__description {
  width: 100%;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  font: inherit;
}

.rw-account-repairs-create__description {
  resize: vertical;
  min-height: 120px;
}

.rw-account-repairs-create__products {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
  max-height: 280px;
  overflow-y: auto;
  margin-top: var(--rw-space-2);
}

.rw-account-repairs-create__product {
  display: grid;
  grid-template-columns: auto 56px 1fr;
  gap: var(--rw-space-3);
  align-items: center;
  padding: var(--rw-space-3);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  cursor: pointer;
}

.rw-account-repairs-create__product:has(input:checked) {
  border-color: var(--rw-color-navy);
  box-shadow: 0 0 0 1px var(--rw-color-navy);
}

.rw-account-repairs-create__product-thumb {
  width: 56px;
  height: 56px;
  border-radius: var(--rw-radius-sm);
  overflow: hidden;
  background: var(--rw-color-surface-muted);
}

.rw-account-repairs-create__product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rw-account-repairs-create__product-meta {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-1);
  min-width: 0;
}

.rw-account-repairs-create__product-name {
  font-weight: 600;
  color: var(--rw-color-navy);
}

.rw-account-repairs-create__product-order {
  font-size: var(--rw-font-size-xs);
  color: var(--rw-color-text-muted);
}

.rw-account-repairs-detail__description {
  color: var(--rw-color-text);
  line-height: 1.6;
  font-size: var(--rw-font-size-sm);
}

@media (max-width: 640px) {
  .rw-account-repairs-list__item {
    grid-template-columns: 56px 1fr;
  }
  .rw-account-repairs-list__link {
    grid-column: 1/-1;
    justify-self: start;
  }
}
/**
 * Shared account form patterns (required hints, stacks).
 */
.rw-account-form__required-hint {
  margin: var(--rw-space-2) 0 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

/**
 * Gegevens en voorkeuren block styles.
 */
.rw-account-details {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-6);
}

.rw-account-panel__content > .rw-account-details:first-child {
  margin-top: calc(var(--rw-space-2) * -1);
}

.rw-account-details__intro {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-account-details__sections {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-6);
}

.rw-account-details__section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-bottom: 0;
  padding: 15px;
  border-bottom: 1px solid lightgrey;
}

.rw-account-details__section > :not(.rw-account-details__section-header) {
  padding: 15px;
}

.rw-account-details__section-heading {
  display: flex;
  align-items: center;
  gap: var(--rw-space-3);
  min-width: 0;
}

.rw-account-details__section-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: var(--rw-color-navy);
  background: var(--rw-color-primary-light);
  border-radius: var(--rw-radius-full, 999px);
}
.rw-account-details__section-icon svg {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
}

.rw-account-details__toggle {
  padding: 0;
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
}

.rw-account-details__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-6) var(--rw-space-10);
}

.rw-account-details__column {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.rw-account-details__field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: var(--rw-space-4);
  align-items: baseline;
  margin: 0;
  padding: var(--rw-space-4) 0;
  border-bottom: 1px solid var(--rw-color-border-light);
  overflow: visible;
}
.rw-account-details__field:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.rw-account-details__field:first-child {
  padding-top: 0;
}
.rw-account-details__field dt {
  margin: 0;
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-navy);
}
.rw-account-details__field dd {
  margin: 0;
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-normal);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-navy);
  overflow: visible;
  overflow-wrap: anywhere;
}
.rw-account-details__field .rw-account-details__field-value {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  overflow: visible;
}
.rw-account-details__field .wsh-company-check__feedback {
  margin-top: var(--rw-space-2);
}

.rw-account-details__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-5) var(--rw-space-6);
  margin: 0;
}

.rw-account-address-book__badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-2);
}

.rw-account-address-book__badge {
  display: inline-flex;
  align-items: center;
  padding: var(--rw-space-1) var(--rw-space-3);
  font-size: 11px;
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1.3;
  color: var(--rw-color-text-inverse);
  background: var(--rw-color-text);
  border-radius: 999px;
}

.rw-account-details__panel {
  margin-top: var(--rw-space-5);
  padding-top: var(--rw-space-5);
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-account-details__panel--row {
  width: 100%;
}

.rw-account-details__form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-4);
}

.rw-account-details__form .form-row {
  margin: 0;
}
.rw-account-details__form label {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
}
.rw-account-details__form .input-text {
  width: 100%;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  font-family: inherit;
  font-size: var(--rw-font-size-base);
  background: var(--rw-color-bg-alt);
}

.rw-account-details__form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-3);
  margin: var(--rw-space-5) 0 0;
}

.rw-account-details__cancel {
  padding: 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text-muted);
  background: none;
  border: 0;
  cursor: pointer;
}

.rw-account-details__payments {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-account-details__payment {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  padding: var(--rw-space-4) var(--rw-space-5);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
}
.rw-account-details__payment.is-default {
  background: var(--rw-color-bg-alt);
}
.rw-account-details__payment .wcd-payment-token__badge {
  justify-self: auto;
}

.rw-account-details__payment-main {
  display: flex;
  align-items: center;
  gap: var(--rw-space-4);
  min-width: 0;
  flex: 1;
}

.rw-account-details__payment-aside {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--rw-space-5);
  flex-shrink: 0;
}

.rw-account-details__payment-actions {
  position: relative;
  flex-shrink: 0;
}
.rw-account-details__payment-actions summary {
  list-style: none;
  cursor: pointer;
}
.rw-account-details__payment-actions summary::-webkit-details-marker {
  display: none;
}

.rw-account-details__payment-menu {
  position: absolute;
  top: calc(100% + var(--rw-space-2));
  right: 0;
  z-index: 2;
  min-width: 180px;
  padding: var(--rw-space-2);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  box-shadow: var(--rw-shadow-sm);
}

.rw-account-details__payment-action {
  display: block;
  width: 100%;
  padding: var(--rw-space-2) var(--rw-space-3);
  font: inherit;
  font-size: var(--rw-font-size-sm);
  text-align: left;
  color: var(--rw-color-text);
  background: none;
  border: 0;
  border-radius: var(--rw-radius-sm);
  cursor: pointer;
}
.rw-account-details__payment-action:hover, .rw-account-details__payment-action:focus-visible {
  background: var(--rw-color-bg-alt);
}
.rw-account-details__payment-action--danger {
  color: var(--rw-color-error, #c0392b);
}

.rw-account-details__rows {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: var(--rw-space-2);
}

.rw-account-details__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rw-space-6);
  padding: var(--rw-space-5) 0;
  border-top: 1px solid var(--rw-color-border-light);
}
.rw-account-details__row--security {
  flex-wrap: wrap;
}

.rw-account-details__row-content {
  min-width: 0;
  flex: 1;
}

.rw-account-details__row-title {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-md);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-account-details__row-description {
  margin: 0;
  max-width: 42rem;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-account-details__login-notice {
  margin: 0;
  padding: var(--rw-space-5);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

@media (max-width: 991px) {
  .rw-account-details__columns {
    grid-template-columns: 1fr;
    gap: var(--rw-space-4);
  }
  .rw-account-details__column:last-child .rw-account-details__field:first-child {
    padding-top: var(--rw-space-4);
    border-top: 1px solid var(--rw-color-border-light);
  }
}
@media (max-width: 767px) {
  .rw-account-details__columns,
  .rw-account-details__grid,
  .rw-account-details__form-grid {
    grid-template-columns: 1fr;
  }
  .rw-account-details__section-header,
  .rw-account-details__row {
    flex-direction: column;
    align-items: stretch;
  }
  .rw-account-details__payment {
    flex-direction: column;
    align-items: stretch;
  }
  .rw-account-details__payment-aside {
    justify-content: space-between;
    width: 100%;
  }
  .rw-account-details__payment-actions {
    align-self: auto;
  }
}
/**
 * Account verwijderen block styles.
 */
.rw-account-delete {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-6);
}

.rw-account-panel__content > .rw-account-delete:first-child {
  margin-top: calc(var(--rw-space-2) * -1);
}

.rw-account-delete__login-notice,
.rw-account-delete__editor-note {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-account-delete__section + .rw-account-delete__section {
  margin-top: 0;
}

.rw-account-delete__title {
  font-size: var(--rw-font-size-lg);
}

.rw-account-delete__body {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-5);
  padding: 15px;
}

.rw-account-delete__notice {
  padding: var(--rw-space-4) var(--rw-space-5);
  background: var(--rw-color-primary-light);
  border-radius: var(--rw-radius-md);
}

.rw-account-delete__notice p {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-navy);
}

.rw-account-delete__notice a {
  color: var(--rw-color-brand);
  font-weight: var(--rw-font-weight-semibold);
  text-decoration: underline;
}

.rw-account-delete__notice--warning {
  background: #fff4e5;
}

.rw-account-delete__subsection-title {
  margin: 0 0 var(--rw-space-3);
  font-size: var(--rw-font-size-md);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-account-delete__subsection-text,
.rw-account-delete__intro {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
}

.rw-account-delete__list {
  margin: 0;
  padding-left: 1.25rem;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
}

.rw-account-delete__list li + li {
  margin-top: var(--rw-space-2);
}

.rw-account-delete__footnote {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-account-delete__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-3);
  justify-content: flex-start;
  margin-top: var(--rw-space-2);
}

.rw-account-delete__form {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
}

.rw-account-delete__field {
  margin: 0;
}

.rw-account-delete__label {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
}

.rw-account-delete__input {
  width: min(100%, 320px);
  padding: var(--rw-space-3) var(--rw-space-4);
  font: inherit;
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
}

.rw-account-delete__field--checkbox .rw-account-delete__checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
}

.rw-account-delete__field--checkbox input {
  margin-top: 0.2rem;
}

@media (max-width: 767px) {
  .rw-account-delete__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .rw-account-delete__actions .rw-btn {
    width: 100%;
  }
}
/**
 * Address book block (WCD - Adresboek)
 */
.rw-address-book {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-5);
  max-width: 48rem;
}

.rw-account-panel__content > .rw-address-book:first-child {
  margin-top: calc(var(--rw-space-2) * -1);
}

.rw-address-book__login-notice,
.rw-address-book__error {
  margin: 0;
  padding: var(--rw-space-5);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-address-book__header {
  margin-bottom: var(--rw-space-6);
}

.rw-address-book__intro {
  margin: 0;
  max-width: 42rem;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-address-book__notices {
  margin-bottom: var(--rw-space-4);
}

.rw-address-book__cards {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
}

.rw-address-book__card {
  padding: var(--rw-space-5);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-address-book__card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-bottom: var(--rw-space-4);
}

.rw-address-book__card-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-3);
  min-width: 0;
}

.rw-address-book__card-label {
  margin: 0;
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-text);
}

.rw-address-book__card-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-2);
}

.rw-address-book__badge {
  display: inline-flex;
  align-items: center;
  padding: var(--rw-space-1) var(--rw-space-3);
  font-size: 11px;
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1.3;
  color: var(--rw-color-text-inverse);
  background: var(--rw-color-text);
  border-radius: 999px;
}

.rw-address-book__card-body p {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
}

.rw-address-book__card-body p + p {
  margin-top: var(--rw-space-1);
}

.rw-address-book__card-actions,
.rw-address-book__delete-form,
.rw-address-book__inline-form {
  display: inline;
}

.rw-address-book__card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-4);
  margin-top: var(--rw-space-4);
  padding-top: var(--rw-space-4);
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-address-book__action {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  padding: 0;
  font: inherit;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-brand);
  text-decoration: none;
  background: none;
  border: 0;
  cursor: pointer;
}

.rw-address-book__action:hover,
.rw-address-book__action:focus-visible {
  color: var(--rw-color-brand-hover);
  text-decoration: underline;
}

.rw-address-book__action--delete {
  flex-shrink: 0;
  color: var(--rw-color-text-muted);
}

.rw-address-book__action--delete:hover,
.rw-address-book__action--delete:focus-visible {
  color: var(--rw-color-text);
}

.rw-address-book__action-icon {
  display: inline-flex;
  flex-shrink: 0;
}

.rw-address-book__action-icon svg {
  display: block;
  width: 1rem;
  height: 1rem;
}

.rw-address-book__add {
  margin-top: var(--rw-space-6);
}

.rw-address-book__add-button {
  gap: var(--rw-space-3);
}

.rw-address-book__limit-notice {
  margin: var(--rw-space-4) 0 0;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

/* Form view */
.rw-address-book__form-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-5);
  max-width: 42rem;
}

.rw-address-book__form-stack {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
}

.rw-address-book__back {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  width: fit-content;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-brand);
  text-decoration: none;
}
.rw-address-book__back:hover, .rw-address-book__back:focus-visible {
  color: var(--rw-color-brand-hover);
  text-decoration: underline;
}

.rw-address-book__back-icon {
  display: inline-flex;
  flex-shrink: 0;
}

.rw-address-book__back-icon svg {
  display: block;
  width: 1rem;
  height: 1rem;
}

.rw-address-book__header--form {
  margin-bottom: 0;
}

.rw-address-book__form-intro {
  margin: 0;
  max-width: 36rem;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-address-book__form {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-6);
  padding: var(--rw-space-6);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-address-book__section {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
}

.rw-address-book__section + .rw-address-book__section {
  padding-top: var(--rw-space-6);
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-address-book__section-title {
  margin: 0;
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text);
}

.rw-address-book__form label {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text);
}
.rw-address-book__form label .required {
  color: var(--rw-color-primary);
}

.rw-address-book__form .form-row {
  margin: 0;
}

.rw-address-book__form .form-row--checkbox {
  margin: 0;
}

.rw-address-book__form .form-row--checkbox label {
  display: inline-flex;
  align-items: flex-start;
  gap: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-normal);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
  cursor: pointer;
}

.rw-address-book__form .form-row--checkbox input[type=checkbox] {
  flex-shrink: 0;
  margin-top: 0.2em;
}

.rw-address-book__form .input-text,
.rw-address-book__form select.input-text {
  width: 100%;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  font-family: inherit;
  font-size: var(--rw-font-size-base);
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-text);
  transition: border-color var(--rw-transition), box-shadow var(--rw-transition);
}
.rw-address-book__form .input-text:hover,
.rw-address-book__form select.input-text:hover {
  border-color: var(--rw-color-border);
}
.rw-address-book__form .input-text:focus,
.rw-address-book__form select.input-text:focus {
  outline: none;
  border-color: var(--rw-color-primary);
  box-shadow: 0 0 0 3px var(--rw-color-primary-light);
}

.rw-address-book__grid {
  display: grid;
  gap: var(--rw-space-4);
}

.rw-address-book__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rw-address-book__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rw-address-book__grid--address {
  grid-template-columns: minmax(0, 2fr) minmax(0, 0.75fr) minmax(0, 0.75fr);
}

.rw-address-book__form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-3);
  margin: 0;
  padding-top: var(--rw-space-2);
}

@media (max-width: 991px) {
  .rw-address-book__grid--3,
  .rw-address-book__grid--address {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rw-address-book__field-street {
    grid-column: 1/-1;
  }
}
@media (max-width: 767px) {
  .rw-address-book__grid--2,
  .rw-address-book__grid--3,
  .rw-address-book__grid--address {
    grid-template-columns: minmax(0, 1fr);
  }
  .rw-address-book__field-street {
    grid-column: auto;
  }
  .rw-address-book__form {
    padding: var(--rw-space-4);
  }
  .rw-address-book__form-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .rw-address-book__form-actions .rw-btn {
    justify-content: center;
  }
  .rw-address-book__card-header {
    flex-direction: column;
  }
  .rw-address-book__card-actions {
    flex-direction: column;
    align-items: flex-start;
  }
}
/**
 * Checkout address book selector.
 */
.wcd-checkout .wcd-checkout-address-selector {
  margin-bottom: var(--rw-space-4);
}
.wcd-checkout .wcd-checkout-address-selector__fieldset {
  margin: 0;
  margin-bottom: 2rem;
  padding: 0;
  border: 0;
}
.wcd-checkout .wcd-checkout-address-selector__legend {
  margin-bottom: var(--rw-space-3);
  padding: 0;
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
}
.wcd-checkout .wcd-checkout-address-selector__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rw-space-3);
}
.wcd-checkout .wcd-checkout-address-selector__option {
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  background: var(--rw-color-bg);
  overflow: hidden;
  transition: border-color var(--rw-transition), background-color var(--rw-transition);
}
.wcd-checkout .wcd-checkout-address-selector__option:hover {
  border-color: var(--rw-color-border);
}
.wcd-checkout .wcd-checkout-address-selector__option:focus-within {
  outline: 2px solid var(--rw-color-accent);
  outline-offset: 2px;
}
.wcd-checkout .wcd-checkout-address-selector__option.is-selected, .wcd-checkout .wcd-checkout-address-selector__option:has(.wcd-checkout-address-selector__input:checked) {
  border-color: transparent;
  background: var(--rw-color-bg-alt);
}
.wcd-checkout .wcd-checkout-address-selector__label {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: var(--rw-space-2);
  align-items: start;
  margin: 0;
  padding: var(--rw-space-3) var(--rw-space-4);
  cursor: pointer;
}
.wcd-checkout .wcd-checkout-address-selector__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.wcd-checkout .wcd-checkout-address-selector__check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border: 1px solid var(--rw-color-border);
  border-radius: 50%;
  color: transparent;
  background: var(--rw-color-bg);
  transition: border-color var(--rw-transition), background-color var(--rw-transition), color var(--rw-transition);
}
.wcd-checkout .wcd-checkout-address-selector__check svg {
  width: 12px;
  height: 12px;
}
.wcd-checkout .wcd-checkout-address-selector__option.is-selected .wcd-checkout-address-selector__check,
.wcd-checkout .wcd-checkout-address-selector__option:has(.wcd-checkout-address-selector__input:checked) .wcd-checkout-address-selector__check {
  border-color: var(--rw-color-accent);
  color: var(--rw-color-bg);
  background: var(--rw-color-accent);
}
.wcd-checkout .wcd-checkout-address-selector__content {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-1);
  min-width: 0;
}
.wcd-checkout .wcd-checkout-address-selector__title {
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-tight);
}
.wcd-checkout .wcd-checkout-address-selector__lines {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.wcd-checkout .wcd-checkout-address-selector__line {
  display: -webkit-box;
  overflow: hidden;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs);
  line-height: var(--rw-line-height-base);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.wcd-checkout .wcd-checkout-address-summary {
  margin-bottom: var(--rw-space-4);
  padding: var(--rw-space-4);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}
.wcd-checkout .wcd-checkout-address-summary[hidden] {
  display: none !important;
}
.wcd-checkout .wcd-checkout-address-summary__label {
  margin: 0 0 var(--rw-space-2);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-semibold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.wcd-checkout .wcd-checkout-address-summary__body p {
  margin: 0;
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
}
.wcd-checkout .wcd-checkout-address-summary__body p + p {
  margin-top: 0.125rem;
}
.wcd-checkout .wcd-checkout-address-label-field {
  position: relative;
  margin-bottom: var(--rw-space-4);
}
.wcd-checkout .wcd-checkout-address-label-field[hidden] {
  display: none !important;
}
.wcd-checkout .wcd-checkout-address-label-field__label {
  position: absolute;
  top: 0;
  left: var(--rw-space-3);
  z-index: 1;
  margin-bottom: 0;
  padding: 0 var(--rw-space-1);
  background: var(--rw-color-bg);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-normal);
  color: var(--rw-color-text-muted);
  line-height: 1.2;
  transform: translateY(-50%);
}
.wcd-checkout .wcd-checkout-address-label-field:focus-within .wcd-checkout-address-label-field__label {
  color: var(--rw-color-accent);
}
.wcd-checkout .wcd-checkout-address-label-field__input {
  width: 100%;
  min-height: 50px;
  padding: 1.125rem var(--rw-space-3) 0.625rem;
  font-size: var(--rw-font-size-base);
  color: var(--rw-color-primary);
}
.wcd-checkout .wcd-checkout-customer__billing.is-saved-address-selected .wcd-checkout-address-summary,
.wcd-checkout .wcd-checkout-customer__shipping.is-saved-address-selected .wcd-checkout-address-summary {
  display: none;
}
.wcd-checkout .wcd-checkout-customer__billing.is-saved-address-selected .woocommerce-billing-fields > h3,
.wcd-checkout .wcd-checkout-customer__billing.is-saved-address-selected .woocommerce-billing-fields__field-wrapper {
  display: none;
}
.wcd-checkout .wcd-checkout-customer__shipping.is-saved-address-selected .woocommerce-shipping-fields__field-wrapper {
  display: none;
}
.wcd-checkout .wcd-checkout-customer__billing.is-new-address-selected .wcd-checkout-address-label-field,
.wcd-checkout .wcd-checkout-customer__shipping.is-new-address-selected .wcd-checkout-address-label-field {
  display: block;
}

@media (max-width: 1023px) {
  .wcd-checkout .wcd-checkout-address-selector__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .wcd-checkout .wcd-checkout-address-selector__list {
    grid-template-columns: minmax(0, 1fr);
  }
}
/**
 * Personal data form block styles.
 */
.rw-personal-data-form {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-5);
}

.rw-account-panel__content > .rw-personal-data-form:first-child {
  margin-top: calc(var(--rw-space-2) * -1);
}

.rw-personal-data-form__notice {
  display: none;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rw-space-5);
  padding: var(--rw-space-4) var(--rw-space-5);
  background: var(--rw-color-primary-light);
  border-left: 4px solid var(--rw-color-primary);
  border-radius: var(--rw-radius-md);
}

.rw-personal-data-form__notice-text {
  margin: 0;
  flex: 1;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-navy);
}

.rw-personal-data-form__notice-link {
  flex-shrink: 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-primary);
  text-decoration: none;
  white-space: nowrap;
}
.rw-personal-data-form__notice-link:hover, .rw-personal-data-form__notice-link:focus-visible {
  text-decoration: underline;
}

.rw-personal-data-form__form {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-5);
  padding: var(--rw-space-6);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-personal-data-form__label,
.rw-personal-data-form__form label:not(.rw-personal-data-form__radio) {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text);
}
.rw-personal-data-form__label .required,
.rw-personal-data-form__form label:not(.rw-personal-data-form__radio) .required {
  color: var(--rw-color-primary);
}

.rw-personal-data-form__section {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-5);
  padding-top: var(--rw-space-6);
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-personal-data-form__section-title {
  margin: 0;
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text);
}

.rw-personal-data-form__salutation {
  margin: 0;
  padding: 0;
  border: 0;
}

.rw-personal-data-form__salutation-options {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-4) var(--rw-space-6);
}

.rw-personal-data-form__form .rw-personal-data-form__radio {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  margin: 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  line-height: 1;
  color: var(--rw-color-text);
  cursor: pointer;
}
.rw-personal-data-form__form .rw-personal-data-form__radio input[type=radio] {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: var(--rw-color-primary);
}

.rw-personal-data-form__grid {
  display: grid;
  gap: var(--rw-space-4);
}

.rw-personal-data-form__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: visible;
}

.rw-personal-data-form__vat-field {
  overflow: visible;
}

.wsh-company-check__input-wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  overflow: visible;
}

.rw-personal-data-form__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rw-personal-data-form__grid--address {
  grid-template-columns: minmax(0, 2fr) minmax(0, 0.75fr) minmax(0, 0.75fr);
}

.rw-personal-data-form__form .form-row {
  margin: 0;
}

.rw-personal-data-form__form .input-text,
.rw-personal-data-form__form select.input-text {
  width: 100%;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  font-family: inherit;
  font-size: var(--rw-font-size-base);
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-text);
}

.rw-personal-data-form__form input[type=date].input-text {
  min-height: 44px;
  -webkit-appearance: none;
  appearance: none;
}

.rw-personal-data-form__form input[type=date].input-text::-webkit-date-and-time-value {
  text-align: left;
}

.rw-personal-data-form__vat-input-wrap {
  position: relative;
  display: block;
}

.rw-personal-data-form__vat-input-wrap.has-vat-badge .input-text {
  padding-right: 10.5rem;
}

.rw-personal-data-form__vat-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-1);
  font-size: 11px;
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1.2;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  right: var(--rw-space-3);
  z-index: 1;
  transform: translateY(-50%);
  padding: var(--rw-space-1) var(--rw-space-2);
  border-radius: var(--rw-radius-full, 999px);
  pointer-events: none;
}

.rw-personal-data-form__vat-badge--verified {
  color: #1f7a42;
  background: #e8f7ee;
}

.rw-personal-data-form__vat-badge--invalid {
  color: #b45309;
  background: #fff4e5;
}

.rw-personal-data-form__vat-badge-icon svg {
  display: block;
  width: 0.875rem;
  height: 0.875rem;
}

.rw-personal-data-form__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-3);
  margin: var(--rw-space-2) 0 0;
}

.rw-personal-data-form__login-notice {
  margin: 0;
  padding: var(--rw-space-5);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-personal-data-form--editor .rw-personal-data-form__form--preview {
  pointer-events: none;
}

.rw-personal-data-form__preview-input {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-3);
  min-height: 2.75rem;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-text);
}

@media (max-width: 991px) {
  .rw-personal-data-form__grid--3,
  .rw-personal-data-form__grid--address {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rw-personal-data-form__field-street {
    grid-column: 1/-1;
  }
}
@media (max-width: 767px) {
  .rw-personal-data-form__notice {
    flex-direction: column;
    align-items: stretch;
  }
  .rw-personal-data-form__grid--2,
  .rw-personal-data-form__grid--3,
  .rw-personal-data-form__grid--address {
    grid-template-columns: 1fr;
  }
  .rw-personal-data-form__field-street {
    grid-column: auto;
  }
  .rw-personal-data-form__salutation-options {
    flex-direction: column;
    align-items: flex-start;
  }
  .rw-personal-data-form__form {
    padding: var(--rw-space-4);
  }
}
/**
 * Company Check badge and mismatch feedback.
 */
.wsh-company-check__input-wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  overflow: visible;
}

.wsh-company-check__input-wrap .input-text,
.wsh-company-check__input-wrap .woocommerce-Input {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  box-sizing: border-box;
}

.wsh-company-check__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
  font-size: 11px;
  font-weight: var(--rw-font-weight-semibold, 600);
  line-height: 1.2;
  white-space: nowrap;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
}

.wsh-company-check__badge--verified {
  color: #1f7a42;
  background: #e8f7ee;
}

.wsh-company-check__badge--pending {
  color: #1d4ed8;
  background: #eff6ff;
}

.wsh-company-check__badge--review,
.wsh-company-check__badge--invalid {
  color: #b45309;
  background: #fff4e5;
}

.wsh-company-check__badge--error {
  color: #57534e;
  background: #f5f5f4;
}

.wsh-company-check__field-status {
  display: block;
  margin-top: 0.35rem;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}

.wsh-company-check__field-status--match {
  display: none !important;
}

.wsh-company-check__field-status--mismatch {
  color: #b45309;
}

.wsh-company-check__feedback {
  margin: 0.75rem 0 0;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  background: #fff4e5;
  color: #92400e;
  font-size: 13px;
  line-height: 1.45;
}

.wsh-company-check__reasons {
  margin: 0;
  padding-left: 1.1rem;
}

.wsh-company-check__hints {
  margin: 0.4rem 0 0;
}

.wsh-company-check__badge.is-empty,
.wsh-company-check__feedback.is-empty,
.wsh-company-check__field-status.is-empty,
.wsh-company-check__badge:empty,
.wsh-company-check__feedback:empty,
.wsh-company-check__field-status:empty {
  display: none;
}

.rw-account-details__field-value {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.rw-account-dashboard__meta .wsh-company-check__badge {
  margin-left: 0.5rem;
  vertical-align: middle;
}

.rw-auth-phone {
  display: block;
  position: relative;
  width: 100%;
}

.rw-auth-phone__control {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
  transition: border-color var(--rw-transition), box-shadow var(--rw-transition);
}

.rw-auth-phone:focus-within .rw-auth-phone__control,
.rw-auth-phone__control:focus-within {
  border-color: var(--rw-color-brand);
  box-shadow: 0 0 0 3px rgba(0, 68, 241, 0.12);
}

.rw-auth-phone.is-invalid .rw-auth-phone__control {
  border-color: var(--rw-color-error, #d63638);
  box-shadow: 0 0 0 3px rgba(214, 54, 56, 0.12);
}

.rw-auth-phone__country {
  position: relative;
  flex: 0 0 auto;
}

.rw-auth-phone__country-trigger {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-1);
  height: 100%;
  padding: 0 var(--rw-space-3);
  border: 0;
  border-right: 1px solid var(--rw-color-border);
  border-radius: calc(var(--rw-radius-md) - 1px) 0 0 calc(var(--rw-radius-md) - 1px);
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-text);
  font-family: inherit;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  cursor: pointer;
  white-space: nowrap;
}

.rw-auth-phone__country-trigger:hover,
.rw-auth-phone__country-trigger:focus-visible {
  background: var(--rw-color-bg);
  outline: none;
}

.rw-auth-phone__country-trigger:focus-visible {
  box-shadow: inset 0 0 0 2px var(--rw-color-brand);
}

.rw-auth-phone__country-code {
  line-height: 1;
}

.rw-auth-phone__chevron {
  display: inline-flex;
  align-items: center;
  color: var(--rw-color-text-muted);
}

.rw-auth-phone__chevron svg {
  display: block;
  width: 1rem;
  height: 1rem;
}

.rw-auth-phone__dropdown {
  position: absolute;
  top: calc(100% + var(--rw-space-1));
  left: 0;
  z-index: 30;
  width: min(20rem, 100vw - 2rem);
  padding: var(--rw-space-2);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
  box-shadow: var(--rw-shadow-md, 0 8px 24px rgba(0, 0, 0, 0.12));
}

.rw-auth-phone__search-wrap {
  margin-bottom: var(--rw-space-2);
}

.rw-auth-phone__search {
  width: 100%;
  padding: var(--rw-space-2) var(--rw-space-3);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-sm);
  font-family: inherit;
  font-size: var(--rw-font-size-sm);
}

.rw-auth-phone__search:focus-visible {
  border-color: var(--rw-color-brand);
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 68, 241, 0.12);
}

.rw-auth-phone__country-list {
  max-height: 14rem;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-y: auto;
}

.rw-auth-phone__country-option {
  padding: var(--rw-space-2) var(--rw-space-3);
  border-radius: var(--rw-radius-sm);
  font-size: var(--rw-font-size-sm);
  cursor: pointer;
}

.rw-auth-phone__country-option:hover,
.rw-auth-phone__country-option.is-active {
  background: var(--rw-color-bg-alt);
}

.rw-auth-phone__country-option--separator-before {
  margin-top: var(--rw-space-2);
  border-top: 1px solid var(--rw-color-border);
  padding-top: calc(var(--rw-space-2) + var(--rw-space-2));
}

.rw-auth-phone__no-results {
  margin: 0;
  padding: var(--rw-space-2) var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-auth-phone__field {
  display: flex;
  flex: 1;
  align-items: center;
  min-width: 0;
  border-radius: 0 calc(var(--rw-radius-md) - 1px) calc(var(--rw-radius-md) - 1px) 0;
  overflow: hidden;
}

.rw-auth-phone__dial-code {
  flex: 0 0 auto;
  padding-left: var(--rw-space-3);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  white-space: nowrap;
  user-select: none;
}

.rw-auth-phone__input {
  flex: 1;
  min-width: 0;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding-left: var(--rw-space-2) !important;
}

.rw-auth-phone__error {
  display: block;
  margin-top: var(--rw-space-2);
  color: var(--rw-color-error, #d63638);
  font-size: var(--rw-font-size-sm);
}
.rw-auth-phone__error[hidden] {
  display: none !important;
}

.rw-auth-phone__dropdown[hidden] {
  display: none !important;
}

.rw-personal-data-form__form .rw-auth-phone__control {
  background: var(--rw-color-bg-alt);
}

@media (max-width: 480px) {
  .rw-auth-phone__dropdown {
    width: min(18rem, 100vw - 2rem);
  }
}
/**
 * Info icon with styled tooltip bubble.
 */
.rw-info-tooltip {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  vertical-align: middle;
}

.rw-info-tooltip__trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  padding: 0;
  color: var(--rw-color-text-muted);
  background: none;
  border: 0;
  cursor: help;
}
.rw-info-tooltip__trigger svg {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
}

.rw-info-tooltip__content {
  position: absolute;
  top: 50%;
  left: calc(100% + 0.625rem);
  z-index: 30;
  width: max-content;
  max-width: 16rem;
  padding: var(--rw-space-3) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-normal);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
  text-align: left;
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  box-shadow: var(--rw-shadow-sm);
  transform: translateY(-50%);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}
.rw-info-tooltip__content::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -6px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-right: 6px solid var(--rw-color-bg-alt);
  border-bottom: 6px solid transparent;
  transform: translateY(-50%);
}
.rw-info-tooltip__content::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -7px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-right: 7px solid var(--rw-color-border-light);
  border-bottom: 7px solid transparent;
  transform: translateY(-50%);
  z-index: -1;
}

.rw-info-tooltip:hover .rw-info-tooltip__content,
.rw-info-tooltip:focus-within .rw-info-tooltip__content,
.rw-info-tooltip.is-open .rw-info-tooltip__content {
  visibility: visible;
  opacity: 1;
}

.rw-info-tooltip--editor-preview .rw-info-tooltip__trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  color: var(--rw-color-text-muted);
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 0.75rem;
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1;
}
.rw-info-tooltip--editor-preview .rw-info-tooltip__trigger::before {
  content: "?";
}

@media (max-width: 767px) {
  .rw-info-tooltip__content {
    left: auto;
    right: 0;
    top: calc(100% + 0.625rem);
    transform: none;
  }
  .rw-info-tooltip__content::before, .rw-info-tooltip__content::after {
    top: -6px;
    left: auto;
    right: 0.375rem;
    transform: none;
    border-top: none;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-bottom: 6px solid var(--rw-color-bg-alt);
  }
  .rw-info-tooltip__content::after {
    top: -7px;
    border-right-width: 7px;
    border-left-width: 7px;
    border-bottom-width: 7px;
    border-bottom-color: var(--rw-color-border-light);
  }
}
/**
 * Inloggegevens wijzigen block styles.
 */
.rw-account-login-details {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-6);
}

.rw-account-panel__content > .rw-account-login-details:first-child {
  margin-top: calc(var(--rw-space-2) * -1);
}

.rw-account-login-details__intro {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-account-login-details__sections {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-6);
}

.rw-account-login-details__section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-bottom: 0;
  padding: 15px;
  border-bottom: 1px solid lightgrey;
  overflow: visible;
}

.rw-account-login-details__section > :not(.rw-account-login-details__section-header) {
  padding: 15px;
}

.rw-account-login-details__section-heading {
  display: flex;
  align-items: center;
  gap: var(--rw-space-2);
  min-width: 0;
  overflow: visible;
}

.rw-account-login-details__current-email {
  margin: 0 0 var(--rw-space-4);
  padding: var(--rw-space-3) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-navy);
  background: var(--rw-color-primary-light);
  border-radius: var(--rw-radius-md);
}
.rw-account-login-details__current-email strong {
  font-weight: var(--rw-font-weight-semibold);
}

.rw-account-login-details__form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-4);
}

.rw-account-login-details__form-grid--triple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rw-account-login-details__form .form-row {
  margin: 0;
}
.rw-account-login-details__form label {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
}
.rw-account-login-details__form .input-text {
  width: 100%;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  font-family: inherit;
  font-size: var(--rw-font-size-base);
  background: var(--rw-color-bg-alt);
}

.rw-account-login-details__form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-3);
  margin: var(--rw-space-5) 0 0;
}

.rw-account-login-details__login-notice {
  margin: 0;
  padding: var(--rw-space-5);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

@media (max-width: 991px) {
  .rw-account-login-details__form-grid--triple {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .rw-account-login-details__form-grid,
  .rw-account-login-details__form-grid--triple {
    grid-template-columns: 1fr;
  }
}
/**
 * Voorkeuren block styles.
 */
.rw-account-preferences {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-6);
}

.rw-account-panel__content > .rw-account-preferences:first-child {
  margin-top: calc(var(--rw-space-2) * -1);
}

.rw-account-preferences__intro {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-account-preferences__status {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-3);
}

.rw-account-preferences__status[hidden] {
  display: none;
}

.rw-account-preferences__notice {
  margin: 0;
  padding: var(--rw-space-3) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  border-radius: var(--rw-radius-md);
  border: 1px solid var(--rw-color-border-light);
}

.rw-account-preferences__notice[hidden] {
  display: none;
}

.rw-account-preferences__notice--info {
  color: var(--rw-color-navy);
  background: var(--rw-color-bg-alt);
}

.rw-account-preferences__notice--error {
  color: var(--rw-color-navy);
  background: var(--rw-color-bg-alt);
  border-color: var(--rw-color-border);
}

.rw-account-preferences__items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.rw-account-preferences__item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rw-space-6);
  padding: var(--rw-space-5) 0;
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-account-preferences__item-content {
  min-width: 0;
  flex: 1;
}

.rw-account-preferences__item-title {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-md);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-account-preferences__item-description {
  margin: 0;
  max-width: 42rem;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-account-preferences__toggle {
  flex-shrink: 0;
  margin-top: 0.15rem;
}

.rw-account-preferences__toggle--loading {
  opacity: 0.55;
  pointer-events: none;
  cursor: wait;
}

.rw-auth-toggle--disabled {
  cursor: not-allowed;
  pointer-events: none;
  user-select: none;
}
.rw-auth-toggle--disabled .rw-auth-toggle__track {
  background: var(--rw-color-toggle-track);
  border: 1px solid var(--rw-color-border-light);
  opacity: 0.72;
}
.rw-auth-toggle--disabled .rw-auth-toggle__knob {
  background: var(--rw-color-bg-alt);
  box-shadow: none;
}
.rw-auth-toggle--disabled .rw-auth-toggle__input:checked + .rw-auth-toggle__track, .rw-auth-toggle--disabled.rw-auth-toggle--is-on .rw-auth-toggle__track {
  background: var(--rw-color-toggle-track);
}
.rw-auth-toggle--disabled .rw-auth-toggle__input:checked + .rw-auth-toggle__track .rw-auth-toggle__knob, .rw-auth-toggle--disabled.rw-auth-toggle--is-on .rw-auth-toggle__knob {
  transform: translateX(1.25rem);
}
.rw-auth-toggle--disabled .rw-auth-toggle__input:focus-visible + .rw-auth-toggle__track {
  box-shadow: none;
}

.rw-account-preferences__login-notice {
  margin: 0;
  padding: var(--rw-space-5);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-account-preferences__editor-note {
  margin: 0 0 var(--rw-space-4);
  padding: var(--rw-space-3) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border: 1px dashed var(--rw-color-border);
  border-radius: var(--rw-radius-md);
}

@media (max-width: 640px) {
  .rw-account-preferences__item {
    flex-direction: column;
    align-items: stretch;
  }
}
/**
 * Account orders block styles.
 */
.rw-account-orders__intro {
  margin: 0 0 var(--rw-space-5);
  color: var(--rw-color-text-muted);
  line-height: var(--rw-line-height-normal);
}

.rw-account-orders__login-notice {
  margin: 0;
  padding: var(--rw-space-4);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-subtle);
  border-radius: var(--rw-radius-md);
}

.rw-account-orders__list-wrap {
  margin-top: var(--rw-space-2);
}

.rw-account-orders .rw-recent-orders__list,
.rw-account-orders-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-account-orders .rw-recent-orders__item,
.rw-account-orders-list .rw-recent-orders__item {
  padding: var(--rw-space-4) 0;
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-account-orders .rw-recent-orders__item:first-child,
.rw-account-orders-list .rw-recent-orders__item:first-child {
  padding-top: 0;
  border-top: 0;
}

.rw-account-orders--editor .rw-account-orders__editor-note {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-account-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-top: var(--rw-space-5);
  padding-top: var(--rw-space-4);
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-account-pagination__summary {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-account-pagination__controls {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-3);
}

.rw-account-pagination__link {
  display: inline-flex;
  align-items: center;
  padding: var(--rw-space-2) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-navy);
  text-decoration: none;
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  transition: border-color var(--rw-transition), box-shadow var(--rw-transition);
}

.rw-account-pagination__link:hover,
.rw-account-pagination__link:focus-visible {
  border-color: var(--rw-color-border);
  box-shadow: var(--rw-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
  text-decoration: none;
}

/**
 * WCD niveau block — loyalty level dashboard for My Account.
 */
.rw-wcd-niveau {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-6);
  color: var(--rw-color-navy);
}

.rw-wcd-niveau__card {
  padding: var(--rw-space-6);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  box-shadow: var(--rw-shadow-sm);
}

.rw-wcd-niveau__card--accent {
  background: linear-gradient(180deg, var(--rw-color-highlight-bg) 0%, var(--rw-color-bg) 100%);
  border-color: rgba(0, 68, 241, 0.12);
}

.rw-wcd-niveau__notice {
  margin: 0;
  padding: var(--rw-space-5);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-wcd-niveau__editor-note {
  margin: 0 0 var(--rw-space-4);
  padding: var(--rw-space-3) var(--rw-space-4);
  font-size: var(--rw-font-size-xs);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border-left: 3px solid var(--rw-color-navy);
}

.rw-wcd-niveau__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: var(--rw-space-6);
  align-items: stretch;
  padding-bottom: var(--rw-space-2);
}

.rw-wcd-niveau__intro {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
  min-width: 0;
}

.rw-wcd-niveau__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-3);
}

.rw-wcd-niveau__title {
  margin: 0;
  font-size: clamp(1.625rem, 2.5vw, 2rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  letter-spacing: -0.02em;
  color: var(--rw-color-navy);
}

.rw-wcd-niveau__stars {
  flex-shrink: 0;
}

.rw-wcd-niveau__description {
  max-width: 42rem;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-wcd-niveau__description:empty {
  display: none;
}

.rw-wcd-niveau__header-button {
  align-self: flex-start;
  gap: var(--rw-space-2);
  padding: 0.625rem var(--rw-space-4);
  font-size: 0.8125rem;
  border-radius: 6px;
}

.rw-wcd-niveau__savings {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--rw-space-2);
  min-height: 100%;
  padding: var(--rw-space-6) var(--rw-space-5);
  text-align: center;
  background: linear-gradient(145deg, var(--rw-color-primary-light) 0%, var(--rw-color-bg-alt) 100%);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  box-shadow: var(--rw-shadow-sm);
}

.rw-wcd-niveau__savings-intro,
.rw-wcd-niveau__savings-outro {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
}

.rw-wcd-niveau__savings-amount {
  margin: 0;
  font-size: clamp(1.875rem, 3.5vw, 2.5rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  letter-spacing: -0.03em;
  color: var(--rw-color-navy);
}

.rw-wcd-niveau__savings-amount .woocommerce-Price-amount {
  color: inherit;
}

.rw-wcd-niveau__section-title {
  margin: 0;
  font-size: var(--rw-font-size-md);
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-wcd-niveau__current-benefits .rw-wcd-niveau__section-title,
.rw-wcd-niveau__progress .rw-wcd-niveau__section-title {
  margin-bottom: var(--rw-space-5);
}

.rw-wcd-niveau__benefits-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-wcd-niveau__benefits-list--next {
  margin-top: var(--rw-space-5);
}

.rw-wcd-niveau__benefit {
  display: flex;
  align-items: flex-start;
  gap: var(--rw-space-3);
  padding: var(--rw-space-3) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-wcd-niveau__card--accent .rw-wcd-niveau__benefit {
  background: rgba(255, 255, 255, 0.72);
}

.rw-wcd-niveau__benefit-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.375rem;
  height: 1.375rem;
  margin-top: 0.0625rem;
  color: var(--rw-color-navy);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-full);
}

.rw-wcd-niveau__benefit-icon svg {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
}

/* Progress card */
.rw-wcd-niveau__progress-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-bottom: var(--rw-space-5);
}

.rw-wcd-niveau__progress-top .rw-wcd-niveau__section-title {
  margin-bottom: 0;
  max-width: 28rem;
}

.rw-wcd-niveau__progress-badge {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  padding: 0.375rem 0.75rem;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
  line-height: 1;
  color: var(--rw-color-navy);
  background: var(--rw-color-highlight-bg);
  border: 1px solid rgba(0, 68, 241, 0.15);
  border-radius: var(--rw-radius-full);
}

.rw-wcd-niveau__progress-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
}

.rw-wcd-niveau__progress-bar {
  position: relative;
  height: 12px;
  overflow: hidden;
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-full);
  box-shadow: inset 0 1px 2px rgba(6, 15, 31, 0.06);
}

.rw-wcd-niveau__progress-fill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--rw-color-navy) 0%, var(--rw-color-brand) 100%);
  border-radius: inherit;
  box-shadow: 0 1px 4px rgba(0, 68, 241, 0.25);
  transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.rw-wcd-niveau__progress-meta {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--rw-space-4);
}

.rw-wcd-niveau__progress-amounts {
  display: flex;
  align-items: baseline;
  gap: var(--rw-space-2);
}

.rw-wcd-niveau__progress-spent {
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--rw-color-navy);
}

.rw-wcd-niveau__progress-separator {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text-muted);
}

.rw-wcd-niveau__progress-goal {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text-muted);
}

.rw-wcd-niveau__progress-remaining {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
  text-align: right;
}

.rw-wcd-niveau__next-tier-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-bottom: var(--rw-space-2);
}

.rw-wcd-niveau__next-tier-header .rw-wcd-niveau__section-title {
  margin-bottom: 0;
}

.rw-wcd-niveau__next-tier-button {
  flex-shrink: 0;
  gap: var(--rw-space-2);
  padding: 0.625rem var(--rw-space-4);
  font-size: 0.8125rem;
  border-radius: 6px;
}

.rw-wcd-niveau__next-tier-description {
  max-width: 42rem;
  margin-top: var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-wcd-niveau__next-tier-description:empty {
  display: none;
}

.rw-wcd-niveau__button-icon {
  display: inline-flex;
  align-items: center;
}

.rw-wcd-niveau__button-icon svg {
  width: 1em;
  height: 1em;
}

@media (max-width: 768px) {
  .rw-wcd-niveau__header {
    grid-template-columns: minmax(0, 1fr);
  }
  .rw-wcd-niveau__card {
    padding: var(--rw-space-5);
  }
  .rw-wcd-niveau__benefits-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .rw-wcd-niveau__next-tier-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .rw-wcd-niveau__progress-meta {
    flex-direction: column;
    align-items: flex-start;
  }
  .rw-wcd-niveau__progress-remaining {
    text-align: left;
  }
}
/**
 * Monthly cashback progress for the logged-in customer.
 */
.rw-cashback-progress {
  padding: var(--rw-space-6);
  color: var(--rw-color-text);
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-md);
}

.rw-cashback-progress__title {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-cashback-progress__panel {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: var(--rw-space-6);
  align-items: center;
  padding: var(--rw-space-4) var(--rw-space-5);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-sm);
}

.rw-cashback-progress__stats {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
  min-width: 0;
}

.rw-cashback-progress__spent,
.rw-cashback-progress__credit,
.rw-cashback-progress__target,
.rw-cashback-progress__remaining,
.rw-cashback-progress__top,
.rw-cashback-progress__footer {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
}

.rw-cashback-progress__progress {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
  min-width: 0;
}

.rw-cashback-progress__track {
  display: flex;
  align-items: center;
  gap: var(--rw-space-4);
  min-width: 0;
}

.rw-cashback-progress__bar {
  flex: 1 1 auto;
  height: 22px;
  overflow: hidden;
  background: #e4e4e4;
  border-radius: 2px;
}

.rw-cashback-progress__fill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--rw-color-navy) 0%, var(--rw-color-brand) 100%);
}

.rw-cashback-progress__target {
  flex: 0 1 auto;
  white-space: nowrap;
}

.rw-cashback-progress__footer {
  margin-top: var(--rw-space-4);
}

.rw-cashback-progress__notice,
.rw-cashback-progress__editor-note {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-cashback-progress__editor-note {
  margin-bottom: var(--rw-space-4);
  padding: var(--rw-space-3) var(--rw-space-4);
  background: var(--rw-color-bg);
  border-left: 3px solid var(--rw-color-navy);
}

@media (max-width: 768px) {
  .rw-cashback-progress__panel {
    grid-template-columns: 1fr;
  }
  .rw-cashback-progress__track {
    flex-wrap: wrap;
  }
  .rw-cashback-progress__bar {
    flex-basis: 100%;
  }
  .rw-cashback-progress__target {
    white-space: normal;
  }
}
/**
 * Odoo order detail (My Account wireframe)
 */
.rw-account-order-detail {
  --rw-order-detail-meta-bg: #f3f4f6;
  padding-top: var(--rw-space-2);
}

.rw-account-order-detail__back {
  margin: 0 0 var(--rw-space-6);
}

.rw-account-order-detail__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rw-space-6);
  margin-bottom: var(--rw-space-8);
}

.rw-account-order-detail__title {
  flex: 1 1 auto;
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-account-order-detail__actions {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--rw-space-3);
  max-width: min(100%, 22rem);
}

.rw-account-order-detail__action {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--rw-space-2);
  width: fit-content;
  max-width: 100%;
  text-align: right;
}

.rw-account-order-detail__action--invoice {
  white-space: nowrap;
}

.rw-account-order-detail__action--link {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  line-height: 1.4;
  color: var(--rw-color-brand);
  text-decoration: none;
  transition: color var(--rw-transition);
}
.rw-account-order-detail__action--link:hover, .rw-account-order-detail__action--link:focus-visible {
  color: var(--rw-color-brand-hover);
  text-decoration: underline;
}
.rw-account-order-detail__action--link svg {
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.rw-account-order-detail__meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rw-space-6);
  margin-bottom: var(--rw-space-10);
  padding: var(--rw-space-6);
  background: var(--rw-order-detail-meta-bg);
  border-radius: var(--rw-radius-lg);
}

.rw-account-order-detail__meta-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--rw-space-2);
  min-width: 0;
}

.rw-account-order-detail__meta-line {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: 1.5;
  color: var(--rw-color-text);
}

.rw-account-order-detail__status {
  margin-top: var(--rw-space-2);
}

.rw-account-order-detail__track-link {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.rw-account-order-detail__track-link:hover, .rw-account-order-detail__track-link:focus-visible {
  color: var(--rw-color-brand);
}

.rw-account-order-detail__delivery-line {
  display: inline-flex;
  align-items: flex-start;
  gap: var(--rw-space-2);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-navy);
}

.rw-account-order-detail__delivery-icon {
  display: inline-flex;
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--rw-color-brand);
}
.rw-account-order-detail__delivery-icon svg {
  display: block;
  width: 16px;
  height: 16px;
}

.rw-account-order-detail__track-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  margin-top: var(--rw-space-2);
}

.rw-account-order-detail__address-title {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-account-order-detail__address {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: 1.5;
  color: var(--rw-color-text);
}

.rw-account-order-detail__items {
  margin-bottom: var(--rw-space-8);
}

.rw-account-order-detail__items-title {
  margin: 0 0 var(--rw-space-5);
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-account-order-detail__items-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-account-order-detail__item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: var(--rw-space-4);
  align-items: start;
  padding: var(--rw-space-5) 0;
  border-top: 1px solid var(--rw-color-border-light);
}
.rw-account-order-detail__item:last-child {
  border-bottom: 1px solid var(--rw-color-border-light);
}

.rw-account-order-detail__item--linked .rw-account-order-detail__item-link {
  display: flex;
  grid-column: 1/3;
  align-items: flex-start;
  gap: var(--rw-space-4);
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.rw-account-order-detail__item--linked .rw-account-order-detail__item-link:hover .rw-account-order-detail__item-name, .rw-account-order-detail__item--linked .rw-account-order-detail__item-link:focus-visible .rw-account-order-detail__item-name {
  color: var(--rw-color-brand);
  text-decoration: underline;
}
.rw-account-order-detail__item--linked .rw-account-order-detail__item-image {
  flex: 0 0 72px;
}

.rw-account-order-detail__item--delivery .rw-account-order-detail__item-name {
  color: var(--rw-color-text);
}

.rw-account-order-detail__item-image img {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: contain;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}

.rw-account-order-detail__item-body {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
  min-width: 0;
}

.rw-account-order-detail__item-attributes {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}
.rw-account-order-detail__item-attributes li + li {
  margin-top: 2px;
}

.rw-account-order-detail__item-attribute {
  display: block;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-account-order-detail__item-name {
  display: block;
  font-size: var(--rw-font-size-md);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
  text-decoration: none;
}

.rw-account-order-detail__item-price {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
  white-space: nowrap;
}

.rw-account-order-detail__totals-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--rw-space-4);
  margin-bottom: var(--rw-space-12);
}

.rw-account-order-detail__totals {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
  width: min(100%, 320px);
  margin: 0 0 0 auto;
}

.rw-account-order-detail__total-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin: 0;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text);
}
.rw-account-order-detail__total-row dt,
.rw-account-order-detail__total-row dd {
  margin: 0;
}

.rw-account-order-detail__grand-total {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: var(--rw-space-4);
  padding-top: var(--rw-space-4);
  border-top: 1px solid var(--rw-color-border);
}

.rw-account-order-detail__grand-total-label,
.rw-account-order-detail__grand-total-value {
  font-size: var(--rw-font-size-md);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-account-order-detail__footer-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--rw-space-3);
}

.rw-account-order-detail__footer-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
}

.rw-account-order-detail__policy {
  margin: 0;
  text-align: right;
}

.rw-account-order-detail__policy-link {
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.rw-account-order-detail__policy-link:hover, .rw-account-order-detail__policy-link:focus-visible {
  color: var(--rw-color-brand);
}

.rw-account-order-detail__cross-sells {
  margin-bottom: var(--rw-space-6);
}

.rw-account-order-detail__cross-sells-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-bottom: var(--rw-space-6);
}

.rw-account-order-detail__cross-sells-title {
  margin: 0;
  font-size: var(--rw-font-size-xl);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-account-order-detail__cross-sells-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rw-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 960px) {
  .rw-account-order-detail__meta-grid {
    grid-template-columns: 1fr;
  }
  .rw-account-order-detail__cross-sells-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .rw-account-order-detail__header {
    flex-direction: column;
    align-items: stretch;
  }
  .rw-account-order-detail__actions {
    align-items: flex-start;
    max-width: none;
  }
  .rw-account-order-detail__action {
    justify-content: flex-start;
    text-align: left;
  }
  .rw-account-order-detail__item {
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-areas: "image body" "price price";
  }
  .rw-account-order-detail__item--linked .rw-account-order-detail__item-link {
    display: contents;
  }
  .rw-account-order-detail__item--linked .rw-account-order-detail__item-image {
    grid-area: image;
    flex: none;
  }
  .rw-account-order-detail__item-image {
    grid-area: image;
  }
  .rw-account-order-detail__item-image img {
    width: 56px;
    height: 56px;
  }
  .rw-account-order-detail__item-body {
    grid-area: body;
  }
  .rw-account-order-detail__item-price {
    grid-area: price;
    justify-self: end;
  }
  .rw-account-order-detail__totals {
    width: 100%;
    margin-left: 0;
  }
  .rw-account-order-detail__grand-total,
  .rw-account-order-detail__footer-actions,
  .rw-account-order-detail__policy {
    justify-content: flex-start;
    text-align: left;
  }
  .rw-account-order-detail__cross-sells-grid {
    grid-template-columns: 1fr;
  }
}
/**
 * Toast notices — WooCommerce success messages shown bottom right.
 * Enhanced by assets/js/notices.js; without JS the notice stays inline.
 */
.rw-toast-stack {
  position: fixed;
  right: var(--rw-space-6);
  bottom: var(--rw-space-6);
  z-index: 500;
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-3);
  width: min(380px, 100vw - var(--rw-space-8));
  margin: 0;
  padding: 0;
  pointer-events: none;
}

/* Keep clear of the sticky add-to-cart bar on product pages. */
body.rw-pdp-sticky-visible .rw-toast-stack {
  bottom: calc(88px + var(--rw-space-4));
}

@media (max-width: 767px) {
  .rw-toast-stack {
    right: var(--rw-space-4);
    bottom: var(--rw-space-4);
    left: var(--rw-space-4);
    width: auto;
  }
}
.woocommerce-message.rw-toast {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--rw-space-3);
  margin: 0;
  padding: var(--rw-space-4);
  overflow: hidden;
  color: var(--rw-color-text);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-left: 4px solid var(--rw-color-success);
  border-radius: var(--rw-radius-md);
  box-shadow: var(--rw-shadow-lg);
  opacity: 0;
  transform: translateY(12px) scale(0.98);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: auto;
}

.woocommerce-message.rw-toast.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.woocommerce-message.rw-toast.is-leaving {
  opacity: 0;
  transform: translateX(16px);
}

.rw-toast__icon {
  flex: 0 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  color: var(--rw-color-text-inverse);
  background: var(--rw-color-success);
  border-radius: var(--rw-radius-full);
}

.rw-toast__icon svg {
  width: 13px;
  height: 13px;
}

.rw-toast__body {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
  flex: 1;
  min-width: 0;
  padding-right: var(--rw-space-4);
}

.rw-toast__text {
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-navy);
  overflow-wrap: anywhere;
}

.rw-toast__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-2);
}

.rw-toast .rw-toast__actions a,
.rw-toast .rw-toast__actions .button {
  display: inline-flex;
  align-items: center;
  min-height: 0;
  padding: 0 !important;
  font-size: var(--rw-font-size-sm) !important;
  font-weight: var(--rw-font-weight-semibold) !important;
  color: var(--rw-color-brand) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.rw-toast .rw-toast__actions a:hover,
.rw-toast .rw-toast__actions .button:hover {
  color: var(--rw-color-brand-hover) !important;
  background: transparent !important;
}

.rw-toast__close {
  position: absolute;
  top: var(--rw-space-2);
  right: var(--rw-space-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  color: var(--rw-color-text-muted);
  background: transparent;
  border: none;
  border-radius: var(--rw-radius-full);
  cursor: pointer;
  transition: color var(--rw-transition), background-color var(--rw-transition);
}

.rw-toast__close:hover {
  color: var(--rw-color-navy);
  background: var(--rw-color-bg-alt);
}

.rw-toast__close svg {
  width: 12px;
  height: 12px;
}

.rw-toast__progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  transform-origin: left center;
  background: var(--rw-color-success);
  opacity: 0.35;
  animation: rw-toast-progress var(--rw-toast-duration, 5000ms) linear forwards;
}

.rw-toast.is-paused .rw-toast__progress {
  animation-play-state: paused;
}

@keyframes rw-toast-progress {
  from {
    transform: scaleX(1);
  }
  to {
    transform: scaleX(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .woocommerce-message.rw-toast {
    transition: opacity 0.01ms linear;
    transform: none;
  }
  .woocommerce-message.rw-toast.is-leaving {
    transform: none;
  }
  .rw-toast__progress {
    animation: none;
  }
}
/**
 * Vacatureoverzicht block + single vacature
 */
.rw-vacancies {
  margin-bottom: var(--rw-space-12);
}

.rw-vacancies .rw-vacancies {
  margin-bottom: 0;
}

.rw-vacancies__empty {
  margin: 0;
  color: var(--rw-color-text-muted);
}

.rw-vacancies__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--rw-space-6);
  align-items: stretch;
}

.rw-vacancies__item {
  display: flex;
  min-width: 0;
}

.rw-vacancies__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  background: var(--rw-color-bg);
  border-radius: var(--rw-radius-sm);
  box-shadow: 0 8px 28px rgba(6, 15, 31, 0.06);
  text-decoration: none;
  color: inherit;
  transition: transform var(--rw-transition), box-shadow var(--rw-transition);
}

a.rw-vacancies__card:hover,
a.rw-vacancies__card:focus-visible {
  text-decoration: none;
  color: inherit;
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(6, 15, 31, 0.12);
}

a.rw-vacancies__card:focus-visible {
  outline: 2px solid var(--rw-color-brand);
  outline-offset: 3px;
}

.rw-vacancies__media {
  position: relative;
  flex-shrink: 0;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--rw-color-bg-alt);
}

.rw-vacancies__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

a.rw-vacancies__card:hover .rw-vacancies__image,
a.rw-vacancies__card:focus-visible .rw-vacancies__image {
  transform: scale(1.04);
}

.rw-vacancies__media--fallback {
  background: radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.16), transparent 42%), linear-gradient(160deg, var(--rw-color-navy) 0%, #00264c 100%);
}

.rw-vacancies__media--fallback::before,
.rw-vacancies__media--fallback::after {
  content: "";
  position: absolute;
  border: 2px solid rgba(255, 255, 255, 0.28);
  pointer-events: none;
}

.rw-vacancies__media--fallback::before {
  top: 28%;
  right: -18%;
  width: 78%;
  height: 150%;
  border-radius: 80px 80px 0 0;
  border-bottom: 0;
}

.rw-vacancies__media--fallback::after {
  top: 46%;
  right: -8%;
  width: 58%;
  height: 120%;
  border-radius: 64px 64px 0 0;
  border-bottom: 0;
}

.rw-vacancies__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--rw-space-4);
  padding: var(--rw-space-8) var(--rw-space-6) var(--rw-space-6);
}

.rw-vacancies__title {
  margin: 0;
  font-size: clamp(1.25rem, 1.6vw, 1.5rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-vacancies__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  flex: 1 1 auto;
  margin: 0;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-vacancies__excerpt--rich p {
  margin: 0 0 var(--rw-space-3);
}

.rw-vacancies__excerpt--rich p:last-child {
  margin-bottom: 0;
}

.rw-vacancies__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-3);
  margin-top: var(--rw-space-4);
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-medium);
  line-height: 1;
  color: var(--rw-color-navy);
}

.rw-vacancies__action-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  transition: transform var(--rw-transition);
}

.rw-vacancies__action-icon svg {
  width: 18px;
  height: 18px;
}

a.rw-vacancies__card:hover .rw-vacancies__action-icon,
a.rw-vacancies__card:focus-visible .rw-vacancies__action-icon {
  transform: translateX(3px);
}

.rw-vacancies__card--cta {
  background: var(--rw-color-brand);
  color: var(--rw-color-text-inverse);
  box-shadow: 0 8px 28px rgba(0, 68, 241, 0.18);
}

.rw-vacancies__card--cta .rw-vacancies__media--fallback {
  background: radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.14), transparent 36%), linear-gradient(165deg, #3d6ff5 0%, var(--rw-color-brand) 48%, #0038cc 100%);
}

.rw-vacancies__card--cta .rw-vacancies__title,
.rw-vacancies__card--cta .rw-vacancies__excerpt,
.rw-vacancies__card--cta .rw-vacancies__excerpt--rich {
  color: var(--rw-color-text-inverse);
}

.rw-vacancies__cta-button {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: var(--rw-space-2);
  margin-top: var(--rw-space-4);
  padding: 0.7rem 1.15rem;
  background: var(--rw-color-bg);
  border-radius: var(--rw-radius-full);
  color: var(--rw-color-navy);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1;
  text-decoration: none;
  transition: background-color var(--rw-transition), transform var(--rw-transition);
}

.rw-vacancies__cta-button:hover,
.rw-vacancies__cta-button:focus-visible {
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-navy);
  text-decoration: none;
  transform: translateY(-1px);
}

.rw-vacancies__cta-button:hover .rw-vacancies__action-icon,
.rw-vacancies__cta-button:focus-visible .rw-vacancies__action-icon {
  transform: translateX(3px);
}

@media (min-width: 768px) {
  .rw-vacancies__grid {
    grid-template-columns: repeat(min(2, var(--rw-vacancies-cols, 2)), minmax(0, 1fr));
    gap: var(--rw-space-8);
  }
  .rw-vacancies__body {
    padding: var(--rw-space-8);
  }
}
@media (min-width: 1024px) {
  .rw-vacancies__grid {
    grid-template-columns: repeat(var(--rw-vacancies-cols, 2), minmax(0, 1fr));
  }
}
/* Single vacature */
.rw-vacancy {
  padding-top: var(--rw-space-6);
  padding-bottom: var(--rw-space-16);
}

.rw-vacancy__toolbar {
  margin-bottom: var(--rw-space-6);
}

.rw-vacancy__back {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  padding: 0.4rem 0.95rem 0.4rem 0.4rem;
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-full);
  color: var(--rw-color-navy);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(6, 15, 31, 0.04);
  transition: background-color var(--rw-transition), border-color var(--rw-transition), color var(--rw-transition), box-shadow var(--rw-transition), transform var(--rw-transition);
}

.rw-vacancy__back:hover,
.rw-vacancy__back:focus-visible {
  background: var(--rw-color-bg-alt);
  border-color: var(--rw-color-brand);
  color: var(--rw-color-brand);
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0, 68, 241, 0.1);
  transform: translateY(-1px);
}

.rw-vacancy__back:focus-visible {
  outline: 2px solid var(--rw-color-brand);
  outline-offset: 3px;
}

.rw-vacancy__back-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  background: var(--rw-color-bg-alt);
  border-radius: var(--rw-radius-full);
  transition: background-color var(--rw-transition), transform var(--rw-transition);
}

.rw-vacancy__back:hover .rw-vacancy__back-icon,
.rw-vacancy__back:focus-visible .rw-vacancy__back-icon {
  background: var(--rw-color-bg);
  transform: translateX(-2px);
}

.rw-vacancy__back-icon svg {
  display: block;
  width: 16px;
  height: 16px;
}

.rw-vacancy__back-label {
  padding-right: 0.15rem;
}

.rw-vacancy__media {
  margin-bottom: var(--rw-space-8);
  overflow: hidden;
  border-radius: var(--rw-radius-sm);
  background: var(--rw-color-bg-alt);
}

.rw-vacancy__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
}

.rw-vacancy__header {
  margin-bottom: var(--rw-space-6);
}

.rw-vacancy__title {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-vacancy__content {
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
}

.rw-vacancy__content > *:last-child {
  margin-bottom: 0;
}

/**
 * WooCommerce global styles
 */
/* Breadcrumbs */
.rw-breadcrumb-bar,
.yoast-breadcrumbs {
  background: var(--rw-color-breadcrumb-bg);
  border-bottom: 1px solid var(--rw-color-border-light);
}

.rw-breadcrumb-bar .rw-container,
.yoast-breadcrumbs > * {
  padding-top: var(--rw-space-3);
  padding-bottom: var(--rw-space-3);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 1023px) {
  .rw-product-page .rw-breadcrumb-bar {
    border-bottom: none;
    max-width: 100%;
    overflow-x: auto;
  }
  .rw-product-page .rw-breadcrumb-bar .rw-container {
    padding-top: var(--rw-space-2);
    padding-bottom: var(--rw-space-2);
    max-width: 100%;
    min-width: 0;
  }
}
.yoast-breadcrumbs > * {
  display: block;
  width: 100%;
  max-width: var(--rw-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--rw-space-4);
  padding-right: var(--rw-space-4);
  white-space: nowrap;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

@media (min-width: 768px) {
  .yoast-breadcrumbs > * {
    padding-left: var(--rw-space-6);
    padding-right: var(--rw-space-6);
  }
}
.rw-breadcrumb-bar .woocommerce-breadcrumb,
.rw-breadcrumb-bar .rw-breadcrumb {
  white-space: nowrap;
}

.woocommerce-breadcrumb,
.rw-breadcrumb {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.woocommerce-breadcrumb a,
.rw-breadcrumb a,
.yoast-breadcrumbs a {
  color: var(--rw-color-text-muted);
  text-decoration: none;
}

.woocommerce-breadcrumb a:hover,
.rw-breadcrumb a:hover,
.yoast-breadcrumbs a:hover {
  color: var(--rw-color-brand);
}

.rw-breadcrumb-current,
.yoast-breadcrumbs .breadcrumb_last,
.yoast-breadcrumbs .breadcrumb_last strong {
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
}

.rw-breadcrumb-bar + .rw-container.rw-section {
  padding-top: var(--rw-space-8);
}

/* Shop layout */
.rw-shop-page .rw-breadcrumb-bar + .rw-container {
  margin-top: var(--rw-space-12);
}

.rw-shop-page .rw-breadcrumb-bar + .rw-container .rw-shop-layout,
.rw-shop-page .rw-page-header + .rw-breadcrumb-bar + .rw-container .rw-shop-layout,
.rw-shop-page .rw-page-header + .rw-container .rw-shop-layout {
  padding-top: 0;
}

.rw-product-page .rw-breadcrumb-bar + .rw-single-product-wrap .rw-single-product {
  padding-top: 0;
}

.rw-shop-main {
  min-width: 0;
}

.rw-shop-layout {
  display: grid;
  gap: var(--rw-space-8);
  padding-top: var(--rw-space-8);
  padding-bottom: var(--rw-space-12);
}

@media (min-width: 1024px) {
  .rw-shop-layout--sidebar {
    grid-template-columns: 280px 1fr;
    align-items: start;
  }
}
.rw-shop-sidebar {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}

@media (min-width: 1024px) {
  .rw-shop-sidebar {
    position: sticky;
    top: calc(var(--rw-header-height, 72px) + var(--rw-space-6));
    max-height: calc(100dvh - var(--rw-header-height, 72px) - var(--rw-space-6) * 2);
    overflow-y: auto;
    background: var(--rw-color-bg);
    border: none;
    border-radius: 0;
    padding: 0;
  }
}
.rw-shop-toolbar {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
  margin-bottom: var(--rw-space-8);
}

@media (min-width: 768px) {
  .rw-shop-toolbar {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--rw-space-6);
  }
}
.rw-shop-toolbar__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-navy);
  line-height: var(--rw-line-height-tight);
}

.rw-shop-toolbar__ordering {
  width: 100%;
}

@media (min-width: 768px) {
  .rw-shop-toolbar__ordering {
    width: auto;
    flex-shrink: 0;
  }
}
.rw-shop-ordering {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
}

.rw-shop-ordering__label {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-normal);
  color: var(--rw-color-text-muted);
  white-space: nowrap;
}

.rw-shop-ordering__control {
  display: inline-flex;
  align-items: center;
}

.rw-shop-ordering__select-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.rw-shop-ordering__select-wrap select,
.rw-shop-ordering select.orderby {
  appearance: none;
  width: auto;
  min-width: 0;
  padding: 0 1.25rem 0 0;
  border: none;
  border-radius: 0;
  font-family: inherit;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
  background: transparent;
  min-height: 0;
  cursor: pointer;
  line-height: 1.4;
}

.rw-shop-ordering__chevron {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--rw-color-navy);
  display: inline-flex;
  width: 12px;
  height: 12px;
}

.rw-shop-ordering__chevron svg {
  width: 12px;
  height: 12px;
}

.woocommerce-result-count {
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  margin: 0;
}

.woocommerce-ordering {
  margin: 0;
}

.woocommerce-ordering select {
  width: 100%;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  font-family: inherit;
  font-size: var(--rw-font-size-sm);
  background: var(--rw-color-bg);
  min-height: 44px;
}

@media (min-width: 768px) {
  .woocommerce-ordering select {
    width: auto;
    min-width: 200px;
  }
}
/* Product grid */
.rw-shop-main .woocommerce ul.products:not(.rw-product-slider__track),
.woocommerce ul.products:not(.rw-product-slider__track) {
  display: grid !important;
  gap: var(--rw-space-6);
  grid-template-columns: 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

@media (min-width: 480px) {
  .rw-shop-main .woocommerce ul.products:not(.rw-product-slider__track),
  .woocommerce ul.products:not(.rw-product-slider__track) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) {
  .rw-shop-main .woocommerce ul.products:not(.rw-product-slider__track),
  .woocommerce ul.products:not(.rw-product-slider__track) {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .rw-shop-layout:not(.rw-shop-layout--sidebar) .woocommerce ul.products:not(.rw-product-slider__track) {
    grid-template-columns: repeat(3, 1fr);
  }
}

.woocommerce ul.products:not(.rw-product-slider__track)::before,
.woocommerce ul.products:not(.rw-product-slider__track)::after {
  display: none;
}

.woocommerce ul.products:not(.rw-product-slider__track) li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .rw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--rw-space-3) var(--rw-space-6);
  font-family: inherit;
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1;
  color: var(--rw-color-text-inverse) !important;
  background: var(--rw-color-primary) !important;
  border: 2px solid var(--rw-color-primary) !important;
  border-radius: var(--rw-radius-md) !important;
  cursor: pointer;
  text-decoration: none !important;
  transition: background-color var(--rw-transition), border-color var(--rw-transition);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--rw-color-primary-dark) !important;
  border-color: var(--rw-color-primary-dark) !important;
  color: var(--rw-color-text-inverse) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--rw-color-secondary) !important;
  border-color: var(--rw-color-secondary) !important;
}

/* Notices — .woocommerce-message is upgraded to a toast in components/_toast.scss */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: var(--rw-space-4) var(--rw-space-6);
  margin-bottom: var(--rw-space-6);
  border-radius: var(--rw-radius-md);
  border-left: 4px solid;
  list-style: none;
}

.woocommerce-message {
  background: #e8f5e9;
  border-color: var(--rw-color-success);
}

.woocommerce-info {
  background: var(--rw-color-primary-light);
  border-color: var(--rw-color-primary);
}

.woocommerce-error {
  background: #fde8ea;
  border-color: var(--rw-color-error);
}

/* Pagination */
.woocommerce nav.woocommerce-pagination {
  margin-top: var(--rw-space-10);
  max-width: 100%;
  text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  gap: var(--rw-space-2);
  border: none;
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 var(--rw-space-3);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--rw-color-primary);
  color: var(--rw-color-text-inverse);
  border-color: var(--rw-color-primary);
}

@media (max-width: 767px) {
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span {
    min-width: 36px;
    height: 36px;
    padding: 0 var(--rw-space-2);
  }
}
/* Star ratings */
.star-rating {
  color: var(--rw-color-accent);
}

/**
 * Single product page (PDP).
 */
/* Layout */
.rw-single-product {
  padding-top: var(--rw-space-8);
  padding-bottom: var(--rw-space-12);
}

.rw-single-product__grid {
  display: grid;
  gap: var(--rw-space-10);
}

@media (min-width: 1024px) {
  .rw-single-product__grid {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}
.rw-single-product__summary {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-6);
}

/* Gallery */
.rw-single-product__gallery .woocommerce-product-gallery,
.rw-pdp-gallery {
  margin-bottom: 0;
  width: 100%;
  position: relative;
}

.rw-pdp-gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rw-space-3);
}

@media (min-width: 768px) {
  .rw-pdp-gallery {
    grid-template-columns: 72px 1fr;
    grid-template-rows: auto 1fr;
    align-items: start;
  }
}
.rw-pdp-gallery__badges {
  position: absolute;
  top: var(--rw-space-4);
  left: var(--rw-space-4);
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-2);
}

@media (min-width: 768px) {
  .rw-pdp-gallery__badges {
    left: calc(72px + var(--rw-space-6));
  }
}
.rw-pdp-gallery__badge {
  display: inline-flex;
  align-items: center;
  padding: var(--rw-space-1) var(--rw-space-3);
  border-radius: var(--rw-radius-sm);
  background: var(--rw-color-brand);
  color: var(--rw-color-text-inverse);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.rw-pdp-gallery__badge--new {
  background: var(--rw-color-primary);
}

.rw-pdp-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: var(--rw-space-4);
  right: var(--rw-space-4);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
  color: var(--rw-color-text);
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}
.rw-pdp-gallery .woocommerce-product-gallery__trigger::before {
  content: none;
}
.rw-pdp-gallery .woocommerce-product-gallery__trigger span {
  display: none;
}
.rw-pdp-gallery .woocommerce-product-gallery__trigger svg {
  display: block;
  flex-shrink: 0;
}

.rw-pdp-gallery .woocommerce-product-gallery__wrapper {
  grid-column: 1;
}

@media (min-width: 768px) {
  .rw-pdp-gallery .woocommerce-product-gallery__wrapper {
    grid-column: 2;
    grid-row: 1/span 2;
  }
}
.rw-single-product__gallery .rw-pdp-gallery .woocommerce-product-gallery__wrapper:not(.flexslider) {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.rw-single-product__gallery .rw-pdp-gallery .flex-viewport,
.rw-single-product__gallery .rw-pdp-gallery .woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:first-child {
  position: relative;
  width: 100%;
  aspect-ratio: 4/5;
  overflow: hidden;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}

.rw-single-product__gallery .rw-pdp-gallery .flex-viewport {
  /* Override FlexSlider / WooCommerce inline height; keep a stable 4:5 frame. */
  height: auto !important;
}

.rw-single-product__gallery .rw-pdp-gallery .flex-viewport .woocommerce-product-gallery__wrapper {
  position: relative;
  height: 100%;
  width: 100% !important;
  transform: none !important;
  margin: 0 !important;
}

.rw-single-product__gallery .rw-pdp-gallery .flex-viewport .woocommerce-product-gallery__image {
  position: absolute;
  inset: 0;
  margin: 0 !important;
  float: none !important;
  overflow: hidden;
  opacity: 0;
  z-index: 1;
  transition: opacity 0.5s ease;
}

.rw-single-product__gallery .rw-pdp-gallery .flex-viewport .woocommerce-product-gallery__image > a,
.rw-single-product__gallery .rw-pdp-gallery .woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:first-child > a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.rw-single-product__gallery .rw-pdp-gallery .flex-viewport .woocommerce-product-gallery__image.flex-active-slide {
  opacity: 1;
  z-index: 2;
}

.rw-single-product__gallery .rw-pdp-gallery .flex-viewport .woocommerce-product-gallery__image img:not(.zoomImg),
.rw-single-product__gallery .rw-pdp-gallery .woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:first-child img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}

.rw-single-product__gallery .rw-pdp-gallery .flex-viewport .woocommerce-product-gallery__image.rw-pdp-gallery__slide--video,
.rw-single-product__gallery .rw-pdp-gallery .woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image.rw-pdp-gallery__slide--video:first-child {
  touch-action: pan-y;
}

.rw-pdp-gallery .flex-control-thumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--rw-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  grid-column: 1;
}

@media (min-width: 768px) {
  .rw-pdp-gallery .flex-control-thumbs {
    flex-direction: column;
    overflow-x: visible;
    overflow-y: auto;
    max-height: 520px;
    grid-row: 1/span 2;
  }
}
.rw-pdp-gallery .flex-control-thumbs li {
  flex: 0 0 auto;
  width: 72px;
  margin: 0;
}

.rw-pdp-gallery .flex-control-thumbs li img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: var(--rw-radius-sm);
  border: 2px solid transparent;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity var(--rw-transition), border-color var(--rw-transition);
}

.rw-pdp-gallery .flex-control-thumbs li img.flex-active,
.rw-pdp-gallery .flex-control-thumbs li img:hover {
  opacity: 1;
  border-color: var(--rw-color-primary);
}

.rw-pdp-gallery .flex-control-thumbs li.rw-pdp-gallery__thumb--video {
  position: relative;
}

.rw-pdp-gallery .flex-control-thumbs li.rw-pdp-gallery__thumb--video::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: var(--rw-radius-sm);
  background: rgba(0, 0, 0, 0.32);
  pointer-events: none;
}

.rw-pdp-gallery .flex-control-thumbs li.rw-pdp-gallery__thumb--video::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  z-index: 2;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 12px solid var(--rw-color-text-inverse);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.rw-pdp-gallery .flex-direction-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  font-size: var(--rw-font-size-xl);
}

.rw-pdp-gallery__counter {
  display: none;
  position: absolute;
  bottom: var(--rw-space-4);
  left: var(--rw-space-4);
  z-index: 3;
  padding: var(--rw-space-1) var(--rw-space-3);
  border-radius: var(--rw-radius-full);
  background: rgba(255, 255, 255, 0.92);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
}

@media (min-width: 768px) {
  .rw-pdp-gallery__counter {
    left: calc(72px + var(--rw-space-6));
  }
}
.rw-pdp-gallery .onsale {
  display: none;
}

.rw-pdp-gallery__slide--video {
  height: 100% !important;
  min-height: 100%;
}

.rw-single-product__gallery .rw-pdp-gallery .flex-viewport .woocommerce-product-gallery__image.rw-pdp-gallery__slide--video,
.rw-single-product__gallery .rw-pdp-gallery .woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image.rw-pdp-gallery__slide--video:first-child {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
}

.rw-pdp-gallery__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}

.rw-pdp-gallery__video-poster {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: var(--rw-radius-md);
}

.rw-pdp-gallery__video-play {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.28);
  cursor: pointer;
  transition: background var(--rw-transition), opacity var(--rw-transition), visibility var(--rw-transition);
  touch-action: manipulation;
}

.rw-pdp-gallery__video--playing .rw-pdp-gallery__video-poster,
.rw-pdp-gallery__video--playing .rw-pdp-gallery__video-play {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.rw-pdp-gallery__video-play:hover,
.rw-pdp-gallery__video-play:focus-visible {
  background: rgba(0, 0, 0, 0.4);
}

.rw-pdp-gallery__video-play-icon {
  display: block;
  width: 0;
  height: 0;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 24px solid var(--rw-color-text-inverse);
  margin-left: 6px;
}

.rw-pdp-gallery__video-iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: 222.2222222222%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  border: 0;
  transform: translate(-50%, -50%);
  pointer-events: auto;
}

.rw-pdp-gallery__video--oembed {
  display: flex;
  align-items: center;
  justify-content: center;
}

.rw-pdp-gallery__video--oembed iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 222.2222222222%;
  height: 100%;
  max-width: none;
  border: 0;
  transform: translate(-50%, -50%);
  pointer-events: auto;
}

.rw-pdp-gallery__video-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 180px;
  padding: var(--rw-space-4);
  color: var(--rw-color-primary);
  font-weight: var(--rw-font-weight-semibold);
  text-decoration: underline;
}

/* Meta */
.rw-pdp-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-2) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-pdp-meta__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  padding: var(--rw-space-1) var(--rw-space-3);
  border-radius: var(--rw-radius-full);
  background: var(--rw-color-bg-alt);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-brand);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.rw-pdp-meta__brand-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rw-color-brand);
}

.rw-pdp-meta__origin,
.rw-pdp-meta__sku {
  color: var(--rw-color-text-muted);
}

/* Header */
.rw-pdp-header__title {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-primary);
  margin: 0;
}

.rw-pdp-header__subtitle {
  margin: var(--rw-space-3) 0 0;
  color: var(--rw-color-text-muted);
  line-height: var(--rw-line-height-relaxed);
}

.rw-pdp-header .rw-pdp-rating {
  margin-top: var(--rw-space-3);
}

.rw-pdp-header .rw-pdp-rating + .rw-pdp-header__subtitle {
  margin-top: var(--rw-space-3);
}

.rw-pdp-header__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-3);
  margin-top: var(--rw-space-4);
}

/* Custom PDP rating */
.rw-pdp-rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-3);
  margin-top: var(--rw-space-4);
}

.rw-pdp-rating__stars {
  position: relative;
  display: inline-flex;
  width: 90px;
  height: 18px;
  flex: 0 0 auto;
}

.rw-pdp-rating__stars-empty,
.rw-pdp-rating__stars-filled {
  display: inline-flex;
  gap: 0;
  line-height: 0;
}

.rw-pdp-rating__stars-empty {
  color: var(--rw-color-border);
}

.rw-pdp-rating__stars-filled {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: calc(var(--rw-rating, 0) / 5 * 100%);
  color: var(--rw-color-accent);
}

.rw-pdp-rating__stars svg {
  width: 18px;
  height: 18px;
}

.rw-pdp-rating__score {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text);
}

.rw-pdp-rating__count {
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-brand);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.rw-pdp-rating__count:hover {
  color: var(--rw-color-brand-hover);
}

/* Pricing */
.rw-pdp-pricing__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--rw-space-2) var(--rw-space-3);
}

.rw-pdp-pricing__price {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-primary);
}

.rw-price--unknown {
  filter: blur(8px);
  user-select: none;
  pointer-events: none;
}

.rw-pdp-pricing__unknown {
  margin: var(--rw-space-2) 0 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text);
}

.rw-pdp-pricing__price del {
  font-size: var(--rw-font-size-lg);
  color: var(--rw-color-text-muted);
}

.rw-pdp-pricing__price ins {
  text-decoration: none;
  color: var(--rw-color-sale);
}

.rw-pdp-pricing__excl {
  margin: var(--rw-space-2) 0 0;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-pdp-pricing__excl-prefix {
  margin-right: var(--rw-space-1);
}

.rw-pdp-pricing__excl-amount {
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-brand);
}

.rw-pdp-pricing__vat-note {
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-pdp-pricing__tiers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rw-space-3);
  margin-top: var(--rw-space-5);
}

.rw-pdp-tier-card {
  padding: var(--rw-space-4);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
  text-align: center;
}

.rw-pdp-tier-card.is-selected {
  border-color: var(--rw-color-brand);
  box-shadow: inset 0 0 0 1px var(--rw-color-brand);
}

.rw-pdp-tier-card__label {
  display: block;
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-semibold);
  text-transform: uppercase;
  color: var(--rw-color-text-muted);
}

.rw-pdp-tier-card__price {
  display: block;
  margin-top: var(--rw-space-2);
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-primary);
}

/* Variations */
.rw-pdp-variations {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-5);
}

.rw-pdp-variation-group__header {
  display: flex;
  align-items: baseline;
  margin-bottom: var(--rw-space-3);
}

.rw-pdp-variation-group__label {
  margin: 0;
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--rw-color-text);
}

.rw-pdp-variation-group__value {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
}

.rw-pdp-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-3);
}

.rw-pdp-swatches--cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rw-pdp-swatch {
  position: relative;
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
  color: var(--rw-color-text);
  cursor: pointer;
  transition: border-color var(--rw-transition), box-shadow var(--rw-transition);
}

.rw-pdp-swatch--card {
  min-height: 72px;
  padding: var(--rw-space-4);
  font-weight: var(--rw-font-weight-semibold);
}

.rw-pdp-swatch--pill {
  min-height: 44px;
  padding: var(--rw-space-3) var(--rw-space-5);
  font-weight: var(--rw-font-weight-medium);
}

.rw-pdp-swatch__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-3);
  width: 100%;
}

.rw-pdp-swatch--card .rw-pdp-swatch__inner {
  flex-direction: column;
  align-items: flex-start;
}

.rw-pdp-swatch__label {
  font-weight: inherit;
}

.rw-pdp-swatch--color {
  min-height: 44px;
  padding: var(--rw-space-3) var(--rw-space-5);
  font-weight: var(--rw-font-weight-semibold);
}

.rw-pdp-swatch--color .rw-pdp-swatch__inner {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: var(--rw-space-3);
}

.rw-pdp-swatch--color .rw-pdp-swatch__label {
  font-size: inherit;
  font-weight: inherit;
  color: var(--rw-color-primary);
}

.rw-pdp-swatch__visual {
  display: block;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  border: 1px solid var(--rw-color-border-light);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.rw-pdp-swatch--color.is-selected .rw-pdp-swatch__visual {
  border-color: transparent;
}

.rw-pdp-swatch__price-diff {
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-normal);
  color: var(--rw-color-text-muted);
  white-space: nowrap;
}

.rw-pdp-swatch__price-diff[hidden] {
  display: none;
}

.rw-pdp-swatch.is-selected {
  border-color: var(--rw-color-brand);
  box-shadow: inset 0 0 0 1px var(--rw-color-brand);
}

.rw-pdp-swatch.is-unavailable,
.rw-pdp-swatch:disabled {
  opacity: 0.4;
  cursor: pointer;
  box-shadow: none;
}

.rw-pdp-swatch:disabled {
  cursor: not-allowed;
}

.rw-pdp-swatch.is-unavailable:hover,
.rw-pdp-swatch:disabled:hover {
  border-color: var(--rw-color-border-light);
}

.rw-pdp-swatch__badge {
  position: absolute;
  top: calc(-1 * var(--rw-space-2));
  right: var(--rw-space-2);
  padding: 0 var(--rw-space-2);
  border-radius: var(--rw-radius-sm);
  background: var(--rw-color-brand);
  color: var(--rw-color-text-inverse);
  font-size: 0.625rem;
  font-weight: var(--rw-font-weight-bold);
  text-transform: uppercase;
}

/* Purchase */
.rw-pdp-purchase {
  margin-top: var(--rw-space-4);
}

.rw-pdp-purchase__status {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-3);
  margin-bottom: var(--rw-space-2);
}

.rw-pdp-purchase__stock-card,
.rw-pdp-purchase__cutoff-card {
  display: flex;
  align-items: flex-start;
  gap: var(--rw-space-3);
  padding: var(--rw-space-4) var(--rw-space-5);
  border-radius: var(--rw-radius-md);
}

.rw-pdp-purchase__stock-card {
  border: 1px solid var(--rw-color-border-light);
  background: var(--rw-color-bg);
}

.rw-pdp-purchase__stock-card.in-stock {
  color: var(--rw-color-success);
}

.rw-pdp-purchase__stock-card.out-of-stock {
  color: var(--rw-color-error);
}

.rw-pdp-purchase__stock-card.is-loading {
  color: var(--rw-color-text-muted);
}

.rw-pdp-purchase__stock-card.is-loading .rw-pdp-purchase__stock-dot {
  opacity: 0.4;
}

/* Enkel het aankoopformulier vergrendelen: de wensenlijst staat ernaast en moet
   ook bruikbaar blijven wanneer het product niet voorradig is. */
.rw-pdp-purchase.is-unavailable .rw-pdp-purchase__cart form {
  opacity: 0.5;
  pointer-events: none;
}

.single_variation_wrap .woocommerce-variation-description {
  display: none;
}

.rw-pdp-purchase__stock-dot {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  margin-top: 0.35rem;
  border-radius: 50%;
  background: currentColor;
}

.rw-pdp-purchase__stock-text,
.rw-pdp-purchase__cutoff-text {
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
}

.rw-pdp-purchase__stock-label {
  font-weight: var(--rw-font-weight-semibold);
  color: inherit;
}

.rw-pdp-purchase__stock-detail {
  color: var(--rw-color-text-muted);
}

.rw-pdp-purchase__tiers {
  padding: var(--rw-space-4) var(--rw-space-5);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}

.rw-pdp-purchase__tiers-list {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-pdp-purchase__tiers-item {
  margin: 0;
  color: var(--rw-color-text);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
}

.rw-pdp-purchase__tiers-price {
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-navy);
}

.rw-pdp-purchase__tiers-price .woocommerce-Price-amount {
  font-weight: inherit;
  color: inherit;
}

.rw-pdp-purchase__cutoff-card {
  border: 1px solid rgba(0, 68, 241, 0.12);
  background: rgba(0, 68, 241, 0.08);
  color: var(--rw-color-primary);
}

.rw-pdp-purchase__cutoff-icon {
  flex: 0 0 auto;
  display: inline-flex;
  margin-top: 0.1rem;
  color: var(--rw-color-brand);
}

.rw-pdp-purchase__cutoff-text strong {
  font-weight: var(--rw-font-weight-semibold);
}

.rw-pdp-purchase__cutoff-text span {
  color: var(--rw-color-text-muted);
}

.rw-pdp-purchase__cart {
  display: flex;
  align-items: stretch;
  gap: var(--rw-space-3);
}

.rw-pdp-purchase__cart form,
.rw-pdp-variations-form,
.rw-pdp-simple-form {
  flex: 1;
  min-width: 0;
}

.rw-pdp-add-to-cart,
.rw-pdp-variation-wrap .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--rw-space-3);
  width: 100%;
}

.rw-pdp-qty {
  display: inline-flex;
  flex: 0 0 auto;
  width: fit-content;
  align-items: stretch;
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  overflow: hidden;
  background: var(--rw-color-bg);
}

.rw-pdp-qty .quantity {
  display: contents;
}

.rw-pdp-qty .quantity label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.rw-pdp-qty__btn {
  display: inline-flex;
  flex: 0 0 40px;
  min-width: 40px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-text);
  font-size: var(--rw-font-size-lg);
  line-height: 1;
  cursor: pointer;
  transition: background var(--rw-transition);
}

.rw-pdp-qty__btn:hover {
  background: var(--rw-color-border-light);
}

/* Drie klassen diep om `.woocommerce .quantity .qty` (width: 3.631em) te verslaan,
   anders wordt het veld breder dan de stepper en valt de plus-knop erbuiten. */
.rw-pdp-qty .quantity input.rw-pdp-qty-input {
  box-sizing: border-box;
  flex: 0 0 3rem;
  width: 3rem;
  min-width: 0;
  min-height: 52px;
  padding: 0;
  border: 0;
  border-left: 1px solid var(--rw-color-border-light);
  border-right: 1px solid var(--rw-color-border-light);
  border-radius: 0;
  text-align: center;
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-bold);
  -moz-appearance: textfield;
  appearance: textfield;
}

/* De native spinners vallen weg: de stepper-knoppen ernaast nemen dat over. */
.rw-pdp-qty .quantity input.rw-pdp-qty-input::-webkit-outer-spin-button,
.rw-pdp-qty .quantity input.rw-pdp-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

.rw-pdp-add-to-cart__button {
  display: inline-flex !important;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  min-height: 52px;
  padding: var(--rw-space-3) var(--rw-space-5) !important;
  background: var(--rw-color-primary) !important;
  border-color: var(--rw-color-primary) !important;
}

.rw-pdp-add-to-cart__button:hover {
  background: var(--rw-color-primary-dark, #002244) !important;
  border-color: var(--rw-color-primary-dark, #002244) !important;
}

.rw-pdp-add-to-cart__button:disabled,
.rw-pdp-add-to-cart__button:disabled:hover {
  opacity: 0.5;
  cursor: not-allowed;
  background: var(--rw-color-primary) !important;
  border-color: var(--rw-color-primary) !important;
}

.rw-pdp-add-to-cart__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

.rw-pdp-add-to-cart__icon svg {
  width: 20px;
  height: 20px;
}

.rw-pdp-add-to-cart__label {
  font-weight: var(--rw-font-weight-semibold);
}

.rw-pdp-add-to-cart__price {
  padding-left: var(--rw-space-4);
  font-weight: var(--rw-font-weight-bold);
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}

.rw-pdp-purchase__wishlist {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  min-width: 52px;
  min-height: 52px;
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  color: var(--rw-color-text-muted);
  text-decoration: none;
  transition: color var(--rw-transition), border-color var(--rw-transition);
}

.rw-pdp-purchase__wishlist:hover {
  color: var(--rw-color-brand);
  border-color: var(--rw-color-brand);
}

.rw-pdp-purchase__wishlist.rw-wishlist-toggle {
  padding: 0;
  background: var(--rw-color-bg);
  cursor: pointer;
  appearance: none;
}

.rw-pdp-shipping-progress {
  margin-top: var(--rw-space-2);
}

.rw-pdp-shipping-progress__text {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-pdp-shipping-progress__bar {
  height: 6px;
  border-radius: var(--rw-radius-full);
  background: var(--rw-color-border-light);
  overflow: hidden;
}

.rw-pdp-shipping-progress__fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--rw-color-brand);
}

/* Delivery cards */
.rw-pdp-delivery {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rw-space-4);
}

@media (min-width: 768px) {
  .rw-pdp-delivery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.rw-pdp-delivery-card {
  display: flex;
  gap: var(--rw-space-4);
  padding: var(--rw-space-5);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}

.rw-pdp-delivery-card__icon {
  flex: 0 0 auto;
  color: var(--rw-color-brand);
}

.rw-pdp-delivery-card__title {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-base);
}

.rw-pdp-delivery-card__text {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  line-height: var(--rw-line-height-relaxed);
}

/* Features */
.rw-pdp-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-4);
}

.rw-pdp-feature {
  display: flex;
  align-items: center;
  gap: var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-pdp-feature__icon {
  flex: 0 0 auto;
  color: var(--rw-color-brand);
}

/* Sticky bar */
.rw-pdp-sticky-bar {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 180;
  border-top: 1px solid var(--rw-color-border-light);
  background: var(--rw-color-bg);
  box-shadow: var(--rw-shadow-md);
}

.rw-pdp-sticky-bar[hidden] {
  display: none !important;
}

.rw-pdp-sticky-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  min-height: 72px;
  padding-top: var(--rw-space-3);
  padding-bottom: var(--rw-space-3);
}

.rw-pdp-sticky-bar__product {
  display: flex;
  align-items: center;
  gap: var(--rw-space-4);
  min-width: 0;
  flex: 1;
}

.rw-pdp-sticky-bar__thumb {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: var(--rw-radius-sm);
  object-fit: cover;
}

.rw-pdp-sticky-bar__info {
  min-width: 0;
}

.rw-pdp-sticky-bar__title {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rw-pdp-sticky-bar__config {
  margin: var(--rw-space-1) 0 0;
  font-size: var(--rw-font-size-xs);
  color: var(--rw-color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rw-pdp-sticky-bar__actions {
  display: flex;
  align-items: center;
  gap: var(--rw-space-4);
  flex-shrink: 0;
}

.rw-pdp-sticky-bar__price {
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-primary);
  white-space: nowrap;
}

.rw-pdp-sticky-bar__submit {
  display: inline-flex !important;
  align-items: center;
  gap: var(--rw-space-2);
  min-height: 48px;
  white-space: nowrap;
}

.rw-pdp-sticky-bar__submit:disabled,
.rw-pdp-sticky-bar__submit:disabled:hover {
  opacity: 0.5;
  cursor: not-allowed;
}

body.rw-product-page.rw-pdp-sticky-visible {
  padding-bottom: 88px;
}

@media (max-width: 1023px) {
  .rw-product-page .rw-site-main,
  .rw-single-product-wrap {
    max-width: 100%;
    overflow-x: clip;
  }
  .rw-single-product,
  .rw-single-product__grid {
    min-width: 0;
    max-width: 100%;
  }
  .rw-single-product {
    padding-top: var(--rw-space-4);
    padding-bottom: var(--rw-space-8);
  }
  .rw-single-product__grid {
    gap: var(--rw-space-5);
  }
  .rw-single-product__summary {
    min-width: 0;
    max-width: 100%;
  }
  .rw-single-product__gallery {
    min-width: 0;
    overflow: hidden;
    margin-inline: calc(-1 * var(--rw-space-4));
    width: calc(100% + 2 * var(--rw-space-4));
  }
  .rw-single-product__gallery .rw-pdp-gallery,
  .rw-single-product__gallery .woocommerce-product-gallery__wrapper,
  .rw-single-product__gallery .rw-pdp-gallery .flex-viewport {
    max-width: 100%;
    overflow: hidden;
  }
  .rw-single-product__gallery .rw-pdp-gallery .flex-viewport,
  .rw-pdp-gallery .woocommerce-product-gallery__wrapper {
    position: relative;
    width: 100% !important;
    height: auto !important;
    overflow: hidden;
  }
  .rw-pdp-gallery .woocommerce-product-gallery__image {
    position: absolute !important;
    top: 0;
    right: 0;
    left: 0;
    width: 100% !important;
    height: 70vw !important;
    min-height: 70vw !important;
    max-height: 70vw !important;
    margin: 0 !important;
    float: none !important;
    overflow: hidden;
  }
  .rw-pdp-gallery .woocommerce-product-gallery__image.flex-active-slide,
  .rw-pdp-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
    position: relative !important;
  }
  .rw-pdp-gallery .woocommerce-product-gallery__image > a,
  .rw-pdp-gallery .woocommerce-product-gallery__image img:not(.zoomImg) {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
  }
  .rw-single-product__gallery .rw-pdp-gallery .zoomImg {
    display: none !important;
  }
  .rw-pdp-add-to-cart,
  .rw-pdp-variation-wrap .woocommerce-variation-add-to-cart,
  .rw-pdp-add-to-cart__button {
    min-width: 0;
  }
}
@media (max-width: 1023px) and (min-width: 768px) {
  .rw-single-product__gallery {
    margin-inline: calc(-1 * var(--rw-space-6));
    width: calc(100% + 2 * var(--rw-space-6));
  }
}
@media (max-width: 1023px) {
  .rw-pdp-gallery {
    grid-template-columns: 1fr;
  }
  .rw-pdp-gallery__badges {
    left: var(--rw-space-4);
  }
  .rw-pdp-gallery .woocommerce-product-gallery__wrapper {
    grid-column: 1;
    grid-row: auto;
  }
  .rw-single-product__summary {
    gap: var(--rw-space-5);
  }
  .rw-single-product__gallery .rw-pdp-gallery .flex-viewport,
  .rw-single-product__gallery .rw-pdp-gallery .woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:first-child {
    aspect-ratio: auto !important;
    border-radius: 0;
  }
  .rw-single-product__gallery .rw-pdp-gallery .flex-viewport .woocommerce-product-gallery__image img:not(.zoomImg),
  .rw-single-product__gallery .rw-pdp-gallery .woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:first-child img {
    border-radius: 0;
  }
  .rw-pdp-gallery .flex-control-thumbs {
    display: none;
  }
  .rw-pdp-gallery__counter {
    background: rgba(15, 23, 42, 0.72);
    color: var(--rw-color-text-inverse);
    border-radius: var(--rw-radius-full);
    left: var(--rw-space-4);
  }
  .rw-pdp-header__title {
    font-size: 1.75rem;
  }
  .rw-pdp-pricing__main {
    padding: var(--rw-space-4) var(--rw-space-5);
    border-radius: var(--rw-radius-md);
    background: var(--rw-color-bg-alt);
  }
  .rw-pdp-add-to-cart__price {
    display: none;
  }
  .rw-pdp-add-to-cart__button {
    justify-content: center;
  }
  .rw-pdp-purchase__wishlist {
    display: none;
  }
}
@media (max-width: 767px) {
  .rw-pdp-pricing__tiers,
  .rw-pdp-swatches--cards {
    grid-template-columns: 1fr;
  }
  .rw-pdp-qty .quantity input.rw-pdp-qty-input {
    min-height: 48px;
  }
  .rw-pdp-add-to-cart__button {
    min-height: 48px;
  }
  .rw-pdp-sticky-bar__inner {
    gap: var(--rw-space-3);
  }
  .rw-pdp-sticky-bar__config,
  .rw-pdp-sticky-bar__title {
    display: none;
  }
  .rw-pdp-sticky-bar__product {
    flex: 0 0 auto;
  }
  .rw-pdp-sticky-bar__actions {
    min-width: 0;
    gap: var(--rw-space-2);
  }
  .rw-pdp-sticky-bar__price {
    font-size: var(--rw-font-size-sm);
    letter-spacing: -0.02em;
  }
  .rw-pdp-sticky-bar__price del {
    display: none;
  }
  .rw-pdp-sticky-bar__submit {
    padding-left: var(--rw-space-3);
    padding-right: var(--rw-space-3);
    gap: var(--rw-space-1);
  }
}
/* Tabs (PDP-specific extensions) */
.rw-pdp-tab-about {
  display: grid;
  gap: var(--rw-space-8);
}

.rw-pdp-tab-about__secondary h3 {
  margin-top: 0;
  font-size: var(--rw-font-size-lg);
}

.rw-pdp-tab-about__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-pdp-tab-about__list li + li {
  margin-top: var(--rw-space-5);
}

.rw-pdp-tab-about__list p {
  margin: var(--rw-space-2) 0 0;
  color: var(--rw-color-text-muted);
  line-height: var(--rw-line-height-relaxed);
}

.rw-pdp-tab-inbox ul,
.rw-pdp-tab-downloads ul {
  margin: 0;
  padding-left: var(--rw-space-5);
}

.rw-pdp-tab-downloads a {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  color: var(--rw-color-brand);
  text-decoration: none;
}

.rw-pdp-tab-downloads a:hover {
  text-decoration: underline;
}

.rw-pdp-tab-specs {
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  overflow: hidden;
}

.rw-pdp-specs-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  border-spacing: 0;
}

.rw-pdp-specs-table tbody tr {
  border-bottom: 1px solid var(--rw-color-border-light);
}

.rw-pdp-specs-table tbody tr:last-child {
  border-bottom: none;
}

.rw-pdp-specs-table th,
.rw-pdp-specs-table td {
  padding: var(--rw-space-4) var(--rw-space-5);
  text-align: left;
  vertical-align: top;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  border: none;
}

.rw-pdp-specs-table th {
  width: 38%;
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text);
  background: var(--rw-color-bg-alt);
}

.rw-pdp-specs-table td {
  color: var(--rw-color-text);
  background: var(--rw-color-bg);
}

.rw-pdp-specs-table td p {
  margin: 0;
}

.rw-pdp-specs-table td a {
  color: var(--rw-color-brand);
  text-decoration: none;
}

.rw-pdp-specs-table td a:hover {
  text-decoration: underline;
}

.woocommerce div.product .woocommerce-tabs {
  margin-top: var(--rw-space-12);
  clear: both;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-2);
  list-style: none;
  margin: 0 0 var(--rw-space-6);
  padding: 0;
  border-bottom: 2px solid var(--rw-color-border-light);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: var(--rw-space-4) var(--rw-space-6);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text-muted);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--rw-color-primary);
  border-bottom-color: var(--rw-color-primary);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a .rw-tab-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  margin-left: var(--rw-space-2);
  padding: 0.125rem var(--rw-space-2);
  border-radius: var(--rw-radius-full);
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-medium);
  line-height: 1.2;
  vertical-align: middle;
}

.woocommerce div.product .woocommerce-tabs .panel {
  padding: var(--rw-space-6) 0;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-size: var(--rw-font-size-lg);
}

@media (max-width: 767px) {
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    flex-direction: column;
    gap: 0;
    border-bottom: none;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li {
    width: 100%;
    border-bottom: 1px solid var(--rw-color-border-light);
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: var(--rw-space-4);
    margin-bottom: 0;
    border-bottom: none;
    border-left: 3px solid transparent;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    border-left-color: var(--rw-color-primary);
    background: var(--rw-color-bg-alt);
  }
  .woocommerce div.product .woocommerce-tabs .panel {
    padding: var(--rw-space-5) var(--rw-space-4);
    border: 1px solid var(--rw-color-border-light);
    border-radius: var(--rw-radius-md);
    margin-top: var(--rw-space-4);
  }
}
/* Related products */
.woocommerce .related.products,
.woocommerce .upsells.products {
  margin-top: var(--rw-space-16);
  padding-top: var(--rw-space-12);
  border-top: 1px solid var(--rw-color-border-light);
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
  text-align: center;
  margin-bottom: var(--rw-space-8);
}

.woocommerce .related.products ul.products,
.woocommerce .upsells.products ul.products {
  grid-template-columns: 1fr;
}

@media (min-width: 480px) {
  .woocommerce .related.products ul.products,
  .woocommerce .upsells.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .woocommerce .related.products ul.products,
  .woocommerce .upsells.products ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.star-rating {
  color: var(--rw-color-warning);
}

/* Reviews tab */
.rw-star-rating {
  position: relative;
  display: inline-flex;
  width: calc(var(--rw-star-size, 16px) * 5);
  height: var(--rw-star-size, 16px);
  flex: 0 0 auto;
}

.rw-star-rating__empty,
.rw-star-rating__filled {
  display: inline-flex;
  gap: 0;
  line-height: 0;
}

.rw-star-rating__empty {
  color: var(--rw-color-border);
}

.rw-star-rating__filled {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: calc(var(--rw-rating, 0) / 5 * 100%);
  color: var(--rw-color-warning);
}

.rw-star-rating svg {
  width: var(--rw-star-size, 16px);
  height: var(--rw-star-size, 16px);
}

.rw-pdp-reviews__grid {
  display: grid;
  gap: var(--rw-space-8);
}

@media (min-width: 768px) {
  .rw-pdp-reviews__grid {
    grid-template-columns: minmax(220px, 280px) 1fr;
    gap: var(--rw-space-10);
    align-items: start;
  }
}
.rw-pdp-reviews__summary {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
}

.rw-pdp-reviews__score {
  font-size: clamp(2.5rem, 4vw, 3rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-primary);
}

.rw-pdp-reviews__score-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-3);
}

.rw-pdp-reviews__count {
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-pdp-reviews__distribution {
  list-style: none;
  margin: var(--rw-space-2) 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-2);
}

.rw-pdp-reviews__distribution-row {
  display: grid;
  grid-template-columns: 2.5rem 1fr 2rem;
  align-items: center;
  gap: var(--rw-space-3);
}

.rw-pdp-reviews__distribution-label {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-1);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  white-space: nowrap;
}

.rw-pdp-reviews__distribution-bar {
  display: block;
  height: 8px;
  border-radius: var(--rw-radius-full);
  background: var(--rw-color-bg-alt);
  overflow: hidden;
}

.rw-pdp-reviews__distribution-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--rw-color-brand);
}

.rw-pdp-reviews__distribution-count {
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  text-align: right;
}

.rw-pdp-reviews__list .commentlist {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-pdp-review-item {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--rw-color-border-light);
}

.rw-pdp-review-item:first-child .rw-pdp-review {
  padding-top: 0;
}

.rw-pdp-review {
  padding: var(--rw-space-6) 0;
}

.rw-pdp-review__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-3);
  margin-bottom: var(--rw-space-3);
}

.rw-pdp-review__author-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--rw-space-2);
  min-width: 0;
}

.rw-pdp-review__author {
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-primary);
}

.rw-pdp-review__subtitle {
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-pdp-review__separator {
  color: var(--rw-color-text-muted);
}

.rw-pdp-review__body {
  margin: 0;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
}

.rw-pdp-review__body p {
  margin: 0;
}

.rw-pdp-review__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-2);
  margin-top: var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-pdp-review__verified {
  color: var(--rw-color-text-muted);
}

.rw-pdp-reviews__empty,
.rw-pdp-review__pending {
  margin: 0;
  color: var(--rw-color-text-muted);
}

.rw-pdp-reviews__form {
  margin-top: var(--rw-space-10);
  padding-top: var(--rw-space-8);
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-pdp-reviews__form .comment-reply-title {
  display: block;
  margin-bottom: var(--rw-space-5);
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-primary);
}

.rw-pdp-reviews__form .comment-form-author,
.rw-pdp-reviews__form .comment-form-email,
.rw-pdp-reviews__form .comment-form-rating,
.rw-pdp-reviews__form .comment-form-comment {
  margin-bottom: var(--rw-space-4);
}

.rw-pdp-reviews__form label {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text);
}

.rw-pdp-reviews__form .comment-form-rating__label {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text);
}

.rw-review-form-stars {
  display: inline-flex;
  gap: var(--rw-space-1);
  align-items: center;
}

.rw-review-form-stars__star {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--rw-color-border);
  line-height: 0;
  cursor: pointer;
  transition: color 0.15s ease;
}

.rw-review-form-stars__star svg {
  width: 20px;
  height: 20px;
  pointer-events: none;
}

.rw-review-form-stars__star svg path {
  fill: currentColor;
}

.rw-review-form-stars__star.is-hovered,
.rw-review-form-stars__star.is-selected {
  color: var(--rw-color-warning);
}

.rw-review-form-stars__star:focus-visible {
  outline: 2px solid var(--rw-color-brand);
  outline-offset: 2px;
  border-radius: var(--rw-radius-sm);
}

.rw-pdp-reviews__form input[type=text],
.rw-pdp-reviews__form input[type=email],
.rw-pdp-reviews__form select,
.rw-pdp-reviews__form textarea {
  width: 100%;
  max-width: 100%;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
  color: var(--rw-color-text);
  font: inherit;
}

.rw-pdp-reviews__form .form-submit {
  margin-top: var(--rw-space-5);
}

.rw-pdp-reviews__form .submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--rw-space-3) var(--rw-space-6);
  border: none;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-brand);
  color: var(--rw-color-text-inverse);
  font-weight: var(--rw-font-weight-semibold);
  cursor: pointer;
}

.rw-pdp-reviews__form .submit:hover {
  background: var(--rw-color-brand-hover);
}

.rw-pdp-reviews__verification {
  margin-top: var(--rw-space-8);
  color: var(--rw-color-text-muted);
}

.woocommerce-variation-price {
  display: none;
}

.woocommerce-variation-availability {
  display: none;
}

/**
 * Cart, checkout, and my account pages
 */
.rw-page-header {
  padding-top: var(--rw-space-8);
  padding-bottom: var(--rw-space-6);
  background: var(--rw-color-bg-alt);
  border-bottom: 1px solid var(--rw-color-border-light);
  margin-bottom: var(--rw-space-8);
}

.rw-page-header .entry-title {
  margin: 0;
  font-size: var(--rw-font-size-2xl);
}

.rw-account-page,
.rw-cart-page,
.rw-checkout-page {
  padding-bottom: var(--rw-space-16);
}

/* Cart table */
.woocommerce-cart table.shop_table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--rw-space-8);
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
  padding: var(--rw-space-4);
  border-bottom: 1px solid var(--rw-color-border-light);
  text-align: left;
}

.woocommerce-cart table.shop_table th {
  font-weight: var(--rw-font-weight-semibold);
  background: var(--rw-color-bg-alt);
}

.woocommerce-cart .product-thumbnail img {
  max-width: 80px;
  border-radius: var(--rw-radius-sm);
}

.woocommerce-cart .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-3);
  margin-bottom: var(--rw-space-6);
}

.woocommerce-cart .coupon input[type=text] {
  flex: 1;
  min-width: 200px;
  padding: var(--rw-space-3);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
}

.woocommerce-cart .cart-collaterals {
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  padding: var(--rw-space-6);
}

.woocommerce-cart .cart_totals h2 {
  font-size: var(--rw-font-size-lg);
  margin-bottom: var(--rw-space-4);
}

.woocommerce-cart .actions .button {
  min-height: 44px;
}

.woocommerce-cart .product-remove a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  font-size: var(--rw-font-size-xl);
  line-height: 1;
  text-decoration: none;
  color: var(--rw-color-text-muted);
}

.woocommerce-cart .product-quantity .qty {
  min-width: 64px;
  min-height: 44px;
  padding: var(--rw-space-2) var(--rw-space-3);
  text-align: center;
}

@media (max-width: 767px) {
  .woocommerce-cart table.shop_table {
    border: none;
  }
  .woocommerce-cart table.shop_table thead {
    display: none;
  }
  .woocommerce-cart table.shop_table tbody tr.cart_item {
    display: block;
    border: 1px solid var(--rw-color-border-light);
    border-radius: var(--rw-radius-lg);
    margin-bottom: var(--rw-space-4);
    padding: var(--rw-space-4);
    background: var(--rw-color-bg);
  }
  .woocommerce-cart table.shop_table tbody tr.cart_item td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--rw-space-3);
    border: none;
    padding: var(--rw-space-3) 0;
    text-align: right;
  }
  .woocommerce-cart table.shop_table tbody tr.cart_item td::before {
    content: attr(data-title);
    font-weight: var(--rw-font-weight-semibold);
    font-size: var(--rw-font-size-sm);
    color: var(--rw-color-text-muted);
    text-align: left;
    flex: 1;
  }
  .woocommerce-cart table.shop_table td.product-remove {
    justify-content: flex-end;
    padding-top: 0;
  }
  .woocommerce-cart table.shop_table td.product-remove::before {
    display: none;
  }
  .woocommerce-cart table.shop_table td.product-thumbnail,
  .woocommerce-cart table.shop_table td.product-name {
    display: block;
    text-align: left;
    padding-left: 0;
    padding-right: 0;
  }
  .woocommerce-cart table.shop_table td.product-thumbnail::before,
  .woocommerce-cart table.shop_table td.product-name::before {
    display: none;
  }
  .woocommerce-cart table.shop_table td.product-thumbnail {
    padding-bottom: var(--rw-space-2);
  }
  .woocommerce-cart table.shop_table td.product-thumbnail img {
    max-width: 120px;
  }
  .woocommerce-cart table.shop_table td.product-name {
    font-weight: var(--rw-font-weight-semibold);
    padding-bottom: var(--rw-space-3);
    border-bottom: 1px solid var(--rw-color-border-light);
    margin-bottom: var(--rw-space-2);
  }
  .woocommerce-cart table.shop_table tr:not(.cart_item) td {
    display: block;
    border: none;
    padding: var(--rw-space-3) 0;
  }
  .woocommerce-cart table.shop_table tr:not(.cart_item) td::before {
    display: none;
  }
  .woocommerce-cart .coupon {
    flex-direction: column;
    align-items: stretch;
  }
  .woocommerce-cart .coupon input[type=text] {
    min-width: 0;
    width: 100%;
  }
  .woocommerce-cart .coupon .button,
  .woocommerce-cart .actions .button {
    width: 100%;
  }
  .woocommerce-cart .cart-collaterals {
    margin-top: var(--rw-space-6);
  }
}
/**
 * Classic checkout styling.
 *
 * Scoped away from the multistep flow, which ships its own layout in
 * pages/_checkout-flow.scss and would otherwise be overridden here.
 */
body:not(.wcd-checkout-page) {
  /* Checkout order review table — mobile card layout */
}
@media (max-width: 767px) {
  body:not(.wcd-checkout-page).woocommerce-checkout #order_review .shop_table thead {
    display: none;
  }
  body:not(.wcd-checkout-page).woocommerce-checkout #order_review .shop_table tbody tr {
    display: block;
    border-bottom: 1px solid var(--rw-color-border-light);
    padding: var(--rw-space-3) 0;
  }
  body:not(.wcd-checkout-page).woocommerce-checkout #order_review .shop_table tbody tr td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--rw-space-3);
    border: none;
    padding: var(--rw-space-2) 0;
    text-align: right;
  }
  body:not(.wcd-checkout-page).woocommerce-checkout #order_review .shop_table tbody tr td::before {
    content: attr(data-title);
    font-weight: var(--rw-font-weight-semibold);
    font-size: var(--rw-font-size-sm);
    color: var(--rw-color-text-muted);
    text-align: left;
    flex: 1;
  }
  body:not(.wcd-checkout-page).woocommerce-checkout #order_review .shop_table tfoot tr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--rw-space-3);
    padding: var(--rw-space-3) 0;
    border-bottom: 1px solid var(--rw-color-border-light);
  }
  body:not(.wcd-checkout-page).woocommerce-checkout #order_review .shop_table tfoot tr th, body:not(.wcd-checkout-page).woocommerce-checkout #order_review .shop_table tfoot tr td {
    border: none;
    padding: 0;
    background: none;
  }
}
body:not(.wcd-checkout-page) {
  /* Checkout */
}
body:not(.wcd-checkout-page).woocommerce-checkout .col2-set {
  display: grid;
  gap: var(--rw-space-8);
  margin-bottom: var(--rw-space-8);
}
@media (min-width: 1024px) {
  body:not(.wcd-checkout-page).woocommerce-checkout .col2-set {
    grid-template-columns: 1fr 1fr;
  }
}
body:not(.wcd-checkout-page).woocommerce-checkout .woocommerce-billing-fields h3, body:not(.wcd-checkout-page).woocommerce-checkout .woocommerce-shipping-fields h3, body:not(.wcd-checkout-page).woocommerce-checkout #order_review_heading {
  font-size: var(--rw-font-size-lg);
  margin-bottom: var(--rw-space-4);
}
body:not(.wcd-checkout-page).woocommerce-checkout .form-row {
  margin-bottom: var(--rw-space-4);
}
body:not(.wcd-checkout-page).woocommerce-checkout .form-row label {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-weight: var(--rw-font-weight-medium);
  font-size: var(--rw-font-size-sm);
}
body:not(.wcd-checkout-page).woocommerce-checkout .form-row input.input-text, body:not(.wcd-checkout-page).woocommerce-checkout .form-row textarea, body:not(.wcd-checkout-page).woocommerce-checkout .form-row select {
  width: 100%;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  font-family: inherit;
  font-size: var(--rw-font-size-base);
  background: var(--rw-color-bg);
}
body:not(.wcd-checkout-page).woocommerce-checkout #order_review {
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  padding: var(--rw-space-6);
}
body:not(.wcd-checkout-page).woocommerce-checkout #payment {
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  padding: var(--rw-space-4);
  margin-top: var(--rw-space-6);
}
body:not(.wcd-checkout-page).woocommerce-checkout #payment ul.payment_methods li {
  margin-bottom: var(--rw-space-3);
}
body:not(.wcd-checkout-page).woocommerce-checkout #payment ul.payment_methods li input {
  min-width: 20px;
  min-height: 20px;
  margin-right: var(--rw-space-3);
  vertical-align: middle;
}
body:not(.wcd-checkout-page).woocommerce-checkout #payment .payment_box {
  margin-top: var(--rw-space-3);
}
body:not(.wcd-checkout-page).woocommerce-checkout #payment .payment_box iframe {
  max-width: 100%;
}
body:not(.wcd-checkout-page).woocommerce-checkout #place_order {
  min-height: 48px;
}
@media (max-width: 767px) {
  body:not(.wcd-checkout-page).woocommerce-checkout .col2-set {
    gap: var(--rw-space-6);
    margin-bottom: var(--rw-space-6);
  }
  body:not(.wcd-checkout-page).woocommerce-checkout #order_review {
    padding: var(--rw-space-4);
  }
  body:not(.wcd-checkout-page).woocommerce-checkout #payment {
    padding: var(--rw-space-3);
  }
  body:not(.wcd-checkout-page).woocommerce-checkout #place_order {
    width: 100%;
  }
}

/* Block checkout/cart compatibility */
.wc-block-cart,
.wc-block-checkout {
  max-width: var(--rw-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--rw-space-4);
  padding-right: var(--rw-space-4);
}

.wc-block-components-button:not(.is-link) {
  background-color: var(--rw-color-primary) !important;
  border-radius: var(--rw-radius-md) !important;
}

/**
 * Custom multistep checkout presentation.
 * Commerce behavior remains owned by WooCommerce.
 */
.wcd-checkout {
  min-height: 70vh;
  padding: var(--rw-space-8) 0 var(--rw-space-16);
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-text);
}
.wcd-checkout__notices {
  margin: var(--rw-space-4) 0;
}
.wcd-checkout__notices:empty {
  display: none;
}
.wcd-checkout__notices .woocommerce-error,
.wcd-checkout__notices .woocommerce-info,
.wcd-checkout__notices .woocommerce-message {
  margin: 0 0 var(--rw-space-4);
  padding: var(--rw-space-4);
  list-style: none;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
}
.wcd-checkout__notices .woocommerce-error {
  border-color: color-mix(in srgb, var(--rw-color-error) 35%, white);
  color: var(--rw-color-error);
}
.wcd-checkout a {
  color: var(--rw-color-accent);
}
.wcd-checkout h1,
.wcd-checkout h2,
.wcd-checkout h3,
.wcd-checkout p {
  margin-top: 0;
}
.wcd-checkout h1,
.wcd-checkout h2,
.wcd-checkout h3 {
  color: var(--rw-color-primary);
}
.wcd-checkout h1 {
  font-size: var(--rw-font-size-xl);
}
.wcd-checkout h2 {
  font-size: var(--rw-font-size-lg);
}
.wcd-checkout h3 {
  font-size: var(--rw-font-size-base);
}
.wcd-checkout .wcd-card {
  padding: var(--rw-space-6);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  background: var(--rw-color-bg);
  box-shadow: var(--rw-shadow-sm);
}
.wcd-checkout .wcd-button,
.wcd-checkout .button,
.wcd-checkout #place_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: var(--rw-space-3) var(--rw-space-5);
  border: 1px solid transparent;
  border-radius: var(--rw-radius-md);
  font: inherit;
  font-weight: var(--rw-font-weight-medium);
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--rw-transition), border-color var(--rw-transition), opacity var(--rw-transition);
}
.wcd-checkout .wcd-button--primary,
.wcd-checkout #place_order {
  color: var(--rw-color-text-inverse);
  background: var(--rw-color-accent);
}
.wcd-checkout .wcd-button--primary:hover, .wcd-checkout .wcd-button--primary:focus-visible,
.wcd-checkout #place_order:hover,
.wcd-checkout #place_order:focus-visible {
  color: var(--rw-color-text-inverse);
  background: var(--rw-color-brand-hover);
}
.wcd-checkout .wcd-button--secondary,
.wcd-checkout .button {
  color: var(--rw-color-primary);
  border-color: var(--rw-color-border);
  background: var(--rw-color-bg);
}
.wcd-checkout .wcd-button--secondary:hover, .wcd-checkout .wcd-button--secondary:focus-visible,
.wcd-checkout .button:hover,
.wcd-checkout .button:focus-visible {
  border-color: var(--rw-color-accent);
}
.wcd-checkout .wcd-button--block {
  width: 100%;
}
.wcd-checkout .wcd-button--with-icon {
  gap: var(--rw-space-2);
}
.wcd-checkout .wcd-button--with-icon svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
}
.wcd-checkout .wcd-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(320px, 0.8fr);
  gap: var(--rw-space-6);
  align-items: start;
}
.wcd-checkout .wcd-checkout-main,
.wcd-checkout .wcd-checkout-customer {
  display: grid;
  gap: var(--rw-space-4);
  min-width: 0;
}
.wcd-checkout .wcd-checkout-sidebar {
  min-width: 0;
}
.wcd-checkout .is-updating {
  opacity: 0.65;
  pointer-events: none;
  transition: opacity var(--rw-transition);
}
.wcd-checkout .wcd-checkout-sidebar__sticky {
  position: sticky;
  top: 24px;
  transition: opacity var(--rw-transition);
}
.wcd-checkout .wcd-checkout-sidebar__stack {
  display: grid;
  gap: var(--rw-space-4);
}
.wcd-checkout .wcd-checkout-collapsible__summary {
  list-style: none;
  cursor: pointer;
}
.wcd-checkout .wcd-checkout-collapsible__summary::-webkit-details-marker {
  display: none;
}
.wcd-checkout .wcd-checkout-collapsible__summary::marker {
  content: "";
}
.wcd-checkout .wcd-checkout-collapsible__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rw-space-3);
}
.wcd-checkout .wcd-checkout-collapsible__titles {
  display: grid;
  gap: var(--rw-space-1);
  min-width: 0;
}
.wcd-checkout .wcd-checkout-collapsible__title {
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-lg);
  font-weight: var(--rw-font-weight-bold);
  line-height: 1.2;
}
.wcd-checkout .wcd-checkout-collapsible__chevron {
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--rw-color-text-muted);
  transition: transform var(--rw-transition);
}
.wcd-checkout .wcd-checkout-collapsible__chevron svg {
  display: block;
  width: 16px;
  height: 16px;
}
.wcd-checkout .wcd-checkout-collapsible[open] .wcd-checkout .wcd-checkout-collapsible__chevron {
  transform: rotate(180deg);
}
.wcd-checkout .wcd-checkout-collapsible__body {
  margin-top: var(--rw-space-4);
}
.wcd-checkout .wcd-checkout-order-overview__subtitle {
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-normal);
}
.wcd-checkout .wcd-checkout-order-overview__items {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wcd-checkout .wcd-checkout-order-item {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: var(--rw-space-3);
  align-items: start;
  padding: var(--rw-space-4) 0;
  border-bottom: 1px solid var(--rw-color-border-light);
}
.wcd-checkout .wcd-checkout-order-item:first-child {
  padding-top: 0;
}
.wcd-checkout .wcd-checkout-order-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.wcd-checkout .wcd-checkout-order-item__image img {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}
.wcd-checkout .wcd-checkout-order-item__content {
  display: grid;
  gap: var(--rw-space-3);
  min-width: 0;
}
.wcd-checkout .wcd-checkout-order-item__meta {
  display: grid;
  gap: var(--rw-space-1);
  padding-right: var(--rw-space-6);
}
.wcd-checkout .wcd-checkout-order-item__brand {
  display: block;
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
}
.wcd-checkout .wcd-checkout-order-item__name, .wcd-checkout .wcd-checkout-order-item__name a {
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
  text-decoration: none;
}
.wcd-checkout .wcd-checkout-order-item__name a:hover {
  color: var(--rw-color-accent);
}
.wcd-checkout .wcd-checkout-order-item .variation {
  margin: 0;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs);
}
.wcd-checkout .wcd-checkout-order-item__quantity .wcd-qty-control,
.wcd-checkout .wcd-checkout-order-item__quantity .quantity {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  overflow: hidden;
}
.wcd-checkout .wcd-checkout-order-item__quantity .wcd-qty-control__btn,
.wcd-checkout .wcd-checkout-order-item__quantity .minus,
.wcd-checkout .wcd-checkout-order-item__quantity .plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  min-height: 34px;
  padding: 0;
  border: 0;
  background: var(--rw-color-bg);
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-base);
  line-height: 1;
  cursor: pointer;
}
.wcd-checkout .wcd-checkout-order-item__quantity .qty {
  width: 42px;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-left: 1px solid var(--rw-color-border-light);
  border-right: 1px solid var(--rw-color-border-light);
  border-radius: 0;
  text-align: center;
}
.wcd-checkout .wcd-checkout-order-item__remove {
  position: absolute;
  top: var(--rw-space-4);
  right: 0;
}
.wcd-checkout .wcd-checkout-order-item__remove .remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-lg);
  line-height: 1;
  text-decoration: none;
}
.wcd-checkout .wcd-checkout-order-item__remove .remove:hover {
  color: var(--rw-color-error);
}
.wcd-checkout .wcd-checkout-order-item:first-child .wcd-checkout .wcd-checkout-order-item__remove {
  top: 0;
}
.wcd-checkout .wcd-checkout-gift-card .wcd-gift-card-coupon {
  margin: 0;
}
.wcd-checkout .wcd-checkout-gift-card .wcd-gift-card-coupon__field {
  position: relative;
  margin: 0;
}
.wcd-checkout .wcd-checkout-gift-card .wcd-gift-card-coupon__field label {
  position: absolute;
  top: 0;
  left: var(--rw-space-3);
  z-index: 1;
  margin-bottom: 0;
  padding: 0 var(--rw-space-1);
  background: var(--rw-color-bg);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-normal);
  color: var(--rw-color-text-muted);
  line-height: 1.2;
  transform: translateY(-50%);
}
.wcd-checkout .wcd-checkout-gift-card .wcd-gift-card-coupon__field:focus-within label {
  color: var(--rw-color-accent);
}
.wcd-checkout .wcd-checkout-gift-card .wcd-gift-card-coupon__input-wrap {
  position: relative;
  display: block;
}
.wcd-checkout .wcd-checkout-gift-card .wcd-gift-card-coupon__input {
  min-height: 50px;
  padding: 1.125rem calc(var(--rw-space-6) + 20px) 0.625rem var(--rw-space-3);
  font-size: var(--rw-font-size-base);
  color: var(--rw-color-primary);
}
.wcd-checkout .wcd-checkout-gift-card .wcd-gift-card-coupon__input.is-valid {
  border-color: var(--rw-color-accent);
}
.wcd-checkout .wcd-checkout-gift-card .wcd-gift-card-coupon__check {
  position: absolute;
  top: 50%;
  right: var(--rw-space-3);
  display: none;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: var(--rw-color-text-inverse);
  background: var(--rw-color-accent);
  transform: translateY(-50%);
}
.wcd-checkout .wcd-checkout-gift-card .wcd-gift-card-coupon__check svg {
  display: block;
  width: 12px;
  height: 12px;
}
.wcd-checkout .wcd-checkout-gift-card .wcd-gift-card-coupon__input.is-valid + .wcd-gift-card-coupon__check {
  display: inline-flex;
}
.wcd-checkout .wcd-checkout-cashback .wcd-checkout-cashback__content {
  display: grid;
  gap: var(--rw-space-3);
}
.wcd-checkout .wcd-checkout-cashback .wcd-checkout-cashback__balance {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--rw-space-3);
  margin: 0;
}
.wcd-checkout .wcd-checkout-cashback .wcd-checkout-cashback__balance-label {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}
.wcd-checkout .wcd-checkout-cashback .wcd-checkout-cashback__balance-expiry {
  font-size: var(--rw-font-size-xs);
}
.wcd-checkout .wcd-checkout-cashback .wcd-checkout-cashback__balance-value {
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
}
.wcd-checkout .wcd-checkout-cashback .wcd-checkout-cashback__applied {
  margin: 0;
  color: var(--rw-color-success);
  font-size: var(--rw-font-size-sm);
}
.wcd-checkout .wcd-checkout-cashback .wcd-checkout-cashback__feedback {
  min-height: 0;
  font-size: var(--rw-font-size-sm);
}
.wcd-checkout .wcd-checkout-cashback .wcd-checkout-cashback__feedback:empty {
  display: none;
}
.wcd-checkout .wcd-checkout-cashback .wcd-checkout-cashback__feedback .wsh-odoo-cashback__message {
  margin: 0;
}
.wcd-checkout .wcd-checkout-cashback .wcd-checkout-cashback__feedback .wsh-odoo-cashback__message--error {
  color: var(--rw-color-error);
}
.wcd-checkout .wcd-checkout-cashback .is-loading .wcd-button {
  opacity: 0.65;
  pointer-events: none;
}
.wcd-checkout .wcd-checkout-summary-card__title {
  margin-bottom: var(--rw-space-4);
}
.wcd-checkout .wcd-checkout-summary-card .wcd-order-summary h2 {
  margin: 0;
}
.wcd-checkout .wcd-checkout-summary-card .wcd-order-summary__table .wcd-order-summary__discount-row th,
.wcd-checkout .wcd-checkout-summary-card .wcd-order-summary__table .wcd-order-summary__discount-row td {
  color: var(--rw-color-text-muted);
  font-weight: var(--rw-font-weight-normal);
}
.wcd-checkout .wcd-checkout-summary-card .wcd-order-summary__table .wcd-order-summary__discount-row a {
  display: block;
  margin-top: var(--rw-space-1);
  font-size: var(--rw-font-size-xs);
}
.wcd-checkout .wcd-checkout-summary-card .wcd-order-summary__table .order-total th,
.wcd-checkout .wcd-checkout-summary-card .wcd-order-summary__table .order-total td {
  padding-top: var(--rw-space-4);
  border-top: 1px solid var(--rw-color-border-light);
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
}
.wcd-checkout .wcd-checkout-steps {
  overflow: hidden;
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  background: var(--rw-color-bg);
  box-shadow: var(--rw-shadow-sm);
}
.wcd-checkout .wcd-checkout-steps__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
.wcd-checkout .wcd-checkout-step {
  position: relative;
}
.wcd-checkout .wcd-checkout-step::after {
  display: block;
  position: relative;
  height: 3px;
  content: "";
  background: var(--rw-color-border-light);
}
.wcd-checkout .wcd-checkout-step:last-child::after {
  display: none;
}
.wcd-checkout .wcd-checkout-step.is-active::after, .wcd-checkout .wcd-checkout-step.is-complete::after {
  background: var(--rw-color-accent);
}
.wcd-checkout .wcd-checkout-step__content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--rw-space-2);
  min-height: 68px;
  padding: var(--rw-space-3);
  color: var(--rw-color-text-muted);
  text-decoration: none;
  background: var(--rw-color-bg);
}
.wcd-checkout .wcd-checkout-step__number {
  display: inline-flex;
  flex: 0 0 22px;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: var(--rw-color-text-inverse);
  background: #9aa5b2;
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-semibold);
}
.wcd-checkout .wcd-checkout-step.is-active .wcd-checkout-step__content {
  color: var(--rw-color-primary);
  font-weight: var(--rw-font-weight-semibold);
}
.wcd-checkout .wcd-checkout-step.is-active .wcd-checkout-step__number {
  background: var(--rw-color-accent);
}
.wcd-checkout .wcd-checkout-step.is-complete .wcd-checkout-step__number {
  background: var(--rw-color-success);
}
.wcd-checkout .wcd-checkout-step.is-disabled .wcd-checkout-step__content {
  opacity: 0.55;
}
.wcd-checkout .wcd-checkout-account {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(300px, 360px);
  gap: var(--rw-space-4);
  margin-top: var(--rw-space-4);
}
.wcd-checkout .wcd-checkout-account.is-register-open {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(300px, 360px);
}
.wcd-checkout .wcd-checkout-account.is-register-open .wcd-checkout-account__register-intro {
  display: none;
}
.wcd-checkout .wcd-checkout-account.is-register-open .wcd-checkout-account__register-form {
  display: block;
}
.wcd-checkout .wcd-checkout-account__register-form {
  display: none;
}
.wcd-checkout .wcd-checkout-account__guest {
  align-self: start;
}
.wcd-checkout .wcd-checkout-account__guest .wcd-checkout-summary-card {
  position: sticky;
  top: 24px;
}
.wcd-checkout .wcd-checkout-account__guest .wcd-button {
  margin-top: var(--rw-space-4);
}
.wcd-checkout .wcd-checkout-account__register .rw-login-form--register {
  padding: 0;
  margin-bottom: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.wcd-checkout .wcd-checkout-account__register .rw-auth-form__title {
  margin: 0 0 var(--rw-space-2);
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  color: var(--rw-color-navy);
}
.wcd-checkout .wcd-checkout-account__register .rw-auth-form__section-title {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rw-color-navy);
}
.wcd-checkout .wcd-checkout-account__register .rw-auth-form__submit {
  width: 100%;
}
.wcd-checkout .wcd-checkout-account__benefits {
  display: grid;
  gap: var(--rw-space-2);
  margin: var(--rw-space-4) 0;
  padding: 0;
  list-style: none;
}
.wcd-checkout .wcd-checkout-account__benefits li {
  position: relative;
  padding-left: var(--rw-space-6);
}
.wcd-checkout .wcd-checkout-account__benefits li::before {
  position: absolute;
  left: 0;
  color: var(--rw-color-accent);
  content: "✓";
  font-weight: var(--rw-font-weight-bold);
}
.wcd-checkout .wcd-checkout-account__actions {
  display: flex;
  justify-content: space-between;
  gap: var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
}
.wcd-checkout .form-row {
  margin: 0 0 var(--rw-space-4);
}
.wcd-checkout .form-row label {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
}
.wcd-checkout .form-row .required {
  color: var(--rw-color-error);
}
.wcd-checkout .input-text,
.wcd-checkout select,
.wcd-checkout textarea,
.wcd-checkout .select2-container .select2-selection {
  width: 100%;
  min-height: 44px;
  padding: var(--rw-space-3);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  color: var(--rw-color-text);
  background: var(--rw-color-bg);
  font: inherit;
}
.wcd-checkout .input-text:focus,
.wcd-checkout select:focus,
.wcd-checkout textarea:focus,
.wcd-checkout .select2-container .select2-selection:focus {
  border-color: var(--rw-color-accent);
  outline: 2px solid color-mix(in srgb, var(--rw-color-accent) 20%, transparent);
  outline-offset: 1px;
}
.wcd-checkout .clear {
  clear: both;
}
.wcd-checkout .wcd-cart-items {
  display: grid;
  gap: var(--rw-space-3);
}
.wcd-checkout .wcd-cart-item {
  position: relative;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto 82px auto;
  gap: var(--rw-space-4);
  align-items: center;
}
.wcd-checkout .wcd-cart-item__image img {
  display: block;
  width: 96px;
  height: 82px;
  object-fit: contain;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}
.wcd-checkout .wcd-cart-item__details h2 {
  margin-bottom: var(--rw-space-1);
  font-size: var(--rw-font-size-sm);
}
.wcd-checkout .wcd-cart-item__details h2 a {
  color: var(--rw-color-primary);
  text-decoration: none;
}
.wcd-checkout .wcd-cart-item__details .variation {
  margin: var(--rw-space-1) 0 0;
  font-size: var(--rw-font-size-xs);
}
.wcd-checkout .wcd-cart-item__details .variation dt,
.wcd-checkout .wcd-cart-item__details .variation dd,
.wcd-checkout .wcd-cart-item__details .variation p {
  display: inline;
  margin: 0;
}
.wcd-checkout .wcd-cart-item__discount {
  margin: var(--rw-space-1) 0 0;
  font-size: var(--rw-font-size-xs);
}
.wcd-checkout .wcd-cart-item__discount del {
  margin-right: var(--rw-space-1);
  color: var(--rw-color-text-muted);
}
.wcd-checkout .wcd-cart-item__discount ins {
  color: var(--rw-color-sale);
  font-weight: var(--rw-font-weight-semibold);
  text-decoration: none;
}
.wcd-checkout .wcd-cart-item__sku,
.wcd-checkout .wcd-cart-item__price small {
  margin: 0;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs);
}
.wcd-checkout .wcd-cart-item__price,
.wcd-checkout .wcd-cart-item__subtotal {
  font-weight: var(--rw-font-weight-semibold);
  white-space: nowrap;
}
.wcd-checkout .wcd-cart-item__price small {
  display: block;
  font-weight: var(--rw-font-weight-normal);
}
.wcd-checkout .wcd-cart-item__quantity .qty {
  width: 72px;
  min-height: 42px;
  text-align: center;
}
.wcd-checkout .wcd-cart-item__remove {
  position: absolute;
  top: var(--rw-space-2);
  right: var(--rw-space-2);
}
.wcd-checkout .wcd-cart-item__remove .remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-lg);
  line-height: 1;
  text-decoration: none;
}
.wcd-checkout .wcd-cart-item__remove .remove:hover {
  color: var(--rw-color-error);
  background: var(--rw-color-bg-alt);
}
.wcd-checkout .wcd-cart-actions {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-top: var(--rw-space-4);
}
.wcd-checkout .wcd-cart-actions .coupon {
  flex: 1;
  margin: 0;
}
.wcd-checkout .wcd-cart-actions .coupon > label {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-weight: var(--rw-font-weight-semibold);
}
.wcd-checkout .wcd-cart-actions__coupon {
  display: flex;
  gap: var(--rw-space-2);
}
.wcd-checkout .wcd-gift-card-coupon__feedback {
  margin-top: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
}
.wcd-checkout .wcd-gift-card-coupon__feedback:empty {
  display: none;
}
.wcd-checkout .wcd-gift-card-coupon__feedback .wsh-odoo-gift-card__message {
  margin: 0;
}
.wcd-checkout .wcd-gift-card-coupon__feedback .wsh-odoo-gift-card__message--valid {
  color: var(--rw-color-success);
}
.wcd-checkout .wcd-gift-card-coupon__feedback .wsh-odoo-gift-card__message--error {
  color: var(--rw-color-error);
}
.wcd-checkout .wcd-gift-card-summary td {
  padding: var(--rw-space-3) 0 0;
  text-align: left;
}
.wcd-checkout .wcd-gift-card-summary__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-3);
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid color-mix(in srgb, var(--rw-color-success) 25%, var(--rw-color-border-light));
  border-radius: var(--rw-radius-md);
  background: color-mix(in srgb, var(--rw-color-success) 6%, var(--rw-color-bg));
}
.wcd-checkout .wcd-gift-card-summary__info {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-1);
  min-width: 0;
}
.wcd-checkout .wcd-gift-card-summary__label {
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-tight);
}
.wcd-checkout .wcd-gift-card-summary__code {
  color: var(--rw-color-text-muted);
  font-family: var(--rw-font-family-mono, ui-monospace, monospace);
  font-size: var(--rw-font-size-xs);
  line-height: var(--rw-line-height-tight);
  overflow-wrap: anywhere;
}
.wcd-checkout .wcd-gift-card-summary__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--rw-space-1);
  flex-shrink: 0;
}
.wcd-checkout .wcd-gift-card-summary__amount {
  color: var(--rw-color-success);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  white-space: nowrap;
}
.wcd-checkout .wcd-gift-card-summary__remove {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--rw-color-accent);
  font: inherit;
  font-size: var(--rw-font-size-xs);
  line-height: 1.2;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.wcd-checkout .wcd-gift-card-summary__remove:hover, .wcd-checkout .wcd-gift-card-summary__remove:focus-visible {
  color: var(--rw-color-brand-hover);
}
.wcd-checkout .wcd-cart-update {
  flex: 0 0 auto;
}
.wcd-checkout .wcd-order-summary h2 {
  margin-bottom: var(--rw-space-4);
}
.wcd-checkout .wcd-order-summary__table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}
.wcd-checkout .wcd-order-summary__table th,
.wcd-checkout .wcd-order-summary__table td {
  padding: var(--rw-space-2) 0;
  border: 0;
  background: transparent;
  font-size: var(--rw-font-size-sm);
  text-align: left;
  vertical-align: top;
}
.wcd-checkout .wcd-order-summary__table td {
  text-align: right;
}
.wcd-checkout .wcd-order-summary__table .order-total th,
.wcd-checkout .wcd-order-summary__table .order-total td {
  padding-top: var(--rw-space-4);
  border-top: 1px solid var(--rw-color-border-light);
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
}
.wcd-checkout .wcd-order-summary__table .wcd-order-summary__member-discount th,
.wcd-checkout .wcd-order-summary__table .wcd-order-summary__member-discount td {
  color: var(--rw-color-sale);
}
.wcd-checkout .cart_totals .wcd-order-summary__table .shipping td,
.wcd-checkout .cart_totals .wcd-order-summary__table .wcd-gift-card-summary td,
.wcd-checkout .cart_totals .wcd-order-summary__table .wcd-cashback-summary td {
  display: table-cell;
  width: auto;
  padding: var(--rw-space-2) 0;
  text-align: left;
}
.wcd-checkout .cart_totals .wcd-order-summary__table .wcd-order-summary__shipping {
  display: grid;
  gap: var(--rw-space-2);
}
.wcd-checkout .cart_totals .wcd-order-summary__table .wcd-order-summary__shipping-label {
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
}
.wcd-checkout .cart_totals .wcd-order-summary__table .woocommerce-shipping-destination,
.wcd-checkout .cart_totals .wcd-order-summary__table .woocommerce-shipping-contents {
  margin: var(--rw-space-2) 0 0;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs);
}
.wcd-checkout .wcd-order-summary__products .cart_item td {
  padding: var(--rw-space-3) 0;
  border-bottom: 1px solid var(--rw-color-border-light);
}
.wcd-checkout .wcd-order-summary__product {
  display: flex;
  gap: var(--rw-space-3);
  text-align: left;
}
.wcd-checkout .wcd-order-summary__product img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}
.wcd-checkout .wcd-order-summary__product strong,
.wcd-checkout .wcd-order-summary__product small {
  display: block;
}
.wcd-checkout .wcd-order-summary__product strong {
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-xs);
}
.wcd-checkout .wcd-order-summary__product small,
.wcd-checkout .wcd-order-summary__product .variation {
  color: var(--rw-color-text-muted);
  font-size: 0.6875rem;
}
.wcd-checkout .wcd-order-summary + .wcd-button {
  margin-top: var(--rw-space-4);
}
.wcd-checkout .woocommerce-billing-fields__field-wrapper,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper,
.wcd-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--rw-space-4);
}
.wcd-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper .form-row,
.wcd-checkout .woocommerce-additional-fields__field-wrapper .form-row {
  grid-column: 1/-1;
}
.wcd-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
.wcd-checkout .woocommerce-additional-fields__field-wrapper .form-row-first {
  grid-column: 1;
}
.wcd-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last,
.wcd-checkout .woocommerce-additional-fields__field-wrapper .form-row-last {
  grid-column: 2;
}
.wcd-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
  position: relative;
  margin-top: var(--rw-space-2);
}
.wcd-checkout .woocommerce-billing-fields__field-wrapper .form-row label,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper .form-row label {
  position: absolute;
  top: 0;
  left: var(--rw-space-3);
  z-index: 1;
  margin-bottom: 0;
  padding: 0 var(--rw-space-1);
  background: var(--rw-color-bg);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-normal);
  color: var(--rw-color-text-muted);
  line-height: 1.2;
  transform: translateY(-50%);
}
.wcd-checkout .woocommerce-billing-fields__field-wrapper .form-row:focus-within label,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper .form-row:focus-within label {
  color: var(--rw-color-accent);
}
.wcd-checkout .woocommerce-billing-fields__field-wrapper .input-text,
.wcd-checkout .woocommerce-billing-fields__field-wrapper select,
.wcd-checkout .woocommerce-billing-fields__field-wrapper textarea,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper .input-text,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper select,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper textarea {
  min-height: 50px;
  padding: 1.125rem var(--rw-space-3) 0.625rem;
  font-size: var(--rw-font-size-base);
  color: var(--rw-color-primary);
}
.wcd-checkout .woocommerce-billing-fields__field-wrapper .select2-container .select2-selection,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper .select2-container .select2-selection {
  min-height: 50px;
  padding: 0;
}
.wcd-checkout .woocommerce-billing-fields__field-wrapper .select2-container .select2-selection .select2-selection__rendered,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper .select2-container .select2-selection .select2-selection__rendered {
  padding: 1.125rem var(--rw-space-3) 0.625rem;
  padding-right: 2rem;
  font-size: var(--rw-font-size-base);
  color: var(--rw-color-primary);
  line-height: 1.4;
}
.wcd-checkout .woocommerce-billing-fields__field-wrapper .select2-container .select2-selection .select2-selection__arrow,
.wcd-checkout .woocommerce-shipping-fields__field-wrapper .select2-container .select2-selection .select2-selection__arrow {
  top: 50%;
  height: auto;
  transform: translateY(-50%);
}
.wcd-checkout .wcd-checkout-customer .woocommerce-shipping-fields {
  margin-bottom: var(--rw-space-4);
}
.wcd-checkout .wcd-checkout-prefix {
  margin-bottom: var(--rw-space-4);
}
.wcd-checkout .wcd-checkout-prefix:empty {
  display: none;
}
.wcd-checkout .wcd-payment-methods__gift-card-notice {
  margin: 0;
  padding: var(--rw-space-3) var(--rw-space-4);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-subtle, #f4f7fb);
  color: var(--rw-color-text);
  font-size: var(--rw-font-size-sm);
  line-height: 1.5;
}
.wcd-checkout .wcd-checkout-place-order {
  margin: var(--rw-space-5) 0 0;
}
.wcd-checkout .wcd-checkout-place-order #place_order {
  width: 100%;
  margin-top: var(--rw-space-3);
}
.wcd-checkout .woocommerce-terms-and-conditions-wrapper {
  font-size: var(--rw-font-size-xs);
}
.wcd-checkout .woocommerce-terms-and-conditions-wrapper .form-row {
  margin-bottom: 0;
}
.wcd-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--rw-space-2);
  margin-bottom: 0;
  font-weight: var(--rw-font-weight-normal);
  cursor: pointer;
}
.wcd-checkout .woocommerce-terms-and-conditions-wrapper input[type=checkbox] {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 1px 0 0;
  accent-color: var(--rw-color-accent);
}
.wcd-checkout .wcd-checkout-recommendations,
.wcd-checkout .rw-product-slider {
  margin-top: var(--rw-space-10);
}
.wcd-checkout .wcd-checkout-recommendations > h2 {
  font-size: var(--rw-font-size-xl);
}
.wcd-checkout .wcd-cross-sells {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--rw-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}
.wcd-checkout .wcd-cross-sell {
  display: flex;
  flex-direction: column;
  padding: var(--rw-space-3);
}
.wcd-checkout .wcd-cross-sell__image {
  display: block;
}
.wcd-checkout .wcd-cross-sell__image img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}
.wcd-checkout .wcd-cross-sell__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding-top: var(--rw-space-3);
}
.wcd-checkout .wcd-cross-sell__content h3 {
  margin-bottom: var(--rw-space-2);
}
.wcd-checkout .wcd-cross-sell__content h3 a {
  color: var(--rw-color-primary);
  text-decoration: none;
}
.wcd-checkout .wcd-cross-sell__content .button {
  width: 100%;
  margin-top: auto;
}
.wcd-checkout .wcd-cross-sell__price {
  margin-bottom: var(--rw-space-3);
  font-weight: var(--rw-font-weight-semibold);
}
.wcd-checkout .wcd-checkout-empty {
  padding: var(--rw-space-16) var(--rw-space-6);
  text-align: center;
}
.wcd-checkout .wcd-checkout-empty__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: 0 auto var(--rw-space-4);
  border-radius: 50%;
  color: var(--rw-color-accent);
  background: color-mix(in srgb, var(--rw-color-accent) 10%, white);
  font-size: var(--rw-font-size-xl);
}
.wcd-checkout .wcd-checkout__endpoint,
.wcd-checkout .wcd-checkout__endpoint > .woocommerce {
  min-width: 0;
  max-width: 100%;
}
.wcd-checkout .wcd-checkout-confirmation {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--rw-space-4);
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.wcd-checkout .wcd-confirmation-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  min-width: 0;
  max-width: 100%;
}
.wcd-checkout .wcd-confirmation-banner--success {
  border-left: 4px solid var(--rw-color-success);
}
.wcd-checkout .wcd-confirmation-banner--failed {
  border-left: 4px solid var(--rw-color-error);
}
.wcd-checkout .wcd-confirmation-banner__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--rw-color-error) 12%, white);
  color: var(--rw-color-error);
}
.wcd-checkout .wcd-confirmation-banner__icon svg {
  display: block;
  width: 24px;
  height: 24px;
}
.wcd-checkout .wcd-confirmation-banner__content {
  flex: 1 1 auto;
  min-width: 0;
}
.wcd-checkout .wcd-confirmation-banner h1,
.wcd-checkout .wcd-confirmation-banner p {
  margin-bottom: 0;
}
.wcd-checkout .wcd-confirmation-banner h1 + p {
  margin-top: var(--rw-space-2);
}
.wcd-checkout .wcd-payment-failed-guidance h2,
.wcd-checkout .wcd-payment-failed-faq h2 {
  margin-bottom: var(--rw-space-4);
}
.wcd-checkout .wcd-payment-failed-guidance h3,
.wcd-checkout .wcd-payment-failed-faq h3 {
  margin: var(--rw-space-4) 0 var(--rw-space-1);
  font-size: var(--rw-font-size-base);
}
.wcd-checkout .wcd-payment-failed-guidance h3:first-of-type,
.wcd-checkout .wcd-payment-failed-faq h3:first-of-type {
  margin-top: 0;
}
.wcd-checkout .wcd-payment-failed-guidance p,
.wcd-checkout .wcd-payment-failed-faq p {
  margin: 0;
  color: var(--rw-color-text-muted);
}
.wcd-checkout .wcd-payment-failed-guidance__note {
  margin-top: var(--rw-space-4) !important;
  font-size: var(--rw-font-size-sm);
}
.wcd-checkout .wcd-payment-failed-guidance .wcd-button,
.wcd-checkout .wcd-payment-failed-faq .wcd-button {
  margin-top: var(--rw-space-4);
}
.wcd-checkout .wcd-order-summary-order__items {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wcd-checkout .wcd-order-summary-order__item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: var(--rw-space-3);
  align-items: start;
  min-width: 0;
  padding: var(--rw-space-4) 0;
  border-bottom: 1px solid var(--rw-color-border-light);
}
.wcd-checkout .wcd-order-summary-order__item:first-child {
  padding-top: 0;
}
.wcd-checkout .wcd-order-summary-order__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.wcd-checkout .wcd-order-summary-order__image img {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}
.wcd-checkout .wcd-order-summary-order__content {
  display: grid;
  gap: var(--rw-space-1);
  min-width: 0;
  padding-right: var(--rw-space-2);
}
.wcd-checkout .wcd-order-summary-order__brand {
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
}
.wcd-checkout .wcd-order-summary-order__name {
  color: var(--rw-color-text);
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1.3;
}
.wcd-checkout .wcd-order-summary-order__sku {
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}
.wcd-checkout .wcd-order-summary-order .wsh-gift-card-order-meta {
  margin: var(--rw-space-2) 0 0;
  padding: 0;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
  list-style: none;
}
.wcd-checkout .wcd-order-summary-order .wsh-gift-card-order-meta li + li {
  margin-top: var(--rw-space-1);
}
.wcd-checkout .wcd-order-summary-order .wsh-gift-card-order-meta .wc-item-meta-label {
  color: var(--rw-color-text);
  font-weight: var(--rw-font-weight-medium);
}
.wcd-checkout .wcd-order-summary-order .wsh-gift-card-order-meta a {
  color: var(--rw-color-primary);
  word-break: break-word;
}
.wcd-checkout .wcd-order-summary-order__aside {
  display: grid;
  justify-items: end;
  gap: var(--rw-space-2);
  text-align: right;
}
.wcd-checkout .wcd-order-summary-order__price {
  color: var(--rw-color-text);
  font-weight: var(--rw-font-weight-semibold);
  white-space: nowrap;
}
.wcd-checkout .wcd-order-summary-order__price small {
  display: block;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-normal);
}
.wcd-checkout .wcd-order-summary-order__totals {
  margin-top: var(--rw-space-4);
  padding-top: var(--rw-space-4);
  border-top: 1px solid var(--rw-color-border-light);
}
.wcd-checkout .wcd-order-summary-order__totals .shop_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.wcd-checkout .wcd-order-summary-order__totals .shop_table th,
.wcd-checkout .wcd-order-summary-order__totals .shop_table td {
  padding: var(--rw-space-2) 0;
  border: 0;
  text-align: left;
  overflow-wrap: anywhere;
}
.wcd-checkout .wcd-order-summary-order__totals .shop_table th {
  width: 9.5rem;
}
.wcd-checkout .wcd-order-summary-order__totals .shop_table td {
  text-align: right;
}
.wcd-checkout .wcd-order-summary-order__totals .shop_table tr.order-total th,
.wcd-checkout .wcd-order-summary-order__totals .shop_table tr.order-total td {
  padding-top: var(--rw-space-3);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-bold);
}
.wcd-checkout .wcd-order-pay-qty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  padding: 0 var(--rw-space-2);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
  color: var(--rw-color-text);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
}
.wcd-checkout .wcd-order-pay-fallback h1 {
  margin-bottom: var(--rw-space-2);
}
.wcd-checkout .wcd-order-pay-fallback p {
  margin-bottom: 0;
}
.wcd-checkout .wcd-order-pay-fallback__payment #payment .form-row {
  margin-top: var(--rw-space-4);
}
.wcd-checkout .wcd-checkout-block-notice,
.wcd-checkout .wcd-checkout-block-placeholder {
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}
.wcd-checkout .wcd-checkout-block-notice {
  margin: 0 0 var(--rw-space-4);
  padding: var(--rw-space-3) var(--rw-space-4);
  border-radius: var(--rw-radius-md);
  background: color-mix(in srgb, var(--rw-color-accent) 8%, white);
  border: 1px solid var(--rw-color-border-light);
}
.wcd-checkout .wcd-confirmation-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: var(--rw-space-4);
  align-items: start;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.wcd-checkout .wcd-confirmation-column,
.wcd-checkout .wcd-order-summary-order {
  min-width: 0;
  max-width: 100%;
}
.wcd-checkout .wcd-confirmation-column {
  display: grid;
  gap: var(--rw-space-4);
}
.wcd-checkout .wcd-order-meta {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--rw-space-2) var(--rw-space-4);
  margin: 0;
}
.wcd-checkout .wcd-order-meta dt {
  font-weight: var(--rw-font-weight-semibold);
}
.wcd-checkout .wcd-order-meta dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}
.wcd-checkout .wcd-confirmation-products {
  display: grid;
  gap: var(--rw-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.wcd-checkout .wcd-confirmation-product {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: var(--rw-space-3);
  align-items: center;
  padding-bottom: var(--rw-space-3);
  border-bottom: 1px solid var(--rw-color-border-light);
}
.wcd-checkout .wcd-confirmation-product img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg-alt);
}
.wcd-checkout .wcd-confirmation-totals {
  margin-top: var(--rw-space-4);
}
.wcd-checkout .wcd-confirmation-totals .shop_table {
  width: 100%;
  border-collapse: collapse;
}
.wcd-checkout .wcd-confirmation-totals .shop_table th,
.wcd-checkout .wcd-confirmation-totals .shop_table td {
  padding: var(--rw-space-2) 0;
  border: 0;
  text-align: left;
}
.wcd-checkout .wcd-confirmation-totals .shop_table td {
  text-align: right;
}

@media (max-width: 1023px) {
  .wcd-checkout .wcd-checkout-layout,
  .wcd-checkout .wcd-confirmation-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .wcd-checkout .wcd-checkout-account {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wcd-checkout .wcd-checkout-account.is-register-open {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
  .wcd-checkout .wcd-checkout-account__guest {
    grid-column: 1/-1;
  }
  .wcd-checkout .wcd-checkout-account__guest .wcd-checkout-summary-card {
    position: static;
  }
  .wcd-checkout .wcd-checkout-sidebar__sticky {
    position: static;
  }
  .wcd-checkout .wcd-cross-sells {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .wcd-checkout {
    padding-top: var(--rw-space-4);
  }
  .wcd-checkout .wcd-card {
    padding: var(--rw-space-4);
  }
  .wcd-checkout .wcd-checkout-step__content {
    flex-direction: column;
    gap: var(--rw-space-1);
    min-height: 70px;
    padding: var(--rw-space-2) var(--rw-space-1);
    font-size: 0.625rem;
    text-align: center;
  }
  .wcd-checkout .wcd-checkout-step__number {
    flex-basis: 20px;
    width: 20px;
    height: 20px;
    font-size: 0.625rem;
  }
  .wcd-checkout .wcd-checkout-account,
  .wcd-checkout .wcd-checkout-account.is-register-open {
    max-width: none;
    grid-template-columns: minmax(0, 1fr);
  }
  .wcd-checkout .wcd-cart-item {
    grid-template-columns: 76px minmax(0, 1fr) auto;
    padding-right: var(--rw-space-8);
  }
  .wcd-checkout .wcd-cart-item__image img {
    width: 76px;
    height: 72px;
  }
  .wcd-checkout .wcd-cart-item__price {
    grid-column: 2;
  }
  .wcd-checkout .wcd-cart-item__quantity {
    grid-column: 3;
    grid-row: 1/span 2;
  }
  .wcd-checkout .wcd-cart-item__subtotal {
    display: none;
  }
  .wcd-checkout .wcd-cart-actions,
  .wcd-checkout .wcd-cart-actions__coupon,
  .wcd-checkout .wcd-confirmation-banner {
    flex-direction: column;
    align-items: stretch;
  }
  .wcd-checkout .wcd-cart-actions__icon,
  .wcd-checkout .wcd-cart-actions__coupon__icon,
  .wcd-checkout .wcd-confirmation-banner__icon {
    align-self: flex-start;
  }
  .wcd-checkout .wcd-cart-update {
    width: 100%;
  }
  .wcd-checkout .woocommerce-billing-fields__field-wrapper,
  .wcd-checkout .woocommerce-shipping-fields__field-wrapper,
  .wcd-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
  .wcd-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
  .wcd-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
  .wcd-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
  .wcd-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last,
  .wcd-checkout .woocommerce-additional-fields__field-wrapper .form-row-first,
  .wcd-checkout .woocommerce-additional-fields__field-wrapper .form-row-last {
    grid-column: 1;
  }
  .wcd-checkout .wcd-coupon {
    grid-template-columns: minmax(0, 1fr);
  }
  .wcd-checkout .wcd-checkout-order-item {
    grid-template-columns: 56px minmax(0, 1fr);
    padding-right: var(--rw-space-7);
  }
  .wcd-checkout .wcd-checkout-order-item__image img {
    width: 56px;
    height: 56px;
  }
  .wcd-checkout .wcd-checkout-order-item__remove {
    top: var(--rw-space-3);
  }
  .wcd-checkout .wcd-cross-sells {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: var(--rw-space-2);
  }
  .wcd-checkout .wcd-cross-sell {
    flex: 0 0 min(78vw, 280px);
    scroll-snap-align: start;
  }
}
/**
 * Shipping method cards in the multistep checkout.
 */
.wcd-checkout .wcd-shipping-methods h2 {
  margin-bottom: var(--rw-space-4);
}
.wcd-checkout .wcd-shipping-methods .woocommerce-shipping-methods {
  display: grid;
  gap: var(--rw-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}
.wcd-checkout .wcd-shipping-methods__list {
  display: grid;
  gap: var(--rw-space-3);
}
.wcd-checkout .wcd-shipping-methods__package {
  margin: 0;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
}
.wcd-checkout .wcd-shipping-methods__package small {
  display: block;
  font-weight: var(--rw-font-weight-normal);
}
.wcd-checkout .wcd-shipping-methods__notice {
  margin: 0;
  padding: var(--rw-space-4);
  border: 1px dashed var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}
.wcd-checkout .wcd-shipping-method {
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  background: var(--rw-color-bg);
  overflow: hidden;
  transition: border-color var(--rw-transition), background-color var(--rw-transition);
}
.wcd-checkout .wcd-shipping-method:hover {
  border-color: var(--rw-color-border);
}
.wcd-checkout .wcd-shipping-method:focus-within {
  outline: 2px solid var(--rw-color-accent);
  outline-offset: 2px;
}
.wcd-checkout .wcd-shipping-method.is-selected, .wcd-checkout .wcd-shipping-method:has(.wcd-shipping-method__radio:checked) {
  border-color: transparent;
  background: var(--rw-color-bg-alt);
}
.wcd-checkout .wcd-shipping-method__header {
  display: grid;
  grid-template-columns: 18px minmax(4.5rem, auto) minmax(0, 1fr) minmax(5rem, 8rem);
  gap: var(--rw-space-3);
  align-items: center;
  min-height: 86px;
  margin: 0;
  padding: var(--rw-space-4) var(--rw-space-5);
  cursor: pointer;
}
.wcd-checkout .wcd-shipping-method__radio {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--rw-color-accent);
  cursor: pointer;
}
.wcd-checkout .wcd-shipping-method__price,
.wcd-checkout .wcd-shipping-method__name {
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-tight);
}
.wcd-checkout .wcd-shipping-method__price {
  white-space: nowrap;
}
.wcd-checkout .wcd-shipping-method__price .tax_label {
  display: block;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-normal);
}
.wcd-checkout .wcd-shipping-method__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.wcd-checkout .wcd-shipping-method__description,
.wcd-checkout .wcd-shipping-method__meta {
  margin-top: var(--rw-space-1);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  overflow-wrap: anywhere;
}
.wcd-checkout .wcd-shipping-method__meta {
  font-size: var(--rw-font-size-xs);
}
.wcd-checkout .wcd-shipping-method__logo {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  width: 100%;
}
.wcd-checkout .wcd-shipping-method__logo img {
  display: block;
  max-width: 100%;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.wcd-checkout .cart_totals .wcd-shipping-rates,
.wcd-checkout .cart_totals .wcd-shipping-methods--compact {
  display: grid;
  gap: var(--rw-space-2);
  margin: 0;
  padding: 0;
}
.wcd-checkout .cart_totals .woocommerce-shipping-methods {
  display: grid;
  gap: var(--rw-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.wcd-checkout .cart_totals .wcd-shipping-rates,
.wcd-checkout .cart_totals .wcd-shipping-methods--compact,
.wcd-checkout .cart_totals .woocommerce-shipping-methods,
.wcd-checkout .cart_totals .wcd-shipping-method,
.wcd-checkout .cart_totals .wcd-shipping-method--compact {
  width: 100%;
}
.wcd-checkout .cart_totals .wcd-shipping-method,
.wcd-checkout .cart_totals .wcd-shipping-method--compact {
  border-radius: var(--rw-radius-md);
}
.wcd-checkout .cart_totals .wcd-shipping-method--compact .wcd-shipping-method__header {
  grid-template-columns: 16px minmax(0, 1fr) auto;
  gap: var(--rw-space-2) var(--rw-space-3);
  align-items: center;
  width: 100%;
  min-height: 0;
  padding: var(--rw-space-3) var(--rw-space-4);
}
.wcd-checkout .cart_totals .wcd-shipping-method--compact .wcd-shipping-method__radio {
  width: 16px;
  height: 16px;
  margin: 0;
  align-self: start;
  margin-top: 2px;
}
.wcd-checkout .cart_totals .wcd-shipping-method--compact .wcd-shipping-method__price,
.wcd-checkout .cart_totals .wcd-shipping-method--compact .wcd-shipping-method__name {
  font-size: var(--rw-font-size-sm);
}
.wcd-checkout .cart_totals .wcd-shipping-method--compact .wcd-shipping-method__price {
  align-self: start;
  padding-top: 1px;
  text-align: right;
  white-space: nowrap;
}
.wcd-checkout .cart_totals .wcd-shipping-method--compact .wcd-shipping-method__description,
.wcd-checkout .cart_totals .wcd-shipping-method--compact .wcd-shipping-method__meta {
  font-size: var(--rw-font-size-xs);
}
.wcd-checkout .cart_totals .wcd-shipping-methods__notice {
  padding: var(--rw-space-3);
  font-size: var(--rw-font-size-xs);
}

@media (max-width: 767px) {
  .wcd-checkout .wcd-shipping-method__header {
    grid-template-areas: "radio content price" ". content logo";
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: start;
    min-height: 0;
    padding: var(--rw-space-4);
  }
  .wcd-checkout .wcd-shipping-method__radio {
    grid-area: radio;
    margin-top: 1px;
  }
  .wcd-checkout .wcd-shipping-method__price {
    grid-area: price;
    text-align: right;
  }
  .wcd-checkout .wcd-shipping-method__content {
    grid-area: content;
  }
  .wcd-checkout .wcd-shipping-method__logo {
    grid-area: logo;
    max-width: 6rem;
    margin-top: var(--rw-space-2);
  }
  .wcd-checkout .wcd-shipping-method__logo img {
    max-height: 40px;
  }
}
/**
 * Payment method cards.
 *
 * Not scoped to the checkout flow on purpose. WooCommerce also renders the
 * gateway list on the order-pay page, which uses the plain woocommerce.php
 * wrapper, so the component carries its own namespace instead of relying on a
 * page level class.
 *
 * The gateway plugin owns everything inside the fields area, so the rules there
 * stay generic instead of targeting a specific provider.
 */
.wcd-payment-methods h2 {
  margin-bottom: var(--rw-space-4);
}

.wcd-checkout-saved-mandates {
  margin-bottom: var(--rw-space-4);
}

.wcd-checkout-saved-mandates__title {
  margin: 0 0 var(--rw-space-3);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
}

.wcd-checkout-saved-mandates__list {
  display: grid;
  gap: var(--rw-space-3);
  margin: 0 0 var(--rw-space-4);
  padding: 0;
  list-style: none;
}

.wcd-payment-methods__unavailable {
  margin: 0 0 var(--rw-space-3);
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-warning-border, #f0c36d);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-warning-bg, #fff8e6);
  color: var(--rw-color-text);
  font-size: var(--rw-font-size-sm);
}

.wcd-payment-methods__list,
ul:has(> .wcd-payment-method) {
  display: grid;
  gap: var(--rw-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.wcd-payment-methods__list > li:not(.wcd-payment-method) {
  margin: 0;
  padding: var(--rw-space-4);
  border: 1px dashed var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
}
.wcd-payment-methods__list > li:not(.wcd-payment-method) .woocommerce-info,
.wcd-payment-methods__list > li:not(.wcd-payment-method) .woocommerce-notice {
  margin: 0;
  padding: 0;
  background: none;
  font-size: inherit;
}

.wcd-payment-methods__note {
  margin: var(--rw-space-4) 0 0;
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs);
  line-height: var(--rw-line-height-base);
  text-align: center;
}

.wcd-payment-method {
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  background: var(--rw-color-bg);
  overflow: hidden;
  transition: border-color var(--rw-transition), background-color var(--rw-transition);
}
.wcd-payment-method:hover {
  border-color: var(--rw-color-border);
}
.wcd-payment-method:focus-within {
  outline: 2px solid var(--rw-color-accent);
  outline-offset: 2px;
}
.wcd-payment-method.is-selected, .wcd-payment-method:has(.wcd-payment-method__radio:checked) {
  border-color: transparent;
  background: var(--rw-color-bg-alt);
}

.wcd-payment-method__header {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  gap: var(--rw-space-3);
  align-items: center;
  margin: 0;
  padding: var(--rw-space-4) var(--rw-space-5);
  cursor: pointer;
}

.wcd-payment-method__radio {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--rw-color-accent);
  cursor: pointer;
}

.wcd-payment-method__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  cursor: pointer;
}

.wcd-payment-method__name {
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-tight);
}

.wcd-payment-method__description {
  margin-top: var(--rw-space-1);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  overflow-wrap: anywhere;
}
.wcd-payment-method__description p {
  margin: 0;
}

.wcd-payment-method__icon {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  gap: var(--rw-space-2);
}
.wcd-payment-method__icon img,
.wcd-payment-method__icon svg {
  display: block;
  max-width: 100%;
  max-height: 28px;
  width: auto;
  height: auto;
  margin: 0;
  object-fit: contain;
}

.wcd-payment-method__fields {
  padding: 0 var(--rw-space-5) var(--rw-space-5);
  font-size: var(--rw-font-size-sm);
}
.wcd-payment-method__fields > :last-child {
  margin-bottom: 0;
}
.wcd-payment-method__fields iframe {
  max-width: 100%;
}
.wcd-payment-method__fields input:not([type=radio]):not([type=checkbox]),
.wcd-payment-method__fields select,
.wcd-payment-method__fields textarea {
  width: 100%;
  max-width: 100%;
}

.wcd-payment-method__fields .woocommerce-SavedPaymentMethods {
  display: grid;
  gap: var(--rw-space-3);
  margin: 0 0 var(--rw-space-4);
  padding: 0;
  list-style: none;
}

.wcd-payment-token {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  gap: var(--rw-space-3);
  align-items: center;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  background: var(--rw-color-bg);
  transition: border-color var(--rw-transition);
}
.wcd-payment-token:hover {
  border-color: var(--rw-color-border);
}
.wcd-payment-token.is-selected, .wcd-payment-token:has(.wcd-payment-token__radio:checked) {
  border-color: var(--rw-color-accent);
}

.wcd-payment-token__radio {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--rw-color-accent);
  cursor: pointer;
}

.wcd-payment-token__label {
  display: flex;
  align-items: center;
  gap: var(--rw-space-3);
  min-width: 0;
  margin: 0;
  cursor: pointer;
}

.wcd-payment-token__icon {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 36px;
  padding: var(--rw-space-1);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-sm);
  background: var(--rw-color-bg);
}
.wcd-payment-token__icon img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.wcd-payment-token__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.wcd-payment-token__name {
  color: var(--rw-color-primary);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-tight);
  overflow-wrap: anywhere;
}

.wcd-payment-token__expiry {
  margin-top: var(--rw-space-1);
  color: var(--rw-color-text-muted);
  font-size: var(--rw-font-size-xs);
}

.wcd-payment-token__badge {
  justify-self: end;
  padding: var(--rw-space-1) var(--rw-space-3);
  border-radius: var(--rw-radius-full);
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-accent);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-semibold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.wcd-payment-method__fields .woocommerce-SavedPaymentMethods-saveNew {
  display: flex;
  align-items: center;
  gap: var(--rw-space-2);
  margin: var(--rw-space-4) 0 0;
  padding: 0;
}
.wcd-payment-method__fields .woocommerce-SavedPaymentMethods-saveNew input[type=checkbox] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--rw-color-accent);
}
.wcd-payment-method__fields .woocommerce-SavedPaymentMethods-saveNew label {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  cursor: pointer;
}

@media (max-width: 767px) {
  .wcd-payment-method__header {
    grid-template-areas: "radio content" ". icon";
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    padding: var(--rw-space-4);
  }
  .wcd-payment-method__radio {
    grid-area: radio;
    margin-top: 2px;
  }
  .wcd-payment-method__content {
    grid-area: content;
  }
  .wcd-payment-method__icon {
    grid-area: icon;
    justify-content: flex-start;
    justify-self: start;
    margin-top: var(--rw-space-2);
  }
  .wcd-payment-method__fields {
    padding: 0 var(--rw-space-4) var(--rw-space-4);
  }
  .wcd-payment-token {
    grid-template-areas: "radio label" ". badge";
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
  }
  .wcd-payment-token__radio {
    grid-area: radio;
    margin-top: 2px;
  }
  .wcd-payment-token__label {
    grid-area: label;
  }
  .wcd-payment-token__badge {
    grid-area: badge;
    justify-self: start;
    margin-top: var(--rw-space-2);
  }
}
/**
 * My Account auth pages — centered login, register, lost password
 */
.rw-auth-page.rw-account-page {
  padding-bottom: var(--rw-space-16);
}

.rw-auth-page .rw-page-header {
  display: none;
}

.rw-auth-page .woocommerce > .woocommerce-notices-wrapper:first-child {
  max-width: 36rem;
  margin: 0 auto;
  padding: var(--rw-space-4) var(--rw-space-4) 0;
}

.rw-auth-page.rw-auth-show-register .woocommerce > .woocommerce-notices-wrapper:first-child {
  max-width: 52rem;
}

.rw-auth-page .rw-auth-page-content {
  padding: 0;
}

.rw-auth-page .rw-auth-page-content > .woocommerce {
  margin: 0;
}

.rw-auth-page .rw-auth__inner > .woocommerce-notices-wrapper {
  margin-bottom: var(--rw-space-4);
}

.rw-auth {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--rw-space-10) var(--rw-space-4) var(--rw-space-12);
  background: var(--rw-color-bg);
}

.rw-auth__inner {
  width: 100%;
  max-width: 36rem;
}

.rw-auth-page.rw-auth-show-register .rw-auth__inner {
  max-width: 52rem;
}

.rw-auth-forms {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
}

.rw-auth-form--login,
.rw-auth-form--register {
  grid-row: 1;
  grid-column: 1;
}

.rw-auth-form {
  width: 100%;
}

.rw-auth-form--register {
  display: none;
}

.rw-auth-page.rw-auth-show-register .rw-auth-form--login {
  display: none;
}

.rw-auth-page.rw-auth-show-register .rw-auth-form--register {
  display: block;
}

.rw-auth-form__header {
  margin-bottom: var(--rw-space-8);
  text-align: left;
}

.rw-auth-form__title {
  margin: 0 0 var(--rw-space-2);
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-auth-form__subtitle {
  margin: 0;
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-auth-form__message p {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-base);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-auth-form__message p:last-child {
  margin-bottom: 0;
}

.rw-auth-form__optional {
  display: block;
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-normal);
  line-height: 1.2;
  color: var(--rw-color-text-muted);
}

.rw-login-form--login,
.rw-login-form--register {
  padding: var(--rw-space-6);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-lg);
  box-shadow: var(--rw-shadow-sm);
}

.rw-auth-form__body {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-6);
}

.rw-auth-form__section {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-4);
  padding-top: var(--rw-space-6);
  border-top: 1px solid var(--rw-color-border-light);
}
.rw-auth-form__section:first-child {
  padding-top: 0;
  border-top: 0;
}

.rw-auth-form__section-title {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-tight);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rw-color-navy);
}

.rw-auth-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-4);
}

.rw-auth-form__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rw-auth-form__grid--address {
  grid-template-columns: minmax(0, 2fr) minmax(0, 0.75fr) minmax(0, 0.75fr);
}

.rw-auth-form__grid .form-row,
.rw-auth-form__section > .rw-login-form__field {
  margin: 0;
}

.rw-login-form--login .rw-login-form__field,
.rw-login-form--register .rw-login-form__field {
  margin-bottom: 0;
}

.rw-auth-form__actions {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-5);
  margin-top: var(--rw-space-6);
  padding-top: var(--rw-space-6);
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-login-form {
  margin-bottom: var(--rw-space-6);
}

.rw-login-form__field {
  margin-bottom: var(--rw-space-5);
}

.rw-login-form__field label {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-login-form__label-main {
  display: inline;
}

.rw-login-form__field--optional .rw-login-form__label-main {
  display: block;
}

.rw-auth-form__grid .rw-login-form__field,
.rw-auth-form__grid--3 .rw-login-form__field,
.rw-auth-form__grid--address .rw-login-form__field {
  display: flex;
  flex-direction: column;
}

.rw-auth-form__grid .rw-login-form__field label,
.rw-auth-form__grid--3 .rw-login-form__field label,
.rw-auth-form__grid--address .rw-login-form__field label {
  flex: 0 0 auto;
  min-height: 2.625rem;
  margin-bottom: var(--rw-space-2);
}

.rw-auth-form__grid .rw-login-form__field:not(.rw-login-form__field--optional) label::after,
.rw-auth-form__grid--3 .rw-login-form__field:not(.rw-login-form__field--optional) label::after,
.rw-auth-form__grid--address .rw-login-form__field:not(.rw-login-form__field--optional) label::after {
  content: "";
  display: block;
  height: 1.125rem;
}

.rw-login-form__field .required {
  color: var(--rw-color-brand);
}

.rw-login-form__field .input-text,
.rw-login-form__field select.input-text {
  width: 100%;
  min-height: 44px;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  font-family: inherit;
  font-size: var(--rw-font-size-base);
  background: var(--rw-color-bg-alt);
  color: var(--rw-color-text);
  transition: border-color var(--rw-transition), box-shadow var(--rw-transition), background-color var(--rw-transition);
}

.rw-login-form__field select.input-text {
  padding-right: calc(var(--rw-space-4) + 1.25rem);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--rw-space-3) center;
  cursor: pointer;
}

.rw-login-form__field input[type=date].input-text {
  -webkit-appearance: none;
  appearance: none;
}

.rw-login-form__field input[type=date].input-text::-webkit-date-and-time-value {
  text-align: left;
}

.rw-login-form__field .input-text::placeholder {
  color: var(--rw-color-text-muted);
}

.rw-login-form__field .input-text:focus,
.rw-login-form__field select.input-text:focus {
  outline: none;
  border-color: var(--rw-color-brand);
  background-color: var(--rw-color-bg);
  box-shadow: 0 0 0 3px rgba(0, 68, 241, 0.12);
}

.rw-login-form--login .rw-auth-phone__control,
.rw-login-form--register .rw-auth-phone__control {
  background: var(--rw-color-bg-alt);
}

.rw-login-form--login .rw-auth-phone:focus-within .rw-auth-phone__control,
.rw-login-form--register .rw-auth-phone:focus-within .rw-auth-phone__control {
  background: var(--rw-color-bg);
}

.rw-login-form__input-wrap {
  position: relative;
  display: block;
}
.rw-login-form__input-wrap .show-password-input {
  display: none;
}
.rw-login-form__input-wrap .password-input {
  display: block;
  position: relative;
  width: 100%;
}

.rw-login-form__input-wrap .input-text {
  padding-right: calc(var(--rw-space-4) + 2.5rem);
}

.rw-login-form__toggle-password {
  position: absolute;
  /* Align to the input row (44px), not the meter/hint below it. */
  top: 22px;
  right: var(--rw-space-3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 0;
  border-radius: var(--rw-radius-md);
  background: transparent;
  color: var(--rw-color-text-muted);
  cursor: pointer;
  transform: translateY(-50%);
  transition: color var(--rw-transition), background-color var(--rw-transition);
}

.rw-login-form__toggle-password:hover,
.rw-login-form__toggle-password:focus-visible {
  color: var(--rw-color-text);
  background: var(--rw-color-primary-light);
}

.rw-login-form__toggle-icon svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
}

.rw-login-form__toggle-icon--hide {
  display: none;
}

.rw-login-form__toggle-password[aria-pressed=true] .rw-login-form__toggle-icon--show {
  display: none;
}

.rw-login-form__toggle-password[aria-pressed=true] .rw-login-form__toggle-icon--hide {
  display: block;
}

.rw-login-form__hint {
  display: block;
  margin-top: var(--rw-space-2);
  font-size: var(--rw-font-size-xs);
  color: var(--rw-color-text-muted);
  line-height: var(--rw-line-height-base);
}

.rw-login-form__hint--standalone {
  margin-bottom: var(--rw-space-5);
}

.rw-login-form .woocommerce-password-strength {
  display: block;
  width: 100%;
  margin-top: var(--rw-space-2);
  padding: var(--rw-space-2) var(--rw-space-3);
  border-radius: var(--rw-radius-md);
  border-left: 3px solid transparent;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  line-height: var(--rw-line-height-base);
  text-align: left;
}

.rw-login-form .woocommerce-password-strength.short {
  background: color-mix(in srgb, var(--rw-color-error) 12%, white);
  border-left-color: var(--rw-color-error);
  color: var(--rw-color-error);
}

.rw-login-form .woocommerce-password-strength.bad {
  background: color-mix(in srgb, var(--rw-color-warning) 18%, white);
  border-left-color: var(--rw-color-warning);
  color: #9a6b00;
}

.rw-login-form .woocommerce-password-strength.good {
  background: color-mix(in srgb, var(--rw-color-brand) 10%, white);
  border-left-color: var(--rw-color-brand);
  color: var(--rw-color-brand);
}

.rw-login-form .woocommerce-password-strength.strong {
  background: color-mix(in srgb, var(--rw-color-success) 14%, white);
  border-left-color: var(--rw-color-success);
  color: var(--rw-color-success);
}

.rw-login-form .woocommerce-password-hint {
  display: block;
  width: 100%;
  margin: var(--rw-space-2) 0 0;
  font-size: var(--rw-font-size-xs);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text-muted);
}

.rw-login-form__options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-bottom: var(--rw-space-6);
}

.rw-auth-form__actions .rw-login-form__options {
  margin-bottom: 0;
}

.rw-auth-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-3);
  margin: 0;
  cursor: pointer;
}

.rw-auth-toggle__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.rw-auth-toggle__track {
  position: relative;
  flex-shrink: 0;
  width: 2.75rem;
  height: 1.5rem;
  border-radius: 999px;
  background: var(--rw-color-border);
  transition: background-color var(--rw-transition);
}

.rw-auth-toggle__knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(1.5rem - 4px);
  height: calc(1.5rem - 4px);
  border-radius: 50%;
  background: var(--rw-color-bg);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  transition: transform var(--rw-transition);
}

.rw-auth-toggle__input:checked + .rw-auth-toggle__track {
  background: var(--rw-color-brand);
}

.rw-auth-toggle__input:checked + .rw-auth-toggle__track .rw-auth-toggle__knob {
  transform: translateX(1.25rem);
}

.rw-auth-toggle__input:focus-visible + .rw-auth-toggle__track {
  box-shadow: 0 0 0 3px rgba(0, 68, 241, 0.12);
}

.rw-auth-toggle__label {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text);
}

.rw-login-form__lost-password {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-brand);
  text-decoration: underline;
  white-space: nowrap;
}

.rw-login-form__lost-password:hover {
  color: var(--rw-color-brand-hover);
}

.rw-auth-form__terms {
  margin: 0;
}

.rw-auth-form__terms-label {
  display: flex;
  align-items: flex-start;
  gap: var(--rw-space-3);
  margin: 0;
  padding: var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
  background: var(--rw-color-primary-light);
  border: 1px solid color-mix(in srgb, var(--rw-color-primary) 18%, transparent);
  border-radius: var(--rw-radius-md);
  cursor: pointer;
  transition: border-color var(--rw-transition), background-color var(--rw-transition);
}

.rw-auth-form__terms-label:has(input:focus-visible) {
  border-color: var(--rw-color-brand);
  box-shadow: 0 0 0 3px rgba(0, 68, 241, 0.12);
}

.rw-auth-form__terms-label input {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.125rem;
  accent-color: var(--rw-color-brand);
}

.rw-auth-form__terms-label a {
  color: var(--rw-color-brand);
  font-weight: var(--rw-font-weight-medium);
  text-decoration: underline;
}

.rw-auth-form__terms-label a:hover {
  color: var(--rw-color-brand-hover);
}

.rw-login-form__submit {
  margin: 0;
}

.rw-auth-form__submit {
  background-color: var(--rw-color-brand) !important;
  border-color: var(--rw-color-brand) !important;
  color: var(--rw-color-text-inverse) !important;
  min-height: 52px;
  font-size: var(--rw-font-size-base);
  font-weight: var(--rw-font-weight-semibold);
  border-radius: var(--rw-radius-md);
  box-shadow: var(--rw-shadow-sm);
}

.rw-auth-form__submit:hover {
  background-color: var(--rw-color-brand-hover) !important;
  border-color: var(--rw-color-brand-hover) !important;
  color: var(--rw-color-text-inverse) !important;
  transform: none;
}

.rw-auth-form__footer {
  margin: 0;
  text-align: center;
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-auth-form__footer a,
.rw-auth-form__switch {
  color: var(--rw-color-brand);
  font-weight: var(--rw-font-weight-semibold);
  text-decoration: underline;
}

.rw-auth-form__footer a:hover,
.rw-auth-form__switch:hover {
  color: var(--rw-color-brand-hover);
}

.rw-auth-form__switch {
  display: inline;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  cursor: pointer;
}

.rw-auth-form__footer-sep {
  margin: 0 var(--rw-space-2);
  color: var(--rw-color-text-muted);
}

@media (max-width: 991px) {
  .rw-auth-form__grid--3,
  .rw-auth-form__grid--address {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rw-auth-form__field-street {
    grid-column: 1/-1;
  }
}
@media (max-width: 767px) {
  .rw-auth {
    padding: var(--rw-space-8) var(--rw-space-4) var(--rw-space-12);
  }
  .rw-auth__inner {
    max-width: none;
  }
  .rw-auth-page .woocommerce > .woocommerce-notices-wrapper:first-child {
    max-width: none;
  }
  .rw-auth-form__title {
    font-size: var(--rw-font-size-xl);
  }
  .rw-login-form--login,
  .rw-login-form--register {
    padding: var(--rw-space-4);
    border-radius: var(--rw-radius-md);
  }
  .rw-auth-form__body {
    gap: var(--rw-space-5);
  }
  .rw-auth-form__section {
    padding-top: var(--rw-space-5);
  }
  .rw-auth-form__grid,
  .rw-auth-form__grid--3,
  .rw-auth-form__grid--address {
    grid-template-columns: 1fr;
    gap: var(--rw-space-4);
  }
  .rw-auth-form__field-street {
    grid-column: auto;
  }
  .rw-auth-form__actions {
    margin-top: var(--rw-space-5);
    padding-top: var(--rw-space-5);
  }
  .rw-login-form__options {
    flex-direction: column;
    align-items: flex-start;
  }
}
/**
 * My Account dashboard (logged-in view)
 */
.rw-account-page:not(.rw-auth-page) .rw-breadcrumb-bar + .rw-container.rw-section {
  padding-top: 0;
}

.rw-account {
  --rw-account-sidebar-width: 240px;
  --rw-account-content-gap: 40px;
  --rw-account-section-radius: 12px;
}

.rw-account-page:not(.rw-auth-page) .woocommerce > .woocommerce-notices-wrapper:first-child {
  max-width: var(--rw-container-max);
  margin: 0 auto var(--rw-space-6);
  padding: 0 var(--rw-space-4);
}

.rw-account {
  padding: var(--rw-space-10) 0 var(--rw-space-16);
}

.rw-account__layout {
  display: grid;
  grid-template-columns: var(--rw-account-sidebar-width) minmax(0, 1fr);
  gap: var(--rw-account-content-gap);
  align-items: start;
}

/* Sidebar */
.rw-account-sidebar {
  position: sticky;
  top: calc(var(--rw-header-height, 72px) + var(--rw-space-6));
}

.rw-account-sidebar__toggle {
  display: none;
}

.rw-account-nav-group + .rw-account-nav-group {
  margin-top: var(--rw-space-6);
}

.rw-account-nav-group__label {
  margin: 0 0 var(--rw-space-3);
  padding: 0 var(--rw-space-4);
  font-size: 13px;
  font-weight: var(--rw-font-weight-semibold);
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rw-color-text-muted);
}

.rw-account-sidebar__brand {
  margin: 15px 0;
  display: flex;
  align-items: center;
  gap: var(--rw-space-3);
  padding: var(--rw-space-3) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-text);
  text-decoration: none;
  border-radius: var(--rw-radius-md);
  transition: color var(--rw-transition), background-color var(--rw-transition);
}

.rw-account-sidebar__brand:hover {
  color: var(--rw-color-primary);
  background: var(--rw-color-primary-light);
  text-decoration: none;
}

.rw-account-sidebar__brand.is-active {
  color: var(--rw-color-text-inverse);
  background: var(--rw-color-navy);
  text-decoration: none;
}

.rw-account-sidebar__brand-icon svg {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
}

.rw-account-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-account-nav li + li {
  margin-top: var(--rw-space-1);
}

.rw-account-nav a {
  display: flex;
  align-items: center;
  gap: var(--rw-space-3);
  padding: var(--rw-space-3) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text-muted);
  text-decoration: none;
  border-radius: var(--rw-radius-md);
  transition: color var(--rw-transition), background-color var(--rw-transition);
}

.rw-account-nav a:hover,
.rw-account-nav li.is-active a {
  color: var(--rw-color-primary);
  background: var(--rw-color-primary-light);
  text-decoration: none;
}

.rw-account-nav__icon svg {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}

/* Main content */
.woocommerce-account .woocommerce-MyAccount-content {
  min-width: 0;
}

.rw-account-dashboard {
  display: flex;
  flex-direction: column;
  gap: var(--rw-space-6);
}

.rw-account-dashboard__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rw-space-6);
}

.rw-account-dashboard__header-main {
  min-width: 0;
}

.rw-account-dashboard__title {
  margin: 0;
  font-size: clamp(1.75rem, 2.4vw, 2rem);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-account-dashboard__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: var(--rw-space-2) 0 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-base);
  color: var(--rw-color-text-muted);
  overflow: visible;
}

.rw-account-dashboard__logout {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  flex-shrink: 0;
  padding: var(--rw-space-2) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-text);
  text-decoration: none;
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  transition: border-color var(--rw-transition), color var(--rw-transition);
}

.rw-account-dashboard__logout:hover,
.rw-account-dashboard__logout:focus-visible {
  color: var(--rw-color-primary);
  border-color: var(--rw-color-border);
  text-decoration: none;
}

.rw-account-dashboard__logout-icon svg {
  display: block;
  width: 1rem;
  height: 1rem;
}

/* WCD loyalty banner */
.rw-account-wcd-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--rw-space-6);
  padding: var(--rw-space-8);
  color: var(--rw-color-text-inverse);
  background: linear-gradient(135deg, var(--rw-color-navy) 0%, #0a2850 100%);
  border-radius: var(--rw-account-section-radius);
}

.rw-account-wcd-banner__title {
  margin: 0 0 var(--rw-space-3);
  font-size: var(--rw-font-size-xl);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
}

.rw-account-wcd-banner__description {
  margin: 0 0 var(--rw-space-5);
  max-width: 42rem;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: rgba(255, 255, 255, 0.88);
}

.rw-account-wcd-banner__progress-wrap {
  margin-bottom: var(--rw-space-5);
}

.rw-account-wcd-banner__progress {
  height: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.18);
  border-radius: var(--rw-radius-full);
}

.rw-account-wcd-banner__progress-bar {
  display: block;
  height: 100%;
  background: var(--rw-color-text-inverse);
  border-radius: inherit;
}

.rw-account-wcd-banner__progress-labels {
  display: flex;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-top: var(--rw-space-2);
  font-size: var(--rw-font-size-xs);
  color: rgba(255, 255, 255, 0.82);
}

.rw-account-wcd-banner__cta {
  align-self: flex-start;
}

.rw-account-wcd-banner__benefits {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-4) var(--rw-space-6);
  list-style: none;
  margin: 0;
  padding: var(--rw-space-5) 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.rw-account-wcd-banner__benefit {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  font-size: var(--rw-font-size-xs);
  font-weight: var(--rw-font-weight-medium);
  color: rgba(255, 255, 255, 0.9);
}

.rw-account-wcd-banner__benefit-icon svg {
  display: block;
  width: 1rem;
  height: 1rem;
}

/* Sections */
.rw-account-section {
  padding: 0;
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-account-section-radius);
  box-shadow: var(--rw-shadow-sm);
}

.rw-account-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  margin-bottom: 0;
  padding: 15px;
  border-bottom: 1px solid lightgrey;
}

.rw-account-section__heading {
  display: flex;
  align-items: center;
  gap: var(--rw-space-3);
  min-width: 0;
}

.rw-account-section__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: var(--rw-color-navy);
}
.rw-account-section__icon svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
}

.rw-account-section > :not(.rw-account-section__header):not(.rw-account-details__section-header) {
  padding: 15px;
}

.rw-account-section__title {
  margin: 0;
  font-size: var(--rw-font-size-md);
  font-weight: var(--rw-font-weight-bold);
  line-height: var(--rw-line-height-tight);
  color: var(--rw-color-navy);
}

.rw-account-section__link {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  flex-shrink: 0;
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-brand);
  text-decoration: none;
  transition: color var(--rw-transition);
}

.rw-account-section__link:hover,
.rw-account-section__link:focus-visible {
  color: var(--rw-color-brand-hover);
}

.rw-account-section__link svg {
  display: block;
  width: 14px;
  height: 14px;
}

.rw-account-section__footer {
  margin: var(--rw-space-5) 0 0;
}

.rw-account-link {
  display: inline-flex;
  align-items: center;
  gap: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-brand);
  text-decoration: none;
}

.rw-account-link:hover {
  color: var(--rw-color-brand-hover);
  text-decoration: underline;
}

.rw-account-link svg {
  display: block;
  width: 1rem;
  height: 1rem;
}

.rw-account-empty {
  margin: 0;
  padding: var(--rw-space-5);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-account-empty--inline {
  padding: var(--rw-space-4);
}

/* Orders inside dashboard section */
.rw-account-section .rw-recent-orders__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rw-account-section .rw-recent-orders__item {
  padding: var(--rw-space-4) 0;
  border-top: 1px solid var(--rw-color-border-light);
}

.rw-account-section .rw-recent-orders__item:first-child {
  padding-top: 0;
  border-top: 0;
}

/* Address book */
.rw-account-address-book {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rw-space-6);
}

.rw-account-address-book--single {
  grid-template-columns: minmax(0, 1fr);
}

.rw-account-address-book__badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rw-space-2);
}

.rw-account-address-book__column {
  min-width: 0;
  padding: var(--rw-space-5);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-account-address-book__column-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-3);
  margin-bottom: var(--rw-space-4);
}

.rw-account-address-book__label {
  margin: 0;
  font-size: 11px;
  font-weight: var(--rw-font-weight-semibold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rw-color-text-muted);
}

.rw-account-address-book__edit {
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
  color: var(--rw-color-brand);
  text-decoration: none;
}

.rw-account-address-book__edit:hover,
.rw-account-address-book__edit:focus-visible {
  color: var(--rw-color-brand-hover);
  text-decoration: underline;
}

.rw-account-address-book__content p {
  margin: 0;
  font-size: var(--rw-font-size-sm);
  line-height: var(--rw-line-height-relaxed);
  color: var(--rw-color-text);
}

.rw-account-address-book__content p + p {
  margin-top: var(--rw-space-1);
}

/* Product carousel */
.rw-account-product-carousel {
  margin: 0 calc(var(--rw-space-2) * -1);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.rw-account-product-carousel__list {
  display: flex;
  gap: var(--rw-space-4);
  width: max-content;
  min-width: 100%;
  margin: 0;
  padding: var(--rw-space-1) var(--rw-space-2);
  list-style: none;
}

.rw-account-product-carousel__list > .rw-account-product-card {
  flex: 0 0 240px;
  width: 240px;
}

.rw-account-product-card.rw-product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: var(--rw-space-4);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-account-product-card .rw-product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--rw-space-2);
}

.rw-account-product-card__actions {
  margin-top: auto;
  padding-top: var(--rw-space-3);
}

.rw-account-product-card__actions .rw-btn,
.rw-account-product-card__actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

/* Returns widget */
.rw-account-returns-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-account-returns-list__item {
  padding: var(--rw-space-5);
  background: var(--rw-color-bg-alt);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-account-returns-list__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rw-space-2) var(--rw-space-4);
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
}

.rw-account-returns-list__note {
  margin: 0 0 var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  color: var(--rw-color-text-muted);
}

.rw-account-returns-list__steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: var(--rw-space-2);
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: return-step;
}

.rw-account-returns-list__steps li {
  position: relative;
  padding-top: var(--rw-space-5);
  font-size: var(--rw-font-size-xs);
  color: var(--rw-color-text-muted);
  text-align: center;
}

.rw-account-returns-list__steps li::before {
  content: "";
  position: absolute;
  top: 0.375rem;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--rw-color-border-light);
}

.rw-account-returns-list__steps li.is-active {
  color: var(--rw-color-brand);
  font-weight: var(--rw-font-weight-semibold);
}

.rw-account-returns-list__steps li.is-active::before {
  background: var(--rw-color-brand);
}

/* Legacy lists (facturen endpoint, Odoo fallback) */
.rw-account-orders {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-account-orders__item + .rw-account-orders__item {
  margin-top: var(--rw-space-3);
}

.rw-account-orders__link {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: var(--rw-space-4);
  padding: var(--rw-space-4);
  color: inherit;
  text-decoration: none;
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  transition: border-color var(--rw-transition), box-shadow var(--rw-transition);
}

.rw-account-orders__link:hover {
  border-color: var(--rw-color-border);
  box-shadow: var(--rw-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
  text-decoration: none;
}

.rw-account-invoices {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-account-invoices__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--rw-space-4);
  padding: var(--rw-space-4);
  background: var(--rw-color-bg);
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
}

.rw-account-invoices__item + .rw-account-invoices__item {
  margin-top: var(--rw-space-3);
}

/* Sub-pages */
.rw-account-panel__header {
  margin-bottom: var(--rw-space-6);
}

.rw-account-panel__title {
  margin: 0 0 var(--rw-space-2);
  font-size: var(--rw-font-size-2xl);
  font-weight: var(--rw-font-weight-bold);
  color: var(--rw-color-text);
}

.rw-account-panel__intro,
.rw-account-panel__content {
  font-size: var(--rw-font-size-base);
  color: var(--rw-color-text-muted);
}

.rw-account-panel__content {
  color: var(--rw-color-text);
}

.rw-account-wcd__badge {
  display: inline-flex;
  margin-bottom: var(--rw-space-4);
  padding: var(--rw-space-2) var(--rw-space-4);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-semibold);
  color: var(--rw-color-primary);
  background: var(--rw-color-primary-light);
  border-radius: var(--rw-radius-full, 999px);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields {
  width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table {
  border-collapse: collapse;
  border: 1px solid var(--rw-color-border-light);
  border-radius: var(--rw-radius-md);
  overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table th,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td {
  padding: var(--rw-space-3) var(--rw-space-4);
  border-bottom: 1px solid var(--rw-color-border-light);
  font-size: var(--rw-font-size-sm);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table th {
  font-weight: var(--rw-font-weight-semibold);
  text-align: left;
  background: var(--rw-color-bg-alt);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tr:last-child td,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tr:last-child th {
  border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row label,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields label {
  display: block;
  margin-bottom: var(--rw-space-2);
  font-size: var(--rw-font-size-sm);
  font-weight: var(--rw-font-weight-medium);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .input-text,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .input-text {
  width: 100%;
  padding: var(--rw-space-3) var(--rw-space-4);
  border: 1px solid var(--rw-color-border);
  border-radius: var(--rw-radius-md);
  font-family: inherit;
  font-size: var(--rw-font-size-base);
  background: var(--rw-color-bg-alt);
}

@media (max-width: 991px) {
  .rw-account__layout {
    grid-template-columns: 1fr;
    gap: var(--rw-space-8);
  }
  .rw-account-sidebar {
    position: static;
  }
  .rw-account-sidebar__toggle {
    display: flex;
    align-items: center;
    gap: var(--rw-space-3);
    width: 100%;
    padding: var(--rw-space-3) var(--rw-space-4);
    font-family: inherit;
    font-size: var(--rw-font-size-sm);
    font-weight: var(--rw-font-weight-semibold);
    color: var(--rw-color-text);
    text-align: left;
    background: var(--rw-color-bg);
    border: 1px solid var(--rw-color-border);
    border-radius: var(--rw-radius-md);
    cursor: pointer;
    transition: color var(--rw-transition), border-color var(--rw-transition);
  }
  .rw-account-sidebar__toggle:hover,
  .rw-account-sidebar.is-open .rw-account-sidebar__toggle {
    color: var(--rw-color-primary);
    border-color: var(--rw-color-primary);
  }
  .rw-account-sidebar__toggle-label {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .rw-account-sidebar__toggle-icon svg,
  .rw-account-sidebar__toggle-chevron svg {
    display: block;
    width: 1.125rem;
    height: 1.125rem;
  }
  .rw-account-sidebar__toggle-chevron {
    flex-shrink: 0;
    transition: transform var(--rw-transition);
  }
  .rw-account-sidebar.is-open .rw-account-sidebar__toggle-chevron {
    transform: rotate(180deg);
  }
  .rw-account-sidebar.is-collapsible:not(.is-open) .rw-account-sidebar__panel {
    display: none;
  }
  .rw-account-sidebar.is-open .rw-account-sidebar__panel {
    margin-top: var(--rw-space-4);
  }
  .rw-account-nav-group ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rw-space-2);
  }
  .rw-account-nav li + li {
    margin-top: 0;
  }
  .rw-account-address-book {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .rw-account {
    padding-top: 0;
    padding-bottom: var(--rw-space-12);
  }
  .rw-account-dashboard__header {
    flex-direction: column;
    align-items: stretch;
  }
  .rw-account-dashboard__logout {
    align-self: flex-start;
  }
  .rw-account-dashboard__title {
    font-size: var(--rw-font-size-xl);
  }
  .rw-account-section__header,
  .rw-account-details__section-header {
    padding: 15px;
  }
  .rw-account-section > :not(.rw-account-section__header):not(.rw-account-details__section-header) {
    padding: 15px;
  }
  .rw-account-section__header {
    flex-direction: column;
    align-items: flex-start;
  }
  .rw-account-nav-group ul {
    grid-template-columns: 1fr;
  }
  .rw-account-product-carousel__list > .rw-account-product-card {
    flex-basis: 210px;
    width: 210px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rw-account-nav a,
  .rw-account-sidebar__brand,
  .rw-account-sidebar__toggle,
  .rw-account-sidebar__toggle-chevron,
  .rw-account-dashboard__logout,
  .rw-account-section__link,
  .rw-account-invoices-list__download {
    transition: none;
  }
}
