/** Shopify CDN: Minification failed

Line 1329:21 Unexpected "*"
Line 1891:0 All "@import" rules must come first

**/
/** Shopify CDN: Minification failed

Line 1084:21 Unexpected "*"

**/
/** Shopify CDN: Minification failed

Line 1079:21 Unexpected "*"
Line 1542:18 Expected ")" to end URL token
Line 1553:20 Expected ")" to end URL token

**/
/* ============================================
   SHAPERACK BRAND STYLES
   Bold DTC shapewear brand identity
   ============================================ */

/* --- Google Fonts Import --- */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Outfit:wght@300;400;500;600;700&display=swap');

/* --- CSS Custom Properties --- */
:root {
  --color-plum: #5A175D;
  --color-plum-dark: #3D0040;
  --color-gold: #C9A96E;
  --color-gold-light: #e0c48e;
  --color-rose: #E8B4B8;
  --color-coral: #FF5A5F;
  --color-bg-dark: #1A0A1E;
  --color-bg-light: #FDF5F7;
  --color-white: #ffffff;
  --font-headline: 'Bebas Neue', sans-serif;
  --font-editorial: 'Playfair Display', serif;
  --font-body: 'Outfit', sans-serif;
  --transition-fast: 0.2s ease;
  --transition-med: 0.35s ease;
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 16px;
  --border-radius-pill: 100px;
}

/* --- Global Font Overrides --- */
body, p, span, li, input, select, textarea, button {
  font-family: var(--font-body);
}

/* --- Prevent Horizontal Overflow & Layout Shift --- */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  width: 100% !important;
}

h1, h2, h3, .h1, .h2, .h3,
.section-heading, .card__heading,
.product__title, .collection__title {
  font-family: var(--font-headline);
  letter-spacing: 0.02em;
}

.editorial, .caption, blockquote, .product__description em {
  font-family: var(--font-editorial);
}

/* --- Announcement Bar --- */
.sr-announcement-bar {
  background: linear-gradient(90deg, var(--color-plum) 0%, #7a2080 50%, var(--color-plum) 100%);
  background-size: 200% 100%;
  animation: shimmerBar 4s linear infinite;
  color: var(--color-gold);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 10px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.sr-announcement-bar::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(201,169,110,0.3), transparent);
  animation: shimmer 3s infinite;
}

@keyframes shimmer {
  0% { left: -100%; }
  100% { left: 200%; }
}

@keyframes shimmerBar {
  0% { background-position: 0% 0; }
  100% { background-position: 200% 0; }
}

/* --- Header Overrides --- */
.header, header-group, .header-wrapper {
  background-color: var(--color-bg-dark) !important;
  border-bottom: 1px solid var(--color-plum) !important;
}

.header__heading-link,
.header__menu-item,
.header .icon,
.header svg,
.header a {
  color: var(--color-white) !important;
  fill: var(--color-white) !important;
}

.header__menu-item:hover,
.header__heading-link:hover {
  color: var(--color-gold) !important;
}

.header__heading-logo {
  filter: brightness(0) invert(1);
}

/* --- Hero Section --- */
.sr-hero {
  background: linear-gradient(135deg, var(--color-bg-dark) 0%, var(--color-plum) 60%, #7a1a7d 100%);
  min-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  padding: 80px 20px;
  width: 100%;
  max-width: 100vw;
}

.sr-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(201,169,110,0.08) 0%, transparent 70%);
  pointer-events: none;
  z-index: 1;
}

.sr-hero__eyebrow {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 12px;
  display: block;
}

.sr-hero__title {
  font-family: var(--font-headline);
  font-size: clamp(56px, 9vw, 110px);
  line-height: 0.95;
  letter-spacing: 0.03em;
  color: var(--color-white);
  margin-bottom: 20px;
  text-transform: uppercase;
}

.sr-hero__title em {
  font-family: var(--font-editorial);
  font-style: italic;
  color: var(--color-rose);
  font-size: 0.75em;
}

.sr-hero__subtitle {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 300;
  color: rgba(255,255,255,0.8);
  max-width: 520px;
  margin: 0 auto 40px;
  line-height: 1.6;
}

.sr-hero__ctas {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.sr-btn-primary {
  background: var(--color-coral);
  color: var(--color-white);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 16px 36px;
  border: none;
  border-radius: var(--border-radius-pill);
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: all var(--transition-fast);
  box-shadow: 0 4px 20px rgba(255,90,95,0.4);
}

.sr-btn-primary:hover {
  background: #e04449;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(255,90,95,0.5);
  color: var(--color-white);
  text-decoration: none;
}

.sr-btn-secondary {
  background: transparent;
  color: var(--color-white);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 14px 34px;
  border: 2px solid rgba(255,255,255,0.6);
  border-radius: var(--border-radius-pill);
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: all var(--transition-fast);
}

.sr-btn-secondary:hover {
  border-color: var(--color-gold);
  color: var(--color-gold);
  text-decoration: none;
}

/* --- Collections Grid --- */
.sr-collections {
  padding: 80px 20px;
  background: var(--color-bg-light);
}

.sr-collections__header {
  text-align: center;
  margin-bottom: 48px;
}

.sr-collections__label {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 12px;
  display: block;
}

.sr-collections__title {
  font-family: var(--font-headline);
  font-size: clamp(36px, 5vw, 64px);
  color: var(--color-plum);
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.sr-collections__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  justify-items: stretch;
}

.sr-collection-card {
  display: block;
  position: relative;
  border-radius: var(--border-radius-md);
  overflow: hidden;
  aspect-ratio: 3/4;
  cursor: pointer;
  background: var(--color-plum);
  width: 100%;
  min-width: 0;
  max-width: none;
  justify-self: stretch;
}

.sr-collection-card__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, var(--color-plum) 0%, var(--color-bg-dark) 100%);
  transition: transform var(--transition-med);
}

.sr-collection-card:hover .sr-collection-card__bg {
  transform: scale(1.05);
}

.sr-collection-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26,10,30,0.5) 0%, transparent 60%);
}

.sr-collection-card__content {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 28px 24px;
}

.sr-collection-card__name {
  font-family: var(--font-headline);
  font-size: 24px;
  letter-spacing: 0.04em;
  color: var(--color-white);
  display: block;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.sr-collection-card__cta {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-gold);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
}

.sr-collection-card__cta::after {
  content: '→';
  transition: transform var(--transition-fast);
}

.sr-collection-card:hover .sr-collection-card__cta::after {
  transform: translateX(4px);
}

/* --- Bundle Offer Section --- */
.sr-bundle {
  padding: 80px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.sr-bundle__bg {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

.sr-bundle__overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(26,10,30,0.82) 0%, rgba(90,23,93,0.75) 100%);
  z-index: 1;
  pointer-events: none;
}

.sr-bundle__badge {
  display: inline-block;
  background: var(--color-coral);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: var(--border-radius-pill);
  margin-bottom: 20px;
}

