/*
 * RELVOUX — MAISON DESIGN SYSTEM
 * First complete visual direction, August 2026
 *
 * The existing Relvoux interaction logic remains intact. This final layer
 * changes only the customer-facing art direction and normalises legacy rules.
 * Cormorant Garamond and Manrope are emitted by theme-css-var in the head;
 * keeping a second external font import here delayed the brand layer and
 * caused an avoidable font/layout repaint.
 */

:root {
  --rv-ink: #171613;
  --rv-ink-soft: #2d2a26;
  --rv-ivory: #ffffff;
  --rv-porcelain: #ffffff;
  --rv-stone: #d9d2c8;
  --rv-stone-dark: #8c8377;
  --rv-secondary: #f4f4f1;
  --rv-accent: #171613;
  --rv-announcement: #171613;
  --rv-white: #ffffff;
  --rv-line: rgba(23, 22, 19, 0.18);
  --rv-line-light: rgba(250, 249, 246, 0.24);
  --rv-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --rv-sans: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --rv-ease: cubic-bezier(0.2, 0.65, 0.3, 1);
  --rv-page-gap: clamp(18px, 2.7vw, 44px);
  --rv-section-gap: clamp(72px, 8vw, 132px);
}

html {
  scroll-behavior: smooth;
  background: var(--rv-ivory);
}

body,
button,
input,
textarea,
select {
  font-family: var(--rv-sans) !important;
}

