:root {
  --rsg-ink: #241126;
  --rsg-plum: #37103d;
  --rsg-plum-deep: #170817;
  --rsg-gold: #e9bd3d;
  --rsg-gold-dark: #8a6214;
  --rsg-ivory: #fbf7f1;
  --rsg-paper: #fffdf9;
  --rsg-muted: #665e67;
  --rsg-line: rgba(52, 21, 56, .14);
  --rsg-shadow: 0 22px 70px rgba(43, 14, 45, .10);
  --rsg-serif: "Cormorant Garamond", Georgia, serif;
  --rsg-sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }
body.rsg-design-system {
  color: var(--rsg-ink);
  background: var(--rsg-ivory);
  font-family: var(--rsg-sans);
  -webkit-font-smoothing: antialiased;
}

.rsg-design-system h1,
.rsg-design-system h2,
.rsg-design-system h3,
.rsg-design-system h4,
.rsg-design-system .title,
.rsg-design-system .widget-title,
.rsg-design-system .product_title,
.rsg-design-system .cart-totals-inner > h2,
.rsg-design-system #order_review_heading {
  color: var(--rsg-ink);
  font-family: var(--rsg-serif);
  letter-spacing: -.02em;
}

.rsg-design-system p,
.rsg-design-system li,
.rsg-design-system label,
.rsg-design-system input,
.rsg-design-system textarea,
.rsg-design-system select { font-family: var(--rsg-sans); }

.rsg-design-system a,
.rsg-design-system button,
.rsg-design-system input,
.rsg-design-system select,
.rsg-design-system textarea { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }

.rsg-design-system :focus-visible {
  outline: 3px solid var(--rsg-gold) !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(233, 189, 61, .20);
}