.sr-bundle__title {
  font-family: var(--font-headline);
  font-size: clamp(48px, 7vw, 90px);
  color: var(--color-white);
  line-height: 0.95;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.sr-bundle__price-highlight {
  color: var(--color-gold);
}

.sr-bundle__subtitle {
  font-family: var(--font-editorial);
  font-style: italic;
  font-size: 18px;
  color: var(--color-rose);
  margin-bottom: 32px;
}

.sr-bundle__details {
  font-family: var(--font-body);
  font-size: 14px;
  color: rgba(255,255,255,0.65);
  margin-bottom: 40px;
}

/* --- Trust Badges --- */
.sr-trust {
  background: var(--color-white);
  padding: 48px 20px;
  border-top: 1px solid var(--color-rose);
  border-bottom: 1px solid var(--color-rose);
}

.sr-trust__grid {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 40px;
  max-width: 900px;
  margin: 0 auto;
}

.sr-trust__item {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
}

.sr-trust__icon {
  width: 44px;
  height: 44px;
  background: var(--color-bg-light);
  border: 2px solid var(--color-rose);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.sr-trust__label {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 14px;
  color: var(--color-plum);
  display: block;
  line-height: 1.2;
}

.sr-trust__sublabel {
  font-family: var(--font-body);
  font-size: 12px;
  color: #888;
  display: block;
}

/* --- Social Proof --- */
.sr-social-proof {
  background: var(--color-bg-light);
  padding: 80px 20px;
}

.sr-reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
  max-width: 1100px;
  margin: 48px auto 0;
}

.sr-review-card {
  background: var(--color-white);
  border: 1px solid var(--color-rose);
  border-radius: var(--border-radius-md);
  padding: 28px;
  position: relative;
}

.sr-review-card__stars {
  color: var(--color-gold);
  font-size: 16px;
  margin-bottom: 12px;
  letter-spacing: 2px;
}

.sr-review-card__text {
  font-family: var(--font-editorial);
  font-style: italic;
  font-size: 15px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 16px;
}

.sr-review-card__author {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 13px;
  color: var(--color-plum);
}

/* --- Email Signup --- */
.sr-email-signup {
  padding: 80px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.sr-email-signup__bg {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

.sr-email-signup__overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(90,23,93,0.8) 0%, rgba(26,10,30,0.85) 100%);
  z-index: 1;
  pointer-events: none;
}

.sr-email-signup__eyebrow {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 12px;
  display: block;
}

.sr-email-signup__title {
  font-family: var(--font-headline);
  font-size: clamp(36px, 5vw, 64px);
  color: var(--color-white);
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 8px;
}

.sr-email-signup__title span {
  color: var(--color-rose);
}

.sr-email-signup__subtitle {
  font-family: var(--font-body);
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 36px;
  font-weight: 300;
}

.sr-email-signup__form {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 500px;
  margin: 0 auto;
}

.sr-email-signup__input {
  flex: 1;
  min-width: 220px;
  padding: 14px 20px;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: var(--border-radius-pill);
  background: rgba(255,255,255,0.1) !important;
  color: #ffffff !important;
  font-family: var(--font-body);
  font-size: 14px;
  outline: none;
  transition: border-color var(--transition-fast);
}

.sr-email-signup__input::placeholder { color: rgba(255,255,255,0.5) !important; }
.sr-email-signup__input:focus { border-color: var(--color-gold); }

.sr-email-signup__disclaimer {
  font-size: 11px;
  color: rgba(255,255,255,0.4);
  margin-top: 16px;
}

/* --- Product Cards --- */
.card-wrapper .card {
  border: 1px solid transparent;
  transition: all var(--transition-med);
  border-radius: var(--border-radius-md);
  overflow: hidden;
}

.card-wrapper:hover .card {
  border-color: var(--color-rose);
  box-shadow: 0 8px 32px rgba(90,23,93,0.12);
  transform: translateY(-4px);
}

.card__heading a {
  font-family: var(--font-body);
  font-weight: 600;
  color: var(--color-plum);
}

.badge.badge--sale,
.badge--sale {
  background-color: var(--color-coral) !important;
  color: #fff !important;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  border-radius: var(--border-radius-pill);
}

.badge--sold-out {
  background-color: var(--color-plum) !important;
  color: #fff !important;
}

.price--on-sale .price-item--sale {
  color: var(--color-coral) !important;
  font-weight: 700;
}

.card .quick-add__submit,
.card .quick-add button {
  background: var(--color-plum);
  color: var(--color-white);
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: 0.08em;
  transition: background var(--transition-fast);
  border: none;
}

.card .quick-add__submit:hover,
.card .quick-add button:hover {
  background: var(--color-coral);
}

/* --- Buttons (global override) --- */
.button, .btn, [type="submit"].button {
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: var(--border-radius-pill) !important;
  transition: all var(--transition-fast);
}

.button--primary {
  background: var(--color-plum) !important;
  color: var(--color-white) !important;
  border-color: var(--color-plum) !important;
}

.button--primary:hover {
  background: var(--color-coral) !important;
  border-color: var(--color-coral) !important;
}

/* --- Footer --- */
.footer, footer-group {
  background-color: var(--color-bg-dark) !important;
  color: rgba(255,255,255,0.8) !important;
  border-top: 2px solid var(--color-plum);
}

.footer h2, .footer h3, .footer .h3, .footer__heading {
  font-family: var(--font-headline) !important;
  color: var(--color-gold) !important;
  letter-spacing: 0.06em;
  font-size: 16px;
  text-transform: uppercase;
}

.footer a, .footer p, .footer li, .footer span {
  color: rgba(255,255,255,0.65) !important;
  font-family: var(--font-body) !important;
}

.footer a:hover {
  color: var(--color-gold) !important;
}

.footer__logo-image {
  filter: brightness(0) invert(1);
}

/* Footer newsletter input - ensure visible text */
footer-group input[type="email"],
footer-group .field__input,
.footer input[type="email"],
.footer .field__input,
.footer .newsletter-form__field-wrapper input,
.footer-block--newsletter input {
  background: rgba(255,255,255,0.1) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 40px !important;
}

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

/* Footer columns - center headings and list items on desktop */
.footer__column,
.footer-block,
.footer-block__details-content {
  text-align: center !important;
}

.footer .list-menu {
  justify-content: center !important;
}

.footer__heading,
.footer h2,
.footer h3 {
  text-align: center !important;
}

/* Footer menu summary headings (flex elements - need justify-content) */
footer-group summary,
.footer summary,
summary.menu__heading,
summary.footer-block__heading {
  justify-content: center !important;
  text-align: center !important;
}

/* --- Navigation --- */
.list-menu__item a,
.header__menu-item {
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 13px;
}

/* --- Section Spacing --- */
.shopify-section {
  overflow: hidden;
  max-width: 100%;
}

/* --- Marquee/Ticker --- */
.sr-marquee {
  background: var(--color-plum);
  color: var(--color-gold);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 10px 0;
  overflow: hidden;
  white-space: nowrap;
}

.sr-marquee__inner {
  display: inline-flex;
  animation: marquee 20s linear infinite;
  gap: 0;
}

.sr-marquee__item {
  padding: 0 40px;
}

.sr-marquee__item::after {
  content: '✦';
  margin-left: 40px;
  color: var(--color-rose);
}

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* --- Responsive --- */
@media (max-width: 768px) {

  .sr-hero { min-height: 70vh; padding: 60px 16px; }

  .sr-hero__title { font-size: clamp(44px, 12vw, 80px); }

  .sr-collections__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

  .sr-reviews-grid { grid-template-columns: 1fr; }

  .sr-email-signup__form { flex-direction: column; }

  .sr-email-signup__input { width: 100%; }
}

@media (max-width: 480px) {
  .sr-collections__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .sr-collection-card { aspect-ratio: 1/1; }
}


/* ===== STRONG HEADER OVERRIDE ===== */
:root {
  --color-scheme-2-bg: #1A0A1E;
  --color-scheme-2-text: #ffffff;
}

/* Force dark header regardless of scheme */
header-section,
.header-wrapper,
header-group header-section,
shopify-section[id*="header"] .header-wrapper,
.shopify-section-group-header-group header-section,
sticky-header,
sticky-header > *,
.header {
  background-color: #1A0A1E !important;
  color: #ffffff !important;
}

/* White nav links on dark header */
header-section a,
.header a,
.header span,
header-section .icon,
header-section svg path,
.header__icon svg path,
.header__icon svg,
.cart-count-bubble {
  color: #ffffff !important;
  stroke: #ffffff !important;
  fill: #ffffff !important;
}

header-section a:hover,
.header a:hover {
  color: #C9A96E !important;
  text-decoration: none;
}

/* Header bottom border */
header-section,
sticky-header {
  border-bottom: 1px solid #5A175D !important;
}

/* ===== CART DRAWER — Text Readability Fix ===== */
/* The cart drawer inherits white text from the dark header color scheme,
   but has a light/transparent background — making text invisible.
   Force a clean light background with dark readable text. */
cart-drawer-component .cart-drawer,
cart-drawer-component .drawer {
  background-color: #fdf5f7 !important;
  color: #2d0a3e !important;
}

/* Cart drawer header ("Cart" title) */
cart-drawer-component h2,
cart-drawer-component .cart-drawer__title,
cart-drawer-component [class*="heading"] {
  color: #2d0a3e !important;
  font-family: 'Playfair Display', serif !important;
}

/* Product titles in cart */
cart-drawer-component a,
cart-drawer-component .cart-items__title,
cart-drawer-component [class*="cart-item"] a {
  color: #2d0a3e !important;
}

cart-drawer-component a:hover {
  color: #c9a84c !important;
}

/* Product variant/option text */
cart-drawer-component .cart-items__option,
cart-drawer-component .cart-item__variant,
cart-drawer-component [class*="variant"],
cart-drawer-component .product-option,
cart-drawer-component dd,
cart-drawer-component dt {
  color: #5a3a5e !important;
}

/* Prices */
cart-drawer-component .cart-items__price,
cart-drawer-component [class*="price"],
cart-drawer-component .cart-item__price {
  color: #2d0a3e !important;
}

/* Totals section (Estimated total, Discount) */
cart-drawer-component .cart-totals,
cart-drawer-component [class*="total"],
cart-drawer-component [class*="subtotal"],
cart-drawer-component [class*="discount"] {
  color: #2d0a3e !important;
}

/* General text, labels, and spans */
cart-drawer-component p,
cart-drawer-component span,
cart-drawer-component label,
cart-drawer-component td,
cart-drawer-component th,
cart-drawer-component .cart-secondary-typography {
  color: #3a2a3e !important;
}

/* "Taxes and shipping" note */
cart-drawer-component .tax-note,
cart-drawer-component [class*="remark"],
cart-drawer-component small {
  color: #6a5a6e !important;
}

/* Quantity input */
cart-drawer-component input[type="number"],
cart-drawer-component quantity-input input {
  color: #2d0a3e !important;
  background-color: #fff !important;
  border-color: rgba(45, 10, 62, 0.2) !important;
}

/* Quantity +/- buttons */
cart-drawer-component quantity-input button,
cart-drawer-component .quantity__button {
  color: #2d0a3e !important;
}

/* Close button */
cart-drawer-component .drawer__close,
cart-drawer-component [class*="close"] button,
cart-drawer-component button[aria-label="Close"] {
  color: #2d0a3e !important;
}

/* Checkout button — brand plum */
cart-drawer-component .button,
cart-drawer-component [name="checkout"],
cart-drawer-component [class*="checkout"] .button {
  background-color: #2d0a3e !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

cart-drawer-component .button:hover,
cart-drawer-component [name="checkout"]:hover {
  background-color: #3d1a4e !important;
}

/* Discount input field */
cart-drawer-component input[type="text"],
cart-drawer-component .cart__discount input {
  color: #2d0a3e !important;
  background-color: #fff !important;
  border-color: rgba(45, 10, 62, 0.2) !important;
}

/* SVG icons inside cart drawer */
cart-drawer-component svg,
cart-drawer-component .icon {
  color: #2d0a3e !important;
  stroke: #2d0a3e !important;
}

/* Remove button */
cart-drawer-component .cart-item__remove button,
cart-drawer-component [class*="remove"] {
  color: #8a6a8e !important;
}

cart-drawer-component .cart-item__remove button:hover,
cart-drawer-component [class*="remove"]:hover {
  color: #c9a84c !important;
}

/* Remove default Horizon announcement bar if our custom one is showing */
.sr-section-announcement ~ .shopify-section-group-header-group .header-announcements {
  display: none;
}

/* ===== FOOTER STRONG OVERRIDE ===== */
footer-group,
footer-section,
.footer-section,
shopify-section[id*="footer"] {
  background-color: #1A0A1E !important;
  color: rgba(255,255,255,0.8) !important;
}

footer-group a,
footer-section a,
.footer a {
  color: rgba(255,255,255,0.65) !important;
  transition: color 0.2s ease;
}

footer-group a:hover,
footer-section a:hover {
  color: #C9A96E !important;
}

footer-group .footer__heading,
footer-group h2, footer-group h3,
footer-section h2, footer-section h3 {
  color: #C9A96E !important;
  font-family: var(--font-headline) !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 15px !important;
}

footer-group p,
footer-group li,
footer-group span:not(.sr-btn-primary):not(.sr-btn-secondary) {
  color: rgba(255,255,255,0.65) !important;
  font-family: var(--font-body) !important;
}

/* Footer divider */
footer-group {
  border-top: 2px solid #5A175D !important;
}

/* Payment icons white */
footer-group .payment-icons svg,
footer-group .payment-icons img {
  filter: brightness(0) invert(0.8);
}


/* ============================================
   MOBILE CENTERING - Comprehensive Layout Fix
   ============================================ */
@media (max-width: 768px) {

  body,
  .shopify-section,
  section,
  footer,
  footer-group,
  footer-section,
  header,
  header-section,
  .header-wrapper {
    text-align: center !important;
  }


  footer-group,
  footer-section,
  .footer,
  .footer__content-top,
  .footer__content-bottom,
  .footer__column,
  .footer__blocks-wrapper,
  .footer-block,
  .footer-block__details-content,
  .footer .list-menu,
  .footer .list-menu__item,
  .footer a,
  .footer p,
  .footer li,
  .footer span,
  .footer h2,
  .footer h3,
  .footer__heading {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
  }


  .footer__content-top,
  .footer__blocks-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }


  .footer__column,
  .footer-block {
    width: 100% !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }


  .footer .list-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 !important;
  }


  .sr-announcement-bar,
  .header-announcements,
  .announcement-bar {
    text-align: center !important;
    justify-content: center !important;
  }

  /* Hide announcement bar navigation arrows on mobile */
  .announcement-bar .slider-button,
  .announcement-bar__arrow,
  .announcement-bar-slider .slider-button,
  .header-announcements .slider-button,
  .header-announcements button[class*="slider"],
  .announcement-bar button[name="previous"],
  .announcement-bar button[name="next"],
  .announcement-bar .slideshow-control,
  .announcement-bar-slider button {
    display: none !important;
  }


  .sr-hero,
  .sr-hero__content,
  .sr-hero__subtitle,
  .sr-hero__eyebrow,
  .sr-hero__title {
    text-align: center !important;
    align-items: center !important;
  }


  .sr-hero__ctas {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }


  .sr-hero__subtitle {
    margin-left: auto !important;
    margin-right: auto !important;
  }


  .sr-collections__grid,
  .collection-list,
  .grid,
  .product-grid {
    justify-items: center !important;
  }


  .card-wrapper,
  .card,
  .product-card-wrapper {
    text-align: center !important;
  }


  .card__heading,
  .card__heading a,
  .card-information,
  .card__content,
  .price {
    text-align: center !important;
    justify-content: center !important;
  }


  .sr-email-signup,
  .sr-email-signup__form {
    text-align: center !important;
    align-items: center !important;
  }


  .sr-email-signup__form {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }


  .sr-email-signup__input {
    text-align: center !important;
  }


  .sr-collections__header,
  .sr-collections__title,
  .sr-collections__label,
  .collection-hero,
  .collection-hero__inner,
  .collection-hero__title {
    text-align: center !important;
  }


  .header__inline-menu,
  .list-menu,
  .list-menu--inline {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }


  .menu-drawer__menu,
  .menu-drawer__navigation {
    text-align: center !important;
  }


  .menu-drawer__menu li,
  .menu-drawer__menu a {
    text-align: center !important;
    justify-content: center !important;
  }


  .sr-bundle,
  .sr-bundle__badge,
  .sr-bundle__title,
  .sr-bundle__subtitle,
  .sr-bundle__details {
    text-align: center !important;
  }


  .sr-bundle__badge {
    margin-left: auto !important;
    margin-right: auto !important;
  }


  .sr-social-proof,
  .sr-social-proof__header,
  .sr-review-card,
  .sr-review-card__text,
  .sr-review-card__author {
    text-align: center !important;
  }


  .sr-marquee {
    text-align: center !important;
  }


  h1, h2, h3, h4, h5, h6,
  .h1, .h2, .h3, .h4, .h5, .h6,
  .section-heading,
  .title,
  .heading {
    text-align: center !important;
  }


  .page-width,
  .page-width--narrow {
    text-align: center !important;
  }


  .sr-btn-primary, .sr-btn-secondary {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: fit-content !important;
  }
}