body {
  color: var(--rv-ink);
  background: var(--rv-ivory);
  font-weight: 400;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection {
  color: var(--rv-ink);
  background: var(--rv-secondary);
}

h1,
h2,
h3,
.title0,
.title1,
.title2,
.title3,
.title4,
.title5,
.title6,
[class*="__title"]:not(.button):not([class*="menu-title"]),
[class*="__heading"] {
  font-family: var(--rv-serif) !important;
  font-weight: 500 !important;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

p,
.rte,
.body0,
.body1,
.body2,
.body3,
.body4,
.body5,
.body6 {
  line-height: 1.7;
}

a,
button,
input,
select,
textarea {
  transition:
    color 220ms var(--rv-ease),
    background-color 220ms var(--rv-ease),
    border-color 220ms var(--rv-ease),
    opacity 220ms var(--rv-ease),
    transform 420ms var(--rv-ease);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 1px solid var(--rv-ink) !important;
  outline-offset: 3px;
}

.page-width {
  max-width: min(100%, 1600px) !important;
  padding-inline: var(--rv-page-gap) !important;
}

/* -------------------------------------------------------------------------- */
/* Buttons and form controls                                                   */
/* -------------------------------------------------------------------------- */

.button,
.shopline-element-buy-now,
button[name="add"],
.contact-form button[type="submit"],
.main-order-tracking button[type="submit"],
[class*="customers-"] button[type="submit"],
.email-subscription button[type="submit"],
input[type="submit"]:not([class*="search"]),
.block-product-buy-button-wrapper button,
.cart-drawer__checkout-button,
.main-cart-footer__checkout {
  min-height: 50px;
  padding: 13px 26px !important;
  color: var(--rv-ivory) !important;
  font-family: var(--rv-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  background: var(--rv-ink) !important;
  border: 1px solid var(--rv-ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.button:hover,
.shopline-element-buy-now:hover,
button[name="add"]:hover,
.contact-form button[type="submit"]:hover,
.main-order-tracking button[type="submit"]:hover,
[class*="customers-"] button[type="submit"]:hover,
.email-subscription button[type="submit"]:hover,
input[type="submit"]:not([class*="search"]):hover,
.block-product-buy-button-wrapper button:hover,
.cart-drawer__checkout-button:hover,
.main-cart-footer__checkout:hover {
  color: var(--rv-ink) !important;
  background: transparent !important;
  border-color: var(--rv-ink) !important;
}

.button--secondary,
.button.button--secondary,
[class*="secondary-button"] {
  color: var(--rv-ink) !important;
  background: transparent !important;
  border-color: var(--rv-ink) !important;
}

.button--secondary:hover,
.button.button--secondary:hover,
[class*="secondary-button"]:hover {
  color: var(--rv-ink) !important;
  background: transparent !important;
  border-color: var(--rv-ink) !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
textarea,
select,
.field__input,
.input {
  min-height: 48px;
  color: var(--rv-ink) !important;
  font-size: 12px !important;
  letter-spacing: 0.035em;
  background: transparent !important;
  border-color: var(--rv-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--rv-stone-dark) !important;
  opacity: 1;
}

/* -------------------------------------------------------------------------- */
/* Announcement and header                                                     */
/* -------------------------------------------------------------------------- */

.section-announcement-bar,
.announcement-bar,
[class*="announcement-bar"] {
  color: var(--rv-ivory) !important;
  background: var(--rv-ink) !important;
  border: 0 !important;
}

.announcement-bar a,
.announcement-bar p,
.announcement-bar span,
.announcement-bar__item,
.section-announcement-bar a,
.section-announcement-bar p,
.section-announcement-bar span {
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 30px !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase;
}

.announcement-bar a {
  padding-block-end: 2px;
  border-bottom: 1px solid currentColor;
}

theme-sticky-header,
.header-section {
  position: relative;
  z-index: var(--z-index-sticky);
}

.header-section .header__container-top-wrap {
  min-height: 76px;
  padding-inline: var(--rv-page-gap) !important;
}

.header-section:not(.transparent),
theme-sticky-header[data-sticky-state="active"] .header-section,
theme-sticky-header.is-sticky .header-section {
  color: var(--rv-ink) !important;
  background: rgba(250, 249, 246, 0.97) !important;
  border-bottom: 1px solid var(--rv-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px);
}

.header-section.transparent {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28), transparent) !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

.header__logo-text {
  color: currentColor;
  font-family: var(--rv-serif) !important;
  font-size: clamp(22px, 2vw, 31px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
}

.header__logo-image {
  max-width: 150px;
  object-fit: contain;
}

.header-section.transparent .header__logo-link:not(.transparent) {
  opacity: 0 !important;
}

.header-section.transparent .header__logo-link.transparent {
  opacity: 1 !important;
}

.header-section.transparent .header__logo-link.transparent img {
  filter: brightness(0) invert(1);
}

.header__nav-item,
.header__nav-item a,
.nav__item,
.nav__item a,
.action-bar__item,
.header__container-bottom a {
  font-family: var(--rv-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase;
}

.header-section svg,
.header-section .icon {
  stroke-width: 1.25 !important;
}

.header__container-bottom {
  padding-block: 0 16px !important;
  background: inherit;
  border: 0 !important;
}

.search-bar,
.header__search,
[class*="search-bar__"] {
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
  border-color: var(--rv-line) !important;
  box-shadow: none !important;
}

/* Navigation drawer — editorial, calm and spacious. */
.cb-nav-drawer,
.nav-drawer,
theme-menu-drawer [class*="drawer__body"],
theme-modal [class*="nav-drawer"] {
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
  box-shadow: none !important;
}

.cb-nav-drawer__title,
.nav-drawer__title,
.cb-nav-drawer__main-link,
.nav-drawer__link--level-1 {
  font-family: var(--rv-serif) !important;
  font-size: clamp(25px, 2.25vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

.cb-nav-drawer__submenu a,
.nav-drawer__link--level-2,
.nav-drawer__link--level-3 {
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
}

.cb-nav-drawer__main-utility,
.cb-nav-drawer__main-utility-links {
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--rv-line) !important;
}

.cb-nav-drawer__main-utility-link {
  color: var(--rv-ink-soft) !important;
  font-size: 10px !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase;
}

/* -------------------------------------------------------------------------- */
/* Homepage and editorial sections                                             */
/* -------------------------------------------------------------------------- */

main > .section + .section,
main > [id*="shopline-section"] + [id*="shopline-section"] {
  margin-top: var(--rv-section-gap);
}

.slideshow__content,
.image-banner__content,
.featured-slideshow__content,
[class*="banner__content"] {
  padding: clamp(24px, 5vw, 80px) !important;
}

.slideshow__heading,
.image-banner__heading,
.featured-slideshow__heading,
[class*="banner__heading"] {
  max-width: 780px;
  font-size: clamp(42px, 6.2vw, 92px) !important;
  font-weight: 400 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.025em !important;
}

.slideshow__text,
.image-banner__text,
[class*="banner__text"] {
  max-width: 520px;
  font-size: clamp(12px, 1vw, 15px) !important;
  line-height: 1.7 !important;
  letter-spacing: 0.025em;
}

.slideshow .button,
.image-banner .button,
.featured-slideshow .button {
  min-width: 166px;
  color: var(--rv-white) !important;
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.78) !important;
}

.slideshow .button:hover,
.image-banner .button:hover,
.featured-slideshow .button:hover {
  color: var(--rv-ink) !important;
  background: var(--rv-white) !important;
}

.section-heading,
.heading-with-link,
.featured-collection__tabs-header,
.collection-list__header,
.rich-text__heading {
  margin-bottom: clamp(26px, 3vw, 48px) !important;
}

.section-heading h2,
.heading-with-link h2,
.featured-collection__tabs-header h2,
.collection-list__header h2,
.rich-text__heading {
  font-size: clamp(32px, 4vw, 58px) !important;
  font-weight: 400 !important;
  line-height: 1.02 !important;
}

.heading-with-link a,
.view-more,
[class*="view-more"] a {
  color: var(--rv-ink) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase;
  border-bottom: 1px solid var(--rv-ink);
}

.image-with-text,
.text-with-image,
.media-promotion {
  background: var(--rv-porcelain) !important;
}

.image-with-text__content,
.text-with-image__content,
.media-promotion__content {
  padding: clamp(40px, 7vw, 110px) !important;
}

.image-with-text__heading,
.text-with-image__heading,
.media-promotion__heading {
  font-size: clamp(36px, 4.5vw, 68px) !important;
  line-height: 1 !important;
}

.collection-card__title,
.collection-list__title {
  color: inherit;
  font-family: var(--rv-serif) !important;
  font-size: clamp(22px, 2vw, 34px) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em !important;
}

.collection-card img,
.collection-list img,
.image-promotion img,
.image-with-text img,
.text-with-image img {
  transition: transform 900ms var(--rv-ease) !important;
}

.collection-card:hover img,
.image-promotion:hover img,
.image-with-text:hover img,
.text-with-image:hover img {
  transform: scale(1.018);
}

/* -------------------------------------------------------------------------- */
/* Product cards, collection and search                                        */
/* -------------------------------------------------------------------------- */

.product-card,
theme-product-card,
.product-card-border-shadow {
  color: var(--rv-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.product-card__image,
.product-card__media,
.product-card [class*="image-wrapper"] {
  overflow: hidden;
  background: var(--rv-porcelain) !important;
  border-radius: 0 !important;
}

.product-card__image img,
.product-card__media img,
.product-card picture img {
  transition: transform 800ms var(--rv-ease), opacity 350ms ease !important;
}

.product-card:hover .product-card__image img,
.product-card:hover .product-card__media img,
theme-product-card:hover img {
  transform: scale(1.018);
}

.product-card__info,
.product-card__content,
.product-card [class*="__info"] {
  padding-top: 15px !important;
}

.product-card__title,
.product-card__title a,
.product-card [class*="title"] a,
.mr-product-card__title {
  color: var(--rv-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
}

.product-card .product-price,
.product-card [class*="price"],
theme-product-card .product-price {
  color: var(--rv-ink-soft) !important;
  font-family: var(--rv-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.035em !important;
}

.product-card__quick-add,
.quick-add-modal__quick-add {
  color: var(--rv-ink) !important;
  background: rgba(250, 249, 246, 0.92) !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px);
}

.product-card__discount-tag,
.product-card [class*="discount-tag"],
.product-card [class*="badge"] {
  padding: 5px 8px !important;
  color: var(--rv-ivory) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
  background: var(--rv-ink) !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.main-collection-cover,
.collection-cover {
  background: var(--rv-porcelain) !important;
}

.main-collection-cover h1,
.collection-cover h1,
.main-collection-products__title,
.main-search__title {
  font-size: clamp(42px, 5vw, 72px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center;
}

.main-collection-cover .rte,
.collection-cover .rte {
  max-width: 680px;
  margin-inline: auto;
  color: var(--rv-ink-soft) !important;
  font-size: 13px !important;
  text-align: center;
}

.facets,
.facets__wrapper,
.main-collection-products__toolbar,
.main-search__toolbar,
[class*="collection-products__toolbar"] {
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
  border-color: var(--rv-line) !important;
  box-shadow: none !important;
}

.facets summary,
.facets button,
.facets label,
[class*="toolbar"] button,
[class*="toolbar"] label {
  font-family: var(--rv-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
}

.facets__drawer,
.facets__popover,
.facets__dropdown,
[class*="facets-modal"] {
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
  border-color: var(--rv-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.active-facets__button,
[class*="active-filter"] {
  color: var(--rv-ink) !important;
  background: var(--rv-porcelain) !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 0 !important;
}

.pagination__item,
.pagination a,
.pagination button {
  color: var(--rv-ink) !important;
  font-size: 10px !important;
  letter-spacing: 0.1em;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.pagination__item[aria-current="page"],
.pagination__item.active {
  border-bottom: 1px solid var(--rv-ink) !important;
}

/* -------------------------------------------------------------------------- */
/* Product detail                                                              */
/* -------------------------------------------------------------------------- */

theme-product-detail,
.product-detail,
.main-product {
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
}

.product-detail__info,
.product-detail__info-wrapper,
.main-product__info {
  padding-inline: clamp(24px, 4vw, 72px) !important;
}

.product-detail__title,
.product-detail__title h1,
.block-product-title,
.block-product-title a {
  color: var(--rv-ink) !important;
  font-family: var(--rv-serif) !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  font-weight: 400 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.018em !important;
  text-transform: none !important;
}

.product-detail__price,
.product-detail__price *,
.block-product-price,
.block-product-price * {
  color: var(--rv-ink-soft) !important;
  font-family: var(--rv-sans) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.045em !important;
}

.product-detail__row,
.variant-picker__group,
.block-product-description,
.product-detail__additional,
[class*="product-detail__accordion"] {
  border-color: var(--rv-line) !important;
}

.variant-picker__group-label,
.variant-picker__group-current,
.product-detail__row-title,
.product-detail summary,
.block-product-description summary {
  color: var(--rv-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}

.variant-picker__button--text,
.product-detail .variant-picker__button--text {
  min-width: 43px !important;
  min-height: 39px !important;
  color: var(--rv-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  background: transparent !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.variant-picker__input:checked + .variant-picker__button--text,
.product-detail .variant-picker__input:checked + .variant-picker__button--text {
  color: var(--rv-ivory) !important;
  background: var(--rv-ink) !important;
  border-color: var(--rv-ink) !important;
}

.product-detail__buy-button-group,
.block-product-buy-button-group {
  gap: 10px !important;
}

.product-detail .quantity-selector__input,
.quick-add-modal .quantity-selector__input {
  min-height: 50px !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.media-gallery__item,
.media-gallery__media,
.product-detail__media {
  background: var(--rv-porcelain) !important;
  border-radius: 0 !important;
}

.media-gallery__thumbnail,
[class*="media-gallery__thumbnail"] {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.media-gallery__thumbnail[aria-current="true"],
[class*="media-gallery__thumbnail"].active {
  border-color: var(--rv-ink) !important;
}

.mr-help-drawer,
.product-detail__popup,
[class*="detail-popup"] {
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
  border-color: var(--rv-line) !important;
  box-shadow: none !important;
}

.mr-help-drawer h2,
.product-detail__popup h2 {
  font-size: clamp(30px, 3vw, 44px) !important;
  font-weight: 400 !important;
}

/* Recommendations inherit the same restrained maison rhythm. */
.recommended-product,
.recently-viewed-product,
.featured-recommend-products {
  padding-block: clamp(58px, 7vw, 112px) !important;
  border-top: 1px solid var(--rv-line);
}

.recommended-product h2,
.recently-viewed-product h2,
.featured-recommend-products h2 {
  font-size: clamp(32px, 4vw, 56px) !important;
  font-weight: 400 !important;
  text-align: center;
}

/* -------------------------------------------------------------------------- */
/* Quick add, cart drawer and cart page                                         */
/* -------------------------------------------------------------------------- */

.quick-add-modal__modal,
.quick-add-modal__modal::before,
.quick-add-modal__modal-content-mobile,
.quick-add-modal__modal-content-desktop {
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
  border-color: var(--rv-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.quick-add-modal__modal-close {
  color: var(--rv-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.quick-add-modal__modal-content-mobile .product-detail__title,
.quick-add-modal__modal-content-desktop .product-detail__title {
  font-family: var(--rv-serif) !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

.quick-add-modal__view-details,
.quick-add-modal__shipping-line a {
  color: var(--rv-ink) !important;
  font-size: 9px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  border-color: var(--rv-ink) !important;
}

.cart-drawer__body {
  width: min(92vw, 470px) !important;
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
  border: 0 !important;
  box-shadow: -18px 0 50px rgba(23, 22, 19, 0.09) !important;
}

.cart-drawer__header {
  min-height: 76px;
  padding-inline: 26px !important;
  border-bottom: 1px solid var(--rv-line) !important;
}

.cb-cart-drawer__title {
  font-family: var(--rv-serif) !important;
  font-size: 29px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.cart-drawer__item,
.cart-item,
.cart-drawer__payment,
.cb-cart-drawer__services,
.cart-drawer__fixed-checkout {
  border-color: var(--rv-line) !important;
}

.cart-drawer__item-title,
.cart-item__title,
.cart-drawer [class*="product-title"] {
  font-family: var(--rv-serif) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.cb-cart-drawer__service-content h4 {
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0.13em !important;
}

.cb-cart-drawer__service-content p {
  color: var(--rv-stone-dark) !important;
  font-size: 10px !important;
  line-height: 1.55 !important;
}

.rv-cart-loading__monogram {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: var(--rv-ivory);
  font-family: var(--rv-serif);
  font-size: 25px;
  font-weight: 500;
  line-height: 1;
  background: var(--rv-ink);
  animation: rv-pulse 1.2s ease-in-out infinite alternate;
}

@keyframes rv-pulse {
  to {
    opacity: 0.48;
    transform: scale(0.94);
  }
}

.main-cart,
.main-cart__container,
.main-cart-footer {
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
}

.main-cart h1,
.main-cart__title {
  font-size: clamp(42px, 5vw, 70px) !important;
  font-weight: 400 !important;
}

.main-cart [class*="summary"],
.main-cart [class*="footer"],
.main-cart [class*="item"] {
  border-color: var(--rv-line) !important;
}

/* -------------------------------------------------------------------------- */
/* Footer                                                                       */
/* -------------------------------------------------------------------------- */

.footer {
  margin-top: var(--rv-section-gap);
  padding: clamp(74px, 8vw, 124px) 0 34px !important;
  color: var(--rv-ivory) !important;
  background: var(--rv-ink) !important;
  border: 0 !important;
}

.footer .page-width {
  max-width: 1600px !important;
}

.footer,
.footer a,
.footer p,
.footer span,
.footer label,
.footer h2,
.footer h3,
.footer h4,
.footer summary {
  color: var(--rv-ivory) !important;
}

.footer__maison {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(240px, 0.75fr);
  gap: clamp(30px, 9vw, 150px);
  align-items: end;
  margin-bottom: clamp(64px, 8vw, 120px);
  padding-bottom: clamp(40px, 5vw, 74px);
  border-bottom: 1px solid var(--rv-line-light);
}

.footer__maison-wordmark {
  margin: 0;
  font-family: var(--rv-serif) !important;
  font-size: clamp(58px, 9vw, 142px) !important;
  font-weight: 400 !important;
  line-height: 0.78 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase;
}

.footer__maison-copy {
  max-width: 370px;
  margin: 0 0 2px auto;
  font-family: var(--rv-serif) !important;
  font-size: clamp(19px, 1.65vw, 28px) !important;
  font-weight: 400 !important;
  font-style: italic;
  line-height: 1.32 !important;
  letter-spacing: 0 !important;
}

.footer__inner {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.2fr) minmax(30px, 0.45fr) repeat(2, minmax(140px, 0.65fr)) !important;
  gap: 48px clamp(36px, 6vw, 100px) !important;
  align-items: start !important;
}

.footer__inner > .footer__group:nth-child(1) {
  grid-column: 1;
  display: flex !important;
  flex-direction: column !important;
  gap: 28px !important;
  max-width: 380px !important;
}

.footer__inner > .footer__group:nth-child(2) {
  grid-column: 3 / 5;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(130px, 1fr)) !important;
  gap: 36px clamp(48px, 6vw, 100px) !important;
}

.footer__inner > .footer__group:nth-child(3),
.footer__inner > .footer__group:nth-child(4) {
  grid-column: 1 / -1;
  padding-top: 28px !important;
  border-top: 1px solid var(--rv-line-light);
}

.footer__inner > .footer__group:nth-child(4) {
  padding-top: 22px !important;
}

.footer__group {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.footer__menu,
.footer__menu-title,
.footer__menu-content,
.footer__menu-item,
.footer__menu-item a {
  margin-inline: 0 !important;
  text-align: left !important;
  justify-content: flex-start !important;
}

.footer__menu-title,
.footer__menu-title *,
.footer [class*="subscribe"] [class*="title"],
.footer [class*="social-media"] [class*="title"] {
  margin-bottom: 20px !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;
}

.footer__menu-item a,
.footer [class*="menu-content"] a,
.footer [class*="social-media"] a {
  display: inline-block;
  padding-block: 4px;
  font-size: 11px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.045em !important;
  opacity: 0.82;
}

.footer a:hover {
  opacity: 1;
}

.footer input {
  color: var(--rv-ivory) !important;
  border-color: var(--rv-line-light) !important;
}

.footer input::placeholder {
  color: rgba(250, 249, 246, 0.58) !important;
}

.footer button[type="submit"],
.footer .button {
  min-height: 46px;
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
  border-color: var(--rv-ivory) !important;
}

.footer button[type="submit"]:hover,
.footer .button:hover {
  color: var(--rv-ivory) !important;
  background: transparent !important;
}

.footer__copyright-custom,
.footer [class*="copyright"] {
  color: rgba(250, 249, 246, 0.58) !important;
  font-size: 9px !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase;
}

.footer [class*="payment"] svg,
.footer [class*="payment"] img {
  filter: grayscale(1) brightness(2);
  opacity: 0.68;
}

/* -------------------------------------------------------------------------- */
/* Content pages, FAQ, tracking, contact and customer account                  */
/* -------------------------------------------------------------------------- */

.main-page,
.custom-page,
.faq,
.contact-form,
.main-order-tracking,
[class*="customers-"] {
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
}

.main-page h1,
.custom-page h1,
.faq h1,
.contact-form h1,
.main-order-tracking h1,
[class*="customers-"] h1 {
  font-size: clamp(42px, 5vw, 72px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.faq details,
.faq__item,
.contact-form [class*="field"],
[class*="customers-"] [class*="field"],
[class*="order-tracking"] [class*="field"] {
  border-color: var(--rv-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.faq summary,
.faq__question {
  padding-block: 20px !important;
  font-family: var(--rv-serif) !important;
  font-size: clamp(20px, 1.8vw, 27px) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.breadcrumb,
.breadcrumb a,
.breadcrumb span {
  color: var(--rv-stone-dark) !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase;
}

/* -------------------------------------------------------------------------- */
/* Mobile                                                                       */
/* -------------------------------------------------------------------------- */

@media (max-width: 959px) {
  :root {
    --rv-page-gap: 16px;
    --rv-section-gap: 70px;
  }

  .page-width {
    padding-inline: var(--rv-page-gap) !important;
  }

  .header-section .header__container-top-wrap {
    min-height: 58px;
  }

  .header__logo-image {
    max-width: 112px;
  }

  .header__logo-text {
    font-size: 21px !important;
    letter-spacing: 0.15em !important;
  }

  .announcement-bar a,
  .announcement-bar p,
  .announcement-bar span,
  .announcement-bar__item,
  .section-announcement-bar a,
  .section-announcement-bar p,
  .section-announcement-bar span {
    font-size: 9px !important;
    line-height: 28px !important;
    letter-spacing: 0.095em !important;
  }

  .slideshow__content,
  .image-banner__content,
  .featured-slideshow__content,
  [class*="banner__content"] {
    padding: 30px 18px !important;
  }

  .slideshow__heading,
  .image-banner__heading,
  .featured-slideshow__heading,
  [class*="banner__heading"] {
    font-size: clamp(40px, 13vw, 62px) !important;
    line-height: 0.98 !important;
  }

  .grid {
    --column-gap: 10px !important;
    --row-gap: 28px !important;
  }

  .product-card__info,
  .product-card__content,
  .product-card [class*="__info"] {
    padding-top: 10px !important;
  }

  .product-card__title,
  .product-card__title a,
  .product-card [class*="title"] a,
  .mr-product-card__title {
    font-size: 9.5px !important;
    line-height: 1.42 !important;
    letter-spacing: 0.055em !important;
  }

  .product-card .product-price,
  .product-card [class*="price"],
  theme-product-card .product-price {
    font-size: 9.5px !important;
  }

  .product-detail__info,
  .product-detail__info-wrapper,
  .main-product__info {
    padding: 28px 18px 0 !important;
  }

  .product-detail__title,
  .product-detail__title h1,
  .block-product-title,
  .block-product-title a {
    font-size: 30px !important;
    line-height: 1.04 !important;
  }

  .recommended-product,
  .recently-viewed-product,
  .featured-recommend-products {
    padding-block: 58px !important;
  }

  .quick-add-modal__modal-content-mobile {
    background: var(--rv-ivory) !important;
  }

  .quick-add-modal__modal-content-mobile .product-detail__title {
    font-size: 23px !important;
  }

  .cart-drawer__header {
    min-height: 64px;
    padding-inline: 18px !important;
  }

  .cb-cart-drawer__title {
    font-size: 25px !important;
  }

  .footer {
    padding: 62px 0 28px !important;
  }

  .footer__maison {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-bottom: 52px;
    padding-bottom: 40px;
  }

  .footer__maison-wordmark {
    font-size: clamp(52px, 18vw, 82px) !important;
    line-height: 0.84 !important;
    letter-spacing: 0.035em !important;
  }

  .footer__maison-copy {
    max-width: 300px;
    margin: 0;
    font-size: 20px !important;
  }

  .footer__inner {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .footer__group {
    padding-block: 20px !important;
    border-bottom: 1px solid var(--rv-line-light);
  }

  .footer__inner > .footer__group:nth-child(1),
  .footer__inner > .footer__group:nth-child(2),
  .footer__inner > .footer__group:nth-child(3),
  .footer__inner > .footer__group:nth-child(4) {
    grid-column: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    max-width: none !important;
  }

  .footer__menu-title,
  .footer__menu-title * {
    margin-bottom: 0 !important;
  }

  .footer__menu-content {
    padding-top: 14px;
  }

  .main-page h1,
  .custom-page h1,
  .faq h1,
  .contact-form h1,
  .main-order-tracking h1,
  [class*="customers-"] h1,
  .main-collection-cover h1,
  .collection-cover h1,
  .main-collection-products__title,
  .main-search__title {
    font-size: 42px !important;
  }
}

/* -------------------------------------------------------------------------- */
/* ARAKII-inspired header: quiet announcement, centered desktop navigation     */
/* -------------------------------------------------------------------------- */

theme-announcement-bar-sticky {
  --mr-announcement-height: 38px;
  --mr-announcement-background: var(--rv-announcement);
  --mr-announcement-text: var(--rv-ivory);
  color: var(--rv-ivory) !important;
  background: var(--rv-announcement) !important;
  border: 0 !important;
  box-shadow: none !important;
}

theme-announcement-bar-carousel,
theme-announcement-bar-carousel theme-carousel,
theme-announcement-bar-carousel .announcement-bar__carousel-wrapper,
theme-announcement-bar-carousel .announcement-bar__group,
theme-announcement-bar-carousel .announcement-bar__group-item,
theme-announcement-bar-carousel .announcement-bar__group-item-content,
theme-announcement-bar-carousel .announcement-bar__group-item-inner {
  height: 38px !important;
  min-height: 38px !important;
  color: var(--rv-ivory) !important;
  background: var(--rv-announcement) !important;
}

theme-announcement-bar-carousel .announcement-bar__group-item-inner,
theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte,
theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte p,
theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte span,
theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte a {
  margin: 0 !important;
  color: var(--rv-ivory) !important;
  font-family: var(--rv-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  border: 0 !important;
}

.header-section,
.header-section:not(.transparent),
theme-sticky-header[data-sticky-state="active"] .header-section,
theme-sticky-header.is-sticky .header-section {
  color: var(--rv-ink) !important;
  background: #ffffff !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(31, 29, 28, 0.1) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

@media (min-width: 960px) {
  .header__container[layout="left_logo_left_menu"] .header__container-top-wrap {
    grid-template-areas: "logo nav action-bar-right" !important;
    grid-template-columns: minmax(142px, 1fr) auto minmax(142px, 1fr) !important;
    gap: clamp(26px, 3vw, 58px) !important;
    min-height: 88px !important;
    padding: 0 clamp(38px, 6.35vw, 122px) !important;
  }

  .header__container[layout="left_logo_left_menu"] .header__logo {
    grid-area: logo;
    justify-self: start;
    justify-content: flex-start !important;
    margin: 0 !important;
  }

  .header__container[layout="left_logo_left_menu"] theme-nav-bar {
    display: contents;
  }

  .header__container[layout="left_logo_left_menu"] .header-nav {
    grid-area: nav;
    justify-self: center;
    width: auto;
    margin: 0 !important;
  }

  .header__container[layout="left_logo_left_menu"] .header-nav__menu {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: clamp(18px, 1.45vw, 29px);
  }

  .header__container[layout="left_logo_left_menu"] .header-nav__menu-item {
    min-height: 0;
    margin: 0 !important;
  }

  .header__container[layout="left_logo_left_menu"] .header-nav__menu-item > a {
    font-family: var(--rv-serif) !important;
    font-size: 14.3px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0.005em !important;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .header__container[layout="left_logo_left_menu"] .header-nav__menu-item > a > span {
    padding-block: 15px !important;
  }

  .header__container[layout="left_logo_left_menu"] .header-action-bar.left {
    display: none !important;
  }

  .header__container[layout="left_logo_left_menu"] .header-action-bar.right {
    grid-area: action-bar-right;
    justify-self: end;
    justify-content: flex-end;
    width: auto;
    gap: 28px;
  }

  .header-action-bar__cb-search,
  .header-action-bar__cb-cart,
  .header-action-bar__cb-cart-icon,
  .header-action-bar__cb-cart-icon .cart-bubble,
  .header-action-bar__cb-cart-icon .cart-bubble > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    padding: 0 !important;
    margin: 0 !important;
  }

  .header-action-bar__cb-cart-icon svg {
    width: 23px !important;
    height: 23px !important;
  }
}

.header__logo-text {
  font-family: var(--rv-serif) !important;
  font-size: 27px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase;
  white-space: nowrap;
}

.header__logo-image {
  width: var(--desktop-size) !important;
  max-width: 142px !important;
}

.header-action-bar__cb-divider,
.header-action-bar__cb-cart-label,
.header-action-bar__cb-search-label,
.header-action-bar__cb-search-icon {
  display: none !important;
}

.header-action-bar__arakii-search-icon {
  display: block;
  width: 25px;
  height: 25px;
  overflow: visible;
}

.header-action-bar__arakii-search-icon circle,
.header-action-bar__arakii-search-icon path,
.header-action-bar__arakii-menu-icon path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35px !important;
  stroke-linecap: square;
  vector-effect: non-scaling-stroke;
}

.header-action-bar__cb-menu-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;
}

@media (max-width: 959px) {
  theme-announcement-bar-sticky {
    --mr-announcement-height: 49px;
    box-shadow: none !important;
  }

  theme-announcement-bar-carousel,
  theme-announcement-bar-carousel theme-carousel,
  theme-announcement-bar-carousel .announcement-bar__carousel-wrapper,
  theme-announcement-bar-carousel .announcement-bar__group,
  theme-announcement-bar-carousel .announcement-bar__group-item,
  theme-announcement-bar-carousel .announcement-bar__group-item-content,
  theme-announcement-bar-carousel .announcement-bar__group-item-inner {
    height: 49px !important;
    min-height: 49px !important;
  }

  theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte,
  theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte p,
  theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte span,
  theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte a {
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }

  .header__container[mobile-layout="left_logo"] .header__container-top-wrap {
    display: grid !important;
    grid-template-areas: "logo action-bar-right action-bar-left" !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 0 !important;
    min-height: 84px !important;
    padding: 0 20px !important;
  }

  .header__container[mobile-layout="left_logo"] .header__logo {
    grid-area: logo;
    justify-self: start;
    justify-content: flex-start !important;
    margin: 0 !important;
  }

  .header__container[mobile-layout="left_logo"] .header-action-bar.right {
    grid-area: action-bar-right;
    display: flex !important;
    justify-self: end;
    justify-content: flex-end;
    width: auto !important;
    gap: 20px !important;
    margin: 0 !important;
  }

  .header__container[mobile-layout="left_logo"] .header-action-bar.left {
    grid-area: action-bar-left;
    display: flex !important;
    justify-self: end;
    width: auto !important;
    margin: 0 0 0 20px !important;
  }

  .header-action-bar__cb-cart {
    order: 10 !important;
    display: inline-flex !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .header-action-bar__cb-search-mobile {
    order: 20 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .header-action-bar__cb-menu {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 29px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .header-action-bar__arakii-menu-icon {
    display: block;
    width: 28px;
    height: 24px;
    overflow: visible;
  }

  .header-action-bar__arakii-search-icon {
    width: 28px;
    height: 28px;
  }

  .header-action-bar__cb-cart-icon,
  .header-action-bar__cb-cart-icon .cart-bubble,
  .header-action-bar__cb-cart-icon .cart-bubble > a,
  .header-action-bar__cb-cart-icon svg {
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .header__logo-text {
    font-size: 30px !important;
    letter-spacing: 0.09em !important;
  }

  .header__logo-image {
    width: var(--mobile-size) !important;
    max-width: 136px !important;
  }
}

@media (max-width: 390px) {
  .header__container[mobile-layout="left_logo"] .header-action-bar.right {
    gap: 15px !important;
  }

  .header__container[mobile-layout="left_logo"] .header-action-bar.left {
    margin-inline-start: 15px !important;
  }

  .header__logo-text {
    font-size: 26px !important;
  }

  .header__logo-image {
    max-width: 124px !important;
  }
}

/* -------------------------------------------------------------------------- */
/* Relvoux search drawer — desktop                                             */
/* -------------------------------------------------------------------------- */

.rv-search-drawer__surface,
.rv-search-drawer__heading {
  display: none;
}

@media (min-width: 960px) {
  .header-search-bar.cb-search-bar {
    --rv-search-panel: min(86vw, 1240px);
    --header-search-bar-slide-anime-duration: 420ms;

    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
    display: block !important;
    width: 100vw !important;
    height: 100dvh !important;
    margin: 0 !important;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    transform: none !important;
    transition:
      opacity 220ms ease,
      visibility 1ms linear 420ms,
      z-index 1ms linear 420ms !important;
  }

  .header-search-bar.cb-search-bar.open {
    z-index: var(--z-index-fixed) !important;
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transform: none !important;
    transition:
      opacity 220ms ease,
      visibility 1ms linear 0ms,
      z-index 1ms linear 0ms !important;
  }

  .header-search-bar.cb-search-bar .header-search-bar__backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    background: rgba(14, 13, 12, 0.5) !important;
    backdrop-filter: blur(1.5px);
    opacity: 0 !important;
    transition: opacity 320ms ease !important;
  }

  .header-search-bar.cb-search-bar.open .header-search-bar__backdrop {
    opacity: 1 !important;
  }

  .rv-search-drawer__surface {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    z-index: 1;
    display: block;
    width: var(--rv-search-panel);
    height: 100dvh;
    background: var(--rv-white);
    transform: translateX(-100%);
    transition: transform 420ms var(--rv-ease);
  }

  .header-search-bar.cb-search-bar.open .rv-search-drawer__surface {
    transform: translateX(0);
  }

  .header-search-bar.cb-search-bar .cb-search-bar__form {
    position: fixed !important;
    inset-block-start: 0 !important;
    inset-inline-start: 0 !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: var(--rv-search-panel) !important;
    height: 176px;
    min-height: 176px !important;
    padding: 42px 46px 28px !important;
    margin: 0 !important;
    color: var(--rv-ink) !important;
    background: var(--rv-white) !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: translateX(-100%);
    transition: transform 420ms var(--rv-ease) !important;
  }

  .header-search-bar.cb-search-bar.open .cb-search-bar__form {
    transform: translateX(0);
  }

  .rv-search-drawer__heading {
    display: block;
    margin: 0 0 32px;
    font-family: var(--rv-sans);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.035em;
    color: var(--rv-ink);
  }

  .header-search-bar.cb-search-bar .cb-search-bar__field {
    position: relative;
    display: block;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    color: var(--rv-ink) !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rv-ink) !important;
    outline: 0 !important;
  }

  .header-search-bar.cb-search-bar .cb-search-bar__field:focus-within {
    outline: 0 !important;
    box-shadow: none !important;
  }

  .header-search-bar.cb-search-bar .cb-search-bar__input {
    width: 100% !important;
    height: 51px !important;
    min-height: 0 !important;
    padding: 0 62px 0 0 !important;
    color: var(--rv-ink) !important;
    font-family: var(--rv-sans) !important;
    font-size: clamp(19px, 1.55vw, 24px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: -0.025em !important;
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  .header-search-bar.cb-search-bar .cb-search-bar__input::placeholder {
    color: rgba(23, 22, 19, 0.74) !important;
    opacity: 1 !important;
  }

  .header-search-bar.cb-search-bar .cb-search-bar__submit {
    inset-inline-end: 6px !important;
    width: 26px !important;
    height: 26px !important;
  }

  .header-search-bar.cb-search-bar .cb-search-bar__submit svg {
    width: 26px !important;
    height: 26px !important;
  }

  .header-search-bar.cb-search-bar .cb-search-bar__dismiss {
    position: absolute !important;
    inset-block-start: 34px !important;
    inset-inline-end: 34px !important;
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    transform: none !important;
  }

  .header-search-bar.cb-search-bar .cb-search-bar__dismiss svg {
    width: 22px !important;
    height: 22px !important;
  }

  .header-search-bar.cb-search-bar .cb-search-bar__dismiss svg [stroke],
  .header-search-bar.cb-search-bar .cb-search-bar__submit svg [stroke] {
    stroke-width: 1.25px !important;
    vector-effect: non-scaling-stroke;
  }

  .header-search-bar.cb-search-bar .header-search-bar__results {
    position: fixed !important;
    inset-block: 176px 0 !important;
    inset-inline-start: 0 !important;
    z-index: 2 !important;
    width: var(--rv-search-panel) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 30px 46px 48px !important;
    color: var(--rv-ink) !important;
    background: var(--rv-white) !important;
    border: 0 !important;
    transform: translateX(-100%);
    transition: transform 420ms var(--rv-ease) !important;
  }

  .header-search-bar.cb-search-bar.open .header-search-bar__results.shown {
    display: block !important;
    transform: translateX(0);
  }

  .header-search-bar.cb-search-bar .predictive-search__results {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 34px 18px !important;
  }

  .header-search-bar.cb-search-bar .predictive-search__product-title {
    color: var(--rv-ink) !important;
    font-family: var(--rv-serif) !important;
    font-size: 15px !important;
    font-style: normal !important;
    line-height: 1.25 !important;
  }

  .header-search-bar.cb-search-bar .predictive-search__product-price {
    color: var(--rv-stone-dark) !important;
    font-family: var(--rv-sans) !important;
    font-size: 10px !important;
    letter-spacing: 0.03em !important;
  }
}

@media (min-width: 960px) and (max-width: 1180px) {
  .header-search-bar.cb-search-bar .predictive-search__results {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* -------------------------------------------------------------------------- */
/* Relvoux cart drawer — Maison selection                                      */
/* -------------------------------------------------------------------------- */

theme-cart-drawer theme-modal > details[open]::before,
theme-cart-drawer [data-mount-modal][open]::before {
  background: rgba(15, 14, 12, 0.52) !important;
  backdrop-filter: blur(2px);
}

.cart-drawer {
  --rv-cart-bg: #ffffff;
  --rv-cart-panel: #ffffff;
  --rv-cart-ink: #171613;
  --rv-cart-muted: #756e65;
  --rv-cart-line: rgba(23, 22, 19, 0.16);
}

.cart-drawer__body {
  display: flex !important;
  flex-direction: column !important;
  width: min(640px, 100vw) !important;
  max-width: 640px !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  color: var(--rv-cart-ink) !important;
  background: var(--rv-cart-bg) !important;
  border: 0 !important;
  box-shadow: -24px 0 70px rgba(16, 15, 13, 0.16) !important;
}

.cart-drawer__header {
  position: relative !important;
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 108px !important;
  padding: 24px 92px 22px 40px !important;
  color: var(--rv-cart-ink) !important;
  background: var(--rv-cart-bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rv-cart-line) !important;
}

.cart-drawer__header::before {
  display: none !important;
  content: none !important;
}

.cart-drawer__header::after {
  display: none !important;
  content: none !important;
}

.rv-cart-drawer__header-copy {
  display: flex;
  flex-direction: column;
  gap: 9px;
  min-width: 0;
}

.rv-cart-drawer__eyebrow,
.rv-cart-drawer__count,
.rv-cart-services__eyebrow,
.rv-cart-item__eyebrow,
.cb-cart-empty__eyebrow {
  font-family: var(--rv-sans) !important;
  font-size: 8px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.2em !important;
  color: var(--rv-cart-muted) !important;
  text-transform: uppercase !important;
}

.cb-cart-drawer__title {
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-cart-ink) !important;
  font-family: var(--rv-serif) !important;
  font-size: 32px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
}

.rv-cart-drawer__count {
  color: var(--rv-cart-ink) !important;
  white-space: nowrap;
}

.cart-drawer .cart-drawer__close {
  position: absolute !important;
  inset-block-start: 36px !important;
  inset-inline-end: 34px !important;
  display: grid !important;
  place-items: center;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-cart-ink) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.cart-drawer .cart-drawer__close svg {
  width: 20px !important;
  height: 20px !important;
}

.cart-drawer .cart-drawer__close svg [stroke] {
  stroke-width: 1.15px !important;
}

.cart-drawer__inner {
  position: relative !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 0 40px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  color: var(--rv-cart-ink) !important;
  background: var(--rv-cart-bg) !important;
  scrollbar-width: thin;
  scrollbar-color: var(--rv-cart-line) transparent;
  overscroll-behavior: contain;
}

.cart-drawer .cart-item {
  padding: 34px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rv-cart-line) !important;
}

.cart-drawer .cart-item__product {
  display: grid !important;
  grid-template-columns: 148px minmax(0, 1fr) !important;
  gap: 0 28px !important;
  align-items: start !important;
}

.cart-drawer .cart-item__picture,
.cart-drawer .cart-item__picture a,
.cart-drawer .cart-item__picture picture,
.cart-drawer .cart-item__picture .image,
.cart-drawer .cart-item__picture .media {
  display: block !important;
  width: 148px !important;
  height: 198px !important;
  min-height: 198px !important;
  max-width: 148px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--rv-cart-panel) !important;
  aspect-ratio: 3 / 4 !important;
}

.cart-drawer .cart-item__picture img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
}

.cart-drawer .cart-item__product-infos {
  display: flex !important;
  min-width: 0 !important;
  min-height: 198px !important;
  flex-direction: column !important;
}

.rv-cart-item__eyebrow {
  margin-bottom: 14px;
}

.cart-drawer .cart-item__title-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
}

.cart-drawer .cart-item__title,
.cart-drawer .cart-item__title a {
  display: block !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-cart-ink) !important;
  font-family: var(--rv-serif) !important;
  font-size: 22px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

.cart-drawer .cart-item__title-price {
  width: max-content !important;
  min-width: max-content !important;
  align-self: start !important;
  padding: 3px 0 0 !important;
  text-align: right !important;
}

.cart-drawer .cart-item__total {
  margin: 0 !important;
}

.cart-drawer .cart-item__total-amount {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 5px !important;
}

.cart-drawer .cart-item__total-final,
.cart-drawer .cart-item__title-price .cart-item__total-final,
.cart-drawer .cart-item__total-amount b {
  color: var(--rv-cart-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.015em !important;
  white-space: nowrap !important;
}

.cart-drawer .cart-item__total-original {
  margin: 0 !important;
  color: var(--rv-cart-muted) !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

.cart-drawer .cart-item__meta {
  margin-top: 14px !important;
  color: var(--rv-cart-muted) !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

.cart-drawer .cart-item__options {
  display: none !important;
}

.cart-drawer .cart-item__amount {
  margin-top: auto !important;
  padding-top: 24px !important;
}

.cart-drawer .cart-item__amount-operator {
  display: flex !important;
  align-items: center !important;
  gap: 17px !important;
  flex-wrap: nowrap !important;
}

.cart-drawer .cart-item__amount-operator::before,
.cart-drawer .cart-item__amount-operator::after,
.cart-drawer .cart-item__remove::before,
.cart-drawer .cart-item__remove::after {
  display: none !important;
  content: none !important;
}

.cart-drawer .cart-item__amount-operator theme-input-number,
.cart-drawer .cart-item__amount-operator .input-number,
.cart-drawer .cart-item__amount-operator [class*="input-number"] {
  display: grid !important;
  grid-template-columns: 34px 34px 34px !important;
  align-items: center !important;
  width: 104px !important;
  min-width: 104px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  color: var(--rv-cart-ink) !important;
  background: transparent !important;
  border: 1px solid var(--rv-cart-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.cart-drawer .cart-item__amount-operator theme-input-number button,
.cart-drawer .cart-item__amount-operator .input-number button,
.cart-drawer .cart-item__amount-operator [class*="input-number"] button {
  display: grid !important;
  place-items: center;
  width: 34px !important;
  min-width: 34px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  color: var(--rv-cart-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.cart-drawer .cart-item__amount-operator theme-input-number input,
.cart-drawer .cart-item__amount-operator .input-number input,
.cart-drawer .cart-item__amount-operator [class*="input-number"] input {
  width: 34px !important;
  min-width: 34px !important;
  height: 36px !important;
  min-height: 0 !important;
  padding: 0 !important;
  color: var(--rv-cart-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 36px !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.cart-drawer .cart-item__remove {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  padding: 0 0 1px !important;
  margin: 0 !important;
  color: var(--rv-cart-muted) !important;
  font-family: var(--rv-sans) !important;
  font-size: 8px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.15em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  border-bottom: 1px solid currentColor !important;
}

.cart-drawer .cart-item__fail:has(.cart-item__fail-tip:empty),
.cart-drawer .cart-item__fail-tip:empty {
  display: none !important;
}

.cart-drawer__payment {
  display: none !important;
}

.cb-cart-drawer__services {
  margin: 0 -40px !important;
  padding: 30px 40px 32px !important;
  color: var(--rv-cart-ink) !important;
  background: var(--rv-cart-panel) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rv-cart-line) !important;
}

.rv-cart-services__eyebrow {
  margin-bottom: 12px;
  color: var(--rv-cart-ink) !important;
}

.cb-cart-drawer__service-item {
  margin: 0 !important;
  border-top: 1px solid var(--rv-cart-line) !important;
}

.cb-cart-drawer__service-item + .cb-cart-drawer__service-item {
  margin-top: 0 !important;
}

.cb-cart-drawer__service-link {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
  min-height: 82px !important;
  padding: 17px 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}

.rv-cart-service__icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: var(--rv-cart-ink);
}

.rv-cart-service__icon svg {
  width: 28px;
  height: 28px;
  overflow: visible;
}

.rv-cart-service__icon svg path,
.rv-cart-service__icon svg circle,
.rv-cart-service__icon svg rect {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.15px;
  vector-effect: non-scaling-stroke;
}

.cb-cart-drawer__service-content h4 {
  margin: 0 0 5px !important;
  color: var(--rv-cart-ink) !important;
  font-family: var(--rv-serif) !important;
  font-size: 17px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

.cb-cart-drawer__service-content p {
  margin: 0 !important;
  color: var(--rv-cart-muted) !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.02em !important;
}

.rv-cart-service__arrow {
  color: var(--rv-cart-ink);
  font-family: var(--rv-serif);
  font-size: 18px;
  font-weight: 400;
  transition: transform 260ms var(--rv-ease);
}

.cb-cart-drawer__service-link:hover .rv-cart-service__arrow {
  transform: translateX(4px);
}

.cart-drawer .cart-fixed-checkout,
.cart-drawer__fixed-checkout {
  position: static !important;
  z-index: 2 !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  color: var(--rv-cart-ink) !important;
  background: var(--rv-cart-bg) !important;
  opacity: 1 !important;
  transform: none !important;
}

.cb-cart-footer,
.cart-drawer .cart-fixed-checkout__container {
  padding: 20px 40px 24px !important;
  color: var(--rv-cart-ink) !important;
  background: var(--rv-cart-bg) !important;
  border: 0 !important;
  border-top: 1px solid var(--rv-cart-line) !important;
  box-shadow: none !important;
}

.cb-cart-footer__rows {
  display: grid !important;
  gap: 7px !important;
  margin: 0 0 16px !important;
}

.cb-cart-footer__row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 20px !important;
}

.cb-cart-footer__label {
  color: var(--rv-cart-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}

.cb-cart-footer__value {
  color: var(--rv-cart-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

.rv-cart-footer__note {
  margin: 0 !important;
  color: var(--rv-cart-muted) !important;
  font-family: var(--rv-sans) !important;
  font-size: 8px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.025em !important;
}

.cart-drawer .cart-fixed-checkout__buttons {
  margin: 0 !important;
}

.cart-drawer .cart-checkout,
.cart-drawer .cart-checkout form {
  width: 100% !important;
}

.cart-drawer .cart-checkout .button,
.cart-drawer .cart-checkout button[name="checkout"] {
  width: 100% !important;
  min-height: 56px !important;
  padding: 15px 24px !important;
  margin: 0 !important;
  color: var(--rv-ivory) !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  background: var(--rv-cart-ink) !important;
  border: 1px solid var(--rv-cart-ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.cart-drawer .cart-checkout .button:hover,
.cart-drawer .cart-checkout button[name="checkout"]:hover {
  color: var(--rv-ink) !important;
  background: var(--rv-ivory) !important;
  border-color: var(--rv-ink) !important;
}

.rv-cart-footer__assurance {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 12px;
  color: var(--rv-cart-muted);
  font-family: var(--rv-sans);
  font-size: 7px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.16em;
}

.rv-cart-footer__assurance svg {
  width: 12px;
  height: 12px;
}

.rv-cart-footer__assurance svg rect,
.rv-cart-footer__assurance svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

.cart-drawer__loading {
  color: var(--rv-cart-ink) !important;
  background: rgba(250, 249, 246, 0.96) !important;
}

.cart-drawer .cb-cart-empty {
  display: flex !important;
  min-height: 100% !important;
  color: var(--rv-cart-ink) !important;
  background: var(--rv-cart-bg) !important;
}

.cart-drawer .cb-cart-empty__body {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 390px !important;
  min-height: 520px !important;
  padding: 84px 24px 110px !important;
  margin: auto !important;
  text-align: center !important;
}

.cart-drawer .cb-cart-empty__title {
  margin: 18px 0 16px !important;
  color: var(--rv-cart-ink) !important;
  font-family: var(--rv-serif) !important;
  font-size: 37px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
}

.cart-drawer .cb-cart-empty__text {
  max-width: 290px !important;
  margin: 0 0 34px !important;
  color: var(--rv-cart-muted) !important;
  font-family: var(--rv-sans) !important;
  font-size: 10px !important;
  line-height: 1.65 !important;
}

.cart-drawer .cb-cart-empty__button {
  min-width: 240px !important;
  min-height: 52px !important;
  padding: 15px 26px !important;
  color: var(--rv-ivory) !important;
  font-family: var(--rv-sans) !important;
  font-size: 8px !important;
  font-weight: 500 !important;
  letter-spacing: 0.17em !important;
  background: var(--rv-cart-ink) !important;
  border: 1px solid var(--rv-cart-ink) !important;
  border-radius: 0 !important;
}

@media (max-width: 959px) {
  .cart-drawer__header {
    min-height: 90px !important;
    padding: 20px 72px 18px 22px !important;
  }

  .cb-cart-drawer__title {
    font-size: 27px !important;
  }

  .rv-cart-drawer__count {
    display: none;
  }

  .cart-drawer .cart-drawer__close {
    inset-block-start: 28px !important;
    inset-inline-end: 18px !important;
  }

  .cart-drawer .cart-item {
    padding: 26px 0 !important;
  }

  .cart-drawer .cart-item__product {
    grid-template-columns: 98px minmax(0, 1fr) !important;
    gap: 0 16px !important;
  }

  .cart-drawer .cart-item__picture,
  .cart-drawer .cart-item__picture a,
  .cart-drawer .cart-item__picture picture,
  .cart-drawer .cart-item__picture .image,
  .cart-drawer .cart-item__picture .media {
    width: 98px !important;
    max-width: 98px !important;
    height: 131px !important;
    min-height: 131px !important;
  }

  .cart-drawer .cart-item__product-infos {
    min-height: 131px !important;
  }

  .rv-cart-item__eyebrow {
    margin-bottom: 10px;
    font-size: 7px !important;
  }

  .cart-drawer .cart-item__title-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .cart-drawer .cart-item__title,
  .cart-drawer .cart-item__title a {
    font-size: 18px !important;
    line-height: 1.08 !important;
  }

  .cart-drawer .cart-item__title-price {
    justify-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .cart-drawer .cart-item__meta {
    margin-top: 10px !important;
  }

  .cart-drawer .cart-item__amount {
    padding-top: 16px !important;
  }

  .cart-drawer .cart-item__amount-operator {
    gap: 12px !important;
  }

  .cart-drawer .cart-item__amount-operator theme-input-number,
  .cart-drawer .cart-item__amount-operator .input-number,
  .cart-drawer .cart-item__amount-operator [class*="input-number"] {
    grid-template-columns: 30px 30px 30px !important;
    width: 92px !important;
    min-width: 92px !important;
    height: 34px !important;
    min-height: 34px !important;
  }

  .cart-drawer .cart-item__amount-operator theme-input-number button,
  .cart-drawer .cart-item__amount-operator .input-number button,
  .cart-drawer .cart-item__amount-operator [class*="input-number"] button,
  .cart-drawer .cart-item__amount-operator theme-input-number input,
  .cart-drawer .cart-item__amount-operator .input-number input,
  .cart-drawer .cart-item__amount-operator [class*="input-number"] input {
    width: 30px !important;
    min-width: 30px !important;
    height: 32px !important;
    min-height: 0 !important;
    line-height: 32px !important;
  }

  .cart-drawer .cart-item__remove {
    min-height: 34px !important;
    font-size: 7px !important;
  }

  .cb-cart-drawer__services {
    margin-inline: -18px !important;
    padding: 26px 18px 28px !important;
  }

  .cb-cart-drawer__service-link {
    grid-template-columns: 30px minmax(0, 1fr) auto !important;
    gap: 14px !important;
    min-height: 76px !important;
    padding: 15px 0 !important;
  }

  .rv-cart-service__icon,
  .rv-cart-service__icon svg {
    width: 24px;
    height: 24px;
  }

  .cb-cart-drawer__service-content h4 {
    font-size: 16px !important;
  }

  .cb-cart-drawer__service-content p {
    font-size: 8px !important;
  }

  .cb-cart-footer,
  .cart-drawer .cart-fixed-checkout__container {
    padding: 17px 18px max(18px, env(safe-area-inset-bottom, 0px)) !important;
  }

  .cart-drawer .cart-checkout .button,
  .cart-drawer .cart-checkout button[name="checkout"] {
    min-height: 52px !important;
  }

  .cart-drawer .cb-cart-empty__title {
    font-size: 32px !important;
  }
}

@media (max-width: 370px) {
  .cart-drawer .cart-item__product {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 0 13px !important;
  }

  .cart-drawer .cart-item__picture,
  .cart-drawer .cart-item__picture a,
  .cart-drawer .cart-item__picture picture,
  .cart-drawer .cart-item__picture .image,
  .cart-drawer .cart-item__picture .media {
    width: 88px !important;
    max-width: 88px !important;
    height: 118px !important;
    min-height: 118px !important;
  }

  .cart-drawer .cart-item__title,
  .cart-drawer .cart-item__title a {
    font-size: 16px !important;
  }
}

/* ========================================================================== */
/* RELVOUX v2 — unified white canvas, header utilities, search and footer     */
/* ========================================================================== */

/* Every storefront template uses the same pure-white canvas. Media and image
   content remain untouched; only section/page surfaces are normalised. */
html,
body,
main,
#MainContent,
.main-content,
.shopline-section,
[id^="shopline-section"],
.color-scheme-1,
.color-scheme-2,
.color-scheme-3,
.color-scheme-4,
.main-cart,
.main-cart__container,
.main-cart-footer,
.main-page,
.custom-page,
.faq,
.contact-form,
.main-order-tracking,
[class*="customers-"] {
  background-color: #ffffff !important;
}

.color-scheme-1,
.color-scheme-2,
.color-scheme-3,
.color-scheme-4 {
  --color-background: 255, 255, 255 !important;
}

theme-announcement-bar-sticky,
theme-announcement-bar-carousel,
theme-announcement-bar-carousel theme-carousel,
theme-announcement-bar-carousel .announcement-bar__carousel-wrapper,
theme-announcement-bar-carousel .announcement-bar__group,
theme-announcement-bar-carousel .announcement-bar__group-item,
theme-announcement-bar-carousel .announcement-bar__group-item-content,
theme-announcement-bar-carousel .announcement-bar__group-item-inner {
  color: var(--rv-ivory) !important;
  background: var(--rv-announcement) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Header utilities: Search, Login, quick bag and a separate full-cart link. */
@media (min-width: 960px) {
  .header__container[layout="left_logo_left_menu"] .header__container-top-wrap {
    grid-template-columns: minmax(175px, 1fr) auto minmax(270px, 1fr) !important;
  }

  .header__container[layout="left_logo_left_menu"] .header-action-bar.right {
    gap: clamp(18px, 1.4vw, 27px) !important;
  }

  .header-action-bar__cb-account,
  .header-action-bar__rv-cart-page {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 0;
    min-height: 26px;
    padding: 0 !important;
    margin: 0 !important;
    color: currentColor !important;
    font-family: var(--rv-sans) !important;
    font-size: 8px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0.15em !important;
    text-decoration: none !important;
    text-transform: uppercase;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .header-action-bar__cb-account-icon {
    display: inline-flex !important;
    width: 19px !important;
    height: 19px !important;
  }

  .header-action-bar__cb-account-icon svg {
    width: 19px !important;
    height: 19px !important;
  }

  .header-action-bar__rv-cart-page-icon {
    display: block;
    width: 21px;
    height: 21px;
    overflow: visible;
  }

  .header-action-bar__rv-cart-page-icon path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.1px;
    stroke-linecap: square;
    stroke-linejoin: miter;
    vector-effect: non-scaling-stroke;
  }

  .header-action-bar__cb-account:hover,
  .header-action-bar__rv-cart-page:hover,
  .header-action-bar__cb-search:hover,
  .header-action-bar__cb-cart:hover {
    color: var(--rv-accent) !important;
    opacity: 1 !important;
  }
}

@media (max-width: 959px) {
  .header-action-bar__cb-account-mobile,
  .header-action-bar__rv-cart-page {
    display: none !important;
  }
}

/* Predictive search: one self-contained left drawer. The results stay inside
   the panel, so typing never reverts to the legacy full-width top bar. */
.header-search-bar.rv-search-drawer {
  --rv-search-panel: min(86vw, 1060px);
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  display: block !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: none !important;
  transition: opacity 220ms ease, visibility 1ms linear 430ms, z-index 1ms linear 430ms !important;
}

.header-search-bar.rv-search-drawer.open {
  z-index: calc(var(--z-index-fixed) + 5) !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: opacity 220ms ease, visibility 1ms linear 0ms, z-index 1ms linear 0ms !important;
}

.header-search-bar.rv-search-drawer .header-search-bar__backdrop {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(15, 14, 12, 0.48) !important;
  opacity: 0 !important;
  backdrop-filter: blur(1.5px);
  transition: opacity 320ms ease !important;
}

.header-search-bar.rv-search-drawer.open .header-search-bar__backdrop {
  opacity: 1 !important;
}

.header-search-bar.rv-search-drawer .rv-search-drawer__panel {
  position: absolute !important;
  inset-block: 0 !important;
  inset-inline-start: 0 !important;
  z-index: 1 !important;
  display: block !important;
  width: var(--rv-search-panel) !important;
  max-width: 100vw !important;
  height: 100dvh !important;
  overflow: hidden !important;
  color: var(--rv-ink) !important;
  background: #ffffff !important;
  box-shadow: 28px 0 72px rgba(15, 14, 12, 0.12) !important;
  transform: translate3d(-100%, 0, 0) !important;
  transition: transform 430ms var(--rv-ease) !important;
}

.header-search-bar.rv-search-drawer.open .rv-search-drawer__panel {
  transform: translate3d(0, 0, 0) !important;
}

.header-search-bar.rv-search-drawer .cb-search-bar__form {
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 180px !important;
  min-height: 180px !important;
  padding: 42px 48px 28px !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.header-search-bar.rv-search-drawer .rv-search-drawer__heading {
  display: block !important;
  margin: 0 0 29px !important;
  color: var(--rv-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.12em !important;
}

.header-search-bar.rv-search-drawer .cb-search-bar__field {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  background: #ffffff !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(23, 22, 19, 0.82) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.header-search-bar.rv-search-drawer .cb-search-bar__input {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 53px !important;
  min-height: 0 !important;
  padding: 0 58px 0 0 !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: clamp(18px, 1.45vw, 23px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  appearance: none;
}

.header-search-bar.rv-search-drawer .cb-search-bar__input::placeholder {
  color: rgba(23, 22, 19, 0.62) !important;
  opacity: 1 !important;
}

.header-search-bar.rv-search-drawer .cb-search-bar__submit {
  position: absolute !important;
  inset-block-start: 50% !important;
  inset-inline-end: 4px !important;
  display: grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: translateY(-50%) !important;
}

.header-search-bar.rv-search-drawer .cb-search-bar__submit svg {
  width: 26px !important;
  height: 26px !important;
}

.header-search-bar.rv-search-drawer .cb-search-bar__dismiss {
  position: absolute !important;
  inset-block-start: 36px !important;
  inset-inline-end: 36px !important;
  z-index: 4 !important;
  display: grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.header-search-bar.rv-search-drawer .cb-search-bar__dismiss svg {
  width: 22px !important;
  height: 22px !important;
}

.header-search-bar.rv-search-drawer .cb-search-bar__submit svg [stroke],
.header-search-bar.rv-search-drawer .cb-search-bar__dismiss svg [stroke] {
  stroke: currentColor !important;
  stroke-width: 1.25px !important;
  vector-effect: non-scaling-stroke;
}

.header-search-bar.rv-search-drawer .header-search-bar__results {
  position: absolute !important;
  inset: 180px 0 0 !important;
  z-index: 1 !important;
  display: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 28px 48px 54px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  color: var(--rv-ink) !important;
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  scrollbar-width: thin;
}

.header-search-bar.rv-search-drawer .header-search-bar__results.shown {
  display: block !important;
}

.header-search-bar.rv-search-drawer .header-search-bar__results-list {
  display: block !important;
  width: 100% !important;
  min-height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff !important;
}

.header-search-bar.rv-search-drawer .predictive-search__results {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 36px 18px !important;
}

.header-search-bar.rv-search-drawer .predictive-search__product-title {
  color: var(--rv-ink) !important;
  font-family: var(--rv-serif) !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.01em !important;
}

.header-search-bar.rv-search-drawer .predictive-search__product-price {
  color: var(--rv-stone-dark) !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  font-style: normal !important;
  letter-spacing: 0.06em !important;
}

/* Cart drawer: white canvas, cool smoked-slate secondary colour and no
   coloured rail at the leading edge. */
.cart-drawer,
.cart-drawer__body,
.cart-drawer__header,
.cart-drawer__inner,
.cb-cart-drawer__services,
.cb-cart-footer,
.cart-drawer .cart-fixed-checkout__container,
.main-cart,
.main-cart__container,
.main-cart-footer {
  background: #ffffff !important;
}

.cart-drawer__header::before,
.cart-drawer__body::before,
.cart-drawer::before {
  display: none !important;
  width: 0 !important;
  content: none !important;
  background: transparent !important;
}

/* Footer — editorial white-space, refined sans-serif navigation and a
   contained newsletter form. No decorative horizontal rules are used. */
.footer,
.footer.color-scheme-1,
.footer.color-scheme-2,
.footer.color-scheme-3,
.footer.color-scheme-4 {
  position: relative;
  margin-top: var(--rv-section-gap) !important;
  padding: clamp(82px, 8vw, 128px) 0 38px !important;
  color: var(--rv-ink) !important;
  background: #ffffff !important;
  background-image: none !important;
  border: 0 !important;
}

.footer .page-width {
  width: 100% !important;
  max-width: 1600px !important;
  padding-block: 0 !important;
}

.footer,
.footer a,
.footer p,
.footer span,
.footer label,
.footer h2,
.footer h3,
.footer h4,
.footer summary,
.footer button,
.footer input,
.footer select,
.footer textarea,
.footer svg {
  color: var(--rv-ink) !important;
}

.footer a {
  text-decoration: none !important;
}

.footer__maison {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 clamp(78px, 8vw, 122px) !important;
  border: 0 !important;
}

.footer__maison::before,
.footer__maison::after,
.footer__inner::before,
.footer__inner::after,
.footer__group::before,
.footer__group::after {
  display: none !important;
  content: none !important;
}

.footer__maison-wordmark {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  font-family: var(--rv-serif) !important;
  font-size: clamp(72px, 10vw, 154px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 0.78 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
}

.footer__maison-copy {
  display: none !important;
}

.footer__inner {
  display: grid !important;
  grid-template-columns: minmax(360px, 1.35fr) repeat(2, minmax(160px, 0.65fr)) !important;
  grid-template-rows: auto auto auto !important;
  gap: clamp(68px, 7vw, 116px) clamp(58px, 7vw, 118px) !important;
  align-items: start !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.footer__inner > .footer__group,
.footer__group {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  text-align: left !important;
  background: #ffffff !important;
  border: 0 !important;
}

.footer__inner > .footer__group:nth-child(1) {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 30px !important;
  max-width: 500px !important;
}

.footer__inner > .footer__group:nth-child(2) {
  grid-column: 2 / 4 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 42px clamp(60px, 7vw, 120px) !important;
}

.footer__inner > .footer__group:nth-child(3) {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 34px !important;
  padding: 0 !important;
  border: 0 !important;
}

.footer__inner > .footer__group:nth-child(4) {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  padding: 0 !important;
  border: 0 !important;
}

.footer__menu,
.footer__menu-title,
.footer__menu-content,
.footer__menu-item,
.footer__menu-item a {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  color: var(--rv-ink) !important;
  text-align: left !important;
  justify-content: flex-start !important;
  border: 0 !important;
}

.footer__menu::after,
.footer__menu-title::before,
.footer__menu-content::after {
  display: none !important;
  content: none !important;
}

.footer__menu-title,
.footer__menu-title *,
.footer__email-subscribe-title,
.footer__social-media-title {
  padding: 0 !important;
  margin: 0 0 23px !important;
  color: var(--rv-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.19em !important;
  text-transform: uppercase !important;
}

.footer__menu-title .icon__arrow,
.footer__menu-title .icon__minus {
  display: none !important;
}

.footer__menu-content {
  display: block;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  opacity: 1 !important;
  list-style: none !important;
}

.footer__menu-item {
  padding: 0 !important;
  margin: 0 0 14px !important;
}

.footer__menu-item:last-child {
  margin-bottom: 0 !important;
}

.footer__menu-item a,
.footer [class*="menu-content"] a {
  display: inline-block !important;
  width: auto !important;
  padding: 0 !important;
  color: rgba(23, 22, 19, 0.74) !important;
  font-family: var(--rv-sans) !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.035em !important;
  text-transform: none !important;
  opacity: 1 !important;
  transition: color 180ms ease !important;
}

.footer__menu-item a:hover,
.footer [class*="menu-content"] a:hover {
  color: var(--rv-accent) !important;
}

.footer__email-subscribe,
.footer__social-media,
.footer .block-subscription,
.footer .block-subscription form {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  text-align: left !important;
  border: 0 !important;
}

.footer__email-subscribe-title p {
  padding: 0 !important;
  margin: 0 !important;
}

.footer .block-subscription__inline-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.footer .block-subscription__inline-form::before,
.footer .block-subscription__inline-form::after {
  display: none !important;
  content: none !important;
}

.footer .block-subscription__inline-form > *:first-child,
.footer .block-subscription__inline-form .field,
.footer .block-subscription__inline-form .input {
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  background: #ffffff !important;
  border: 1px solid rgba(23, 22, 19, 0.28) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.footer .block-subscription__inline-form .field::before,
.footer .block-subscription__inline-form .field::after,
.footer .block-subscription__inline-form .input::before,
.footer .block-subscription__inline-form .input::after {
  display: none !important;
  content: none !important;
}

.footer .field__inner {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.footer .field__label {
  display: none !important;
}

.footer .field__input,
.footer input[type="email"] {
  display: block !important;
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 18px !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 52px !important;
  letter-spacing: 0.025em !important;
  text-align: left !important;
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.footer .field__input::placeholder,
.footer input[type="email"]::placeholder {
  color: rgba(23, 22, 19, 0.46) !important;
  opacity: 1 !important;
}

.footer .block-subscription__inline-form .button,
.footer .block-subscription__inline-form button {
  grid-column: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 132px !important;
  max-width: none !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 22px !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  background: var(--rv-accent) !important;
  border: 1px solid var(--rv-accent) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: color 180ms ease, background-color 180ms ease !important;
}

.footer .block-subscription__inline-form .button::before,
.footer .block-subscription__inline-form .button::after,
.footer .block-subscription__inline-form button::before,
.footer .block-subscription__inline-form button::after {
  display: none !important;
  content: none !important;
}

.footer .block-subscription__inline-form .button:hover,
.footer .block-subscription__inline-form button:hover {
  color: var(--rv-accent) !important;
  background: #ffffff !important;
}

.footer .field__info {
  margin: 10px 0 0 !important;
  color: var(--rv-stone-dark) !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  line-height: 1.45 !important;
}

.footer__social-media-title {
  display: none !important;
}

.footer__social-media-content {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer__social-media-content a,
.footer__social-media-content svg,
.footer__social-media-content img {
  width: 17px !important;
  height: 17px !important;
  color: var(--rv-ink) !important;
  opacity: 0.82 !important;
  filter: none !important;
}

.footer__localization-form {
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.footer .cb-footer-locale__stack {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 18px 32px !important;
}

.footer .cb-footer-locale__row {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  min-height: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--rv-ink) !important;
  background: transparent !important;
  border: 0 !important;
}

.footer .cb-footer-locale__icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 26px !important;
  height: 26px !important;
  color: var(--rv-accent) !important;
  font-family: var(--rv-sans) !important;
  font-size: 11px !important;
  border: 1px solid var(--rv-accent) !important;
  border-radius: 50% !important;
}

.footer .cb-footer-locale__icon--globe::before {
  content: "◎";
  font-size: 16px;
  line-height: 1;
}

.footer .cb-footer-locale__label {
  color: var(--rv-ink) !important;
  font-family: var(--rv-sans) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

.footer .cb-footer-locale__select {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  cursor: pointer !important;
  opacity: 0 !important;
}

.footer__payment-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px 10px !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.footer__payment-icons > svg,
.footer [class*="payment"] svg,
.footer [class*="payment"] img {
  width: auto !important;
  height: 18px !important;
  max-width: 44px !important;
  filter: grayscale(1) contrast(0.85) !important;
  opacity: 0.62 !important;
}

.footer__copyright,
.footer__copyright-custom,
.footer [class*="copyright"] {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  color: rgba(23, 22, 19, 0.58) !important;
  font-family: var(--rv-sans) !important;
  font-size: 8px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  letter-spacing: 0.14em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  border: 0 !important;
}

.footer__copyright-custom p {
  padding: 0 !important;
  margin: 0 !important;
  color: inherit !important;
}

@media (min-width: 960px) and (max-width: 1180px) {
  .header-search-bar.rv-search-drawer .predictive-search__results {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .footer__inner {
    grid-template-columns: minmax(310px, 1.2fr) repeat(2, minmax(145px, 0.65fr)) !important;
    column-gap: 48px !important;
  }
}

@media (max-width: 959px) {
  .header-search-bar.rv-search-drawer {
    --rv-search-panel: 100vw;
  }

  .header-search-bar.rv-search-drawer .rv-search-drawer__panel {
    box-shadow: none !important;
  }

  .header-search-bar.rv-search-drawer .cb-search-bar__form {
    height: 150px !important;
    min-height: 150px !important;
    padding: 31px 22px 22px !important;
  }

  .header-search-bar.rv-search-drawer .rv-search-drawer__heading {
    margin-bottom: 21px !important;
    font-size: 10px !important;
  }

  .header-search-bar.rv-search-drawer .cb-search-bar__field {
    height: 48px !important;
    min-height: 48px !important;
  }

  .header-search-bar.rv-search-drawer .cb-search-bar__input {
    height: 47px !important;
    padding-inline-end: 46px !important;
    font-size: 17px !important;
  }

  .header-search-bar.rv-search-drawer .cb-search-bar__dismiss {
    inset-block-start: 24px !important;
    inset-inline-end: 20px !important;
  }

  .header-search-bar.rv-search-drawer .header-search-bar__results {
    inset-block-start: 150px !important;
    padding: 22px 20px 36px !important;
  }

  .header-search-bar.rv-search-drawer .predictive-search__results {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 12px !important;
  }

  .footer,
  .footer.color-scheme-1,
  .footer.color-scheme-2,
  .footer.color-scheme-3,
  .footer.color-scheme-4 {
    padding: 72px 0 30px !important;
  }

  .footer .page-width {
    padding-inline: 22px !important;
  }

  .footer__maison {
    margin-bottom: 64px !important;
  }

  .footer__maison-wordmark {
    font-size: clamp(54px, 17vw, 78px) !important;
    line-height: 0.86 !important;
    letter-spacing: 0.045em !important;
    white-space: nowrap !important;
  }

  .footer__inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
  }

  .footer__inner > .footer__group:nth-child(1),
  .footer__inner > .footer__group:nth-child(2),
  .footer__inner > .footer__group:nth-child(3),
  .footer__inner > .footer__group:nth-child(4) {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  .footer__inner > .footer__group:nth-child(1) {
    order: 1 !important;
    margin-bottom: 50px !important;
  }

  .footer__inner > .footer__group:nth-child(2) {
    order: 2 !important;
    margin-bottom: 48px !important;
  }

  .footer__inner > .footer__group:nth-child(3) {
    order: 3 !important;
    align-items: flex-start !important;
    margin-bottom: 46px !important;
  }

  .footer__inner > .footer__group:nth-child(4) {
    order: 4 !important;
  }

  .footer__email-subscribe-title {
    margin-bottom: 19px !important;
  }

  .footer .block-subscription__inline-form {
    grid-template-columns: minmax(0, 1fr) 118px !important;
    gap: 8px !important;
    min-height: 52px !important;
  }

  .footer .block-subscription__inline-form > *:first-child,
  .footer .block-subscription__inline-form .field,
  .footer .block-subscription__inline-form .input,
  .footer .block-subscription__inline-form .button,
  .footer .block-subscription__inline-form button {
    height: 52px !important;
    min-height: 52px !important;
  }

  .footer .field__input,
  .footer input[type="email"] {
    height: 50px !important;
    min-height: 50px !important;
    padding-inline: 14px !important;
    font-size: 10px !important;
    line-height: 50px !important;
  }

  .footer .block-subscription__inline-form .button,
  .footer .block-subscription__inline-form button {
    min-width: 118px !important;
    padding-inline: 12px !important;
    font-size: 8px !important;
  }

  .footer__social-media {
    margin-top: 24px !important;
  }

  .footer__inner > .footer__group:nth-child(2) theme-footer-menu {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 30px !important;
    border: 0 !important;
  }

  .footer__inner > .footer__group:nth-child(2) theme-footer-menu:last-child {
    margin-bottom: 0 !important;
  }

  .footer__menu-title {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 28px !important;
    padding: 0 32px 0 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
  }

  .footer__menu-title::after {
    position: absolute;
    inset-block-start: 8px;
    inset-inline-end: 5px;
    display: block !important;
    width: 7px;
    height: 7px;
    content: "" !important;
    border-inline-end: 1px solid var(--rv-accent);
    border-block-end: 1px solid var(--rv-accent);
    transform: rotate(45deg);
    transition: transform 200ms ease;
  }

  .footer theme-footer-menu[open] .footer__menu-title::after {
    transform: translateY(4px) rotate(225deg);
  }

  .footer theme-footer-menu:not([open]) .footer__menu-content {
    display: none !important;
  }

  .footer theme-footer-menu[open] .footer__menu-content {
    display: block !important;
    padding-top: 20px !important;
  }

  .footer__menu-item {
    margin-bottom: 12px !important;
  }

  .footer__menu-item a,
  .footer [class*="menu-content"] a {
    font-size: 11px !important;
  }

  .footer .cb-footer-locale__stack {
    gap: 15px 28px !important;
  }

  .footer__payment-icons {
    justify-content: flex-start !important;
    width: 100% !important;
    margin-top: 24px !important;
    gap: 8px !important;
  }

  .footer__payment-icons > svg,
  .footer [class*="payment"] svg,
  .footer [class*="payment"] img {
    height: 17px !important;
    max-width: 42px !important;
  }
}

@media (max-width: 390px) {
  .footer .page-width {
    padding-inline: 18px !important;
  }

  .footer__maison-wordmark {
    font-size: 51px !important;
  }

  .footer .block-subscription__inline-form {
    grid-template-columns: minmax(0, 1fr) 104px !important;
    gap: 7px !important;
  }

  .footer .block-subscription__inline-form .button,
  .footer .block-subscription__inline-form button {
    min-width: 104px !important;
    padding-inline: 8px !important;
    letter-spacing: 0.11em !important;
  }
}

/* ========================================================================== */
/* RELVOUX v3 — noir footer, smoked-slate accents and final utility polish    */
/* ========================================================================== */

:root {
  --rv-secondary: #f4f4f1;
  --rv-accent: #171613;
  --rv-footer-black: #171613;
  --rv-footer-white: #ffffff;
}

/* The announcement is intentionally tied to the same black as the footer. */
theme-announcement-bar-sticky,
theme-announcement-bar-carousel,
theme-announcement-bar-carousel theme-carousel,
theme-announcement-bar-carousel .announcement-bar__carousel-wrapper,
theme-announcement-bar-carousel .announcement-bar__group,
theme-announcement-bar-carousel .announcement-bar__group-item,
theme-announcement-bar-carousel .announcement-bar__group-item-content,
theme-announcement-bar-carousel .announcement-bar__group-item-inner,
.section-announcement-bar,
.announcement-bar,
[class*="announcement-bar"] {
  color: var(--rv-footer-white) !important;
  background: var(--rv-footer-black) !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

theme-announcement-bar-sticky *,
theme-announcement-bar-carousel *,
.section-announcement-bar *,
.announcement-bar * {
  color: var(--rv-footer-white) !important;
}

/* One utility cluster: quick cart icon followed immediately by BAG. */
@media (min-width: 960px) {
  .header-action-bar.right .header-action-bar__cb-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  .header-action-bar.right .header-action-bar__cb-cart-icon {
    flex: 0 0 23px !important;
    width: 23px !important;
    min-width: 23px !important;
    height: 24px !important;
  }

  .header-action-bar.right .header-action-bar__rv-cart-page {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: 28px !important;
    padding: 1px 0 0 !important;
    margin: 0 !important;
    color: currentColor !important;
    font-family: var(--rv-sans) !important;
    font-size: 8px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    background: transparent !important;
    border: 0 !important;
  }
}

/* Remove the two outer service dividers while keeping the internal rows. */
.cart-drawer__items,
.cart-drawer .cart-item:last-child,
.cb-cart-drawer__services,
.cart-drawer__inner {
  border-block-start: 0 !important;
  border-block-end: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.cb-cart-drawer__service-item {
  border-top: 1px solid var(--rv-cart-line, rgba(23, 22, 19, 0.17)) !important;
}

.cart-drawer__loading,
.cart-drawer__loading-inn,
.cart-drawer__loading-inn.cb-cart-loading,
.cb-cart-loading,
.rv-cart-loading__monogram {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
}

.rv-cart-loading__monogram {
  color: var(--rv-ink) !important;
  border: 0 !important;
}

/* Footer: black maison field, white typography, and an editor-uploaded mark. */
.footer,
.footer.color-scheme-1,
.footer.color-scheme-2,
.footer.color-scheme-3,
.footer.color-scheme-4 {
  color: var(--rv-footer-white) !important;
  background: var(--rv-footer-black) !important;
  background-color: var(--rv-footer-black) !important;
  background-image: none !important;
  border: 0 !important;
}

.footer .page-width,
.footer__maison,
.footer__inner,
.footer__inner > .footer__group,
.footer__group,
.footer__menu,
.footer__menu-content,
.footer__email-subscribe,
.footer__social-media,
.footer__localization-form,
.footer__payment-icons,
.footer__copyright,
.footer theme-footer-menu {
  color: var(--rv-footer-white) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.footer,
.footer a,
.footer p,
.footer span,
.footer label,
.footer h2,
.footer h3,
.footer h4,
.footer summary,
.footer select,
.footer svg,
.footer__maison-wordmark,
.footer__menu-title,
.footer__menu-title *,
.footer__email-subscribe-title,
.footer__social-media-title,
.footer__copyright-custom,
.footer__copyright-custom * {
  color: var(--rv-footer-white) !important;
}

.footer__maison-logo-wrap {
  display: block !important;
  width: min(100%, var(--footer-logo-width, 700px)) !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer__maison-logo,
.footer__maison-logo picture,
.footer__maison-logo img,
img.footer__maison-logo {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.footer__menu-item a,
.footer [class*="menu-content"] a,
.footer .field__info {
  color: rgba(255, 255, 255, 0.7) !important;
}

.footer__menu-item a:hover,
.footer [class*="menu-content"] a:hover,
.footer__social-media-content a:hover {
  color: #ffffff !important;
}

.footer .block-subscription__inline-form,
.footer .block-subscription__inline-form > *:first-child,
.footer .block-subscription__inline-form .field,
.footer .block-subscription__inline-form .input,
.footer .field__inner {
  color: var(--rv-footer-white) !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.footer .block-subscription__inline-form > *:first-child,
.footer .block-subscription__inline-form .field,
.footer .block-subscription__inline-form .input {
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
}

.footer .field__input,
.footer input[type="email"] {
  color: var(--rv-footer-white) !important;
  background: transparent !important;
  background-color: transparent !important;
}

.footer .field__input::placeholder,
.footer input[type="email"]::placeholder {
  color: rgba(255, 255, 255, 0.52) !important;
}

.footer .block-subscription__inline-form .button,
.footer .block-subscription__inline-form button {
  color: var(--rv-footer-black) !important;
  background: var(--rv-footer-white) !important;
  border-color: var(--rv-footer-white) !important;
}

.footer .block-subscription__inline-form .button:hover,
.footer .block-subscription__inline-form button:hover {
  color: var(--rv-footer-white) !important;
  background: transparent !important;
  border-color: var(--rv-footer-white) !important;
}

.footer .cb-footer-locale__row,
.footer .cb-footer-locale__label,
.footer .cb-footer-locale__icon,
.footer .cb-footer-locale__icon::before,
.footer .cb-footer-locale__icon svg,
.footer .cb-footer-locale__icon svg * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

.footer .cb-footer-locale__icon {
  border-color: #ffffff !important;
}

.footer__social-media-content a,
.footer__social-media-content svg,
.footer__social-media-content img {
  color: var(--rv-footer-white) !important;
}

.footer__payment-icons > svg,
.footer [class*="payment"] svg,
.footer [class*="payment"] img {
  opacity: 1 !important;
  filter: none !important;
}

/* Keep the white desktop header utilities legible and independent from the
   black announcement/footer contrast palette. */
@media (min-width: 960px) {
  .header-section .header-action-bar.right,
  .header-section .header-action-bar__cb-account,
  .header-section .header-action-bar__cb-account-label,
  .header-section .header-action-bar__cb-account-icon,
  .header-section .header-action-bar__cb-cart,
  .header-section .header-action-bar__cb-cart-icon,
  .header-section .header-action-bar__rv-cart-page,
  .header-section .cart-bubble,
  .header-section .cart-bubble > a {
    color: var(--rv-ink) !important;
  }

  .header-section .header-action-bar.right svg {
    color: var(--rv-ink) !important;
  }

  .header-section .header-action-bar.right svg [stroke]:not([stroke="none"]) {
    stroke: var(--rv-ink) !important;
  }

  .header-section .header-action-bar.right svg [fill]:not([fill="none"]) {
    fill: var(--rv-ink) !important;
  }

  .header-section .cart-bubble__count {
    color: #ffffff !important;
    background: var(--rv-ink) !important;
  }
}

@media (max-width: 959px) {
  .footer__maison-logo-wrap {
    width: min(100%, var(--footer-logo-mobile-width, 320px)) !important;
  }

  .footer__menu-title::after {
    border-color: #ffffff !important;
  }
}

/* Soft white is an interaction state, never a persistent brand accent. */
html body theme-search-bar.header-search-bar,
html body .header-search-bar.cb-search-bar {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.button:active,
button[name="add"]:active,
.shopline-element-buy-now:active,
.cart-drawer__checkout-button:active,
.main-cart-footer__checkout:active,
.customer-account .button:active,
.customers-addresses__main .button:active,
[role="button"]:active {
  color: var(--rv-ink) !important;
  background: var(--rv-secondary) !important;
  border-color: var(--rv-ink) !important;
  transform: translateY(1px) !important;
}

.footer .block-subscription__inline-form .button:active,
.footer .block-subscription__inline-form button:active {
  color: var(--rv-footer-black) !important;
  background: var(--rv-secondary) !important;
  border-color: var(--rv-secondary) !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Cart drawer interaction hardening: use a real clickable backdrop. */
theme-cart-drawer theme-modal > details[open]::before,
theme-cart-drawer [data-mount-modal][open]::before {
  display: none !important;
  content: none !important;
  pointer-events: none !important;
}

.rv-cart-drawer__backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--z-index);
  display: none;
  width: 100vw;
  height: 100vh;
  background: rgba(10, 10, 10, 0.48);
  backdrop-filter: blur(2px);
  cursor: pointer;
}

.cart-drawer[open] > .rv-cart-drawer__backdrop {
  display: block;
}

.cart-drawer__body {
  z-index: calc(var(--z-index) + 1) !important;
}

/* The plus glyph must remain visible even when global icon rules are loaded. */
.cart-drawer .cart-item__amount-operator button[name="plus"],
.cart-drawer .cart-item__amount-operator button[name="minus"] {
  visibility: visible !important;
}

.cart-drawer .cart-item__amount-operator button[name="plus"] .icon,
.cart-drawer .cart-item__amount-operator button[name="minus"] .icon {
  display: block !important;
  width: 10px !important;
  min-width: 10px !important;
  height: 10px !important;
  color: var(--rv-cart-ink, #171613) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.cart-drawer .cart-item__amount-operator button[name="plus"] .icon path,
.cart-drawer .cart-item__amount-operator button[name="minus"] .icon path {
  stroke: currentColor !important;
  stroke-width: 1.35 !important;
}

.cart-drawer .cart-item__amount-operator button[name="plus"]:disabled,
.cart-drawer .cart-item__amount-operator button[name="minus"]:disabled {
  opacity: 0.52 !important;
}

/* Draw the arithmetic glyphs with CSS. This remains visible when Shopline
   marks a control disabled at the current inventory limit. */
.cart-drawer .cart-item__amount-operator button[name="plus"] .icon,
.cart-drawer .cart-item__amount-operator button[name="minus"] .icon {
  display: none !important;
}

.cart-drawer .cart-item__amount-operator button[name="plus"]::after,
.cart-drawer .cart-item__amount-operator button[name="minus"]::after {
  display: block !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 !important;
  color: currentColor !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 19px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 0.92 !important;
  text-align: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.cart-drawer .cart-item__amount-operator button[name="plus"]::after {
  content: "+" !important;
}

.cart-drawer .cart-item__amount-operator button[name="minus"]::after {
  content: "\2212" !important;
}

/* Account verification controls: keep the platform SDK button readable on
   login, registration, recovery and authenticated account modals. */
.customer-login-page theme-input-verify-code .field__suffix,
.customer-register-page theme-input-verify-code .field__suffix,
.customers-forgot-password__container theme-input-verify-code .field__suffix,
.customer-account theme-input-verify-code .field__suffix {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 104px;
  color: var(--rv-ink, #171613) !important;
  background: transparent !important;
  border-inline-start: 1px solid var(--rv-line, #d9d2c8);
}

.customer-login-page .input-verify-code__button,
.customer-register-page .input-verify-code__button,
.customers-forgot-password__container .input-verify-code__button,
.customer-account .input-verify-code__button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  min-height: 36px;
  padding: 7px 8px !important;
  color: var(--rv-ink, #171613) !important;
  font-family: var(--rv-sans, Manrope, sans-serif) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.customer-login-page .input-verify-code__button[disabled],
.customer-register-page .input-verify-code__button[disabled],
.customers-forgot-password__container .input-verify-code__button[disabled],
.customer-account .input-verify-code__button[disabled] {
  color: var(--rv-muted, #8c8377) !important;
  cursor: default;
  opacity: 0.72 !important;
}

/* Homepage header colour contract:
   - over the hero at page top: every utility and icon is white;
   - after the sticky state activates: every utility and icon is dark;
   - an open search surface also uses the dark state. */
.header-section.transparent .header-action-bar,
.header-section.transparent .header-action-bar a,
.header-section.transparent .header-action-bar button,
.header-section.transparent .header-action-bar svg,
.header-section.transparent .header-action-bar__cb-account-label,
.header-section.transparent .header-action-bar__rv-cart-page,
.header-section.transparent .cart-bubble,
.header-section.transparent .cart-bubble > a {
  color: #ffffff !important;
}

.header-section.transparent .header-action-bar svg [stroke]:not([stroke="none"]) {
  stroke: #ffffff !important;
}

.header-section.transparent .header-action-bar svg [fill]:not([fill="none"]) {
  fill: #ffffff !important;
}

.theme-sticky-header--sticky .header-section.transparent .header-action-bar,
.theme-sticky-header--sticky .header-section.transparent .header-action-bar a,
.theme-sticky-header--sticky .header-section.transparent .header-action-bar button,
.theme-sticky-header--sticky .header-section.transparent .header-action-bar svg,
.theme-sticky-header--sticky .header-section.transparent .header-action-bar__cb-account-label,
.theme-sticky-header--sticky .header-section.transparent .header-action-bar__rv-cart-page,
.theme-sticky-header--sticky .header-section.transparent .cart-bubble,
.theme-sticky-header--sticky .header-section.transparent .cart-bubble > a {
  color: var(--rv-ink, #171613) !important;
}

.theme-sticky-header--sticky .header-section.transparent .header-action-bar svg [stroke]:not([stroke="none"]) {
  stroke: var(--rv-ink, #171613) !important;
}

.theme-sticky-header--sticky .header-section.transparent .header-action-bar svg [fill]:not([fill="none"]) {
  fill: var(--rv-ink, #171613) !important;
}

.header-section.transparent:has(.header-search-bar.open) .header-action-bar,
.header-section.transparent:has(.header-search-bar.open) .header-action-bar a,
.header-section.transparent:has(.header-search-bar.open) .header-action-bar button,
.header-section.transparent:has(.header-search-bar.open) .header-action-bar svg {
  color: var(--rv-ink, #171613) !important;
}

.header-section.transparent:has(.header-search-bar.open) .header-action-bar svg [stroke]:not([stroke="none"]) {
  stroke: var(--rv-ink, #171613) !important;
}

.header-section.transparent:has(.header-search-bar.open) .header-action-bar svg [fill]:not([fill="none"]) {
  fill: var(--rv-ink, #171613) !important;
}

.header-section .cart-bubble__count,
.header-section.transparent .cart-bubble__count,
.theme-sticky-header--sticky .header-section.transparent .cart-bubble__count {
  color: #ffffff !important;
  background: var(--rv-ink, #171613) !important;
}

/* Mobile header geometry: keep the hamburger at the true left edge while the
   wordmark remains optically centred and the utility icons stay right-aligned. */
@media (max-width: 959px) {
  .header__container[mobile-layout="left_logo"] .header__container-top-wrap {
    display: grid !important;
    grid-template-areas: "action-bar-left logo action-bar-right" !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    width: 100% !important;
    padding-inline: 20px !important;
  }

  .header__container[mobile-layout="left_logo"] .header-action-bar.left {
    grid-area: action-bar-left !important;
    justify-self: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .header__container[mobile-layout="left_logo"] .header__logo {
    grid-area: logo !important;
    justify-self: center !important;
    justify-content: center !important;
    margin: 0 !important;
  }

  .header__container[mobile-layout="left_logo"] .header-action-bar.right {
    grid-area: action-bar-right !important;
    justify-self: stretch !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin: 0 !important;
  }
}

@media (max-width: 390px) {
  .header__container[mobile-layout="left_logo"] .header__container-top-wrap {
    padding-inline: 16px !important;
  }
}

/* The unscrolled homepage header keeps its white navigation on hover. Hover is
   expressed only as a restrained opacity change; the dark state begins after
   the sticky header activates. */
.header-section.transparent .header-nav__menu-item > a:not(.button),
.header-section.transparent .header-nav__menu-item > a:not(.button):hover {
  color: #ffffff !important;
}

.header-section.transparent .header-nav__menu-item:hover > a:not(.button) {
  color: #ffffff !important;
  opacity: 0.74;
}

.header-section.transparent .header-nav__underline::after {
  background-color: rgba(255, 255, 255, 0.78) !important;
}

.theme-sticky-header--sticky .header-section.transparent .header-nav__menu-item > a:not(.button),
.theme-sticky-header--sticky .header-section.transparent .header-nav__menu-item > a:not(.button):hover {
  color: var(--rv-ink, #171613) !important;
}

.theme-sticky-header--sticky .header-section.transparent .header-nav__underline::after {
  background-color: var(--rv-ink, #171613) !important;
}

/* Reduce only the artwork by 30%, retaining the original touch targets. */
@media (max-width: 959px) {
  .header-action-bar__arakii-menu-icon {
    width: 19.6px !important;
    height: 16.8px !important;
  }

  .header-action-bar__arakii-search-icon,
  .header-action-bar__cb-search-mobile svg {
    width: 19.6px !important;
    height: 19.6px !important;
  }

  .header-action-bar__cb-cart-icon svg {
    width: 19.6px !important;
    height: 19.6px !important;
  }
}

/* ========================================================================== */
/* RELVOUX v4 — editorial desktop navigation, compact mobile header and RTE   */
/* ========================================================================== */

/* Preserve the announcement CTA treatment: regular weight and underlined,
   while the surrounding announcement copy remains unchanged. */
theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte strong,
theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte b,
theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte strong *,
theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte b * {
  font-weight: 400 !important;
}

theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte a,
theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte strong a,
theme-announcement-bar-carousel .announcement-bar__group-item-inner .rte b a {
  font-style: normal !important;
  font-weight: 400 !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

/* RELVOUX V9: every desktop submenu uses one full-width editorial surface.
   Image blocks configured in the editor form a dedicated gallery on the
   right; an empty block still reserves a clean upload-ready image area. */
@media (min-width: 960px) {
  .header-nav-dropdown-panel__single-level {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  }

  .header-nav-dropdown-panel__menu > .nav-item-with-images {
    display: grid !important;
    flex: 0 0 clamp(330px, 42vw, 680px) !important;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 1px;
    align-self: stretch;
    min-height: 250px;
    margin: 0 !important;
    overflow: hidden;
    background: #eeeae3;
    border-inline-start: 1px solid rgba(23, 22, 19, 0.13);
  }

  .header-nav-dropdown-panel__menu > .nav-item-with-images > .header-nav-with-images-dropdown-panel__item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
  }

  .header-nav-dropdown-panel__menu > .nav-item-with-images > .header-nav-with-images-dropdown-panel__item > img,
  .header-nav-dropdown-panel__menu > .nav-item-with-images > .header-nav-with-images-dropdown-panel__item picture,
  .header-nav-dropdown-panel__menu > .nav-item-with-images > .header-nav-with-images-dropdown-panel__item picture > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* The mobile header retains its 84px overlay area, but the complete control
   row moves upward by one third of the available centre offset (14px). */
@media (max-width: 959px) {
  .header__container[mobile-layout="left_logo"] .header-action-bar.left,
  .header__container[mobile-layout="left_logo"] .header__logo,
  .header__container[mobile-layout="left_logo"] .header-action-bar.right {
    transform: translateY(-14px) !important;
  }
}

/* Desktop dropdowns use the same numbered, editorial hierarchy as the
   approved mobile drawer while keeping the store's existing menu data. */
@media (min-width: 960px) {
  .header-nav-dropdown-panel {
    inset-block-start: 100% !important;
    inset-inline-start: var(--rv-mega-menu-left, 0) !important;
    inset-inline-end: auto !important;
    width: var(--rv-mega-menu-width, 100vw) !important;
    max-width: none !important;
    padding-top: 0 !important;
    margin-inline-start: 0 !important;
  }

  .header-nav-dropdown-menu-scope {
    padding-top: 0;
  }

  .header-nav__menu-item:hover .header-nav-dropdown-panel,
  .header-nav__menu-item:hover .header-nav-dropdown-menu-scope {
    animation: rv-menu-reveal 240ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
  }

  .header-nav-dropdown-panel__menu {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    color: var(--rv-ink, #171613);
    background: #faf9f6;
    border-block: 1px solid rgba(23, 22, 19, 0.16);
    border-inline: 0;
    box-shadow: 0 22px 50px rgba(23, 22, 19, 0.1);
  }

  .header-nav-dropdown-panel__menu > ul {
    counter-reset: rv-mega-column;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0;
    width: 100%;
    padding: 38px max(42px, calc((100vw - 1440px) / 2)) 42px;
    margin: 0;
  }

  .header-nav-dropdown-panel__menu > ul > li {
    counter-increment: rv-mega-column;
    position: relative;
    min-width: 0;
    max-width: none;
    padding: 0 34px;
    border-inline-start: 1px solid rgba(23, 22, 19, 0.13);
  }

  .header-nav-dropdown-panel__menu > ul > li:first-child {
    padding-inline-start: 0;
    border-inline-start: 0;
  }

  .header-nav-dropdown-panel__menu > ul > li:last-child {
    padding-inline-end: 0;
  }

  .header-nav-dropdown-panel__menu > ul > li::before {
    display: block;
    margin-bottom: 15px;
    color: #8c8377;
    font-family: var(--rv-sans, Manrope, sans-serif);
    font-size: 8px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.2em;
    content: counter(rv-mega-column, decimal-leading-zero);
  }

  .header-nav-dropdown-panel__menu > ul > li > .header-nav__underline-scope {
    display: flex;
    width: 100%;
  }

  .header-nav-dropdown-panel__hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: none;
    padding: 0 0 13px;
    margin: 0 0 13px;
    color: var(--rv-ink, #171613) !important;
    font-family: var(--rv-serif, "Cormorant Garamond", Georgia, serif) !important;
    font-size: clamp(19px, 1.35vw, 23px) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.015em !important;
    text-transform: none !important;
    border-bottom: 1px solid rgba(23, 22, 19, 0.18);
  }

  .header-nav-dropdown-panel__hero::after {
    flex: 0 0 auto;
    margin-inline-start: 18px;
    color: #8c8377;
    font-family: var(--rv-sans, Manrope, sans-serif);
    font-size: 12px;
    font-weight: 400;
    content: "\2197";
    transition: transform 180ms ease, color 180ms ease;
  }

  .header-nav-dropdown-panel__hero:hover::after {
    color: var(--rv-ink, #171613);
    transform: translate(2px, -2px);
  }

  .header-nav-dropdown-panel__hero .header-nav__underline::after,
  .header-nav-dropdown-panel__link .header-nav__underline::after {
    display: none !important;
  }

  .header-nav-dropdown-panel__submenu {
    gap: 0;
  }

  .header-nav-dropdown-panel__submenu > ul > li {
    width: 100%;
  }

  .header-nav-dropdown-panel__link {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: none;
    min-height: 31px;
    padding: 7px 18px 7px 0;
    color: rgba(23, 22, 19, 0.72) !important;
    font-family: var(--rv-sans, Manrope, sans-serif) !important;
    font-size: 9px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
    transition: color 180ms ease, padding-inline-start 180ms ease;
  }

  .header-nav-dropdown-panel__link::before {
    position: absolute;
    inset-inline-start: 0;
    width: 0;
    height: 1px;
    content: "";
    background: var(--rv-ink, #171613);
    transition: width 180ms ease;
  }

  .header-nav-dropdown-panel__link:hover {
    padding-inline-start: 17px;
    color: var(--rv-ink, #171613) !important;
  }

  .header-nav-dropdown-panel__link:hover::before {
    width: 10px;
  }

  /* One-level dropdowns receive a compact editorial index rather than the
     browser-like floating list used by the original theme. */
  .header-nav-dropdown-menu {
    width: min(390px, calc(100vw - 48px));
  }

  .header-nav-dropdown-menu__menu {
    counter-reset: rv-menu-item;
    width: 100%;
    padding: 12px 0;
    margin: 0;
    overflow: hidden;
    color: var(--rv-ink, #171613);
    background: #faf9f6;
    border: 1px solid rgba(23, 22, 19, 0.16);
    box-shadow: 0 22px 50px rgba(23, 22, 19, 0.1);
  }

  .header-nav-dropdown-menu__menu > li {
    counter-increment: rv-menu-item;
    border-bottom: 1px solid rgba(23, 22, 19, 0.1);
  }

  .header-nav-dropdown-menu__menu > li:last-child {
    border-bottom: 0;
  }

  .header-nav-dropdown-menu__hero {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    width: 100%;
    min-width: 0;
    max-width: none;
    padding: 13px 18px;
    color: var(--rv-ink, #171613) !important;
    font-family: var(--rv-serif, "Cormorant Garamond", Georgia, serif) !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
    transition: background-color 180ms ease, padding-inline 180ms ease;
  }

  .header-nav-dropdown-menu__hero::before {
    color: #8c8377;
    font-family: var(--rv-sans, Manrope, sans-serif);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.12em;
    content: counter(rv-menu-item, decimal-leading-zero);
  }

  .header-nav-dropdown-menu__hero::after {
    color: #8c8377;
    font-family: var(--rv-sans, Manrope, sans-serif);
    font-size: 11px;
    content: "\2197";
  }

  .header-nav-dropdown-menu__hero:hover {
    padding-inline: 22px 14px;
    background: #f1eee8;
  }

  .header-nav-dropdown-menu__hero .header-nav__underline::after {
    display: none !important;
  }

  /* Navigation-image blocks are retained and presented as an editorial plate. */
  .header-nav-dropdown-panel__menu > :not(ul) {
    flex: 0 0 clamp(230px, 24vw, 360px);
    margin: 24px max(42px, calc((100vw - 1440px) / 2)) 24px 0;
    overflow: hidden;
    background: #f1eee8;
    border-inline-start: 1px solid rgba(23, 22, 19, 0.13);
  }

  /* A mega-menu opens as one continuous Arakii-style white surface: the
     header row changes with it and the panel begins flush at its lower edge. */
  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header__container {
    background: #faf9f6 !important;
  }

  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header-nav__menu-item > a:not(.button),
  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header-action-bar,
  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header-action-bar a,
  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header-action-bar button,
  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header-action-bar svg,
  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header-action-bar__cb-account-label,
  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header-action-bar__rv-cart-page {
    color: var(--rv-ink, #171613) !important;
    opacity: 1 !important;
  }

  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header-action-bar svg [stroke]:not([stroke="none"]) {
    stroke: var(--rv-ink, #171613) !important;
  }

  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header-action-bar svg [fill]:not([fill="none"]) {
    fill: var(--rv-ink, #171613) !important;
  }

  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header__logo-link:not(.transparent) {
    color: var(--rv-ink, #171613) !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header__logo-link.transparent {
    visibility: hidden !important;
    opacity: 0 !important;
  }

  .header-section.transparent:has(.header-nav__menu-item:hover .header-nav-dropdown-panel) .header-nav__underline::after {
    background-color: var(--rv-ink, #171613) !important;
  }
}

@keyframes rv-menu-reveal {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

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

/* ========================================================================== */
/* RELVOUX V13 — storefront sort, Windows locale and stable mega menu         */
/* ========================================================================== */

/* Windows/Chromium paints native option menus on a light system surface.
   Keep the native controls explicitly light with dark system text even though
   the visual footer trigger above them is white. */
.footer .cb-footer-locale__select {
  color: #171613 !important;
  color-scheme: light !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  background-color: #ffffff !important;
  forced-color-adjust: auto;
}

.footer .cb-footer-locale__select option,
.footer .cb-footer-locale__select optgroup {
  color: #171613 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  background: #ffffff !important;
}

@media (forced-colors: active) {
  .footer .cb-footer-locale__select,
  .footer .cb-footer-locale__select option,
  .footer .cb-footer-locale__select optgroup {
    color: CanvasText !important;
    background: Canvas !important;
  }
}

@media (min-width: 960px) {
  /* A JS-held state bridges the small physical gap between the first-level
     link and its absolutely positioned panel. Keyboard focus receives the
     same treatment. */
  .header-nav__menu-item.rv-mega-menu-open > .header-nav-dropdown-panel,
  .header-nav__menu-item.rv-mega-menu-open > .header-nav-dropdown-menu-scope,
  .header-nav__menu-item:focus-within > .header-nav-dropdown-panel,
  .header-nav__menu-item:focus-within > .header-nav-dropdown-menu-scope {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
    animation: rv-menu-reveal 240ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
  }

  /* The panel is absolutely positioned inside whichever nav item owns it.
     Its exact viewport offset is measured at open time, so neither the item's
     horizontal location nor a sticky-header transform can shift the full-width
     surface beyond the left or right edge. */
  .header-nav__menu-item > .header-nav-dropdown-panel,
  .header-nav__menu-item > .header-nav-dropdown-menu-scope {
    inset-block-start: var(--rv-mega-menu-top, 100%) !important;
    inset-inline-start: var(--rv-mega-menu-left, 0) !important;
    inset-inline-end: auto !important;
    width: var(--rv-mega-menu-width, 100vw) !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .header-nav-dropdown-panel,
  .header-nav-dropdown-panel__menu,
  .header-nav-dropdown-panel__menu > ul,
  .header-nav-dropdown-panel__menu > :not(ul),
  .header-nav-dropdown-menu-scope,
  .header-nav-dropdown-menu,
  .header-nav-dropdown-menu__menu {
    background-color: #ffffff !important;
  }

  .header-nav-dropdown-panel__menu > .nav-item-with-images {
    background: #ffffff !important;
  }

  .header-section.transparent.rv-mega-menu-active .header__container {
    background: #ffffff !important;
  }

  .header-section.transparent.rv-mega-menu-active .header-nav__menu-item > a:not(.button),
  .header-section.transparent.rv-mega-menu-active .header-action-bar,
  .header-section.transparent.rv-mega-menu-active .header-action-bar a,
  .header-section.transparent.rv-mega-menu-active .header-action-bar button,
  .header-section.transparent.rv-mega-menu-active .header-action-bar svg,
  .header-section.transparent.rv-mega-menu-active .header-action-bar__cb-account-label,
  .header-section.transparent.rv-mega-menu-active .header-action-bar__rv-cart-page {
    color: var(--rv-ink, #171613) !important;
    opacity: 1 !important;
  }

  .header-section.transparent.rv-mega-menu-active .header-action-bar svg [stroke]:not([stroke="none"]) {
    stroke: var(--rv-ink, #171613) !important;
  }

  .header-section.transparent.rv-mega-menu-active .header-action-bar svg [fill]:not([fill="none"]) {
    fill: var(--rv-ink, #171613) !important;
  }

  .header-section.transparent.rv-mega-menu-active .header__logo-link:not(.transparent) {
    color: var(--rv-ink, #171613) !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .header-section.transparent.rv-mega-menu-active .header__logo-link.transparent {
    visibility: hidden !important;
    opacity: 0 !important;
  }

  .header-section.transparent.rv-mega-menu-active .header-nav__underline::after {
    background-color: var(--rv-ink, #171613) !important;
  }
}

/* ========================================================================== */
/* RELVOUX V10 — compact editorial cart drawer                                */
/* ========================================================================== */

.cart-drawer {
  --rv-cart-bg: #f6f5f1;
  --rv-cart-panel: #eceae4;
  --rv-cart-ink: #171613;
  --rv-cart-muted: #746f67;
  --rv-cart-line: rgba(23, 22, 19, 0.18);
}

.cart-drawer__body {
  width: min(560px, 100vw) !important;
  max-width: 560px !important;
  background: var(--rv-cart-bg) !important;
  box-shadow: -18px 0 54px rgba(10, 9, 8, 0.2) !important;
}

.cart-drawer__header {
  min-height: 112px !important;
  padding: 27px 86px 25px 32px !important;
  color: #fff !important;
  background: var(--rv-cart-ink) !important;
  border: 0 !important;
}

.rv-cart-drawer__header-copy {
  gap: 10px !important;
}

.cart-drawer .rv-cart-drawer__eyebrow,
.cart-drawer .rv-cart-drawer__count {
  color: rgba(255, 255, 255, 0.68) !important;
}

.cart-drawer .cb-cart-drawer__title {
  color: #fff !important;
  font-family: var(--rv-serif, Georgia, serif) !important;
  font-size: 35px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 0.92 !important;
  letter-spacing: -0.035em !important;
}

.cart-drawer .rv-cart-drawer__count {
  margin-inline-start: auto;
  font-size: 7.5px !important;
  letter-spacing: 0.18em !important;
}

.cart-drawer .cart-drawer__close {
  inset-block-start: 35px !important;
  inset-inline-end: 28px !important;
  width: 34px !important;
  height: 34px !important;
  color: #fff !important;
}

.cart-drawer .cart-drawer__close svg [stroke] {
  stroke: currentColor !important;
}

.cart-drawer__inner {
  padding: 0 32px !important;
  background: var(--rv-cart-bg) !important;
}

.cart-drawer .cart-item {
  padding: 28px 0 !important;
  border-bottom: 1px solid var(--rv-cart-line) !important;
}

.cart-drawer .cart-item__product {
  grid-template-columns: 118px minmax(0, 1fr) !important;
  gap: 0 22px !important;
}

.cart-drawer .cart-item__picture,
.cart-drawer .cart-item__picture a,
.cart-drawer .cart-item__picture picture,
.cart-drawer .cart-item__picture .image,
.cart-drawer .cart-item__picture .media {
  width: 118px !important;
  max-width: 118px !important;
  height: 158px !important;
  min-height: 158px !important;
  background: var(--rv-cart-panel) !important;
}

.cart-drawer .cart-item__picture img {
  padding: 7px !important;
  object-fit: contain !important;
}

.cart-drawer .cart-item__product-infos {
  min-height: 158px !important;
}

.cart-drawer .rv-cart-item__eyebrow {
  margin-bottom: 12px !important;
  color: var(--rv-cart-muted) !important;
  font-size: 7px !important;
  letter-spacing: 0.18em !important;
}

.cart-drawer .cart-item__title-row {
  gap: 16px !important;
}

.cart-drawer .cart-item__title,
.cart-drawer .cart-item__title a {
  font-family: var(--rv-sans, Arial, sans-serif) !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.34 !important;
  letter-spacing: 0.015em !important;
}

.cart-drawer .cart-item__title-price {
  padding-top: 1px !important;
}

.cart-drawer .cart-item__total-final,
.cart-drawer .cart-item__title-price .cart-item__total-final,
.cart-drawer .cart-item__total-amount b {
  font-size: 10px !important;
  letter-spacing: 0.02em !important;
}

.cart-drawer .cart-item__meta {
  margin-top: 10px !important;
  font-size: 8px !important;
  letter-spacing: 0.12em !important;
}

.cart-drawer .cart-item__amount {
  padding-top: 18px !important;
}

.cart-drawer .cart-item__amount-operator {
  display: grid !important;
  grid-template-columns: auto 98px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

.cart-drawer .cart-item__quantity-label,
.cart-drawer .cart-item__remove {
  color: var(--rv-cart-muted) !important;
  font-family: var(--rv-sans, Arial, sans-serif) !important;
  font-size: 8px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.cart-drawer .cart-item__quantity-label {
  margin: 0 !important;
}

.cart-drawer .cart-item__amount-operator theme-cart-drawer-quantity,
.cart-drawer .cart-item__amount-operator theme-input-number,
.cart-drawer .cart-item__amount-operator .input-number,
.cart-drawer .cart-item__amount-operator [class*="input-number"] {
  grid-template-columns: repeat(3, 32px) !important;
  width: 98px !important;
  min-width: 98px !important;
  height: 34px !important;
  min-height: 34px !important;
  background: #fff !important;
  border-color: var(--rv-cart-line) !important;
}

.cart-drawer .cart-item__amount-operator theme-cart-drawer-quantity button,
.cart-drawer .cart-item__amount-operator theme-cart-drawer-quantity input,
.cart-drawer .cart-item__amount-operator theme-input-number button,
.cart-drawer .cart-item__amount-operator theme-input-number input,
.cart-drawer .cart-item__amount-operator .input-number button,
.cart-drawer .cart-item__amount-operator .input-number input,
.cart-drawer .cart-item__amount-operator [class*="input-number"] button,
.cart-drawer .cart-item__amount-operator [class*="input-number"] input {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  line-height: 32px !important;
}

.cart-drawer .cart-item__remove {
  justify-self: end !important;
  align-self: center !important;
  min-height: 0 !important;
  padding: 0 0 3px !important;
  margin: 0 !important;
  border-bottom: 1px solid currentColor !important;
}

.cart-drawer .cb-cart-drawer__services {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 0 -32px !important;
  padding: 22px 32px 26px !important;
  color: var(--rv-cart-ink) !important;
  background: #e9e7e1 !important;
  border: 0 !important;
}

.cart-drawer .rv-cart-services__eyebrow {
  grid-column: 1 / -1;
  margin: 0 0 14px !important;
  color: var(--rv-cart-ink) !important;
  font-size: 7px !important;
  letter-spacing: 0.2em !important;
}

.cart-drawer .cb-cart-drawer__service-item {
  border-top: 1px solid var(--rv-cart-line) !important;
}

.cart-drawer .cb-cart-drawer__service-item + .cb-cart-drawer__service-item {
  padding-inline-start: 18px !important;
  border-inline-start: 1px solid var(--rv-cart-line) !important;
}

.cart-drawer .cb-cart-drawer__service-link {
  grid-template-columns: 24px minmax(0, 1fr) auto !important;
  gap: 12px !important;
  min-height: 98px !important;
  padding: 17px 0 14px !important;
}

.cart-drawer .rv-cart-service__icon,
.cart-drawer .rv-cart-service__icon svg {
  width: 20px !important;
  height: 20px !important;
}

.cart-drawer .cb-cart-drawer__service-content h4 {
  margin-bottom: 6px !important;
  font-family: var(--rv-sans, Arial, sans-serif) !important;
  font-size: 8px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.cart-drawer .cb-cart-drawer__service-content p {
  font-family: var(--rv-sans, Arial, sans-serif) !important;
  font-size: 8px !important;
  font-style: normal !important;
  line-height: 1.5 !important;
  letter-spacing: 0.015em !important;
}

.cart-drawer .rv-cart-service__arrow {
  align-self: start;
  margin-top: -2px;
  font-family: var(--rv-sans, Arial, sans-serif) !important;
  font-size: 13px !important;
}

.cart-drawer .cb-cart-footer,
.cart-drawer .cart-fixed-checkout__container {
  padding: 18px 32px 22px !important;
  background: #fff !important;
  border-top: 1px solid var(--rv-cart-line) !important;
}

.cart-drawer .cb-cart-footer__rows {
  gap: 6px !important;
  margin-bottom: 14px !important;
}

.cart-drawer .cb-cart-footer__label {
  font-size: 8px !important;
  letter-spacing: 0.16em !important;
}

.cart-drawer .cb-cart-footer__value {
  font-size: 13px !important;
}

.cart-drawer .cart-checkout .button,
.cart-drawer .cart-checkout button[name="checkout"] {
  min-height: 54px !important;
  font-size: 8.5px !important;
  letter-spacing: 0.2em !important;
}

.cart-drawer .rv-cart-footer__assurance {
  margin-top: 10px !important;
}

.cart-drawer .cb-cart-empty {
  background: var(--rv-cart-bg) !important;
}

.cart-drawer .cb-cart-empty__title {
  font-family: var(--rv-sans, Arial, sans-serif) !important;
  font-size: 29px !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
}

@media (max-width: 959px) {
  .cart-drawer__body {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  .cart-drawer__header {
    min-height: 96px !important;
    padding: 22px 66px 20px 20px !important;
  }

  .cart-drawer .cb-cart-drawer__title {
    font-size: 30px !important;
  }

  .cart-drawer .cart-drawer__close {
    inset-block-start: 29px !important;
    inset-inline-end: 17px !important;
  }

  .cart-drawer__inner {
    padding: 0 18px !important;
  }

  .cart-drawer .cart-item {
    padding: 24px 0 !important;
  }

  .cart-drawer .cart-item__product {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 0 14px !important;
  }

  .cart-drawer .cart-item__picture,
  .cart-drawer .cart-item__picture a,
  .cart-drawer .cart-item__picture picture,
  .cart-drawer .cart-item__picture .image,
  .cart-drawer .cart-item__picture .media {
    width: 92px !important;
    max-width: 92px !important;
    height: 123px !important;
    min-height: 123px !important;
  }

  .cart-drawer .cart-item__product-infos {
    min-height: 123px !important;
  }

  .cart-drawer .cart-item__title-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  .cart-drawer .cart-item__title-price {
    justify-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    text-align: start !important;
  }

  .cart-drawer .cart-item__total-amount {
    align-items: flex-start !important;
  }

  .cart-drawer .cart-item__amount {
    padding-top: 14px !important;
  }

  .cart-drawer .cart-item__amount-operator {
    grid-template-columns: auto 92px minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  .cart-drawer .cart-item__amount-operator theme-cart-drawer-quantity,
  .cart-drawer .cart-item__amount-operator theme-input-number,
  .cart-drawer .cart-item__amount-operator .input-number,
  .cart-drawer .cart-item__amount-operator [class*="input-number"] {
    grid-template-columns: repeat(3, 30px) !important;
    width: 92px !important;
    min-width: 92px !important;
  }

  .cart-drawer .cart-item__amount-operator theme-cart-drawer-quantity button,
  .cart-drawer .cart-item__amount-operator theme-cart-drawer-quantity input,
  .cart-drawer .cart-item__amount-operator theme-input-number button,
  .cart-drawer .cart-item__amount-operator theme-input-number input,
  .cart-drawer .cart-item__amount-operator .input-number button,
  .cart-drawer .cart-item__amount-operator .input-number input,
  .cart-drawer .cart-item__amount-operator [class*="input-number"] button,
  .cart-drawer .cart-item__amount-operator [class*="input-number"] input {
    width: 30px !important;
    min-width: 30px !important;
  }

  .cart-drawer .cb-cart-drawer__services {
    grid-template-columns: minmax(0, 1fr) !important;
    margin-inline: -18px !important;
    padding: 21px 18px 22px !important;
  }

  .cart-drawer .cb-cart-drawer__service-item + .cb-cart-drawer__service-item {
    padding-inline-start: 0 !important;
    border-inline-start: 0 !important;
  }

  .cart-drawer .cb-cart-drawer__service-link {
    min-height: 76px !important;
    padding: 14px 0 !important;
  }

  .cart-drawer .cb-cart-footer,
  .cart-drawer .cart-fixed-checkout__container {
    padding: 16px 18px max(18px, env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 370px) {
  .cart-drawer .cart-item__amount-operator {
    grid-template-areas:
      "label remove"
      "quantity quantity";
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px 10px !important;
  }

  .cart-drawer .cart-item__quantity-label {
    grid-area: label;
  }

  .cart-drawer .cart-item__remove {
    grid-area: remove;
  }

  .cart-drawer .cart-item__amount-operator theme-cart-drawer-quantity,
  .cart-drawer .cart-item__amount-operator theme-input-number,
  .cart-drawer .cart-item__amount-operator .input-number,
  .cart-drawer .cart-item__amount-operator [class*="input-number"] {
    grid-area: quantity;
    grid-template-columns: repeat(3, 28.666px) !important;
    width: 88px !important;
    min-width: 88px !important;
  }

  .cart-drawer .cart-item__amount-operator theme-cart-drawer-quantity button,
  .cart-drawer .cart-item__amount-operator theme-cart-drawer-quantity input,
  .cart-drawer .cart-item__amount-operator theme-input-number button,
  .cart-drawer .cart-item__amount-operator theme-input-number input,
  .cart-drawer .cart-item__amount-operator .input-number button,
  .cart-drawer .cart-item__amount-operator .input-number input,
  .cart-drawer .cart-item__amount-operator [class*="input-number"] button,
  .cart-drawer .cart-item__amount-operator [class*="input-number"] input {
    width: 28.666px !important;
    min-width: 28.666px !important;
  }
}