/* Global header */
.rsg-design-system .whb-header,
.rsg-design-system .whb-main-header { box-shadow: 0 12px 34px rgba(23, 8, 23, .12); }
.rsg-design-system .whb-top-bar { border-bottom: 1px solid rgba(235, 195, 74, .22); }
.rsg-design-system .whb-general-header { border-bottom: 1px solid rgba(235, 195, 74, .28); }
.rsg-design-system .wd-header-nav .item-level-0 > a {
  min-height: 48px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.rsg-design-system .wd-header-nav .item-level-0 > a:hover { color: var(--rsg-gold); }
.rsg-design-system .wd-header-cart,
.rsg-design-system .wd-header-search,
.rsg-design-system .wd-header-wishlist { min-width: 44px; min-height: 44px; }

/* Buttons and inputs */
.rsg-design-system .button,
.rsg-design-system .btn,
.rsg-design-system button[type="submit"],
.rsg-design-system input[type="submit"],
.rsg-design-system .single_add_to_cart_button,
.rsg-design-system .checkout-button,
.rsg-design-system #place_order {
  min-height: 48px;
  padding: 14px 24px;
  border: 1px solid var(--rsg-gold);
  border-radius: 5px;
  background: var(--rsg-gold);
  color: #211022;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: none;
}
.rsg-design-system .button:hover,
.rsg-design-system .btn:hover,
.rsg-design-system button[type="submit"]:hover,
.rsg-design-system input[type="submit"]:hover,
.rsg-design-system .single_add_to_cart_button:hover,
.rsg-design-system .checkout-button:hover,
.rsg-design-system #place_order:hover {
  border-color: var(--rsg-plum);
  background: var(--rsg-plum);
  color: #fff;
  transform: translateY(-2px);
}
.rsg-design-system input[type="text"],
.rsg-design-system input[type="email"],
.rsg-design-system input[type="tel"],
.rsg-design-system input[type="password"],
.rsg-design-system input[type="number"],
.rsg-design-system textarea,
.rsg-design-system select,
.rsg-design-system .select2-selection {
  min-height: 48px;
  border: 1px solid rgba(54, 25, 58, .20) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--rsg-ink) !important;
}
.rsg-design-system textarea { min-height: 150px; padding: 14px 16px; }
.rsg-design-system input::placeholder,
.rsg-design-system textarea::placeholder { color: #777078; opacity: 1; }

/* Product archives */
.rsg-design-system .product-grid-item .product-wrapper,
.rsg-design-system .wd-product .wd-product-wrapper {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--rsg-line);
  border-radius: 18px;
  background: var(--rsg-paper);
  box-shadow: 0 8px 30px rgba(48, 18, 50, .06);
}
.rsg-design-system .product-grid-item:hover .product-wrapper,
.rsg-design-system .wd-product:hover .wd-product-wrapper {
  transform: translateY(-5px);
  box-shadow: var(--rsg-shadow);
}
.rsg-design-system .product-grid-item .product-element-top,
.rsg-design-system .wd-product .wd-loop-prod-thumb {
  overflow: hidden;
  border-radius: 17px 17px 0 0;
  background: #efe5da;
}
.rsg-design-system .product-grid-item .product-element-bottom,
.rsg-design-system .wd-product .wd-product-footer { padding: 18px 18px 22px; }
.rsg-design-system .product-grid-item .wd-entities-title,
.rsg-design-system .wd-product .wd-entities-title {
  min-height: 2.4em;
  font-family: var(--rsg-serif);
  font-size: 22px;
  line-height: 1.08;
}
.rsg-design-system .product-grid-item .price,
.rsg-design-system .summary-inner .price { color: var(--rsg-plum); font-weight: 800; }
.rsg-design-system .onsale { background: var(--rsg-gold); color: #211022; font-weight: 900; }
.rsg-design-system .wd-product-filters { border-color: var(--rsg-line); }

/* Single product */
.rsg-design-system.single-product .site-content { padding-top: 36px; }
.rsg-design-system.single-product .woocommerce-product-gallery {
  overflow: hidden;
  border: 1px solid var(--rsg-line);
  border-radius: 24px;
  background: #f1e6dc;
  box-shadow: var(--rsg-shadow);
}
.rsg-design-system.single-product .product_title,
.rsg-design-system.single-product .wd-single-title .product_title {
  font-size: clamp(48px, 5vw, 76px);
  line-height: .94;
  font-family: var(--rsg-serif) !important;
  font-weight: 600 !important;
}
.rsg-design-system.single-product .summary-inner,
.rsg-design-system.single-product .wd-sticky-container-lg {
  border-color: var(--rsg-line);
}
.rsg-design-system.single-product .woocommerce-product-details__short-description {
  max-width: 58ch;
  color: var(--rsg-muted);
  font-size: 17px;
  line-height: 1.65;
}
.rsg-design-system .quantity input,
.rsg-design-system .quantity .minus,
.rsg-design-system .quantity .plus { min-width: 44px; min-height: 44px; }
.rsg-design-system .woocommerce-tabs { margin-top: 70px; }
.rsg-design-system .woocommerce-tabs .tabs { border-bottom: 1px solid var(--rsg-line); }

/* Cart and checkout */
.rsg-design-system.woocommerce-cart .site-content,
.rsg-design-system.woocommerce-checkout .site-content { padding-top: 64px; padding-bottom: 96px; }
.rsg-design-system .woocommerce-cart-form,
.rsg-design-system .cart-totals-inner,
.rsg-design-system .woocommerce-checkout .woocommerce-billing-fields,
.rsg-design-system .woocommerce-checkout .woocommerce-additional-fields,
.rsg-design-system .woocommerce-checkout-review-order,
.rsg-design-system .woocommerce-form-coupon {
  border: 1px solid var(--rsg-line);
  border-radius: 20px;
  background: var(--rsg-paper);
  box-shadow: 0 14px 46px rgba(48, 18, 50, .07);
}
.rsg-design-system .woocommerce-checkout .woocommerce-billing-fields,
.rsg-design-system .woocommerce-checkout .woocommerce-additional-fields { padding: 28px 30px; }
.rsg-design-system .cart-totals-inner,
.rsg-design-system .woocommerce-checkout-review-order { padding: 30px; }
.rsg-design-system .checkout-order-review { border: 0; }
.rsg-design-system .woocommerce-form-coupon { padding: 22px; }
.rsg-design-system .woocommerce-error,
.rsg-design-system .woocommerce-message,
.rsg-design-system .woocommerce-info { border-radius: 10px; }

/* Account, wishlist, and policy pages */
.rsg-design-system.woocommerce-account .woocommerce,
.rsg-design-system .wd-wishlist-content,
.rsg-design-system .entry-content > .woocommerce { margin-block: 60px 90px; }
.rsg-design-system .woocommerce-MyAccount-navigation,
.rsg-design-system .woocommerce-MyAccount-content {
  border: 1px solid var(--rsg-line);
  border-radius: 18px;
  background: var(--rsg-paper);
  box-shadow: 0 12px 40px rgba(48, 18, 50, .06);
}
.rsg-design-system .woocommerce-MyAccount-navigation { padding: 20px; }
.rsg-design-system .woocommerce-MyAccount-content { padding: 30px; }

/* Footer */
.rsg-design-system .footer-container,
.rsg-design-system .main-footer { background: var(--rsg-plum-deep); color: #d9cfd9; }
.rsg-design-system .footer-container a,
.rsg-design-system .main-footer a { color: #d9cfd9; }
.rsg-design-system .footer-container a:hover,
.rsg-design-system .main-footer a:hover { color: var(--rsg-gold); }
.rsg-design-system .footer-container .widget-title,
.rsg-design-system .main-footer .widget-title { color: var(--rsg-gold); font-family: var(--rsg-sans); font-size: 12px; letter-spacing: .15em; text-transform: uppercase; }
.rsg-design-system .copyrights-wrapper { border-top: 1px solid rgba(255,255,255,.12); background: #110513; color: #bfb3bf; }

@media (max-width: 1024px) {
  .rsg-design-system.single-product .product_title { font-size: clamp(42px, 8vw, 62px); }
  .rsg-design-system .product-grid-item .wd-entities-title { font-size: 20px; }
}

@media (max-width: 767px) {
  .rsg-design-system .button,
  .rsg-design-system .btn,
  .rsg-design-system button,
  .rsg-design-system a[role="button"],
  .rsg-design-system input[type="submit"] { min-height: 44px; }
  .rsg-design-system.woocommerce-cart .site-content,
  .rsg-design-system.woocommerce-checkout .site-content { padding-top: 36px; padding-bottom: 64px; }
  .rsg-design-system .woocommerce-cart-form,
  .rsg-design-system .cart-totals-inner,
  .rsg-design-system .woocommerce-checkout .woocommerce-billing-fields,
  .rsg-design-system .woocommerce-checkout .woocommerce-additional-fields,
  .rsg-design-system .woocommerce-checkout-review-order { border-radius: 14px; }
  .rsg-design-system .woocommerce-checkout .woocommerce-billing-fields,
  .rsg-design-system .woocommerce-checkout .woocommerce-additional-fields,
  .rsg-design-system .cart-totals-inner,
  .rsg-design-system .woocommerce-checkout-review-order { padding: 20px; }
}

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

@media (forced-colors: active) {
  .rsg-design-system :focus-visible { outline: 3px solid CanvasText !important; }
}