/* ============================================
   MOBILE CENTERING - ShapeRack
   ============================================ */
@media (max-width: 768px) {
  /* Global text centering */
  body, .shopify-section, .page-width, .content-container,
  .section-template--*,
  [class*="section-"] {
    text-align: center !important;
  }

  h1, h2, h3, h4, h5, h6, p, li, span, a, label,
  .title, .subtitle, .caption, .rte {
    text-align: center !important;
  }

  /* Flex and grid centering */
  /* EXCLUDE: product-grid, main-collection-grid, media-gallery from centering overrides */
  .grid:not(.product-grid):not(.main-collection-grid):not([class*="media-gallery"]),
  .grid--gutter,
  .collection-list,
  .list-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .grid__item, .grid-item {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  /* Buttons centered — EXCLUDE Shopify product/buy buttons */
  .shaperack-cta, .shaperack-btn {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    width: fit-content !important;
  }

  /* Images centered — EXCLUDE product media components */
  img:not(.product-grid__item img):not(media-gallery img):not(slideshow-component img),
  picture,
  .image-wrapper {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Footer centering */
  .footer, footer, .footer__content-top, .footer__content-bottom,
  .footer-block, .footer-block__details-content,
  .footer__column, [class*="footer"] {
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .footer .grid, .footer .grid__item,
  footer .grid, footer .grid__item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  .footer__list-social {
    justify-content: center !important;
  }

  /* Navigation centering */
  .header__menu, .menu-drawer, nav, .nav,
  .list-menu--inline {
    text-align: center !important;
    justify-content: center !important;
  }

  /* ShapeRack custom sections */
  .shaperack-hero, .shaperack-hero-content,
  .shaperack-collections-grid, .shaperack-bundle,
  .shaperack-trust-badges, .shaperack-social-proof,
  .shaperack-email-signup, .shaperack-announcement {
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .shaperack-trust-badges .badges-container,
  .shaperack-collections-grid .collections-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: center !important;
    gap: 1rem !important;
  }

  /* Page width on mobile */
  .page-width {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* Collection cards */
  .card, .card-wrapper, .product-card, .collection-card {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Announcement bar */
  .announcement-bar, .announcement-bar__message {
    text-align: center !important;
    justify-content: center !important;
  }
}


/* ============================================
   COMPREHENSIVE MOBILE CENTERING
   All content centered on mobile devices
   ============================================ */

@media (max-width: 768px) {

  /* --- Global Text Alignment --- */
  body,
  .page-width,
  .shopify-section,
  section,
  article,
  main,
  header,
  footer,
  aside {
    text-align: center !important;
  }

  h1, h2, h3, h4, h5, h6,
  .h1, .h2, .h3, .h4, .h5, .h6,
  .title, .heading, .subtitle {
    text-align: center !important;
  }

  p, li, span, label, figcaption,
  .rte, .rte p, .rte li,
  .rich-text__text, .rich-text p {
    text-align: center !important;
  }

  ul, ol {
    text-align: center !important;
    list-style-position: inside !important;
    padding-left: 0 !important;
  }

  /* --- Flex Container Centering --- */
  /* EXCLUDE Shopify product components from flex overrides */
  .flex:not(.product-card__content):not(.product-grid__card):not(.layout-panel-flex),
  .d-flex:not(.product-card__content) {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  .flex-row, .flex-col,
  [class*="flex-direction"] {
    align-items: center !important;
  }

  /* --- Grid Layouts: Single Column Centered --- */
  /* EXCLUDE: product-grid (2-col on mobile), main-collection-grid, media-gallery__grid */
  .grid:not(.product-grid):not(.main-collection-grid):not([class*="media-gallery"]),
  .collection-list,
  .grid--2-col:not(.product-grid), .grid--3-col:not(.product-grid), .grid--4-col:not(.product-grid),
  .grid--2-col-tablet, .grid--3-col-tablet,
  .grid--2-col-desktop, .grid--3-col-desktop, .grid--4-col-desktop {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 1.5rem !important;
  }

  .grid__item:not(.product-grid__item), .grid-item:not(.product-grid__item) {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    justify-self: center !important;
  }

  /* --- Buttons Centered --- */
  /* EXCLUDE: Shopify buy buttons, add-to-cart, slideshow controls */
  .btn:not(.add-to-cart-button):not(.slideshow-control),
  a.btn, a.button,
  .form__submit {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    width: fit-content !important;
  }

  .button-group, .btn-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.75rem !important;
  }

  /* --- Images Centered --- */
  /* EXCLUDE: Shopify product media components (card-gallery, slideshow, product-media, media-gallery) */
  img:not(.product-grid__item img):not(media-gallery img),
  picture, video, svg,
  .image-wrapper,
  .image:not([class*="product"]):not([class*="card"]):not([class*="slideshow"]),
  figure {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* --- Navigation Centered --- */
  nav, .nav, .navigation,
  .header__nav, .menu,
  .mobile-nav, .mobile-menu {
    text-align: center !important;
    justify-content: center !important;
  }

  .nav__item, .menu-item,
  .header__menu-item {
    text-align: center !important;
  }

  .header, .site-header,
  .header__wrapper, .header-wrapper,
  .section-header {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .header__heading, .header__heading-link,
  .header-logo, .site-header__logo {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  /* --- Footer Fully Centered, Stacked Columns --- */
  footer, .footer,
  .site-footer, .footer-section,
  .section-footer {
    text-align: center !important;
  }

  .footer__content-top,
  .footer__content-bottom,
  .footer__blocks-wrapper,
  .footer-block__details-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 2rem !important;
  }

  .footer-block, .footer__block,
  .footer-column, .footer__column {
    width: 100% !important;
    text-align: center !important;
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .footer__list, .footer-links,
  .footer-block__details-content ul {
    text-align: center !important;
    padding-left: 0 !important;
    list-style: none !important;
    align-items: center !important;
  }

  .footer__list-item, .footer-links a {
    text-align: center !important;
    display: block !important;
  }

  .footer .newsletter, .footer .email-signup,
  .footer-block--newsletter {
    text-align: center !important;
    align-items: center !important;
    width: 100% !important;
  }

  .footer .social-icons, .footer__social,
  .footer .list-social {
    justify-content: center !important;
    text-align: center !important;
  }

  .footer__copyright, .footer__payment,
  .footer__content-bottom-wrapper {
    text-align: center !important;
    justify-content: center !important;
  }

  /* --- Product Cards and Collections Centered --- */
  .card, .card-wrapper,
  .product-card, .collection-card,
  .card__content, .card__information,
  .card__heading, .card__text {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .price, .price__container,
  .price-item, .product__price,
  .card__price {
    text-align: center !important;
    justify-content: center !important;
  }

  /* --- Forms Centered --- */
  form, .form, .form__inner,
  .contact-form, .newsletter-form {
    text-align: center !important;
    align-items: center !important;
  }

  input, select, textarea,
  .field, .form__input {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* --- ShapeRack Custom Sections Centered --- */
  .shaperack-hero, .shaperack-hero-content,
  .shaperack-collections-grid, .shaperack-bundle,
  .shaperack-trust-badges, .shaperack-social-proof,
  .shaperack-email-signup, .shaperack-announcement,
  .shaperack-about, .shaperack-faq,
  .shaperack-testimonials, .shaperack-features,
  .shaperack-benefits, .shaperack-sizing,
  .shaperack-reviews, .shaperack-cta,
  [class*="shaperack-"] {
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .shaperack-trust-badges .badges-container,
  .shaperack-collections-grid .collections-container,
  [class*="shaperack-"] .container,
  [class*="shaperack-"] .wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: center !important;
    gap: 1.5rem !important;
  }

  /* --- Shopify Theme Section Centering --- */
  .multicolumn, .multicolumn-list,
  .multicolumn-list__item {
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .banner, .banner__content,
  .banner__heading, .banner__text,
  .banner__buttons {
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .rich-text, .rich-text__wrapper,
  .rich-text__blocks {
    text-align: center !important;
    align-items: center !important;
  }

  .image-with-text, .image-with-text__content,
  .image-with-text__text {
    text-align: center !important;
    align-items: center !important;
  }

  .collapsible-content, .accordion,
  .collapsible-content__wrapper {
    text-align: center !important;
  }

  .featured-collection, .featured-collection__heading {
    text-align: center !important;
  }

  /* --- Announcement Bar --- */
  .announcement-bar, .announcement-bar__message,
  .utility-bar, .promo-bar {
    text-align: center !important;
    justify-content: center !important;
  }

  /* --- Misc Centering Overrides --- */
  .container, .wrapper,
  .inner, .content,
  .section-content {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Ensure inline elements wrap and center */
  .inline-list, .breadcrumb,
  .tags, .badges {
    justify-content: center !important;
    text-align: center !important;
    flex-wrap: wrap !important;
  }

  /* Cart and checkout */
  .cart, .cart__items,
  .cart__footer, .cart-notification {
    text-align: center !important;
    align-items: center !important;
  }

  /* Pagination */
  .pagination, .pagination__list {
    justify-content: center !important;
    text-align: center !important;
  }

  /* Icon lists and features */
  .icon-list, .feature-list,
  .benefits-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
}





/* ============================================
   FIX: Footer headings centered on mobile
   ============================================ */
@media (max-width: 768px) {
  .footer h2, .footer h3, .footer h4, .footer .h2, .footer .h3,
  .footer-block__heading, footer h2, footer h3, footer h4,
  [class*="footer"] h2, [class*="footer"] h3, [class*="footer"] h4,
  .footer .heading, .footer-block .heading,
  .footer-block > h2, .footer-block > h3, .footer-block > h4 {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
  }

  .footer-block__details-content ul,
  .footer-block__details-content li,
  .footer .list-unstyled, .footer .list-unstyled li {
    text-align: center !important;
    list-style-position: inside !important;
  }
}

/* ============================================
   FIX: 4 elements as 2x2 grid on mobile
   ============================================ */
@media (max-width: 768px) {
  .shaperack-trust-badges .badges-container,
  .shaperack-collections-grid .collections-container,
  .multicolumn-list,
  .grid--4-col-desktop,
  .grid--4-col-tablet,
  .multicolumn-list__item-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
    text-align: center !important;
    flex-direction: initial !important;
  }

  .shaperack-trust-badges .badges-container > *,
  .shaperack-collections-grid .collections-container > *,
  .multicolumn-list > li,
  .multicolumn-list__item {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: auto !important;
    max-width: none !important;
  }
}


/* ============================================
   SHAPERACK CUSTOM LOGO STYLES
   ============================================ */
.shaperack-custom-logo {
  height: 60px !important;
  width: auto !important;
  max-width: 250px !important;
  object-fit: contain !important;
}

@media (max-width: 768px) {
  .shaperack-custom-logo {
    height: 45px !important;
    max-width: 180px !important;
  }
}

/* ============================================
   FIX: Trust badges 2x2 grid on mobile
   High-specificity override
   ============================================ */
@media (max-width: 768px) {
  .shaperack-trust-badges .badges-container,
  .multicolumn-list,
  .grid--4-col-desktop,
  section [class*="grid"][class*="4"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    flex-direction: initial !important;
    gap: 1rem !important;
  }

  .shaperack-trust-badges .badges-container > *,
  .multicolumn-list > li,
  .multicolumn-list__item {
    width: auto !important;
    max-width: none !important;
  }
}

/* SHAPERACK FOOTER HEADINGS - CENTER ON MOBILE */
@media (max-width: 768px) {
  .menu__heading,
  .menu__heading.h3,
  .menu__heading__default,
  .menu__heading__accordion,
  .footer-content h3,
  .footer-content summary {
    text-align: center !important;
    justify-content: center !important;
  }
  .footer-content .menu__list {
    text-align: center !important;
  }
}




/* ====== SHAPERACK LOGO v4 - Bodoni Moda High Fashion ====== */
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@0,400;0,500;0,700;0,900;1,400&display=swap');

/* Header Logo */
.header-logo { font-size: 0 !important; line-height: 0 !important; }
.header-logo .header-logo__image-container {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-decoration: none !important;
}
.header-logo .header-logo__image-container * { display: none !important; }

/* SHAPE (bold) via ::before */
.header-logo .header-logo__image-container::before {
  content: "SHAPE" !important;
  display: block !important;
  font-family: 'Bodoni Moda', 'Didot', 'Georgia', serif !important;
  font-weight: 900 !important;
  font-size: 30px !important;
  color: white !important;
  letter-spacing: 5px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

/* Separator + RACK (lighter) via ::after */
.header-logo .header-logo__image-container::after {
  content: "RACK" !important;
  display: block !important;
  font-family: 'Bodoni Moda', 'Didot', 'Georgia', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: 30px !important;
  color: white !important;
  letter-spacing: 5px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  margin-left: 12px !important;
  padding-left: 14px !important;
  border-left: 1px solid rgba(255,255,255,0.25) !important;
}

/* Footer Logo */
footer .text-block h3 {
  font-size: 0 !important;
  line-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

footer .text-block h3::before {
  content: "SHAPE" !important;
  display: block !important;
  font-family: 'Bodoni Moda', 'Didot', 'Georgia', serif !important;
  font-weight: 900 !important;
  font-size: 22px !important;
  color: white !important;
  letter-spacing: 4px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

footer .text-block h3::after {
  content: "RACK" !important;
  display: block !important;
  font-family: 'Bodoni Moda', 'Didot', 'Georgia', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: 22px !important;
  color: white !important;
  letter-spacing: 4px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  margin-left: 10px !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(255,255,255,0.2) !important;
}

@media (max-width: 768px) {

  .header-logo .header-logo__image-container { justify-content: center !important; margin: 0 auto !important; }

  .header-logo .header-logo__image-container::before { font-size: 22px !important; letter-spacing: 4px !important; }

  .header-logo .header-logo__image-container::after { font-size: 22px !important; letter-spacing: 4px !important; margin-left: 8px !important; padding-left: 10px !important; }

  footer .text-block h3 { justify-content: center !important; width: 100% !important; max-width: none !important; max-inline-size: none !important; }

  footer .text-block h3::before { font-size: 18px !important; }

  footer .text-block h3::after { font-size: 18px !important; margin-left: 8px !important; padding-left: 10px !important; }

  summary.menu__heading, summary.menu__heading.h3, .menu__heading { text-align: center !important; width: 100% !important; display: flex !important; justify-content: center !important; }

  .text-block, [id*="footer"] .text-block, [id*="footer"] .spacing-style { text-align: center !important; }

  [id*="footer"] details, [id*="footer"] .menu__details, footer-group details { text-align: center !important; }

  [id*="footer"] details ul, [id*="footer"] details li, [id*="footer"] details a, footer-group details ul, footer-group details li, footer-group details a { text-align: center !important; justify-content: center !important; }
}


/* ====== TRUST BADGES FIX v2 ====== */
.sr-trust { padding: 20px 0 !important; }
.sr-trust__grid {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 50px !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}
.sr-trust__item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-align: left !important;
}
.sr-trust__icon {
  flex-shrink: 0 !important;
  color: var(--color-plum, #5A175D) !important;
  line-height: 0 !important;
}
.sr-trust__icon svg,
.sr-trust__icon-image {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
}
.sr-trust__label {
  display: block !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #2d1a2d !important;
}
.sr-trust__sublabel {
  display: block !important;
  font-size: 12px !important;
  color: #666 !important;
}

/* Account icon: show icon, hide text label */
.account-button {
  display: flex !important;
}
.account-button__text {
  display: none !important;
}

/* Trust badges: 2 columns on mobile */


/* Footer menu centering */
.footer-content {
  justify-items: center !important;
  text-align: center !important;
}
.footer-content .menu {
  text-align: center !important;
}
.footer-content .menu__item {
  text-align: center !important;
}
.footer-content .list-unstyled {
  text-align: center !important;
}

/* Remove fire emoji from Best Sellers nav link */


/* ============================================
   TRUST BADGES - MOBILE LAYOUT (Clean Grid)
   ============================================ */
@media (max-width: 768px) {
  .sr-trust {
    display: block !important;
    padding: 32px 20px !important;
    text-align: center !important;
  }

  .sr-trust__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 16px !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    justify-items: center !important;
    align-items: start !important;
    flex-wrap: unset !important;
    flex-direction: unset !important;
  }

  .sr-trust__item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: unset !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .sr-trust__icon {
    width: 48px !important;
    height: 48px !important;
    margin: 0 auto !important;
    flex-shrink: 0 !important;
  }

  .sr-trust__icon svg {
    width: 24px !important;
    height: 24px !important;
  }

  .sr-trust__label {
    font-size: 13px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    display: block !important;
  }

  .sr-trust__sublabel {
    font-size: 11px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    display: block !important;
  }
}


/* ============================================
   MOBILE MENU - Dark Elegant Off-Canvas Styles
   ============================================ */

.menu-drawer,
.menu-drawer.color-scheme-1 {
  background: linear-gradient(160deg, #0d0d0d 0%, #1a1018 40%, #1e1225 100%) !important;
  color: #f5f0f5 !important;
}

.menu-drawer__menu-item,
.menu-drawer__menu-item--mainlist,
.menu-drawer__menu-item--submenu {
  color: #ffffff !important;
  font-weight: 300 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  padding: 14px 24px !important;
  transition: color 0.3s ease, letter-spacing 0.3s ease !important;
}

.menu-drawer__menu-item:hover,
.menu-drawer__menu-item:focus {
  color: #c9a96e !important;
  letter-spacing: 3px !important;
}

.menu-drawer__menu-item-text {
  color: inherit !important;
}

.menu-drawer__close-button,
.menu-drawer__close-button svg,
.menu-drawer .close-button {
  color: #c9a96e !important;
  opacity: 1 !important;
}

.menu-drawer__close-button:hover {
  color: #ffffff !important;
}

.menu-drawer__menu {
  border: none !important;
}

.menu-drawer__menu li {
  border-bottom: 1px solid rgba(201, 169, 110, 0.12) !important;
}

.menu-drawer__menu li:last-child {
  border-bottom: none !important;
}

.menu-drawer__submenu .menu-drawer__menu-item {
  font-size: 14px !important;
  letter-spacing: 1.5px !important;
  color: #d4cfd4 !important;
}

.menu-drawer__submenu .menu-drawer__menu-item:hover {
  color: #c9a96e !important;
}

.menu-drawer__utility-links a,
.menu-drawer__utility-links button {
  color: #b0a0b0 !important;
  letter-spacing: 1px !important;
}

.menu-drawer__utility-links a:hover {
  color: #c9a96e !important;
}

header-drawer .header-drawer-icon--close svg {
  color: #c9a96e !important;
}

.menu-drawer svg,
.menu-drawer__close-button svg path {
  color: #c9a96e !important;
  stroke: currentColor !important;
}

.menu-drawer::-webkit-scrollbar {
  width: 4px !important;
}

.menu-drawer::-webkit-scrollbar-track {
  background: transparent !important;
}

.menu-drawer::-webkit-scrollbar-thumb {
  background: rgba(201, 169, 110, 0.3) !important;
  border-radius: 2px !important;
}

/* ===== MOBILE HERO FIX - text cutoff & overlay ===== */
@media screen and (max-width: 749px) {
  .sr-hero {
    min-height: 60vh !important;
    padding: 40px 16px !important;
  }
  .sr-hero__title {
    font-size: clamp(28px, 8vw, 44px) !important;
    letter-spacing: 0.01em !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    line-height: 1.05 !important;
  }
  .sr-hero__subtitle {
    font-size: 14px !important;
  }
  .sr-hero__ctas {
    flex-direction: column !important;
    gap: 10px !important;
  }
  /* Subtle overlay for text readability on mobile */
  .sr-hero::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom, transparent 0%, rgba(26,10,30,0.3) 100%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }
  .sr-hero__content {
    position: relative !important;
    z-index: 2 !important;
  }
}

/* ===== COLLECTION CARDS - equal, stable category tiles ===== */
.sr-collection-card__content {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px 14px;
}
@media screen and (max-width: 749px) {
  .sr-collections__grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    justify-items: stretch !important;
  }
  .sr-collection-card {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    aspect-ratio: 1/1 !important;
  }
  .sr-collection-card__name {
    font-size: 14px !important;
  }
  .sr-collection-card__overlay {
    background: linear-gradient(to top, rgba(26,10,30,0.4) 0%, transparent 100%) !important;
  }
}

/* ═══════════════════════════════════════════════════════
   COLLECTION PAGE — PREMIUM REDESIGN
   ═══════════════════════════════════════════════════════ */

/* ---- Breadcrumb ---- */
.sr-breadcrumb {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-family: var(--font-body--family, 'Outfit', sans-serif);
  font-size: 13px;
  letter-spacing: 0.02em;
  color: rgba(90, 23, 93, 0.5);
  margin-bottom: 8px;
}
.sr-breadcrumb a {
  color: rgba(90, 23, 93, 0.5);
  text-decoration: none;
  transition: color 0.25s ease;
}
.sr-breadcrumb a:hover {
  color: var(--color-plum, #5A175D);
}
.sr-breadcrumb span {
  color: rgba(90, 23, 93, 0.3);
}
.sr-breadcrumb__current {
  color: var(--color-plum, #5A175D) !important;
  font-weight: 600;
}

/* ---- Collection Header ---- */
.sr-collection-intro {
  width: 100%;
  max-width: 760px;
  margin: 8px auto 18px;
  padding: 0 20px;
}

.sr-collection-intro__body {
  text-align: center;
}

.sr-collection-intro__body p {
  max-width: 68ch;
  margin: 0;
  color: rgba(26, 10, 30, 0.72);
  font-family: var(--font-body--family, 'Outfit', sans-serif);
  font-size: 14px;
  line-height: 1.62;
}

.sr-collection-intro__body p:first-child {
  color: rgba(26, 10, 30, 0.72);
  font-size: 14px;
}

.sr-collection-intro__body p + p {
  margin-top: 12px;
}

.sr-collection-intro__body a {
  color: var(--color-plum, #5A175D);
  font-weight: 650;
  text-decoration: underline;
  text-decoration-color: rgba(232, 93, 74, 0.38);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

.sr-collection-intro__body a:hover {
  color: var(--color-coral, #E85D4A);
  text-decoration-color: currentColor;
}

.sr-collection-search {
  width: 100%;
  max-width: 480px;
  margin: 12px auto 0;
}
.sr-collection-search__inner {
  position: relative;
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1.5px solid rgba(90, 23, 93, 0.12);
  border-radius: 50px;
  padding: 0 18px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.sr-collection-search__inner:focus-within {
  border-color: var(--color-plum, #5A175D);
  box-shadow: 0 0 0 3px rgba(90, 23, 93, 0.08), 0 4px 16px rgba(90, 23, 93, 0.06);
}
.sr-collection-search__icon {
  flex-shrink: 0;
  color: rgba(90, 23, 93, 0.35);
  transition: color 0.3s ease;
}
.sr-collection-search__inner:focus-within .sr-collection-search__icon {
  color: var(--color-plum, #5A175D);
}
.sr-collection-search__input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 12px 12px;
  font-family: var(--font-body--family, 'Outfit', sans-serif);
  font-size: 14px;
  color: #1a0a1e;
  outline: none;
}
.sr-collection-search__input::placeholder {
  color: rgba(90, 23, 93, 0.35);
  font-style: italic;
}
.sr-collection-search__clear {
  display: none;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  background: rgba(90, 23, 93, 0.08);
  border-radius: 50%;
  color: var(--color-plum, #5A175D);
  font-size: 16px;
  cursor: pointer;
  transition: background 0.2s ease;
  padding: 0;
  line-height: 1;
}
.sr-collection-search__clear:hover {
  background: rgba(90, 23, 93, 0.15);
}

/* ---- Filter / Sort Bar — Premium Styling ---- */
.facets-block-wrapper {
  border-bottom: 1px solid rgba(90, 23, 93, 0.08) !important;
  padding-bottom: 12px !important;
}

/* Style the filter disclosure buttons */
.facets-block-wrapper .disclosure .disclosure__toggle,
.facets-toggle .disclosure .disclosure__toggle {
  font-family: var(--font-body--family, 'Outfit', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  color: var(--color-plum, #5A175D) !important;
  background: rgba(90, 23, 93, 0.04) !important;
  border: 1.5px solid rgba(90, 23, 93, 0.12) !important;
  border-radius: 24px !important;
  padding: 8px 18px !important;
  transition: all 0.25s ease !important;
  gap: 6px !important;
}
.facets-block-wrapper .disclosure .disclosure__toggle:hover,
.facets-toggle .disclosure .disclosure__toggle:hover {
  background: rgba(90, 23, 93, 0.08) !important;
  border-color: rgba(90, 23, 93, 0.25) !important;
  transform: translateY(-1px) !important;
}

/* Sort dropdown styling */
.facets-block-wrapper select,
.facets-controls-wrapper select {
  font-family: var(--font-body--family, 'Outfit', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--color-plum, #5A175D) !important;
  background: rgba(90, 23, 93, 0.04) !important;
  border: 1.5px solid rgba(90, 23, 93, 0.12) !important;
  border-radius: 24px !important;
  padding: 8px 32px 8px 16px !important;
}

/* Product count styling */
.facets-block-wrapper .facets__product-count,
results-count {
  font-family: var(--font-body--family, 'Outfit', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(90, 23, 93, 0.5) !important;
}

/* ---- Product Cards — Premium Grid ---- */
@media screen and (min-width: 990px) {
  .product-grid-container .product-grid[product-grid-view='default'].product-grid--grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .product-grid-container .product-grid[product-grid-view='default'].product-grid--grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

.sr-collection-copy-slot {
  grid-column: 1 / -1 !important;
  list-style: none;
  margin: 8px 0;
  padding: 0;
}

.sr-collection-copy-slot__inner {
  max-width: 920px;
  margin: 0 auto;
  padding: 20px 28px;
  border-top: 1px solid rgba(90, 23, 93, 0.12);
  border-bottom: 1px solid rgba(90, 23, 93, 0.12);
  text-align: center;
}

.sr-collection-copy-slot__eyebrow,
.sr-collection-footer-copy__eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--color-coral, #E85D4A);
  font-family: var(--font-body--family, 'Outfit', sans-serif);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.sr-collection-copy-slot p,
.sr-collection-footer-copy p {
  margin: 0 auto;
  color: rgba(26, 10, 30, 0.72);
  font-family: var(--font-body--family, 'Outfit', sans-serif);
  font-size: 14px;
  line-height: 1.68;
}

.sr-collection-copy-slot p {
  max-width: 82ch;
}

.sr-collection-copy-slot a,
.sr-collection-footer-copy a {
  color: var(--color-plum, #5A175D);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(232, 93, 74, 0.38);
  text-decoration-thickness: 1.4px;
  text-underline-offset: 3px;
}

.sr-collection-copy-slot a:hover,
.sr-collection-footer-copy a:hover {
  color: var(--color-coral, #E85D4A);
  text-decoration-color: currentColor;
}

/* Card container hover effects */
.product-grid__item {
  transition: transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.product-grid__item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(90, 23, 93, 0.10), 0 4px 12px rgba(90, 23, 93, 0.06) !important;
}

/* Card image — zoom on hover */
.product-grid__item .product-media img,
.product-grid__item .product-media-container img {
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.product-grid__item:hover .product-media img,
.product-grid__item:hover .product-media-container img {
  transform: scale(1.05) !important;
}

/* Card image wrapper — rounded corners */
.product-grid__item .product-media,
.product-grid__item .product-media-container {
  border-radius: 10px !important;
  overflow: hidden !important;
}

/* Product title on cards */
.product-grid__item .product-card-title,
.product-grid__item [class*="product-title"] a,
.product-grid__item .product-card__title {
  font-family: var(--font-body--family, 'Outfit', sans-serif) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #1a0a1e !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

/* Price styling */
.product-grid__item .product-card-price,
.product-grid__item [class*="price"] {
  font-family: var(--font-body--family, 'Outfit', sans-serif) !important;
  font-weight: 700 !important;
  color: var(--color-plum-dark, #2D0A3E) !important;
}

/* Sale / Compare price */
.product-grid__item .product-card-price s,
.product-grid__item [class*="price"] s,
.product-grid__item .price--compare {
  color: #aaa !important;
  font-weight: 400 !important;
  font-size: 0.85rem !important;
}
.product-grid__item .product-card-price ins,
.product-grid__item [class*="price--sale"] {
  color: var(--color-coral, #E85D4A) !important;
}

/* ---- Grid Density Controls ---- */
.facets-block-wrapper input[type="radio"][name="grid"] + label,
.facets-block-wrapper input[type="radio"][name="grid-mobile"] + label {
  border-radius: 8px !important;
  transition: background 0.2s ease !important;
}
.facets-block-wrapper input[type="radio"][name="grid"]:checked + label,
.facets-block-wrapper input[type="radio"][name="grid-mobile"]:checked + label {
  background: rgba(90, 23, 93, 0.08) !important;
}

/* ---- Quick-View Hover Indicator ---- */
.product-grid__item .product-media-container::after {
  content: 'Quick View';
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: rgba(26, 10, 30, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: white;
  font-family: var(--font-body--family, 'Outfit', sans-serif);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 8px 20px;
  border-radius: 20px;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  z-index: 5;
}
.product-grid__item:hover .product-media-container::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ---- Empty State — No Products ---- */
.main-collection-grid__empty {
  padding: 80px 20px !important;
}
.main-collection-grid__empty-title {
  font-family: var(--font-headline, 'Playfair Display', serif) !important;
  color: var(--color-plum, #5A175D) !important;
}

/* ---- Desktop Responsive ---- */
@media screen and (min-width: 750px) {
  /* Increase gap between filter chips */
  .facets-block-wrapper .facets__list {
    gap: 8px !important;
  }
}

@media screen and (min-width: 960px) {
  .sr-collection-search {
    max-width: 520px;
  }
}

/* ---- Tablet ---- */
@media screen and (max-width: 959px) and (min-width: 750px) {
  .sr-collection-search {
    max-width: 400px;
  }
}

/* ---- Mobile — Collection Page ---- */
@media screen and (max-width: 749px) {
  /* Breadcrumb */
  .sr-breadcrumb {
    font-size: 12px;
    gap: 4px;
    flex-wrap: wrap;
    padding: 0 8px;
  }

  /* Search bar */
  .sr-collection-search {
    max-width: 100%;
    padding: 0 4px;
  }
  .sr-collection-search__inner {
    padding: 0 14px;
  }
  .sr-collection-search__input {
    padding: 10px 10px;
    font-size: 14px;
  }

  .sr-collection-intro {
    margin-top: 8px;
    padding: 0 12px;
  }

  .sr-collection-intro__body {
    text-align: center;
  }

  .sr-collection-intro__body p,
  .sr-collection-intro__body p:first-child {
    font-size: 13px;
    line-height: 1.65;
  }

  /* Product cards mobile polish */
  .product-grid__item {
    border-radius: 10px !important;
  }
  .product-grid__item .product-media,
  .product-grid__item .product-media-container {
    border-radius: 8px !important;
  }

  /* Disable quick view pill on mobile (no hover) */
  .product-grid__item .product-media-container::after {
    display: none !important;
  }

  /* Filter bar mobile */
  .facets-toggle .disclosure .disclosure__toggle {
    font-size: 12px !important;
    padding: 7px 14px !important;
  }

  .sr-collection-copy-slot {
    margin: 4px 0 10px;
  }

  .sr-collection-copy-slot__inner {
    padding: 16px 2px;
    text-align: left;
  }

  .sr-collection-copy-slot p {
    font-size: 13px;
    line-height: 1.62;
  }
}

/* ===== COLLECTION PAGE MOBILE LAYOUT FIX ===== */
@media screen and (max-width: 749px) {
  /* ROOT FIX: results-list uses a 2-column grid (sidebar + content) even on mobile.
     Override to single column so collection-wrapper gets full width. */
  results-list,
  results-list.section,
  .product-grid-container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Reset collection-wrapper from grid-column: 2 to span full width */
  .collection-wrapper,
  .collection-wrapper.grid {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    grid-column: 1 / -1 !important;
    padding: 0 12px !important;
    gap: 0 !important;
  }

  /* Filter / sort bar — full width, clean layout */
  .facets-toggle {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(90, 23, 93, 0.08) !important;
  }

  /* Give filter button and grid controls equal space */
  .facets-toggle__wrapper {
    flex: 1 !important;
    width: auto !important;
  }

  .facets-mobile-wrapper,
  .facets-controls-wrapper {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  /* Main collection grid container — full width, preserve child layout */
  .main-collection-grid,
  .main-collection-grid.grid {
    width: 100% !important;
    grid-column: 1 / -1 !important;
  }

  /* Only fix the direct wrapper div, NOT the product list */
  .main-collection-grid > div {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  /* Product grid — ensure 2-column mobile layout */
  .product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
  }

  /* Product grid items — let them fill their grid cell naturally */
  .product-grid__item {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* "No products found" empty state — centered full width */
  .main-collection-grid__empty,
  [class*="collection-grid__empty"] {
    width: 100% !important;
    text-align: center !important;
    padding: 60px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    grid-column: 1 / -1 !important;
  }

  /* Force the results list items to span full width */
  results-list,
  results-list > .section,
  .product-grid-container,
  .product-grid-container.section {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  /* Ensure facets block uses full width */
  .facets-block-wrapper {
    width: 100% !important;
    grid-column: 1 / -1 !important;
  }

  /* Ensure collection wrapper children get full width for non-grid items */
  .collection-wrapper > .facets-block-wrapper,
  .collection-wrapper > .main-collection-grid {
    width: 100% !important;
  }
}

/* ---- Collection FAQ Accordion ---- */
.sr-collection-faq-section {
  padding: 8px var(--page-margin) 78px;
}

.sr-collection-footer-copy {
  width: 100%;
  max-width: 860px;
  margin: 0 auto 34px;
  padding: 0 0 26px;
  border-bottom: 1px solid rgba(90, 23, 93, 0.12);
  text-align: center;
}

.sr-collection-footer-copy p {
  max-width: 76ch;
}

.sr-collection-faq {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.sr-collection-faq__header {
  margin-bottom: 18px;
  text-align: center;
}

.sr-collection-faq__eyebrow {
  display: inline-block;
  margin-bottom: 6px;
  color: var(--color-coral, #E85D4A);
  font-family: var(--font-body--family, 'Outfit', sans-serif);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.sr-collection-faq__title {
  margin: 0;
  color: var(--color-plum, #5A175D);
  font-family: var(--font-primary--family, 'Playfair Display', serif);
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.05;
}

.sr-collection-faq__list {
  border-top: 1px solid rgba(90, 23, 93, 0.14);
}

.sr-collection-faq__item {
  border-bottom: 1px solid rgba(90, 23, 93, 0.14);
}

.sr-collection-faq__item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 0;
  color: #1a0a1e;
  cursor: pointer;
  list-style: none;
}

.sr-collection-faq__item summary::-webkit-details-marker {
  display: none;
}

.sr-collection-faq__question {
  font-family: var(--font-primary--family, 'Playfair Display', serif);
  font-size: clamp(17px, 2vw, 22px);
  font-weight: 800;
  line-height: 1.2;
}

.sr-collection-faq__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(90, 23, 93, 0.18);
  border-radius: 50%;
  color: var(--color-plum, #5A175D);
  font-family: var(--font-body--family, 'Outfit', sans-serif);
  font-size: 20px;
  line-height: 1;
  transition: transform 0.24s ease, background 0.24s ease, color 0.24s ease;
}

.sr-collection-faq__item[open] .sr-collection-faq__icon {
  transform: rotate(45deg);
  background: var(--color-plum, #5A175D);
  color: #fff;
}

.sr-collection-faq__answer {
  max-width: 760px;
  padding: 0 56px 22px 0;
}

.sr-collection-faq__answer p {
  margin: 0;
  color: rgba(26, 10, 30, 0.72);
  font-family: var(--font-body--family, 'Outfit', sans-serif);
  font-size: 15px;
  line-height: 1.7;
}

.sr-collection-faq__answer a {
  color: var(--color-plum, #5A175D);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(232, 93, 74, 0.38);
  text-underline-offset: 3px;
}

@media screen and (max-width: 749px) {
  .sr-collection-faq-section {
    padding: 18px 18px 58px;
    text-align: center;
  }

  .sr-collection-footer-copy {
    margin-bottom: 28px;
    padding-bottom: 22px;
    text-align: center;
  }

  .sr-collection-footer-copy p {
    font-size: 13px;
    line-height: 1.62;
  }

  .sr-collection-faq__header {
    text-align: center;
  }

  .sr-collection-faq__item summary {
    position: relative;
    justify-content: center;
    padding: 17px 38px;
    text-align: center;
  }

  .sr-collection-faq__question {
    text-align: center;
  }

  .sr-collection-faq__icon {
    position: absolute;
    right: 0;
  }

  .sr-collection-faq__answer {
    padding: 0 0 18px;
    text-align: center;
  }

  .sr-collection-faq__answer p {
    margin-inline: auto;
    font-size: 14px;
  }
}

/* ===== POLICY PAGES STYLING ===== */
.sr-policy-page {
  max-width: 820px;
  margin: 0 auto;
  padding: 60px 24px 100px;
  color: #1a0a1e;
  font-family: var(--font-primary--family, 'Inter', sans-serif);
  line-height: 1.75;
}
.sr-policy-page__container {
  width: 100%;
}
.sr-policy-page__title {
  font-family: var(--font-primary--family, 'Playfair Display', serif);
  font-size: clamp(28px, 5vw, 42px);
  font-weight: 700;
  color: #2d0a3e;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.sr-policy-page__updated {
  font-size: 13px;
  color: #8a7a8e;
  margin-bottom: 40px;
  font-style: italic;
}
.sr-policy-page__content h2 {
  font-family: var(--font-primary--family, 'Playfair Display', serif);
  font-size: clamp(18px, 3vw, 22px);
  font-weight: 600;
  color: #2d0a3e;
  margin-top: 40px;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(45,10,62,0.1);
}
.sr-policy-page__content h3 {
  font-size: 16px;
  font-weight: 600;
  color: #3d1a4e;
  margin-top: 24px;
  margin-bottom: 12px;
}
.sr-policy-page__content p {
  font-size: 15px;
  color: #3a2a3e;
  margin-bottom: 16px;
}
.sr-policy-page__content ul,
.sr-policy-page__content ol {
  margin: 0 0 20px 24px;
  padding: 0;
}
.sr-policy-page__content li {
  font-size: 15px;
  color: #3a2a3e;
  margin-bottom: 8px;
  padding-left: 4px;
}
.sr-policy-page__content a {
  color: #6b2fa0;
  text-decoration: underline;
  transition: color 0.2s ease;
}
.sr-policy-page__content a:hover {
  color: #2d0a3e;
}
.sr-policy-page__content strong {
  font-weight: 600;
  color: #2d0a3e;
}
.sr-policy-page__content em {
  font-style: italic;
  color: #5a4a5e;
}
/* Shipping table */
.sr-policy-page__table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0 28px;
  font-size: 14px;
  border-radius: 8px;
  overflow: hidden;
}
.sr-policy-page__table thead th {
  background: #2d0a3e;
  color: #fff;
  font-weight: 600;
  text-align: left;
  padding: 12px 16px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.sr-policy-page__table tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(45,10,62,0.08);
  color: #3a2a3e;
}
.sr-policy-page__table tbody tr:last-child td {
  border-bottom: none;
}
.sr-policy-page__table tbody tr:nth-child(even) {
  background: rgba(45,10,62,0.03);
}

@media screen and (max-width: 749px) {
  .sr-policy-page {
    padding: 40px 16px 80px;
  }
  .sr-policy-page__content h2 {
    margin-top: 32px;
  }
  .sr-policy-page__table {
    font-size: 13px;
  }
  .sr-policy-page__table thead th,
   .sr-policy-page__table tbody td {
    padding: 10px 12px;
  }
}


/* ============================================
   PRODUCT PAGE REDESIGN
   Complete overhaul for product detail pages
   ============================================ */

/* ---- 1. Product Grid Layout (Desktop) ---- */
@media screen and (min-width: 750px) {
  /* Override the default 2fr/1fr that gives media too much space */
  .product-information__grid:not(
    .product-information__grid--half,
    .product-information--media-none
  ).product-information--media-left {
    grid-template-columns: 55fr 45fr !important;
    gap: 0 40px !important;
  }

  /* Ensure details column has proper padding */
  .product-information__grid.product-information--media-left .product-details {
    padding-left: 24px !important;
    padding-right: 8px !important;
  }

  /* Keep media column snug */
  .product-information__grid.product-information--media-left .product-information__media {
    padding-right: 0 !important;
  }
}

/* Fine-tune for large screens — slightly more room for details */
@media screen and (min-width: 1200px) {
  .product-information__grid:not(
    .product-information__grid--half,
    .product-information--media-none
  ).product-information--media-left {
    grid-template-columns: 52fr 48fr !important;
    gap: 0 48px !important;
  }
}


/* ---- 2. Product Title Typography ---- */
.product-information .product-details .text-block.h3,
.product-information .product-details .text-block.h2,
.product-information .product-details .text-block.h1 {
  font-family: 'Playfair Display', 'Georgia', serif !important;
  font-weight: 600 !important;
  color: #2d0a3e !important;
  letter-spacing: -0.01em !important;
  line-height: 1.15 !important;
  font-size: clamp(22px, 2.5vw, 32px) !important;
}

/* Price styling */
.product-information .product-details product-price {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}

.product-information .product-details product-price .price {
  font-size: clamp(20px, 2.2vw, 28px) !important;
  color: #2d0a3e !important;
}

.product-information .product-details product-price .compare-at-price {
  font-size: 0.85em !important;
  color: #8a7a8e !important;
}

/* Dividers in product details */
.product-information .product-details .divider-block {
  border-color: rgba(45, 10, 62, 0.08) !important;
  margin: 8px 0 !important;
}


/* ---- 3. Variant Buttons — Compact Grid ---- */

/* Color variants: override equal-width grid to use smaller min sizes */
.product-information .variant-picker .variant-option--buttons,
.product-information .variant-picker .variant-option--equal-width-buttons {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important;
  gap: 8px !important;
  flex-wrap: unset !important;
}

/* Keep legend full width across the grid */
.product-information .variant-picker .variant-option--buttons legend,
.product-information .variant-picker .variant-option--equal-width-buttons legend {
  grid-column: 1 / -1 !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #2d0a3e !important;
  margin-bottom: 4px !important;
  padding-bottom: 0 !important;
}

/* Compact button labels */
.product-information .variant-picker .variant-option__button-label {
  min-height: 36px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  border-radius: 6px !important;
  flex: unset !important;
  border-color: rgba(45, 10, 62, 0.15) !important;
  background-color: #fff !important;
  transition: all 0.2s ease !important;
}

/* Hover state — brand gold accent */
.product-information .variant-picker .variant-option__button-label:hover {
  border-color: #c9a84c !important;
  background-color: rgba(201, 168, 76, 0.05) !important;
}

/* Selected state — brand plum fill */
.product-information .variant-picker .variant-option__button-label:has(:checked) {
  background-color: #2d0a3e !important;
  border-color: #2d0a3e !important;
  color: #fff !important;
}

.product-information .variant-picker .variant-option__button-label:has(:checked) .variant-option__button-label__text {
  color: #fff !important;
}

/* The animated pill behind selected button — match brand color */
.product-information .variant-picker .variant-option__button-label__pill {
  background: #2d0a3e !important;
}

/* Button text styling */
.product-information .variant-picker .variant-option__button-label__text {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-align: center !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Equal-width override — force reasonable min-width */
.product-information .variant-picker .variant-option--equal-width-buttons {
  --variant-min-width: 100px !important;
}

.product-information .variant-picker .variant-option--equal-width-buttons .variant-option__button-label {
  min-width: unset !important;
}

/* Reduce spacing between option groups */
.product-information .variant-picker .variant-option + .variant-option {
  margin-top: 16px !important;
}

/* Swatch value text (shows selected option name) */
.product-information .variant-picker .variant-option__swatch-value {
  font-weight: 400 !important;
  font-size: 12px !important;
  color: #5a4a5e !important;
}


/* ---- 4. Buy Buttons ---- */

/* Ensure the buy-buttons-block wrapper fills full width */
.product-information .buy-buttons-block {
  width: 100% !important;
  display: block !important;
}

.product-information .product-details .buy-buttons {
  margin-top: 8px !important;
}

/* Product form buttons container — full width */
.product-information .product-form-buttons {
  width: 100% !important;
}

/* Add to Cart button — brand plum with gold hover */
.product-information .product-details .buy-buttons .button,
.product-information .product-details .buy-buttons [class*="button"],
.product-information .product-form-buttons .button {
  background-color: #2d0a3e !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 14px 24px !important;
  transition: all 0.3s ease !important;
  min-height: 52px !important;
  width: 100% !important;
}

.product-information .product-details .buy-buttons .button:hover,
.product-information .product-details .buy-buttons [class*="button"]:hover {
  background-color: #3d1a4e !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(45, 10, 62, 0.25) !important;
}

/* Shop Pay button — keep native but match border-radius */
.product-information .product-details .shopify-payment-button .shopify-payment-button__button {
  border-radius: 8px !important;
  min-height: 52px !important;
}

/* Quantity selector — compact & aligned */
.product-information .product-details .buy-buttons quantity-input {
  border-radius: 8px !important;
  border-color: rgba(45, 10, 62, 0.15) !important;
  min-height: 52px !important;
}

.product-information .product-details .buy-buttons quantity-input input {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 500 !important;
}



/* ---- 5. Media Gallery — Carousel + Thumbnails ---- */

/* Subtle border-radius on gallery images */
.product-information .product-information__media .product-media-container,
.product-information .product-information__media .media {
  border-radius: 8px !important;
  overflow: hidden !important;
}

/* Main carousel image — ensure proper sizing */
.product-information .product-information__media .media-gallery--carousel {
  gap: 12px !important;
}

/* Main image area */
.product-information .product-information__media .media-gallery__main-media {
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #f8f5fa !important;
}

/* Thumbnail strip styling */
.product-information .product-information__media .media-gallery__thumbnails {
  gap: 8px !important;
}

.product-information .product-information__media .media-gallery__thumbnail {
  border-radius: 6px !important;
  border: 2px solid transparent !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  opacity: 0.7 !important;
}

.product-information .product-information__media .media-gallery__thumbnail:hover {
  opacity: 1 !important;
  border-color: #c9a84c !important;
}

/* Active thumbnail — plum border */
.product-information .product-information__media .media-gallery__thumbnail[aria-current="true"],
.product-information .product-information__media .media-gallery__thumbnail.is-active,
.product-information .product-information__media .media-gallery__thumbnail--active {
  border-color: #2d0a3e !important;
  opacity: 1 !important;
}

/* Carousel navigation arrows */
.product-information .product-information__media .media-gallery__control,
.product-information .product-information__media [class*="slideshow-control"] {
  background: rgba(255, 255, 255, 0.9) !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
  color: #2d0a3e !important;
  transition: all 0.2s ease !important;
}

.product-information .product-information__media .media-gallery__control:hover,
.product-information .product-information__media [class*="slideshow-control"]:hover {
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  transform: scale(1.05) !important;
}

/* Make sure media column doesn't leave huge empty space below images */
.product-information .product-information__media {
  align-self: start !important;
}


/* ---- 6. Product Description — Full-width on Desktop ---- */

/* With grid media mode, images flow down alongside the details column.
   Instead of negative margin breakout (which overlaps images), we make 
   the description block disable sticky and appear below naturally.
   Then we use 100vw-based sizing to span the full content area. */

@media screen and (min-width: 750px) {
  /* Let the group-block-content and group-block overflow */
  .product-information .product-details .group-block {
    overflow: visible !important;
  }

  .product-information .product-details .group-block-content {
    overflow: visible !important;
  }

  /* Disable sticky so product details don't stick alongside images */
  .product-information .product-details {
    position: static !important;
    align-self: start !important;
  }

  /* Make the rte-formatter description block break below images */
  .product-information .product-details rte-formatter.text-block.rte {
    display: block !important;
    max-width: none !important;
    box-sizing: border-box !important;
    /* Visual separation */
    margin-top: 40px !important;
    padding-top: 32px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-top: 1px solid rgba(45, 10, 62, 0.08) !important;
  }

  /* Override the product grid to allow description to flow below both columns */
  .product-information__grid {
    flex-wrap: wrap !important;
  }
}

/* Style the description block */
.product-information .product-details .text-block.rte,
.product-information .product-details rte-formatter,
.product-information .product-details [data-testid="product-description"] {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #3a2a3e !important;
}

/* Contain oversized description images (like size charts) */
.product-information .product-details .rte img,
.product-information .product-details .text-block img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 8px !important;
  margin: 12px 0 !important;
}

/* Description headings */
.product-information .product-details .rte strong,
.product-information .product-details .text-block strong {
  font-weight: 600 !important;
  color: #2d0a3e !important;
}


/* ---- 7. Sticky Add-to-Cart Bar ---- */
.product-information__sticky-atc {
  background: rgba(13, 13, 13, 0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-top: 1px solid rgba(201, 168, 76, 0.15) !important;
}

.product-information__sticky-atc .button {
  background-color: #c9a84c !important;
  color: #1a0a1e !important;
  border-radius: 6px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}


/* ---- 8. Product Page Section Spacing ---- */
.product-information.section {
  padding-top: 24px !important;
  padding-bottom: 40px !important;
}


/* ============================================
   PRODUCT PAGE — MOBILE OVERRIDES
   Complete mobile-first layout for product pages
   ============================================ */
@media screen and (max-width: 749px) {

  /* Reset product grid to single column */
  .product-information__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .product-information__grid .product-information__media {
    width: 100% !important;
    min-width: 100% !important;
    order: 0 !important;
  }

  .product-information__grid .product-details {
    width: 100% !important;
    order: 1 !important;
    padding: 0 16px !important;
  }

  /* Product title — left-aligned, tight */
  .product-information .product-details .text-block.h3,
  .product-information .product-details .text-block.h2,
  .product-information .product-details .text-block.h1 {
    text-align: left !important;
    font-size: clamp(20px, 5vw, 26px) !important;
    margin-bottom: 4px !important;
  }

  /* Price left-aligned  */
  .product-information .product-details product-price {
    text-align: left !important;
    display: block !important;
  }

  /* Divider — tighter */
  .product-information .product-details .divider-block {
    margin: 6px 0 !important;
  }


  /* ------- VARIANT PICKER (MOBILE) ------- */

  /* Variant section labels — left-aligned, compact */
  .product-information .variant-picker .variant-option--buttons legend,
  .product-information .variant-picker .variant-option--equal-width-buttons legend {
    text-align: left !important;
    font-size: 12px !important;
    margin-bottom: 6px !important;
  }

  /* Color variants: 3-column grid to fill width */
  .product-information .variant-picker .variant-option--buttons,
  .product-information .variant-picker .variant-option--equal-width-buttons {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
    width: 100% !important;
  }

  /* All variant buttons: compact, consistent, full-width within their cell */
  .product-information .variant-picker .variant-option__button-label {
    min-height: 38px !important;
    padding: 6px 6px !important;
    font-size: 11px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
  }

  .product-information .variant-picker .variant-option__button-label__text {
    font-size: 11px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }


  /* ------- BUY BUTTONS (MOBILE) ------- */

  /* Tighten the buy buttons container */
  .product-information .product-details .buy-buttons {
    margin-top: 12px !important;
  }

  /* Make the product-form-buttons stack vertically */
  .product-information .product-details .product-form-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  /* Quantity row */
  .product-information .product-details .product-form-buttons > quantity-input {
    max-width: 120px !important;
    min-height: 48px !important;
  }

  /* Buy-buttons-block wrapper — full width on mobile */
  .product-information .buy-buttons-block {
    width: 100% !important;
  }

  .product-information .product-form-buttons {
    width: 100% !important;
  }

  /* All buy buttons — full width */
  .product-information .product-details .buy-buttons .button,
  .product-information .product-details .buy-buttons [class*="button"],
  .product-information .product-details .product-form-buttons .button,
  .product-information .product-details .product-form-buttons [class*="button"] {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }

  /* Shop Pay button — full width */
  .product-information .product-details .shopify-payment-button {
    width: 100% !important;
  }

  .product-information .product-details .shopify-payment-button .shopify-payment-button__button {
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 8px !important;
  }

  /* "More payment options" link */
  .product-information .product-details .shopify-payment-button__button--unbranded {
    font-size: 12px !important;
    padding: 8px 0 !important;
  }


  /* ------- DESCRIPTION (MOBILE) ------- */

  /* Description left-aligned, full width */
  .product-information .product-details .text-block.rte,
  .product-information .product-details [data-testid="product-description"] {
    text-align: left !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(45, 10, 62, 0.08) !important;
    margin-top: 8px !important;
  }

  .product-information .product-details .rte p,
  .product-information .product-details .rte li,
  .product-information .product-details .text-block p {
    text-align: left !important;
  }

  /* Description — reset breakout for mobile */
  .product-information .product-details rte-formatter.text-block.rte {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }


  /* ------- SECTION SPACING (MOBILE) ------- */
  .product-information.section {
    padding-top: 8px !important;
    padding-bottom: 24px !important;
  }

  /* Gallery images fill full width */
  .product-information .product-information__media .media img {
    width: 100% !important;
  }
}

/* ---- Tablet tweaks (750-1024) ---- */
@media screen and (min-width: 750px) and (max-width: 1024px) {
  .product-information__grid:not(
    .product-information__grid--half,
    .product-information--media-none
  ).product-information--media-left {
    grid-template-columns: 50fr 50fr !important;
    gap: 0 24px !important;
  }

  .product-information .variant-picker .variant-option--buttons,
  .product-information .variant-picker .variant-option--equal-width-buttons {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)) !important;
  }

  /* Description breakout for tablet gap */
  .product-information .product-details rte-formatter.text-block.rte {
    margin-left: calc(-100% - 24px) !important;
    width: calc(200% + 24px) !important;
    max-width: calc(200% + 24px) !important;
  }
}

/* Footer legal links live in the visible Help column. Keep the duplicate
   utility popover hidden and center the copyright row, including cached pages. */
.footer-utilities anchored-popover-component,
.footer-utilities .policy-list-trigger,
.footer-utilities .terms-policies-popover,
.footer-utilities .social-icons__wrapper {
  display: none !important;
}

.footer-utilities .utilities {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

.footer-utilities .utilities > *,
.footer-utilities__group-copyright {
  width: 100% !important;
  justify-self: center !important;
  text-align: center !important;
}
