/* ==========================================================================
   RORA Kids — child theme stylesheet
   Parent: Storefront
   Palette: RORA Playful Pastel — lavender / yellow / sky / peach / plum
   ========================================================================== */

/* Remove click-focus outline on all elements; keep it for keyboard navigation */
*:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

/* ===========================================================================
   Account dashboard
   =========================================================================== */
body.woocommerce-account {
  --rora-account-ink: #080849;
  --rora-account-purple: #7c4df2;
  --rora-account-pink: #ef3f93;
  --rora-account-muted: #716886;
}

body.woocommerce-account:not(.home) .site-content {
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 230, 244, 0.46), transparent 18rem),
    radial-gradient(circle at 92% 12%, rgba(219, 246, 255, 0.64), transparent 18rem),
    linear-gradient(180deg, #ffffff 0%, #fcfaff 38%, #fbf9ff 100%);
}

body.woocommerce-account .rora-content-page,
.woocommerce-account .site-main {
  margin: 0 auto;
  max-width: none;
  padding: 0 0 calc(6.5rem + env(safe-area-inset-bottom, 0px));
}

body.woocommerce-account .rora-content-page__body,
.woocommerce-account .entry-content {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.woocommerce-account .woocommerce:has(.rora-account-dashboard) {
  display: block;
  margin: 0;
  width: 100%;
}

.rora-account-dashboard {
  box-sizing: border-box;
  color: var(--rora-account-ink);
  font-family: var(--rora-rounded);
  margin: 0 auto;
  max-width: 520px;
  min-height: calc(100vh - 70px);
  overflow: hidden;
  padding: 0 clamp(1rem, 4vw, 1.35rem) calc(1.25rem + env(safe-area-inset-bottom, 0px));
  position: relative;
}

.rora-account-dashboard__hero {
  box-sizing: border-box;
  margin: 0 calc(clamp(1rem, 4vw, 1.35rem) * -1);
  min-height: 13.5rem;
  overflow: hidden;
  padding: clamp(3rem, 11vw, 5rem) clamp(1.45rem, 5.2vw, 1.9rem) 1.4rem;
  position: relative;
}

.rora-account-dashboard__hero h1 {
  color: var(--rora-account-ink);
  font-family: var(--rora-rounded);
  font-size: clamp(2.42rem, 9.2vw, 3.45rem);
  font-weight: 1000;
  letter-spacing: 0;
  line-height: 0.95;
  margin: 0;
  max-width: 63%;
  position: relative;
  z-index: 2;
}

.rora-account-dashboard__art {
  pointer-events: none;
  position: absolute;
  right: clamp(0.6rem, 4vw, 1.5rem);
  top: clamp(0.95rem, 4vw, 1.4rem);
  width: min(44vw, 13.5rem);
  z-index: 1;
}

.rora-account-cat {
  display: block;
  height: auto;
  width: 100%;
}

.rora-account-dashboard__stack {
  display: grid;
  gap: clamp(0.8rem, 3.2vw, 1rem);
  margin-top: -0.35rem;
  position: relative;
  z-index: 2;
}

.rora-account-card {
  background: rgba(255, 255, 255, 0.93);
  border: 1px solid rgba(126, 93, 224, 0.08);
  border-radius: 18px;
  box-shadow: 0 24px 54px -42px rgba(35, 25, 82, 0.46);
  box-sizing: border-box;
  color: var(--rora-account-ink);
  text-decoration: none;
}

.rora-account-card:hover {
  color: var(--rora-account-ink);
}

.rora-account-card__icon,
.rora-account-menu__icon {
  align-items: center;
  background: #f1e8ff;
  border-radius: 17px;
  color: var(--rora-account-purple);
  display: inline-flex;
  flex: 0 0 auto;
  height: 3.25rem;
  justify-content: center;
  width: 3.25rem;
}

.rora-account-card__icon svg,
.rora-account-menu__icon svg {
  height: 1.65rem;
  width: 1.65rem;
}

.rora-account-card__icon--round {
  background: linear-gradient(145deg, #b99aff, #7048f1);
  border-radius: 50%;
  color: #fff;
}

.rora-account-card__chevron {
  align-items: center;
  color: var(--rora-account-purple);
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
}

.rora-account-card__chevron svg {
  height: 1.45rem;
  width: 1.45rem;
}

.rora-account-last-order {
  align-items: center;
  display: grid;
  gap: 0.78rem;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  min-height: 6.3rem;
  padding: 0.9rem 1rem;
}

.rora-account-last-order__copy {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.rora-account-last-order__label {
  color: var(--rora-account-ink);
  font-size: 1rem;
  font-weight: 1000;
  line-height: 1.1;
}

.rora-account-last-order__copy strong {
  color: var(--rora-account-purple);
  font-size: 1rem;
  font-weight: 1000;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rora-account-last-order__meta,
.rora-account-last-order__total {
  align-items: center;
  color: var(--rora-account-ink);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.82rem;
  font-weight: 900;
  gap: 0.3rem;
  line-height: 1.25;
}

.rora-account-last-order__total {
  color: var(--rora-account-muted);
  font-weight: 950;
}

.rora-account-last-order__status {
  align-items: center;
  color: #14bd79;
  display: inline-flex;
  gap: 0.22rem;
}

.rora-account-last-order__status svg {
  height: 0.92rem;
  width: 0.92rem;
}

.rora-account-last-order__status--empty {
  color: var(--rora-account-purple);
}

.rora-account-last-order__items {
  display: flex;
  gap: 0.32rem;
  justify-content: flex-end;
}

.rora-account-last-order__thumb {
  align-items: center;
  background: #f5edff;
  border-radius: 10px;
  display: inline-flex;
  height: 3.1rem;
  justify-content: center;
  overflow: hidden;
  width: 3.1rem;
}

.rora-account-last-order__thumb img {
  display: block;
  height: 100%;
  object-fit: contain;
  padding: 0.22rem;
  width: 100%;
}

.rora-account-support {
  align-items: center;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 4.75rem;
  padding: 0.8rem 1rem;
}

.rora-account-support strong,
.rora-account-menu__copy strong {
  color: var(--rora-account-ink);
  font-size: 0.98rem;
  font-weight: 1000;
  line-height: 1.18;
}

.rora-account-button {
  align-items: center;
  background: linear-gradient(135deg, #8f64f4, #7048f1);
  border-radius: 999px;
  color: #fff !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.94rem;
  font-weight: 900;
  gap: 0.35rem;
  justify-content: center;
  min-height: 3rem;
  padding: 0 1rem;
  text-decoration: none !important;
  white-space: nowrap;
}

.rora-account-button svg {
  height: 1.1rem;
  width: 1.1rem;
}

.rora-account-stat--pink .rora-account-card__icon,
.rora-account-menu__icon--pink {
  background: #ffe6f1;
  color: var(--rora-account-pink);
}

.rora-account-menu {
  display: grid;
  padding: 0.72rem 1rem;
}

.rora-account-menu__item {
  align-items: center;
  color: var(--rora-account-ink);
  display: grid;
  gap: 0.9rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 4.8rem;
  text-decoration: none;
}

.rora-account-menu__item + .rora-account-menu__item {
  border-top: 1px solid rgba(126, 93, 224, 0.12);
}

.rora-account-menu__copy {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.rora-account-menu__copy small {
  color: var(--rora-account-muted);
  font-size: 0.86rem;
  font-weight: 850;
  line-height: 1.25;
}

.rora-account-refer {
  align-items: center;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 5.3rem;
  padding: 0.9rem 1rem;
}

@media (max-width: 600px) {
  body.woocommerce-account .rora-welcome-strip {
    font-size: 0.72rem !important;
    line-height: 1.15 !important;
    min-height: 0 !important;
    padding-bottom: 0.34rem !important;
    padding-top: 0.34rem !important;
  }

  body.woocommerce-account .rora-welcome-strip__greeting {
    display: block !important;
    max-width: calc(100vw - 1.4rem) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.woocommerce-account .rora-site-header {
    border-bottom: 1px solid rgba(8, 8, 73, 0.08) !important;
    border-radius: 0 !important;
  }

  body.woocommerce-account .rora-site-header .rora-header-row {
    border-radius: 0 !important;
    min-height: 4.1rem !important;
    padding-bottom: 0.38rem !important;
    padding-top: 0.38rem !important;
  }

  body.woocommerce-account .rora-site-header .rora-brand__logo {
    height: 3.15rem !important;
    max-width: 8.7rem !important;
    width: auto !important;
  }

  .rora-account-dashboard {
    max-width: 100%;
  }
}

@media (max-width: 430px) {
  .rora-account-dashboard {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }

  .rora-account-dashboard__hero {
    margin-left: -0.9rem;
    margin-right: -0.9rem;
  }

  .rora-account-last-order {
    gap: 0.58rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .rora-account-last-order__items {
    display: none;
  }

  .rora-account-support,
  .rora-account-refer {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .rora-account-support .rora-account-button,
  .rora-account-refer .rora-account-button {
    grid-column: 1 / -1;
    justify-self: stretch;
  }
}

:root {
  /* Surfaces */
  --rora-bg: #f8f5fa;            /* Lilac White */
  --rora-surface: #ffffff;
  --rora-surface-soft: #f1ecf6;
  --rora-surface-warm: #fdf7e6;  /* gentle yellow tint */

  /* Brand */
  --rora-primary: #bca3f0;        /* Soft Lavender */
  --rora-primary-strong: #a685e6;
  --rora-primary-soft: #e8ddfb;
  --rora-yellow: #fceb6b;         /* Sunshine Yellow */
  --rora-yellow-soft: #fff5b8;
  --rora-sky: #79deeb;            /* Sky Blue */
  --rora-sky-soft: #c7f1f7;
  --rora-peach: #ffb5a7;          /* Soft Peach */
  --rora-peach-soft: #ffd8d0;

  /* Text */
  --rora-ink: #4a3b52;            /* Deep Plum */
  --rora-soft-ink: #6e5e77;
  --rora-muted: #968aa1;

  /* Lines & shadows */
  --rora-line: rgba(74, 59, 82, 0.1);
  --rora-line-strong: rgba(74, 59, 82, 0.18);
  --rora-shadow-sm: 0 1px 2px rgba(74, 59, 82, 0.05);
  --rora-shadow: 0 8px 24px -18px rgba(74, 59, 82, 0.32);
  --rora-shadow-lg: 0 28px 56px -32px rgba(74, 59, 82, 0.36);

  /* Layout widths */
  --rora-width-page: 1480px;       /* shop/category canvas */
  --rora-width-shell: 1268px;      /* polished homepage/header shell */
  --rora-width-section: 1210px;    /* homepage section content */
  --rora-width-readable: 760px;    /* policy/static copy */
  --rora-gutter: clamp(1rem, 2vw, 1.7rem);

  /* Spacing scale */
  --rora-space-2xs: 0.25rem;
  --rora-space-xs: 0.5rem;
  --rora-space-sm: 0.75rem;
  --rora-space-md: 1rem;
  --rora-space-lg: 1.5rem;
  --rora-space-xl: 2rem;
  --rora-space-2xl: 3rem;
  --rora-space-3xl: 4.5rem;

  /* Geometry */
  --rora-radius-sm: 8px;
  --rora-radius: 12px;
  --rora-radius-lg: 18px;
  --rora-radius-xl: 24px;
  --rora-radius-2xl: 34px;
  --rora-radius-pill: 999px;

  /* Component defaults */
  --rora-card-bg: rgba(255, 255, 255, 0.86);
  --rora-card-border: rgba(74, 59, 82, 0.08);
  --rora-card-shadow: 0 28px 56px -38px rgba(31, 26, 74, 0.4);
  --rora-image-bg: linear-gradient(135deg, #f8f2ff, #fff8df);
  --rora-breakpoint-desktop: 1180px;
  --rora-breakpoint-tablet: 900px;
  --rora-breakpoint-mobile: 640px;
  --rora-breakpoint-phone: 480px;

  /* Type */
  --rora-serif: "Nunito", "Inter", system-ui, sans-serif;
  --rora-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --rora-rounded: "Nunito", "Inter", system-ui, sans-serif;

  /* Motion */
  --rora-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* ----- Base ------------------------------------------------------------- */

body {
  background: var(--rora-bg);
  color: var(--rora-ink);
  font-family: var(--rora-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.product_title,
.woocommerce-loop-product__title {
  color: var(--rora-ink);
  font-family: var(--rora-serif);
  font-weight: 600;
  letter-spacing: -0.005em;
}

a {
  color: var(--rora-primary-strong);
  text-decoration: none;
  transition: color 0.18s var(--rora-ease);
}

a:hover { color: var(--rora-ink); }

p { margin: 0 0 1em; }
img { max-width: 100%; }

::selection { background: var(--rora-primary-soft); color: var(--rora-ink); }

/* ----- Header — single row --------------------------------------------- */

.storefront-primary-navigation,
.storefront-secondary-navigation { display: none; }

.site-header {
  background: var(--rora-surface);
  border-bottom: 1px solid var(--rora-line);
  padding: 0;
}

.site-header::before,
.site-header::after { display: none; }

.site-header .col-full,
.rora-header-row {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 1.5rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1280px;
  padding: 0.65rem 1.4rem;
  width: 100%;
}

.site-branding,
.rora-brand {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 0.7rem;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none;
}

.rora-brand:hover { text-decoration: none; }

.rora-brand__logo {
  border-radius: 50%;
  flex: 0 0 auto;
  height: 52px;
  width: 52px;
  display: block;
}

.rora-brand__text { display: flex; flex-direction: column; line-height: 1.05; }

.rora-brand__name {
  color: var(--rora-ink);
  font-family: var(--rora-serif);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.rora-brand__motto {
  color: var(--rora-muted);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  margin-top: 2px;
}

/* Hide Storefront's default site-title/description (we render our own) */
.site-branding .site-title,
.site-branding .site-description { display: none !important; }

/* Center nav */
.rora-header-nav {
  flex: 1 1 auto;
  min-width: 0;
}

.rora-header-nav ul {
  align-items: center;
  display: flex;
  gap: 0.25rem;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rora-header-nav a {
  border-radius: 999px;
  color: var(--rora-soft-ink);
  display: inline-block;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.005em;
  padding: 0.5rem 0.95rem;
  transition: background 0.18s var(--rora-ease), color 0.18s var(--rora-ease);
}

.rora-header-nav a:hover,
.rora-header-nav .current-menu-item > a {
  background: var(--rora-primary-soft);
  color: var(--rora-ink);
}

.rora-mobile-account-menu {
  display: none !important;
}

.rora-header-cart {
  background: var(--rora-primary);
  border: 1px solid var(--rora-primary);
  color: var(--rora-ink);
  position: relative;
}

.rora-header-cart:hover {
  background: var(--rora-primary-strong);
  border-color: var(--rora-primary-strong);
  color: #fff;
}

.rora-header-cart .rora-header-cart__count {
  background: var(--rora-yellow);
  border-radius: 999px;
  color: var(--rora-ink);
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 800;
  margin-left: 0.2rem;
  padding: 0.05em 0.55em;
  transition: transform 0.32s var(--rora-ease);
}

.rora-header-cart.is-bumping .rora-header-cart__count {
  animation: rora-bump 0.5s var(--rora-ease);
}

@keyframes rora-bump {
  0%   { transform: scale(1); }
  35%  { transform: scale(1.4); }
  60%  { transform: scale(0.9); }
  100% { transform: scale(1); }
}

/* Hide Storefront's default cart link (we render our own) */
.site-header-cart { display: none !important; }

/* ----- Buttons ---------------------------------------------------------- */

.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
  background: var(--rora-ink);
  color: #fff;
  border: 0;
  border-radius: var(--rora-radius-sm);
  box-shadow: var(--rora-shadow-sm);
  font-family: var(--rora-sans);
  font-weight: 700;
  letter-spacing: 0.005em;
  line-height: 1.2;
  min-height: 46px;
  padding: 0.85em 1.35em;
  text-align: center;
  transition: transform 0.18s var(--rora-ease),
              background 0.18s var(--rora-ease),
              box-shadow 0.18s var(--rora-ease);
  cursor: pointer;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--rora-primary-strong);
  color: #fff;
  box-shadow: 0 12px 22px -16px rgba(166, 133, 230, 0.6);
  transform: translateY(-1px);
}

.button.alt,
.button[type="submit"],
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--rora-primary);
  color: var(--rora-ink);
}

.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--rora-primary-strong);
  color: #fff;
}

.rora-whatsapp-button { background: #1f9d55; }
.rora-whatsapp-button:hover { background: #18803f; }

.rora-messenger-button { background: #4667d9; }
.rora-messenger-button:hover { background: #3651b5; }

.button.is-ghost,
.rora-view-link {
  background: transparent;
  color: var(--rora-ink);
  border: 1px solid var(--rora-line-strong);
  box-shadow: none;
}

.button.is-ghost:hover,
.rora-view-link:hover {
  background: var(--rora-ink);
  color: #fff;
  border-color: var(--rora-ink);
}

/* Animated add-to-cart */
.rora-add-to-cart {
  align-items: center;
  background: var(--rora-ink);
  display: inline-flex;
  gap: 0.45em;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.rora-add-to-cart__label {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  transition: opacity 0.2s var(--rora-ease), transform 0.25s var(--rora-ease);
}

.rora-add-to-cart__check {
  align-items: center;
  display: inline-flex;
  inset: 0;
  justify-content: center;
  opacity: 0;
  position: absolute;
  transform: scale(0.6);
  transition: opacity 0.2s var(--rora-ease), transform 0.25s var(--rora-ease);
}

.rora-add-to-cart__check svg { width: 22px; height: 22px; }

.rora-add-to-cart.is-loading { pointer-events: none; }
.rora-add-to-cart.is-loading .rora-add-to-cart__label { opacity: 0.55; }

.rora-add-to-cart.is-added {
  background: var(--rora-primary);
  color: var(--rora-ink);
  pointer-events: none;
}

.rora-add-to-cart.is-added .rora-add-to-cart__label {
  opacity: 0;
  transform: translateY(8px);
}

.rora-add-to-cart.is-added .rora-add-to-cart__check {
  opacity: 1;
  transform: scale(1);
}

/* Flying particle for add-to-cart */
.rora-flyer {
  background: var(--rora-primary);
  border-radius: 50%;
  box-shadow: 0 8px 16px -6px rgba(166, 133, 230, 0.6);
  height: 18px;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  transform: translate3d(0, 0, 0) scale(1);
  transition: transform 0.7s cubic-bezier(0.5, -0.2, 0.2, 1.4),
              opacity 0.3s ease 0.45s;
  width: 18px;
  z-index: 1000;
}

.rora-flyer.is-flying { opacity: 0; }

/* ----- Homepage --------------------------------------------------------- */

.rora-home {
  background: var(--rora-surface);
  overflow: hidden;
}

.home .site-header,
.home.woocommerce-active .site-header {
  margin-bottom: 0;
}

.home .site-content {
  padding-top: 0;
}

.home .site-content .col-full {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
}

.rora-kicker {
  color: var(--rora-primary-strong);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin: 0 0 0.7rem;
  text-transform: uppercase;
}

/* Product cards (home + archive) */
.rora-product-section ul.products,
.woocommerce ul.products {
  display: grid !important;
  gap: 1.2rem !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 !important;
}

.rora-product-section ul.products::before,
.rora-product-section ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.rora-product-section ul.products li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--rora-surface);
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius);
  display: flex;
  flex-direction: column;
  float: none !important;
  margin: 0 !important;
  min-width: 0;
  overflow: hidden;
  padding: 0 0 1rem !important;
  position: relative;
  text-align: left;
  transition: transform 0.22s var(--rora-ease), box-shadow 0.22s var(--rora-ease);
  width: auto !important;
}

.rora-product-section ul.products li.product:hover,
.woocommerce ul.products li.product:hover {
  box-shadow: var(--rora-shadow);
  transform: translateY(-3px);
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  display: block;
  position: relative;
}

.woocommerce ul.products li.product:has(img.woocommerce-placeholder) .woocommerce-LoopProduct-link::before {
  aspect-ratio: 1 / 0.9;
  background:
    linear-gradient(180deg, rgba(248, 245, 250, 0.2), rgba(248, 245, 250, 0.55)),
    url("../images/rora-home-hero.png");
  background-position: 72% center;
  background-size: cover;
  content: "";
  display: block;
  flex: 0 0 100%;
  width: 100%;
}

.woocommerce ul.products li.product img.woocommerce-placeholder {
  display: none !important;
}

.woocommerce ul.products li.product img {
  aspect-ratio: 1 / 1.05;
  background:
    radial-gradient(circle at 66% 32%, rgba(255, 255, 255, 0.8) 0 13%, transparent 14%),
    linear-gradient(145deg, var(--rora-primary-soft), var(--rora-sky-soft));
  border-radius: 0;
  display: block;
  margin: 0 0 0.85rem !important;
  object-fit: cover;
  width: 100%;
  transition: transform 0.4s var(--rora-ease);
}

.woocommerce ul.products li.product:hover img { transform: scale(1.03); }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--rora-ink);
  font-family: var(--rora-sans);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.3;
  min-height: 2.3em;
  padding: 0 0.85rem !important;
}

.woocommerce ul.products li.product .price {
  color: var(--rora-ink);
  display: block;
  font-size: 0.95rem;
  font-weight: 700;
  margin-top: 0.2em !important;
  padding: 0 0.85rem;
}

.woocommerce ul.products li.product .price del {
  color: var(--rora-muted);
  font-weight: 500;
  margin-right: 0.4em;
}

.woocommerce ul.products li.product .price ins {
  background: transparent;
  color: var(--rora-primary-strong);
  text-decoration: none;
}

.woocommerce ul.products li.product .button {
  display: block;
  margin: auto 1rem 0 !important;
  min-height: 42px;
  padding: 0.55rem 0.7rem;
  width: calc(100% - 2rem);
}

.woocommerce span.onsale {
  background: var(--rora-peach);
  border: 0;
  border-radius: 999px;
  box-shadow: var(--rora-shadow-sm);
  color: var(--rora-ink);
  font-size: 0.7rem;
  font-weight: 800;
  left: 0.7rem;
  letter-spacing: 0.04em;
  min-height: 0;
  padding: 0.3rem 0.6rem;
  right: auto;
  top: 0.7rem;
}

/* ----- Single product page (concept) ------------------------------------ */

.single-product .site-main { padding: clamp(1.4rem, 3vw, 2.6rem) 1.4rem clamp(3rem, 6vw, 5rem); }
.single-product .site-content .col-full { max-width: 1320px; }

.single-product div.product.rora-product {
  display: block;
  overflow: visible !important;
}
.single-product div.product.rora-product::before,
.single-product div.product.rora-product::after { display: none !important; }

.rora-product__crumbs {
  color: var(--rora-soft-ink);
  font-size: 0.86rem;
  font-weight: 500;
  margin: 0.4rem 0 1.1rem;
}

.rora-product__crumbs ol {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rora-product__crumbs li {
  align-items: center;
  display: inline-flex;
  gap: 0.55rem;
}

.rora-product__crumbs svg {
  color: var(--rora-primary-strong);
  height: 16px;
  width: 16px;
}

.rora-product__crumbs a { color: var(--rora-soft-ink); }
.rora-product__crumbs a:hover { color: var(--rora-primary-strong); }

.rora-product__crumbs span[aria-current="page"] {
  color: var(--rora-primary-strong);
  font-weight: 600;
}

.rora-product__crumbs-sep {
  color: var(--rora-muted);
  font-size: 1rem;
  line-height: 1;
}

.rora-product__layout {
  align-items: start;
  display: grid;
  gap: clamp(1.6rem, 3vw, 3rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
}

.rora-product__summary {
  padding-top: 0.2rem;
  position: sticky;
  top: 1.4rem;
  align-self: start;
}

.single-product div.product.rora-product .woocommerce-product-gallery,
.single-product div.product.rora-product .rora-product__summary {
  float: none !important;
  margin: 0 !important;
  width: 100% !important;
}

/* ----- Gallery --------------------------------------------------------- */

.single-product .woocommerce-product-gallery {
  background: var(--rora-surface);
  border-radius: 22px;
  overflow: visible;
  position: relative;
}

.single-product .woocommerce-product-gallery .flex-viewport {
  border-radius: 22px;
  overflow: hidden;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  border-radius: 22px;
  overflow: hidden;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery .flexslider img {
  border-radius: 22px;
  display: block;
  height: auto;
  margin: 0 auto;
  max-height: 540px;
  object-fit: contain;
  width: 100%;
}

/* Flexslider resets — kill float/inline junk */
.single-product .woocommerce-product-gallery .flexslider { margin: 0; }
.single-product .woocommerce-product-gallery .flexslider .slides { margin: 0; padding: 0; }
.single-product .woocommerce-product-gallery .flexslider .slides li { float: none !important; list-style: none; margin: 0; }
.single-product .woocommerce-product-gallery .flexslider .slides > li { display: none; }
.single-product .woocommerce-product-gallery .flexslider .slides > li:first-child { display: block; }

.single-product .woocommerce-product-gallery__trigger {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 50%;
  box-shadow: 0 6px 18px -10px rgba(74, 59, 82, 0.45);
  display: inline-flex;
  height: 40px;
  justify-content: center;
  position: absolute;
  right: 14px;
  top: 14px;
  width: 40px;
  z-index: 4;
}

.single-product .woocommerce-product-gallery__trigger::before {
  color: var(--rora-primary-strong);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0.8rem 0 0;
  padding: 0;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  list-style: none;
  margin: 0;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  aspect-ratio: 1;
  border: 2px solid transparent;
  border-radius: 14px;
  cursor: pointer;
  display: block;
  object-fit: cover;
  opacity: 1;
  transition: border-color 0.18s var(--rora-ease), transform 0.18s var(--rora-ease);
  width: 100%;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover { transform: translateY(-2px); }
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  border-color: var(--rora-primary-strong);
}

/* ----- Summary --------------------------------------------------------- */

.rora-product__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 1.1rem;
}

.rora-product__pill {
  align-items: center;
  border-radius: 12px;
  display: inline-flex;
  font-size: 0.74rem;
  font-weight: 700;
  gap: 0.38rem;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 0.42rem 0.78rem;
  text-transform: uppercase;
}

.rora-product__pill svg { height: 14px; width: 14px; }

.rora-product__pill--preorder {
  background: #ffe0e8;
  border: 1px solid #ffc3d2;
  color: var(--rora-coral, #ff5a7a);
}

.rora-product__pill--instock {
  background: #d6f5dd;
  color: #1b6f3b;
}

.rora-product__pill--new {
  background: #fff;
  border: 1px solid var(--rora-line);
  color: #ff6b6b;
}

.rora-product__pill--new svg { color: #ff6b6b; }

.single-product .product .product_title,
.single-product div.product.rora-product .product_title {
  color: var(--rora-ink);
  font-family: var(--rora-serif);
  font-size: clamp(1.9rem, 3.6vw, 2.85rem);
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.1;
  margin: 0 0 0.85rem;
  text-transform: none;
}

.rora-product__price {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-family: var(--rora-sans);
  gap: 0.7rem 0.85rem;
  margin: 0 0 0.85rem;
}

.rora-product__price-now {
  color: #2fbd6f;
  font-size: clamp(2rem, 3.6vw, 2.6rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1;
}

.rora-product__price-was {
  color: var(--rora-muted);
  font-size: 1.15rem;
  font-weight: 500;
  text-decoration: line-through;
}

.rora-product__price-off {
  background: #fff2c2;
  border: 1px solid rgba(216, 154, 27, 0.22);
  border-radius: 999px;
  color: #9a6500;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.3rem 0.65rem;
}

.rora-product__rating {
  align-items: center;
  color: var(--rora-soft-ink);
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 600;
  gap: 0.55rem;
  margin: 0 0 1.1rem;
  padding: 0 0 1rem;
  text-decoration: none;
  width: 100%;
  border-bottom: 1px solid var(--rora-line);
}

.rora-product__rating-stars {
  color: #f5b400;
  font-size: 1.1rem;
  letter-spacing: 0.08em;
}

.rora-product__rating strong {
  color: var(--rora-ink);
  font-weight: 700;
}

.rora-product__rating-count {
  color: var(--rora-muted);
  font-weight: 500;
}

.rora-product__rating--empty .rora-product__rating-stars { color: #d8d3df; }

/* Feature bullets */
.rora-product__features {
  display: grid;
  gap: 0.7rem;
  list-style: none;
  margin: 0 0 1.1rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid var(--rora-line);
}

.rora-product__feature {
  align-items: center;
  color: var(--rora-soft-ink);
  display: flex;
  font-size: 0.98rem;
  font-weight: 500;
  gap: 0.7rem;
  line-height: 1.4;
}

.rora-product__feature-icon {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  flex-shrink: 0;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.rora-product__feature-icon svg { height: 16px; width: 16px; }

.rora-product__feature--lavender .rora-product__feature-icon { background: var(--rora-feature-bg, var(--rora-primary-soft)); color: var(--rora-feature-color, var(--rora-primary-strong)); }
.rora-product__feature--sky      .rora-product__feature-icon { background: var(--rora-feature-bg, var(--rora-sky-soft));     color: var(--rora-feature-color, #1aa3b4); }
.rora-product__feature--peach    .rora-product__feature-icon { background: var(--rora-feature-bg, var(--rora-peach-soft));   color: var(--rora-feature-color, #d8593f); }
.rora-product__feature--yellow   .rora-product__feature-icon { background: var(--rora-feature-bg, var(--rora-yellow-soft));  color: var(--rora-feature-color, #b3870a); }

/* Cart form — "Quantity: [-] [n] [+]   [Add to Cart]" */
.single-product div.product.rora-product form.cart {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin: 0 0 0.85rem;
}

.single-product div.product.rora-product form.cart::before,
.single-product div.product.rora-product form.cart::after { display: none !important; }

.rora-qty-label {
  color: var(--rora-soft-ink);
  flex-shrink: 0;
  font-size: 0.95rem;
  font-weight: 600;
}

.single-product div.product.rora-product form.cart .quantity {
  align-items: center;
  background: #fff;
  border: 1.5px solid var(--rora-line-strong);
  border-radius: 12px;
  display: inline-flex;
  flex-shrink: 0;
  float: none !important;
  height: 50px;
  margin: 0 !important;
  overflow: hidden;
  padding: 0;
  width: 120px;
}

.single-product div.product.rora-product form.cart .quantity::before,
.single-product div.product.rora-product form.cart .quantity::after { display: none !important; }

.single-product div.product.rora-product form.cart .quantity .screen-reader-text { display: none; }

.single-product div.product.rora-product form.cart .quantity .qty {
  -moz-appearance: textfield;
  background: transparent;
  border: 0;
  color: var(--rora-ink);
  font-size: 1rem;
  font-weight: 700;
  height: 100%;
  text-align: center;
  width: 100%;
}

.single-product div.product.rora-product form.cart .quantity .qty::-webkit-outer-spin-button,
.single-product div.product.rora-product form.cart .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.rora-qty-button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--rora-ink);
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  font-size: 1.25rem;
  font-weight: 500;
  height: 100%;
  justify-content: center;
  line-height: 1;
  min-height: 0;
  padding: 0 0.55rem;
}

.rora-qty-button:hover { color: var(--rora-primary-strong); }

.single-product div.product.rora-product form.cart .single_add_to_cart_button {
  align-items: center;
  background: var(--rora-primary);
  border: 0;
  border-radius: 14px;
  color: #fff;
  display: inline-flex;
  flex: 1 1 auto;
  font-family: var(--rora-sans);
  font-size: 1rem;
  font-weight: 700;
  gap: 0.55rem;
  justify-content: center;
  letter-spacing: 0.005em;
  min-height: 50px;
  min-width: 160px;
  padding: 0.55rem 1.4rem;
  text-transform: none;
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button:hover {
  background: var(--rora-primary-strong);
  color: #fff;
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button::before {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='20' r='1.5'/><circle cx='18' cy='20' r='1.5'/><path d='M3 3h2l3 13h12l3-9H6'/></svg>") center / contain no-repeat;
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 20px;
  width: 20px;
}

.single-product div.product.rora-product form.cart select.rora-variant-select--needs-choice {
  border-color: var(--rora-primary) !important;
  box-shadow: 0 0 0 4px rgba(166, 133, 230, 0.18) !important;
}

.rora-variant-toast {
  align-items: center;
  background: linear-gradient(135deg, #fff 0%, #fdf9ff 100%);
  border: 1px solid rgba(166, 133, 230, 0.28);
  border-radius: 18px;
  bottom: clamp(1rem, 3vw, 1.6rem);
  box-shadow: 0 22px 60px -28px rgba(74, 59, 82, 0.55), 0 10px 22px -16px rgba(166, 133, 230, 0.8);
  color: var(--rora-ink);
  display: flex;
  gap: 0.85rem;
  left: 50%;
  max-width: min(92vw, 430px);
  opacity: 0;
  padding: 0.9rem 1rem;
  pointer-events: none;
  position: fixed;
  transform: translate(-50%, 18px) scale(0.98);
  transition: opacity 0.22s var(--rora-ease), transform 0.22s var(--rora-ease);
  width: max-content;
  z-index: 9999;
}

.rora-variant-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.rora-variant-toast__icon {
  align-items: center;
  background: var(--rora-primary-soft);
  border-radius: 999px;
  color: var(--rora-primary-strong);
  display: inline-flex;
  flex: 0 0 42px;
  font-size: 1.25rem;
  font-weight: 900;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.rora-variant-toast__copy {
  display: grid;
  gap: 0.18rem;
  line-height: 1.25;
}

.rora-variant-toast__copy strong {
  color: var(--rora-ink);
  font-size: 0.98rem;
  font-weight: 800;
}

.rora-variant-toast__copy em {
  color: var(--rora-soft-ink);
  font-size: 0.84rem;
  font-style: normal;
  font-weight: 600;
}

@media (max-width: 520px) {
  .rora-variant-toast {
    align-items: flex-start;
    left: 1rem;
    right: 1rem;
    transform: translateY(18px) scale(0.98);
    width: auto;
  }

  .rora-variant-toast.is-visible {
    transform: translateY(0) scale(1);
  }
}

.rora-cart-toast {
  align-items: center;
  background:
    radial-gradient(circle at 100% 0%, rgba(121, 222, 235, 0.16), transparent 10rem),
    linear-gradient(135deg, #fff 0%, #fbf8ff 100%);
  border: 1px solid rgba(112, 72, 241, 0.18);
  border-radius: 18px;
  /* A15: desktop toast top-right (was bottom-right) so it never overlaps the
     qty stepper / Add-to-cart controls in the summary column. */
  top: clamp(1rem, 3vw, 1.6rem);
  box-shadow: 0 24px 64px -32px rgba(31, 26, 74, 0.58), 0 12px 28px -18px rgba(112, 72, 241, 0.45);
  color: var(--rora-ink);
  display: grid;
  gap: 0.85rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  max-width: min(92vw, 520px);
  opacity: 0;
  padding: 0.88rem 0.95rem;
  pointer-events: none;
  position: fixed;
  right: clamp(1rem, 3vw, 1.6rem);
  transform: translateY(-18px) scale(0.98);
  transition: opacity 0.22s var(--rora-ease), transform 0.22s var(--rora-ease);
  width: max-content;
  z-index: 9999;
}

.rora-cart-toast.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.rora-cart-toast__icon {
  align-items: center;
  background: var(--rora-sky-soft);
  border-radius: 999px;
  color: #1297ac;
  display: inline-flex;
  flex: 0 0 42px;
  font-family: var(--rora-rounded);
  font-size: 1rem;
  font-weight: 1000;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.rora-cart-toast__copy {
  display: grid;
  gap: 0.18rem;
  line-height: 1.25;
  min-width: 0;
}

.rora-cart-toast__title {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: 0.98rem;
  font-weight: 950;
}

.rora-cart-toast__message {
  color: var(--rora-soft-ink);
  font-size: 0.84rem;
  font-style: normal;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.rora-cart-toast__link {
  align-items: center;
  background: #7048f1;
  border-radius: 999px;
  color: #fff !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--rora-rounded);
  font-size: 0.84rem;
  font-weight: 950;
  justify-content: center;
  min-height: 38px;
  padding: 0 0.92rem;
  text-decoration: none !important;
  white-space: nowrap;
}

.rora-cart-toast__link:hover,
.rora-cart-toast__link:focus-visible {
  background: #5d38d8;
  color: #fff !important;
}

@media (max-width: 560px) {
  .rora-cart-toast {
    align-items: flex-start;
    /* A15: mobile toast as a bottom sheet sitting ABOVE the fixed tabbar and
       the sticky add-to-cart bar (was pinned to the top, where it covered the
       Weight/Material spec card). */
    top: auto;
    bottom: calc(var(--rora-mobile-tabbar-height, 72px) + env(safe-area-inset-bottom, 0px) + 3.6rem);
    grid-template-columns: auto minmax(0, 1fr);
    left: 1rem;
    right: 1rem;
    transform: translateY(18px) scale(0.98);
    width: auto;
    z-index: 100000;
  }

  .rora-cart-toast.is-visible {
    transform: translateY(0) scale(1);
  }

  .rora-cart-toast__link {
    grid-column: 2;
    justify-self: start;
    margin-top: 0.12rem;
  }
}

/* Buy It Now - COD CTA */
.rora-product__cod-cta,
.rora-product__cod-cta.button {
  align-items: center !important;
  background: var(--rora-yellow) !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: var(--rora-ink) !important;
  cursor: pointer;
  display: inline-flex !important;
  font-family: var(--rora-sans);
  font-size: 1rem;
  font-weight: 700;
  gap: 0.55rem;
  justify-content: center !important;
  letter-spacing: 0.005em;
  margin: 0 0 1.2rem !important;
  min-height: 56px;
  padding: 0.6rem 1.4rem !important;
  text-transform: none;
  width: 100%;
}

.rora-product__cod-cta:hover,
.rora-product__cod-cta.button:hover {
  background: #f5dc4a !important;
  color: var(--rora-ink) !important;
}

.rora-product__cod-cta svg {
  color: var(--rora-ink);
  height: 22px;
  width: 22px;
}

/* Trust pills */
.rora-product__trust {
  background: var(--rora-bg);
  border-radius: 18px;
  display: grid;
  gap: 0.5rem 0.65rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0.85rem 0.9rem;
}

.rora-product__trust-item {
  align-items: center;
  display: flex;
  gap: 0.7rem;
}

.rora-product__trust-icon {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  flex-shrink: 0;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.rora-product__trust-icon svg { height: 18px; width: 18px; }

.rora-product__trust-item--lavender .rora-product__trust-icon { background: var(--rora-primary-soft); color: var(--rora-primary-strong); }
.rora-product__trust-item--peach    .rora-product__trust-icon { background: var(--rora-peach-soft);   color: #d8593f; }
.rora-product__trust-item--sky      .rora-product__trust-icon { background: var(--rora-sky-soft);     color: #1aa3b4; }

.rora-product__trust-text {
  display: block;
  line-height: 1.25;
}

.rora-product__trust-text strong {
  color: var(--rora-primary-strong);
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
}

.rora-product__trust-text em {
  color: var(--rora-muted);
  display: block;
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 500;
}

/* Description body (full-width in tab, no attribute cards) */
.rora-product__desc-body {
  color: var(--rora-soft-ink);
  font-size: 0.98rem;
  line-height: 1.65;
}

.rora-product__desc-body p { margin: 0 0 0.8rem; }

/* ----- COD modal -------------------------------------------------------- */

.rora-modal {
  align-items: center;
  background: rgba(74, 59, 82, 0.62);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 1rem;
  position: fixed;
  z-index: 100000;
  backdrop-filter: blur(10px) saturate(1.08);
  -webkit-backdrop-filter: blur(10px) saturate(1.08);
}

.rora-modal.is-open { display: flex; animation: rora-fade 0.25s var(--rora-ease); }

@keyframes rora-fade { from { opacity: 0; } to { opacity: 1; } }

.rora-modal__panel {
  background: var(--rora-surface);
  border-radius: var(--rora-radius-lg);
  box-shadow: var(--rora-shadow-lg);
  max-height: 90vh;
  max-width: 520px;
  overflow-y: auto;
  position: relative;
  width: 100%;
  animation: rora-pop 0.32s var(--rora-ease);
}

@keyframes rora-pop {
  from { transform: translateY(20px) scale(0.96); opacity: 0; }
  to   { transform: translateY(0) scale(1); opacity: 1; }
}

.rora-modal__close-x {
  align-items: center;
  background: rgba(255, 255, 255, 0.95);
  border: 0;
  border-radius: 50%;
  color: var(--rora-ink);
  cursor: pointer;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  min-height: 0;
  padding: 0;
  position: absolute;
  right: 0.85rem;
  top: 0.85rem;
  width: 34px;
  z-index: 2;
  box-shadow: var(--rora-shadow-sm);
}

.rora-modal__close-x:hover {
  background: var(--rora-ink);
  color: #fff;
  transform: none;
}

.rora-modal__close-x svg { height: 18px; width: 18px; }

/* Modal: form state */
.rora-cod-form {
  margin: 0;
}

.rora-cod-form__head {
  align-items: center;
  background: var(--rora-primary);
  color: var(--rora-ink);
  display: flex;
  gap: 0.65rem;
  justify-content: space-between;
  padding: 1rem 1.3rem;
}

.rora-cod-form__head h3 {
  color: var(--rora-ink);
  font-family: var(--rora-sans);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.005em;
  line-height: 1.2;
  margin: 0;
}

.rora-cod-form__pill {
  background: var(--rora-yellow);
  border-radius: 999px;
  color: var(--rora-ink);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 0.3rem 0.7rem;
  text-transform: uppercase;
}

.rora-cod-form__product {
  align-items: center;
  border-bottom: 1px solid var(--rora-line);
  display: flex;
  gap: 0.85rem;
  padding: 0.95rem 1.3rem;
}

.rora-cod-form__product img {
  border-radius: var(--rora-radius-sm);
  height: 54px;
  object-fit: cover;
  width: 54px;
}

.rora-cod-form__product-info { flex: 1; }
.rora-cod-form__product-info strong {
  color: var(--rora-ink);
  display: block;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.25;
}
.rora-cod-form__product-info span {
  color: var(--rora-primary-strong);
  display: block;
  font-size: 0.95rem;
  font-weight: 700;
  margin-top: 0.15rem;
}

.rora-cod-form__body { padding: 1.1rem 1.3rem 1.3rem; }

.rora-cod-form__row {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 0.75rem;
}

.rora-cod-form__row--full { grid-template-columns: 1fr; }

.rora-cod-form label {
  color: var(--rora-soft-ink);
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  margin-bottom: 0.3rem;
}

.rora-cod-form input,
.rora-cod-form select,
.rora-cod-form textarea {
  background: #fff;
  border: 1px solid var(--rora-line-strong);
  border-radius: var(--rora-radius-sm);
  color: var(--rora-ink);
  display: block;
  font-family: inherit;
  font-size: 0.96rem;
  min-width: 0;
  padding: 0.7rem 0.85rem;
  transition: border-color 0.18s var(--rora-ease), box-shadow 0.18s var(--rora-ease);
  width: 100%;
}

.rora-cod-form input:focus,
.rora-cod-form select:focus,
.rora-cod-form textarea:focus {
  border-color: var(--rora-primary);
  box-shadow: 0 0 0 3px rgba(188, 163, 240, 0.25);
  outline: 0;
}

.rora-cod-form textarea {
  min-height: 80px;
  resize: vertical;
}

.rora-cod-form__qty {
  align-items: center;
  background: #fff;
  border: 1px solid var(--rora-line-strong);
  border-radius: var(--rora-radius-sm);
  display: inline-flex;
  height: 46px;
  width: 100%;
}

.rora-cod-form__qty button {
  background: transparent;
  border: 0;
  color: var(--rora-ink);
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: 600;
  height: 100%;
  min-height: 0;
  padding: 0;
  width: 38px;
  box-shadow: none;
}

.rora-cod-form__qty button:hover {
  background: var(--rora-primary-soft);
  color: var(--rora-ink);
  transform: none;
}

.rora-cod-form__qty input {
  background: transparent;
  border: 0;
  font-weight: 700;
  height: 100%;
  padding: 0;
  text-align: center;
  width: 100%;
}

.rora-cod-form__qty input:focus { box-shadow: none; }

.rora-cod-summary {
  background: var(--rora-surface-soft);
  border: 1px dashed var(--rora-line-strong);
  border-radius: var(--rora-radius-sm);
  display: grid;
  font-size: 0.92rem;
  gap: 0.4rem;
  margin: 0.85rem 0 1rem;
  padding: 0.85rem 1rem;
}

.rora-cod-summary__line {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.rora-cod-summary__line span:first-child { color: var(--rora-soft-ink); font-weight: 500; }
.rora-cod-summary__line span:last-child  { color: var(--rora-ink); font-weight: 700; }

.rora-cod-summary__total {
  border-top: 1px solid var(--rora-line);
  font-size: 1.05rem;
  padding-top: 0.5rem;
}

.rora-cod-summary__total span:first-child { color: var(--rora-ink); font-weight: 700; }
.rora-cod-summary__total span:last-child {
  color: var(--rora-primary-strong);
  font-family: var(--rora-serif);
  font-size: 1.3rem;
  font-weight: 700;
}

.rora-cod-form__submit {
  align-items: center;
  background: var(--rora-ink);
  color: #fff;
  display: flex;
  font-size: 1.02rem;
  gap: 0.55rem;
  justify-content: center;
  min-height: 54px;
  width: 100%;
}

.rora-cod-form__submit:hover { background: var(--rora-primary-strong); }

.rora-cod-form__submit svg { height: 22px; width: 22px; }

.rora-cod-form__alt {
  color: var(--rora-muted);
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  margin-top: 0.85rem;
  text-align: center;
}

.rora-cod-form__error {
  background: rgba(255, 181, 167, 0.18);
  border: 1px solid rgba(255, 100, 80, 0.4);
  border-radius: var(--rora-radius-sm);
  color: #b3431b;
  display: none;
  font-size: 0.88rem;
  font-weight: 600;
  margin: 0.5rem 0 0.85rem;
  padding: 0.7rem 0.9rem;
}

.rora-cod-form__error.is-visible { display: block; }

/* Modal: success state */
.rora-cod-success {
  display: none;
  padding: 2rem 1.6rem 1.8rem;
  text-align: center;
}

.rora-modal.is-success .rora-cod-form { display: none; }
.rora-modal.is-success .rora-cod-success { display: block; }

.rora-cod-success__check {
  align-items: center;
  background: var(--rora-sky-soft);
  border-radius: 50%;
  color: var(--rora-primary-strong);
  display: inline-flex;
  height: 64px;
  justify-content: center;
  margin-bottom: 1rem;
  width: 64px;
}

.rora-cod-success__check svg { height: 36px; width: 36px; }

.rora-cod-success h3 {
  color: var(--rora-ink);
  font-family: var(--rora-serif);
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
}

.rora-cod-success p {
  color: var(--rora-soft-ink);
  font-size: 0.95rem;
  line-height: 1.55;
  margin: 0 0 1.2rem;
}

.rora-cod-success__order-id {
  background: var(--rora-surface-soft);
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius-sm);
  color: var(--rora-ink);
  display: inline-block;
  font-family: var(--rora-sans);
  font-size: 0.92rem;
  font-weight: 700;
  margin-bottom: 1.3rem;
  padding: 0.5rem 0.95rem;
}

.rora-cod-success__close { background: var(--rora-ink); width: 100%; }

.single-product .woocommerce-tabs {
  border-top: 1px solid var(--rora-line);
  clear: both;
  margin-top: clamp(2.5rem, 5vw, 4rem) !important;
  overflow: hidden;
  padding-top: 0;
}

/* Underline tab style — override Storefront's float-based layout */
.single-product .woocommerce-tabs ul.tabs {
  border: 0;
  border-bottom: 2px solid var(--rora-line);
  display: flex !important;
  float: none !important;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after { display: none !important; }

.single-product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  margin: 0 !important;
  margin-bottom: -2px !important;
  padding: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }

.single-product .woocommerce-tabs ul.tabs li.active {
  background: transparent;
  border-bottom-color: var(--rora-primary-strong);
}

.single-product .woocommerce-tabs ul.tabs li a {
  color: var(--rora-muted);
  display: block;
  font-size: 0.94rem;
  font-weight: 600;
  padding: 0.85rem 1.25rem;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--rora-ink);
  font-weight: 700;
}

.single-product .woocommerce-tabs ul.tabs li a:hover { color: var(--rora-ink); }

.single-product .woocommerce-tabs .panel {
  background: transparent;
  border: 0;
  clear: both;
  float: none !important;
  margin-left: 0 !important;
  max-width: 920px;
  padding: clamp(1rem, 2.2vw, 1.6rem) 0 0;
  width: 100% !important;
}

.single-product #reviews #comments h2,
.single-product #review_form_wrapper .comment-reply-title {
  color: var(--rora-ink);
  font-family: var(--rora-sans);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  font-weight: 800;
  letter-spacing: 0;
  margin: 0 0 0.8rem;
}

.single-product #reviews {
  max-width: 880px;
}

.single-product #reviews #comments,
.single-product #reviews #review_form_wrapper {
  float: none !important;
  width: 100% !important;
}

.single-product #reviews ol.commentlist {
  display: grid;
  gap: 0.65rem;
  list-style: none !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
}

.single-product #reviews ol.commentlist li {
  background: #fff;
  border: 1px solid rgba(108, 78, 224, 0.12);
  border-radius: var(--rora-radius-sm);
  box-shadow: 0 3px 14px -12px rgba(31, 26, 74, 0.28);
  list-style: none !important;
  padding: 0.85rem 1rem !important;
  transition: border-color 0.2s var(--rora-ease), box-shadow 0.2s var(--rora-ease), transform 0.2s var(--rora-ease);
}

.single-product #reviews ol.commentlist li:hover {
  border-color: rgba(108, 78, 224, 0.28);
  box-shadow: 0 8px 22px -14px rgba(108, 78, 224, 0.35);
  transform: translateY(-1px);
}

.single-product #reviews .comment_container {
  display: block;
  min-width: 0;
}

.single-product #reviews .avatar,
.single-product #reviews .comment_container img.avatar {
  display: none !important;
}

.single-product #reviews .comment-text {
  border: 0 !important;
  margin: 0 !important;
  min-width: 0;
  padding: 0 !important;
}

.single-product #reviews .star-rating {
  color: var(--rora-purple);
  float: right;
  font-size: 0.9rem;
  margin: 0.08rem 0 0.25rem 0.7rem;
}

.single-product #reviews .star-rating::before,
.single-product #reviews .star-rating span::before {
  color: var(--rora-purple);
}

.single-product #reviews .meta {
  color: var(--rora-muted);
  font-size: 0.82rem;
  line-height: 1.35;
  margin: 0 0 0.3rem;
}

.single-product #reviews .meta strong {
  color: var(--rora-ink);
  font-weight: 800;
}

.single-product #reviews .description p {
  color: var(--rora-soft-ink);
  font-size: 0.92rem;
  line-height: 1.45;
  margin: 0;
}

.single-product #reviews .woocommerce-noreviews {
  background: rgba(108, 78, 224, 0.06);
  border: 1px solid rgba(108, 78, 224, 0.12);
  border-radius: var(--rora-radius-sm);
  color: var(--rora-soft-ink);
  margin: 0 0 0.9rem;
  padding: 0.8rem 1rem;
}

.single-product #reviews .woocommerce-noreviews::before {
  content: none !important;
  display: none !important;
}

.rora-review-toggle {
  align-items: center;
  background: var(--rora-purple);
  border: 0;
  border-radius: var(--rora-radius-sm);
  box-shadow: 0 4px 14px -6px rgba(108, 78, 224, 0.45);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--rora-sans);
  font-size: 0.9rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  margin: 0.2rem 0 0;
  min-height: 42px;
  padding: 0.75rem 1rem;
  transition: background 0.2s var(--rora-ease), box-shadow 0.2s var(--rora-ease), transform 0.2s var(--rora-ease);
}

.rora-review-toggle:hover,
.rora-review-toggle:focus-visible {
  background: var(--rora-purple-strong);
  box-shadow: 0 8px 20px -8px rgba(108, 78, 224, 0.52);
  color: #fff;
  transform: translateY(-1px);
}

.rora-review-toggle:focus-visible {
  outline: 3px solid rgba(108, 78, 224, 0.18);
  outline-offset: 2px;
}

/* Review form */
.single-product #review_form_wrapper {
  margin-top: 0.9rem;
}

.single-product #reviews.rora-reviews-enhanced #review_form_wrapper {
  display: none;
}

.single-product #reviews.rora-reviews-enhanced.is-review-form-open #review_form_wrapper {
  display: block;
}

.single-product #review_form {
  background: #fff;
  border: 1px solid rgba(108, 78, 224, 0.14);
  border-radius: var(--rora-radius-sm);
  box-shadow: 0 8px 26px -20px rgba(31, 26, 74, 0.32);
  padding: 1rem;
}

.single-product #review_form .comment-reply-title {
  display: block;
  font-size: 1rem !important;
  margin-bottom: 0.55rem !important;
}

.single-product #review_form input,
.single-product #review_form textarea,
.single-product #review_form select {
  background: #fff;
  border: 1px solid rgba(74, 59, 82, 0.16);
  border-radius: var(--rora-radius-sm);
  color: var(--rora-ink);
  font-size: 0.9rem;
  padding: 0.68rem 0.78rem;
  transition: border-color 0.2s var(--rora-ease), box-shadow 0.2s var(--rora-ease);
  width: 100%;
}

.single-product #review_form textarea {
  height: 120px;
  min-height: 120px;
  resize: vertical;
}

.single-product #review_form input:focus,
.single-product #review_form textarea:focus,
.single-product #review_form select:focus {
  border-color: var(--rora-purple);
  box-shadow: 0 0 0 3px rgba(108, 78, 224, 0.12);
  outline: none;
}

.single-product #review_form .comment-notes {
  color: var(--rora-soft-ink);
  font-size: 0.84rem;
  margin: 0 0 0.85rem;
}

.single-product #review_form .comment-form-author,
.single-product #review_form .comment-form-phone {
  display: inline-block;
  margin-bottom: 0.75rem;
  vertical-align: top;
  width: calc(50% - 0.4rem);
}

.single-product #review_form .comment-form-author {
  margin-right: 0.8rem;
}

.single-product #review_form .comment-form-rating,
.single-product #review_form .comment-form-comment {
  margin-bottom: 0.75rem;
}

.single-product #review_form .comment-form-cookies-consent {
  align-items: center;
  display: flex;
  gap: 0.45rem;
  margin: 0 0 0.8rem;
}

.single-product #review_form .comment-form-cookies-consent input {
  flex: 0 0 auto;
  height: 16px;
  margin: 0;
  width: 16px;
}

.single-product #review_form .comment-form-cookies-consent label {
  color: var(--rora-soft-ink);
  font-size: 0.78rem;
  line-height: 1.35;
  margin: 0;
}

.single-product #review_form .comment-form-rating .stars {
  display: inline-flex;
  gap: 0.12rem;
  margin: 0;
}

.single-product #review_form .comment-form-rating .stars a {
  color: #c8c1cf;
  font-size: 1.25rem;
  text-decoration: none;
  transition: color 0.16s var(--rora-ease), transform 0.16s var(--rora-ease);
}

.single-product #review_form .comment-form-rating .stars:hover a,
.single-product #review_form .comment-form-rating .stars.selected a,
.single-product #review_form .comment-form-rating .stars a:hover {
  color: var(--rora-purple);
}

.single-product #review_form .comment-form-rating .stars a:hover {
  transform: translateY(-1px) scale(1.08);
}

.single-product #review_form label {
  color: var(--rora-soft-ink);
  display: block;
  font-size: 0.8rem;
  font-weight: 800;
  margin-bottom: 0.28rem;
}

.single-product #review_form .form-submit input,
.single-product.woocommerce #review_form #respond input#submit,
.single-product #review_form #respond input#submit {
  background: var(--rora-purple) !important;
  border: none;
  border-radius: var(--rora-radius-sm);
  box-shadow: 0 4px 14px -6px rgba(108, 78, 224, 0.45);
  color: #fff !important;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 800;
  min-height: 42px;
  padding: 0.75rem 1.1rem;
  transition: background 0.2s var(--rora-ease), box-shadow 0.2s var(--rora-ease), transform 0.15s var(--rora-ease);
  width: auto;
}

.single-product #review_form .form-submit input:hover,
.single-product #review_form .form-submit input:focus-visible,
.single-product.woocommerce #review_form #respond input#submit:hover,
.single-product.woocommerce #review_form #respond input#submit:focus-visible,
.single-product #review_form #respond input#submit:hover,
.single-product #review_form #respond input#submit:focus-visible {
  background: var(--rora-purple-strong) !important;
  box-shadow: 0 8px 20px -8px rgba(108, 78, 224, 0.52);
  color: #fff !important;
  transform: translateY(-1px);
}

/* ----- Shop / Archive page (single-column layout, sidebar only) -------- */

/* Hide Storefront's right sidebar on shop/category/single product pages */
.woocommerce #secondary,
.tax-product_cat #secondary,
.tax-product_tag #secondary,
.single-product #secondary { display: none !important; }

.woocommerce-shop #primary,
.tax-product_cat #primary,
.tax-product_tag #primary,
.single-product #primary { width: 100% !important; float: none !important; }

.woocommerce-shop .site-content .col-full,
.tax-product_cat .site-content .col-full,
.tax-product_tag .site-content .col-full,
.single-product .site-content .col-full {
  max-width: 1320px;
  padding-top: 1rem;
}

/* Shop layout: sidebar + main */
.rora-shop-layout {
  display: grid;
  gap: clamp(1.4rem, 3vw, 2.4rem);
  grid-template-columns: 260px minmax(0, 1fr);
  padding: 0 1.2rem 2rem;
  align-items: start;
}

/* Filter sidebar — single unified panel */
.rora-shop-aside {
  background: var(--rora-surface);
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius);
  height: fit-content;
  min-width: 0;
  overflow: hidden;
  position: sticky;
  top: 1.2rem;
}

.rora-shop-aside__header {
  align-items: center;
  background: var(--rora-primary-soft);
  color: var(--rora-ink);
  display: flex;
  font-family: var(--rora-sans);
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.5rem;
  letter-spacing: 0.12em;
  padding: 0.85rem 1.1rem;
  text-transform: uppercase;
}

.rora-shop-aside__header svg { height: 16px; width: 16px; }

.rora-shop-aside__group {
  border-top: 1px solid var(--rora-line);
  padding: 1rem 1.1rem 1.1rem;
}

.rora-shop-aside__group:first-of-type { border-top: 0; }

.rora-shop-aside__group h3 {
  color: var(--rora-muted);
  font-family: var(--rora-sans);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  margin: 0 0 0.65rem;
  text-transform: uppercase;
}

/* Price filter — inputs constrained */
.rora-shop-price { display: flex; flex-direction: column; gap: 0.5rem; min-width: 0; }

.rora-shop-price__inputs {
  display: grid;
  gap: 0.4rem;
  grid-template-columns: 1fr 1fr;
  min-width: 0;
}

.rora-shop-price input {
  background: #fff;
  border: 1px solid var(--rora-line-strong);
  border-radius: var(--rora-radius-sm);
  color: var(--rora-ink);
  font-size: 0.88rem;
  font-weight: 600;
  min-width: 0;
  padding: 0.55rem 0.6rem;
  width: 100%;
}

.rora-shop-price button {
  background: var(--rora-ink);
  font-size: 0.85rem;
  min-height: 36px;
  padding: 0.4rem 0.7rem;
  width: 100%;
}

.rora-shop-price button:hover { background: var(--rora-primary-strong); }

/* Stock pill toggles */
.rora-stock-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.rora-stock-toggle a {
  background: var(--rora-surface-soft);
  border: 1px solid var(--rora-line);
  border-radius: 999px;
  color: var(--rora-soft-ink);
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  text-decoration: none;
  transition: all 0.18s var(--rora-ease);
}

.rora-stock-toggle a:hover,
.rora-stock-toggle a.is-active {
  background: var(--rora-ink);
  border-color: var(--rora-ink);
  color: #fff;
}

/* Shop main column */
.rora-shop-main { min-width: 0; }

.rora-shop-toolbar {
  align-items: center;
  background: var(--rora-surface);
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius);
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding: 0.7rem 1rem;
}

.rora-shop-toolbar__count {
  color: var(--rora-soft-ink);
  font-size: 0.88rem;
  font-weight: 600;
}

.rora-shop-toolbar form { margin: 0; }

.rora-shop-toolbar select {
  background: #fff;
  border: 1px solid var(--rora-line-strong);
  border-radius: var(--rora-radius-sm);
  color: var(--rora-ink);
  font-size: 0.88rem;
  font-weight: 600;
  padding: 0.5rem 2.3rem 0.5rem 0.85rem;
}

.woocommerce-pagination ul.page-numbers {
  border: 0 !important;
  display: flex;
  gap: 0.35rem;
  justify-content: center;
  margin-top: 1.6rem !important;
}

.woocommerce-pagination ul.page-numbers li { border: 0 !important; }

.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
  background: var(--rora-surface);
  border: 1px solid var(--rora-line-strong);
  border-radius: var(--rora-radius-sm);
  color: var(--rora-soft-ink);
  font-weight: 700;
  min-width: 38px;
  padding: 0.55rem 0.75rem;
  text-align: center;
  transition: all 0.18s var(--rora-ease);
}

.woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce-pagination ul.page-numbers li span.current {
  background: var(--rora-ink);
  border-color: var(--rora-ink);
  color: #fff;
}

.rora-shop-header h1,
.woocommerce-products-header__title {
  color: var(--rora-ink);
  font-family: var(--rora-serif);
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.1;
  margin: 0 0 0.4rem;
}

.term-description,
.woocommerce-products-header p {
  color: var(--rora-soft-ink);
  font-size: 0.96rem;
  line-height: 1.6;
  margin: 0;
  max-width: 640px;
}

/* ----- Shipping policy & content pages --------------------------------- */

.rora-policy {
  margin: 0 auto;
  max-width: 880px;
  padding: clamp(2rem, 4.5vw, 3.5rem) 1.4rem 3rem;
}

.rora-policy__head {
  border-bottom: 1px solid var(--rora-line);
  margin-bottom: 2rem;
  padding-bottom: 1.6rem;
  text-align: center;
}

.rora-policy__head h1 {
  font-family: var(--rora-serif);
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 0 0 0.5rem;
}

.rora-policy__head p {
  color: var(--rora-soft-ink);
  font-size: 1rem;
  margin: 0 auto;
  max-width: 560px;
}

.rora-policy section {
  background: var(--rora-surface);
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius-lg);
  margin-bottom: 1.2rem;
  padding: 1.6rem 1.6rem 1.4rem;
}

.rora-policy section h2 {
  align-items: center;
  color: var(--rora-ink);
  display: flex;
  font-family: var(--rora-serif);
  font-size: 1.45rem;
  font-weight: 600;
  gap: 0.6rem;
  margin: 0 0 0.85rem;
}

.rora-policy section h2 svg {
  color: var(--rora-primary-strong);
  height: 24px;
  width: 24px;
}

.rora-policy section p,
.rora-policy section li {
  color: var(--rora-soft-ink);
  font-size: 0.95rem;
  line-height: 1.65;
}

.rora-policy section ul { padding-left: 1.1rem; }
.rora-policy section ul li { margin-bottom: 0.35rem; }

.rora-policy table {
  border: 1px solid var(--rora-line);
  border-collapse: collapse;
  border-radius: var(--rora-radius-sm);
  margin: 0.5rem 0;
  overflow: hidden;
  width: 100%;
}

.rora-policy thead { background: var(--rora-primary-soft); }

.rora-policy th,
.rora-policy td {
  border-bottom: 1px solid var(--rora-line);
  font-size: 0.92rem;
  padding: 0.7rem 0.85rem;
  text-align: left;
}

.rora-policy th { color: var(--rora-ink); font-weight: 700; }
.rora-policy td { color: var(--rora-soft-ink); }
.rora-policy tr:last-child td { border-bottom: 0; }

.rora-policy__contact {
  align-items: center;
  background: var(--rora-ink);
  border-radius: var(--rora-radius-lg);
  color: #faf6ee;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr auto;
  margin-top: 1.6rem;
  padding: 1.5rem 1.6rem;
}

.rora-policy__contact h3 { color: #fff; font-family: var(--rora-serif); font-size: 1.25rem; margin: 0 0 0.25rem; }
.rora-policy__contact p { color: rgba(250, 246, 238, 0.78); font-size: 0.92rem; margin: 0; }
.rora-policy__contact .rora-policy__contact-actions { display: flex; gap: 0.5rem; }

/* ----- Forms ------------------------------------------------------------ */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="search"],
textarea,
select {
  background: #fff;
  border: 1px solid var(--rora-line-strong);
  border-radius: var(--rora-radius-sm);
  color: var(--rora-ink);
  font-family: inherit;
  font-size: 0.96rem;
  padding: 0.65em 0.9em;
  transition: border-color 0.18s var(--rora-ease), box-shadow 0.18s var(--rora-ease);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
  border-color: var(--rora-primary);
  box-shadow: 0 0 0 3px rgba(188, 163, 240, 0.25);
  outline: 0;
}

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

.site-footer {
  background:
    radial-gradient(circle at top left, rgba(252, 235, 107, 0.18), transparent 32rem),
    linear-gradient(135deg, #46324f 0%, #31243a 100%);
  color: #fffaf2;
  margin-top: 4rem;
}

.rora-site-footer .col-full {
  margin: 0 auto;
  max-width: 1280px;
  padding: 3rem 1.5rem 2rem;
}

.site-footer.rora-site-footer a,
.site-footer.rora-site-footer a:not(.button):not(.components-button) {
  color: rgba(255, 250, 242, 0.84);
}

.site-footer.rora-site-footer a:hover,
.site-footer.rora-site-footer a:focus-visible,
.site-footer.rora-site-footer a:not(.button):not(.components-button):hover,
.site-footer.rora-site-footer a:not(.button):not(.components-button):focus-visible {
  color: #fff;
}

.rora-footer__main {
  align-items: start;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 2.5rem;
}

.rora-footer__brand {
  display: flex;
}

.rora-footer__logo {
  display: inline-flex;
}

.rora-footer__logo img {
  display: block;
  height: 48px;
  object-fit: contain;
  width: auto;
}

.rora-footer__brand p,
.rora-footer__support p,
.rora-footer__bottom p {
  color: rgba(255, 250, 242, 0.74);
  margin: 0;
}

.rora-footer__nav {
  padding-top: 0.1rem;
}

.rora-footer__nav h3 {
  color: rgba(255, 250, 242, 0.45);
  font-family: var(--rora-sans);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin: 0 0 0.85rem;
  text-transform: uppercase;
}

.rora-footer__nav ul {
  display: grid;
  gap: 0.6rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rora-footer__nav a {
  color: rgba(255, 250, 242, 0.72);
  display: inline-flex;
  font-size: 0.875rem;
  line-height: 1.35;
  text-decoration: none;
  transition: color 0.15s ease;
}

.rora-footer__nav a:hover {
  color: #fff;
}

.rora-footer__support {
  padding-top: 0.1rem;
}

.rora-footer__support h2 {
  color: #fff;
  font-family: var(--rora-sans);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 0.4rem;
}

.rora-footer__support p {
  color: rgba(255, 250, 242, 0.55);
  font-size: 0.82rem;
  line-height: 1.5;
}

.rora-footer__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.85rem;
}

.rora-footer__button,
.rora-site-footer .button.rora-footer__button {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  color: rgba(255, 250, 242, 0.85);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
  min-height: auto;
  padding: 0.45rem 1rem;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.rora-footer__button:hover,
.rora-site-footer .button.rora-footer__button:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.25);
  color: #fff;
}

.rora-footer__button--primary,
.rora-site-footer .button.rora-footer__button--primary {
  background: #25d366;
  border-color: #25d366;
  color: #fff;
}

.rora-footer__button--primary:hover,
.rora-site-footer .button.rora-footer__button--primary:hover {
  background: #1fb85a;
  border-color: #1fb85a;
  color: #fff;
}

.rora-footer__bottom {
  display: flex;
}

.rora-footer__bottom p {
  color: rgba(255, 250, 242, 0.35);
  font-size: 0.75rem;
}

/* ----- Responsive ------------------------------------------------------- */

@media (max-width: 1100px) {
  .rora-shop-layout { grid-template-columns: 220px minmax(0, 1fr); }
  .rora-product-section ul.products,
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .rora-header-nav { display: none; }
  .rora-brand__motto { display: none; }

  .rora-product__layout { grid-template-columns: 1fr; }

  .rora-footer__main {
    gap: 1.5rem;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 860px) {
  .rora-shop-layout { grid-template-columns: 1fr; }
  .rora-shop-aside  { position: static; }
}

@media (max-width: 768px) {

  .rora-category-grid,
  .rora-product-section ul.products,
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .single-product .product .product_title,
  .single-product div.product.rora-product .product_title { font-size: 1.7rem; }
  .single-product form.cart .quantity { max-width: none; }

  .rora-cod-form__row { grid-template-columns: 1fr; }
  body.single-product { padding-bottom: 70px; }
  .storefront-handheld-footer-bar { display: none; }

  .rora-policy__contact { grid-template-columns: 1fr; text-align: center; }
  .rora-policy__contact .rora-policy__contact-actions { justify-content: center; }

  .site-footer {
    margin-top: 3rem;
  }

  .rora-site-footer .col-full {
    padding: 2.5rem 1.25rem 1.5rem;
  }

  .rora-footer__main {
    gap: 1.5rem;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 2rem;
  }
}

@media (max-width: 520px) {
  body { font-size: 15px; }
  .rora-brand__logo { height: 44px; width: 44px; }
  .rora-brand__name { font-size: 1.1rem; }

  .rora-category-grid,
  .rora-favorite-grid,
  .rora-product-section ul.products,
  .woocommerce ul.products { grid-template-columns: 1fr; }

  .single-product #review_form .comment-form-author,
  .single-product #review_form .comment-form-phone {
    display: block;
    width: 100%;
  }
  .single-product #review_form .comment-form-author { margin-right: 0; }
}

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

/* ==========================================================================
   RORA Concept v2 — homepage redesign overrides
   These rules append-override the original v1 styles above. They are scoped
   either to the new top-level wrappers (.rora-welcome-strip, .rora-home--v2,
   .rora-site-header) or to brand-new class names introduced in concept v2.
   ========================================================================== */

:root {
  --rora-coral: #ff5a7a;
  --rora-coral-strong: #ec4669;
  --rora-purple: #6c4ee0;
  --rora-purple-strong: #5a3dd0;
  --rora-purple-soft: #efe6fb;
  --rora-yellow-warm: #ffc857;
  --rora-yellow-warm-soft: #fff1d6;
  --rora-green: #25d366;
  --rora-green-strong: #1ebe5d;
  --rora-card-bg: #ffffff;
  --rora-page-bg: #faf8fd;
  --rora-ink-2: #1f1a4a;
  --rora-ink-soft: #6e6a8a;
  --rora-radius-xl: 22px;
  --rora-radius-2xl: 28px;
}

body { background: var(--rora-page-bg); }

/* ----- Welcome strip (top) ---------------------------------------------- */

.rora-welcome-strip {
  align-items: center;
  background: linear-gradient(90deg, #eadffc 0%, #f4edff 100%);
  color: #4a3b6a;
  display: grid;
  font-size: 0.82rem;
  font-weight: 500;
  gap: 1.5rem;
  grid-template-columns: 1fr auto;
  letter-spacing: 0;
  min-height: 36px;
  padding: 0.5rem max(1.4rem, calc((100vw - 1420px) / 2));
  text-transform: none;
}

.rora-welcome-strip__greeting {
  align-items: center;
  display: inline-flex;
  gap: 0.55rem;
}

.rora-welcome-strip__greeting svg { color: var(--rora-coral); }

.rora-welcome-strip__sparkle { color: #d9a73a; }

.rora-welcome-strip__meta {
  align-items: center;
  display: inline-flex;
  gap: 1.6rem;
}

.rora-welcome-strip__meta span {
  align-items: center;
  display: inline-flex;
  gap: 0.4rem;
}

.rora-welcome-strip__meta svg { color: var(--rora-purple); }

@media (max-width: 860px) {
  .rora-welcome-strip { grid-template-columns: 1fr; gap: 0.5rem; text-align: center; padding-block: 0.5rem; }
  .rora-welcome-strip__meta { flex-wrap: wrap; justify-content: center; gap: 0.9rem; }
}

/* ----- Header (single row, search bar, account/cart text) --------------- */

.rora-site-header {
  background: #fff;
  border-bottom: 1px solid rgba(31,26,74,0.06);
  box-shadow: 0 1px 0 rgba(31,26,74,0.02);
}

.rora-site-header .rora-header-row {
  align-items: center;
  box-sizing: border-box;
  display: grid !important;
  flex-wrap: nowrap;
  gap: 1.35rem;
  grid-template-columns: 220px minmax(485px, 1fr) minmax(280px, 330px) auto;
  justify-content: normal;
  margin: 0 auto;
  max-width: 1420px;
  min-height: 88px;
  padding: 0.45rem 1.4rem;
  width: 100%;
}

.rora-site-header .rora-header-row::before,
.rora-site-header .rora-header-row::after {
  content: none !important;
  display: none !important;
}

.rora-site-header .rora-brand { gap: 0; flex: 0 0 auto; }
.rora-site-header .rora-brand__text { display: none; }
.rora-site-header .rora-brand__logo {
  border-radius: 0;
  height: 74px;
  width: auto;
  max-width: 210px;
  object-fit: contain;
}

.rora-site-header .rora-header-nav__menu {
  align-items: center;
  display: flex;
  gap: 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rora-site-header .rora-header-nav__menu a {
  align-items: center;
  color: var(--rora-ink-2);
  display: inline-flex;
  font-size: 0.96rem;
  font-weight: 500;
  gap: 0.32rem;
  letter-spacing: 0;
  padding: 0.4rem 0;
  text-transform: none;
  transition: color 0.18s var(--rora-ease);
}

.rora-site-header .rora-header-nav__menu a:hover { color: var(--rora-purple); }

.rora-site-header .rora-nav-pill a {
  background: #fff;
  border: 1.5px solid var(--rora-coral);
  border-radius: 999px;
  color: var(--rora-coral);
  font-weight: 600;
  padding: 0.5rem 1.05rem;
}

.rora-site-header .rora-nav-pill a:hover {
  background: var(--rora-coral);
  color: #fff;
}

.rora-header-search {
  align-items: center;
  background: #fff;
  border: 1px solid #ece8f5;
  border-radius: 999px;
  display: flex;
  gap: 0.4rem;
  height: 48px;
  padding: 0 0.75rem 0 1.1rem;
  width: 100%;
  max-width: 330px;
  margin-left: auto;
}

.rora-header-search input[type="search"] {
  background: transparent;
  border: 0;
  color: var(--rora-ink-2);
  flex: 1;
  font-size: 0.92rem;
  font-family: inherit;
  outline: none;
  padding: 0;
}

.rora-header-search input[type="search"]::placeholder { color: #a09bb8; }

.rora-header-search button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--rora-ink-soft);
  cursor: pointer;
  display: inline-flex;
  padding: 0.3rem;
}

.rora-site-header .rora-header-cart__count { display: none; }

@media (max-width: 1024px) {
  .rora-site-header .rora-header-row { grid-template-columns: auto 1fr auto; }
  .rora-site-header .rora-header-nav { display: none; }
  .rora-header-search { max-width: 100%; }
}

@media (max-width: 640px) {
  .rora-site-header .rora-header-row {
    gap: 0.65rem 0.8rem;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 0;
    padding: 0.65rem 1rem;
  }
  .rora-site-header .rora-brand__logo {
    height: 54px;
    max-width: 134px;
  }
  .rora-header-search {
    grid-column: 1 / -1;
    grid-row: 2;
    height: 42px;
    margin-left: 0;
    max-width: none;
  }
}

/* ==========================================================================
   Product concept polish — header, PDP hero, gallery, and tabs
   ========================================================================== */

.rora-welcome-strip {
  grid-template-columns: 1fr;
  justify-items: center;
  min-height: 37px;
  padding-block: 0.45rem;
}

.rora-welcome-strip__meta { display: none; }
.rora-welcome-strip__greeting svg { color: var(--rora-purple); }

.rora-site-header .rora-header-row {
  gap: 2rem;
  grid-template-columns: 250px minmax(0, 1fr) auto;
  max-width: 1436px;
  min-height: 108px;
  padding: 0.45rem 1.35rem 0.45rem 1rem;
  position: relative;
}

.rora-site-header .rora-brand__logo {
  height: 82px;
  max-width: 220px;
}

.rora-site-header .rora-header-nav__menu {
  gap: clamp(1.2rem, 2.1vw, 2.35rem);
  justify-content: center;
}

.rora-site-header .rora-header-nav__menu a {
  color: var(--rora-ink-2);
  font-size: 1rem;
  font-weight: 700;
  padding: 0.35rem 0;
}

.rora-site-header .rora-nav-pill a {
  border: 0;
  color: var(--rora-ink-2);
  gap: 0.38rem;
  padding: 0.35rem 0;
}

.rora-site-header .rora-nav-pill a span {
  background: var(--rora-yellow);
  border-radius: 999px;
  color: var(--rora-ink);
  font-size: 0.69rem;
  font-weight: 800;
  line-height: 1;
  padding: 0.34rem 0.46rem;
}

.rora-site-header .rora-nav-pill a:hover {
  background: transparent;
  color: var(--rora-purple);
}

.rora-header-search { display: none; }

.rora-header-icons {
  align-items: center;
  display: inline-flex;
  gap: clamp(0.95rem, 1.6vw, 1.45rem);
  justify-content: flex-end;
}

.rora-header-icon {
  align-items: center;
  background: transparent;
  border: 0;
  color: #0f0b25;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  min-height: 34px;
  padding: 0;
  position: relative;
  width: 34px;
}

.rora-header-icon svg {
  height: 27px;
  width: 27px;
}

.rora-header-icon:hover { color: var(--rora-purple); transform: none; }

.rora-site-header .rora-header-icon.rora-header-cart {
  background: transparent;
  border: 0;
  color: #0f0b25;
}

.rora-header-icon--badge span {
  align-items: center;
  background: #a88be7;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 800;
  height: 20px;
  justify-content: center;
  line-height: 1;
  min-width: 20px;
  padding: 0 0.3rem;
  position: absolute;
  right: -0.45rem;
  top: -0.45rem;
}

body.single-product,
.single-product .site-content {
  background: #fff;
}

.single-product .site-main {
  padding: 1.35rem 0 2.4rem;
}

.single-product .site-content .col-full {
  max-width: 1436px;
  padding-left: 1rem;
  padding-right: 1rem;
}

.rora-product__crumbs {
  margin: 0 0 1.15rem;
  max-width: 100%;
  overflow: hidden;
}

.rora-product__crumbs ol {
  flex-wrap: nowrap;
  min-width: 0;
  overflow: hidden;
}

.rora-product__crumbs li {
  flex: 0 0 auto;
  min-width: 0;
}

.rora-product__crumbs li:last-child {
  flex: 1 1 auto;
}

.rora-product__crumbs span[aria-current="page"] {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rora-product__layout {
  gap: clamp(2rem, 3.1vw, 3rem);
  grid-template-columns: minmax(0, 720px) minmax(340px, 540px);
  justify-content: center;
}

.single-product .woocommerce-product-gallery {
  background: transparent;
  border-radius: 14px;
}

.single-product .woocommerce-product-gallery .flex-viewport {
  aspect-ratio: 1.53 / 1;
  background: #fff;
  border-radius: 14px;
  height: auto !important;
  max-width: 100%;
  overflow: hidden;
  width: 100% !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  height: 100% !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  height: 100%;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image.flex-active-slide,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
  height: 100% !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
  display: block;
  height: 100%;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery .flexslider img {
  border-radius: 14px;
  height: 100% !important;
  max-height: none;
  object-fit: contain;
  object-position: center;
  transform: none;
  transform-origin: center;
  width: 100%;
}

.single-product .woocommerce-product-gallery__trigger {
  height: 38px;
  right: 14px;
  top: 14px;
  width: 38px;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs {
  gap: 1rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 1rem;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs::before,
.single-product .woocommerce-product-gallery .flex-control-thumbs::after {
  content: none !important;
  display: none !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  clear: none !important;
  float: none !important;
  height: auto !important;
  margin: 0 !important;
  width: auto !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  aspect-ratio: 1.08 / 1;
  background: #f8f4fb;
  border: 2px solid transparent;
  border-radius: 11px;
  box-shadow: 0 1px 0 rgba(31, 26, 74, 0.04);
  height: auto !important;
  object-fit: contain;
  object-position: center;
  transform: none;
  width: 100% !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  border-color: var(--rora-primary-strong);
  box-shadow: inset 0 0 0 1px var(--rora-primary-strong);
}

.rora-product__summary { padding-top: 0; }

.rora-product__pills {
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.9rem;
  position: relative;
  z-index: 1;
}

.rora-product__pill {
  border-radius: 9px;
  font-size: 0.76rem;
  letter-spacing: 0;
  min-height: 30px;
  padding: 0.36rem 0.74rem;
}

.rora-product__pill--preorder {
  background: linear-gradient(180deg, #ffe8ef 0%, #ffd5e1 100%);
  color: var(--rora-coral, #ff5a7a);
}

.rora-product__pill--new {
  background: #ffe9e2;
  border: 0;
  color: #e0514e;
  text-transform: none;
}

.single-product .product .product_title,
.single-product div.product.rora-product .product_title {
  color: #2d1d4d;
  font-family: var(--rora-sans);
  font-size: clamp(1.8rem, 2.12vw, 2.22rem);
  font-weight: 800;
  line-height: 1.12;
  margin-bottom: 0.72rem;
  max-width: 100%;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.rora-product__price {
  margin-bottom: 0.85rem;
}

.rora-product__price-now {
  color: #2fbd6f;
  font-size: clamp(2rem, 2.55vw, 2.45rem);
  font-weight: 800;
}

.rora-product__rating {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

.rora-product__features {
  gap: 0.75rem;
  margin-bottom: 1.15rem;
  padding-bottom: 1rem;
}

.rora-product__feature {
  color: #3c2d62;
  font-size: 0.99rem;
}

.rora-product__feature-icon {
  height: 31px;
  width: 31px;
}

.single-product div.product.rora-product form.cart {
  gap: 0.9rem;
  margin-bottom: 0.8rem;
}

.single-product div.product.rora-product form.cart .quantity {
  height: 50px;
  width: 128px;
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button {
  background: linear-gradient(180deg, #a98be8 0%, #8d6cdd 100%);
  border-radius: 8px;
  min-height: 50px;
}

.rora-product__cod-cta,
.rora-product__cod-cta.button {
  background: linear-gradient(180deg, #ffd969 0%, #ffc84b 100%) !important;
  border-radius: 8px !important;
  margin-bottom: 1.9rem !important;
}

.rora-product__trust {
  background: linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(250,248,253,0.94) 100%);
  border: 1px solid rgba(31,26,74,0.08);
  border-radius: 12px;
  box-shadow: 0 18px 42px -34px rgba(31,26,74,0.36);
  min-height: 88px;
  padding: 0.9rem 1rem;
}

.rora-product__trust-icon {
  height: 46px;
  width: 46px;
}

.rora-product__trust-icon svg {
  height: 22px;
  width: 22px;
}

.rora-product__trust-text strong {
  color: var(--rora-purple);
  font-size: 0.83rem;
}

.rora-product__trust-text em {
  color: #5d587a;
  font-size: 0.73rem;
}

.single-product .woocommerce-tabs {
  border: 1px solid rgba(31,26,74,0.1);
  border-radius: 14px;
  margin-top: 2rem;
  overflow: hidden;
}

@media (min-width: 901px) {
  .rora-product__summary {
    transform: none;
  }

  .single-product .woocommerce-tabs {
    margin-top: 2rem;
  }
}

.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid rgba(31,26,74,0.1);
  padding-left: 1.7rem !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  border-bottom-width: 3px;
}

.single-product .woocommerce-tabs ul.tabs li a {
  color: #1f1a4a;
  font-size: 0.98rem;
  padding: 1rem 1.2rem 0.85rem;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--rora-purple);
}

.single-product .woocommerce-tabs .panel {
  padding: 1.55rem 1.7rem 1.45rem;
}

/* desc-grid removed — attribute cards moved to summary */

@media (max-width: 1180px) {
  .rora-site-header .rora-header-row {
    gap: 1.2rem;
    grid-template-columns: 210px minmax(0, 1fr) auto;
  }

  .rora-site-header .rora-header-nav__menu {
    gap: 1rem;
  }

  .rora-site-header .rora-header-nav__menu a {
    font-size: 0.92rem;
  }

  .rora-product__layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.95fr);
  }
}

@media (max-width: 1024px) {
  .rora-site-header .rora-header-row {
    grid-template-columns: auto 1fr auto;
    min-height: 86px;
  }

  .rora-site-header .rora-brand__logo {
    height: 66px;
  }

  .rora-site-header .rora-header-nav {
    display: none;
  }

  .rora-header-icons {
    grid-column: 3;
  }
}

@media (max-width: 900px) {
  .rora-product__layout {
    grid-template-columns: 1fr;
  }

  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
  .single-product .woocommerce-product-gallery .flexslider img {
    object-position: center;
    transform: none;
  }
}

@media (max-width: 640px) {
  .rora-welcome-strip {
    font-size: 0.88rem;
    line-height: 1.45;
    min-height: 0;
    padding: 0.65rem 1rem;
  }

  .rora-site-header .rora-header-row {
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 76px;
  }

  .rora-site-header .rora-brand__logo {
    height: 58px;
    max-width: 150px;
  }

  .rora-header-icons {
    gap: 0.65rem;
    grid-column: 2;
    justify-self: end;
  }

  .rora-header-icon {
    height: 30px;
    min-height: 30px;
    width: 30px;
  }

  .rora-header-icon svg {
    height: 23px;
    width: 23px;
  }

  .single-product .site-main {
    padding-top: 1rem;
  }

  .single-product .woocommerce-product-gallery .flex-control-thumbs {
    gap: 0.55rem;
  }
}

/* ----- Navbar revamp: category dropdown + visible product search -------- */

.rora-site-header .rora-header-row {
  grid-template-columns: 220px auto minmax(260px, 430px) auto;
}

.rora-category-menu {
  position: relative;
}

.rora-category-menu__toggle {
  align-items: center;
  background: #f7f1ff;
  border: 1px solid rgba(108,78,224,0.15);
  border-radius: 999px;
  box-shadow: none;
  color: var(--rora-ink-2);
  display: inline-flex;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 800;
  gap: 0.38rem;
  min-height: 42px;
  padding: 0.55rem 1rem;
  text-transform: none;
  transition: background 0.18s var(--rora-ease), border-color 0.18s var(--rora-ease), color 0.18s var(--rora-ease);
}

.rora-category-menu__toggle:hover,
.rora-category-menu__toggle:focus-visible,
.rora-category-menu.is-open .rora-category-menu__toggle,
.rora-category-menu:focus-within .rora-category-menu__toggle,
.rora-category-menu:hover .rora-category-menu__toggle {
  background: #efe7ff;
  border-color: rgba(108,78,224,0.28);
  box-shadow: none;
  color: var(--rora-purple);
  transform: none;
}

.rora-category-menu__toggle svg {
  transition: transform 0.18s var(--rora-ease);
}

.rora-category-menu.is-open .rora-category-menu__toggle svg,
.rora-category-menu:focus-within .rora-category-menu__toggle svg,
.rora-category-menu:hover .rora-category-menu__toggle svg {
  transform: rotate(180deg);
}

.rora-category-menu__dropdown {
  background: #fff;
  border: 1px solid rgba(31,26,74,0.08);
  border-radius: 18px;
  box-shadow: 0 24px 54px -28px rgba(31,26,74,0.42);
  display: grid;
  gap: 0.18rem;
  left: 0;
  min-width: 245px;
  opacity: 0;
  padding: 0.55rem;
  pointer-events: none;
  position: absolute;
  top: calc(100% + 0.55rem);
  transform: translateY(8px);
  transition: opacity 0.18s var(--rora-ease), transform 0.18s var(--rora-ease);
  z-index: 40;
}

/* Invisible hover bridge so the mouse can cross the gap from the toggle to the
   dropdown without :hover dropping and the menu vanishing. */
.rora-category-menu__dropdown::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -0.7rem;
  height: 0.7rem;
  background: transparent;
}

.rora-category-menu.is-open .rora-category-menu__dropdown,
.rora-category-menu:focus-within .rora-category-menu__dropdown,
.rora-category-menu:hover .rora-category-menu__dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.rora-site-header .rora-category-menu__dropdown a {
  border-radius: 12px;
  color: var(--rora-ink-2);
  display: flex;
  font-size: 0.92rem;
  font-weight: 700;
  justify-content: space-between;
  padding: 0.72rem 0.82rem;
  text-decoration: none;
  white-space: nowrap;
}

.rora-site-header .rora-category-menu__dropdown a::after {
  content: none;
  display: none;
}

.rora-site-header .rora-category-menu__dropdown a:hover,
.rora-site-header .rora-category-menu__dropdown a:focus-visible {
  background: #f7f1ff;
  color: var(--rora-purple);
}

.rora-header-search-form {
  align-items: center;
  background: #fff;
  border: 1px solid #e8e1f5;
  border-radius: 999px;
  box-sizing: border-box;
  display: flex;
  gap: 0.55rem;
  height: 48px;
  margin: 0;
  min-width: 0;
  padding: 0 0.38rem 0 1rem;
  width: 100%;
}

.rora-header-search-form__icon {
  color: #8a82a8;
  flex: 0 0 auto;
}

.rora-header-search-form input[type="search"] {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--rora-ink-2);
  flex: 1 1 auto;
  font-family: inherit;
  font-size: 0.94rem;
  min-height: 0;
  min-width: 0;
  outline: none;
  padding: 0;
}

.rora-header-search-form input[type="search"]::placeholder { color: #9a93b4; }

.rora-header-search-form:focus-within {
  border-color: rgba(108,78,224,0.45);
  box-shadow: 0 0 0 4px rgba(108,78,224,0.1);
}

.rora-header-search-form button {
  background: var(--rora-purple);
  border: 0;
  border-radius: 999px;
  box-shadow: none;
  color: #fff;
  flex: 0 0 auto;
  font-size: 0.83rem;
  font-weight: 800;
  min-height: 38px;
  padding: 0.62rem 0.95rem;
  text-transform: none;
}

.rora-header-search-form button:hover,
.rora-header-search-form button:focus-visible {
  background: var(--rora-purple-strong);
  box-shadow: none;
  color: #fff;
  transform: none;
}

.rora-header-mobile-toggle { display: none; }

@media (max-width: 1180px) {
  .rora-site-header .rora-header-row {
    grid-template-columns: 190px auto minmax(240px, 1fr) auto;
  }

  .rora-site-header .rora-header-nav__menu { gap: 0.7rem; }
}

@media (max-width: 1024px) {
  .rora-site-header .rora-header-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.85rem;
  }

  .rora-header-mobile-toggle { display: inline-flex; }

  .rora-site-header .rora-header-nav {
    background: #fff;
    border: 1px solid rgba(31,26,74,0.08);
    border-radius: 18px;
    box-shadow: 0 20px 48px -28px rgba(31,26,74,0.36);
    display: none;
    grid-column: 1 / -1;
    grid-row: 3;
    padding: 0.55rem;
    width: 100%;
  }

  .rora-site-header .rora-header-nav.is-open { display: block; }

  .rora-site-header .rora-header-nav__menu {
    align-items: stretch;
    display: grid;
    gap: 0.45rem;
    justify-content: stretch;
  }

  .rora-category-menu__toggle,
  .rora-site-header .rora-nav-pill a {
    justify-content: space-between;
    padding-inline: 0.9rem;
    width: 100%;
  }

  .rora-category-menu__dropdown {
    box-shadow: none;
    display: none;
    margin-top: 0.45rem;
    min-width: 0;
    opacity: 1;
    pointer-events: auto;
    position: static;
    transform: none;
    width: 100%;
  }

  .rora-category-menu.is-open .rora-category-menu__dropdown {
    display: grid;
  }

  .rora-header-search-form {
    grid-column: 2;
    grid-row: 1;
    height: 44px;
  }

  .rora-header-search-form button {
    font-size: 0;
    min-height: 34px;
    padding: 0;
    position: relative;
    width: 34px;
  }

  .rora-header-search-form button::before {
    content: '⌕';
    font-size: 1rem;
    line-height: 1;
  }
}

@media (max-width: 640px) {
  .rora-site-header .rora-header-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 0;
    padding: 0.65rem 0.85rem;
  }

  .rora-header-search-form {
    grid-column: 1 / -1;
    grid-row: 2;
    height: 43px;
    order: 2;
  }

  .rora-header-icons {
    grid-column: 3;
    justify-self: end;
  }

  .rora-header-icon:not(.rora-header-mobile-toggle):not(.rora-header-cart) {
    display: none;
  }
}

.rora-btn {
  align-items: center;
  border: 1.5px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  gap: 0.5rem;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  text-transform: none;
  transition: transform 0.18s var(--rora-ease), box-shadow 0.18s var(--rora-ease), background 0.18s var(--rora-ease);
}

.rora-btn--sm { font-size: 0.85rem; padding: 0.55rem 0.95rem; }

.rora-btn--primary { background: var(--rora-purple); color: #fff; }
.rora-btn--primary:hover { background: var(--rora-purple-strong); color: #fff; transform: translateY(-1px); }

.rora-btn--whatsapp { background: #fff; border-color: var(--rora-green); color: var(--rora-green-strong); }
.rora-btn--whatsapp:hover { background: var(--rora-green); color: #fff; }
.rora-btn--whatsapp svg { color: var(--rora-green); }
.rora-btn--whatsapp:hover svg { color: #fff; }

.rora-btn--messenger { background: #fff; border-color: #0084ff; color: #0065cc; }
.rora-btn--messenger:hover { background: #0084ff; color: #fff; }
.rora-btn--messenger svg { color: #0084ff; }
.rora-btn--messenger:hover svg { color: #fff; }

.rora-btn--yellow { background: var(--rora-yellow-warm); color: #5b3b00; }
.rora-btn--yellow:hover { background: #f4ba48; color: #3d2700; }


/* Promo / category abstract shapes (CSS-only, no extra art) */
[data-shape="bag"]    { --shape-art: radial-gradient(ellipse at 50% 70%, #fff5d4 0 22%, transparent 23%), radial-gradient(circle at 50% 30%, #ffd9e2 0 32%, transparent 33%); }
[data-shape="bunny"]  { --shape-art: radial-gradient(circle at 50% 65%, #ffc6d6 0 30%, transparent 31%), radial-gradient(ellipse at 38% 22%, #ffc6d6 0 14%, transparent 15%), radial-gradient(ellipse at 62% 22%, #ffc6d6 0 14%, transparent 15%); }
[data-shape="gift"]   { --shape-art: radial-gradient(circle at 50% 60%, #c8e6f1 0 36%, transparent 37%), linear-gradient(90deg, transparent 48%, #ffb5cb 48% 52%, transparent 52%); }
[data-shape="bottle"] { --shape-art: radial-gradient(ellipse at 50% 60%, #c5d2f0 0 26%, transparent 27%), radial-gradient(circle at 50% 18%, #c5d2f0 0 10%, transparent 11%); }
[data-shape="tube"]   { --shape-art: radial-gradient(ellipse at 50% 55%, #ffd1d9 0 32%, transparent 33%); }
[data-shape="bear"]   { --shape-art: radial-gradient(circle at 50% 60%, #d6a87a 0 30%, transparent 31%), radial-gradient(circle at 30% 25%, #d6a87a 0 12%, transparent 13%), radial-gradient(circle at 70% 25%, #d6a87a 0 12%, transparent 13%); }
[data-shape="glasses"]{ --shape-art: radial-gradient(circle at 32% 55%, #f0a87b 0 18%, transparent 19%), radial-gradient(circle at 68% 55%, #f0a87b 0 18%, transparent 19%), linear-gradient(90deg, transparent 47%, #f0a87b 47% 53%, transparent 53%); }
[data-shape="brush"]  { --shape-art: radial-gradient(ellipse at 50% 45%, #f1b0c4 0 30%, transparent 31%), radial-gradient(circle at 50% 80%, #c48aa0 0 14%, transparent 15%); }


/* ==========================================================================
   Shop and category archive v2
   ========================================================================== */

body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag,
.woocommerce-shop .site-content,
.tax-product_cat .site-content,
.tax-product_tag .site-content {
  background: var(--rora-page-bg);
}

.woocommerce-shop .site-main,
.tax-product_cat .site-main,
.tax-product_tag .site-main {
  padding: 0;
}

.woocommerce-shop .site-content .col-full,
.tax-product_cat .site-content .col-full,
.tax-product_tag .site-content .col-full {
  max-width: 1436px;
  padding: 1.1rem 1rem 4rem;
}

.rora-shop-layout {
  align-items: start;
  display: grid;
  gap: clamp(1.1rem, 2vw, 1.6rem);
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
  padding: 0;
}

.rora-shop-main {
  min-width: 0;
}

.rora-shop-benefits {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0.85rem;
}

.rora-shop-benefit {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(31,26,74,0.07);
  border-radius: 12px;
  display: grid;
  gap: 0.08rem 0.65rem;
  grid-template-columns: 38px minmax(0, 1fr);
  padding: 0.78rem 0.85rem;
}

.rora-shop-benefit span {
  align-items: center;
  background: var(--rora-purple-soft);
  border-radius: 10px;
  color: var(--rora-purple);
  display: inline-flex;
  grid-row: span 2;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.rora-shop-benefit span svg {
  height: 18px;
  width: 18px;
}

.rora-shop-benefit strong {
  color: var(--rora-ink-2);
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.2;
}

.rora-shop-benefit small {
  color: var(--rora-ink-soft);
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.25;
}

.rora-shop-category-card {
  background: var(--cat-tone, #efe6fb);
  border: 1px solid rgba(31,26,74,0.06);
  border-radius: 12px;
  color: var(--rora-ink-2);
  display: grid;
  gap: 0.45rem;
  min-height: 158px;
  overflow: hidden;
  padding: 0.65rem;
  text-align: center;
  transition: transform 0.18s var(--rora-ease), box-shadow 0.18s var(--rora-ease);
}

.rora-shop-category-card:hover,
.rora-shop-category-card.is-current {
  box-shadow: 0 14px 30px -22px rgba(31,26,74,0.36);
  color: var(--rora-ink-2);
  transform: translateY(-2px);
}

.rora-shop-category-card.is-current {
  outline: 2px solid rgba(108,78,224,0.32);
  outline-offset: -2px;
}

.rora-shop-category-card span {
  background-color: rgba(255,255,255,0.44);
  background-image: var(--cat-img);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 10px;
  display: block;
  min-height: 86px;
}

.rora-shop-category-card strong {
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.18;
}

.rora-shop-category-card small {
  color: var(--rora-ink-soft);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.15;
}

.rora-shop-aside {
  background: #fff;
  border: 1px solid rgba(31,26,74,0.07);
  border-radius: 14px;
  box-shadow: 0 18px 42px -34px rgba(31,26,74,0.34);
  overflow: hidden;
  position: sticky;
  top: calc(88px + 36px + 1rem);
}

.rora-shop-aside__header {
  background: linear-gradient(90deg, #efe6fb 0%, #fff1d6 100%);
  color: #33264f;
  font-size: 0.76rem;
  letter-spacing: 0.1em;
  min-height: 56px;
  padding: 0.95rem 1.05rem;
}

.rora-shop-aside__group {
  border-color: rgba(31,26,74,0.08);
  padding: 1.05rem;
}

.rora-shop-aside__group h3 {
  color: #8e85a4;
  font-size: 0.7rem;
  letter-spacing: 0.13em;
}

.rora-shop-price {
  gap: 0.6rem;
}

.rora-shop-price input {
  border-color: #e8e1f1;
  border-radius: 10px;
  min-height: 46px;
}

.rora-shop-price button {
  background: var(--rora-purple);
  border-radius: 10px;
  min-height: 44px;
}

.rora-shop-price button:hover {
  background: var(--rora-purple-strong);
}

.rora-stock-toggle a {
  background: #f6f0fb;
  border-color: #e8e1f1;
  color: #675c78;
  font-size: 0.78rem;
  padding: 0.42rem 0.7rem;
}

.rora-stock-toggle a:hover,
.rora-stock-toggle a.is-active {
  background: #33264f;
  border-color: #33264f;
  color: #fff;
}

.rora-shop-toolbar {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(31,26,74,0.07);
  border-radius: 12px;
  box-shadow: 0 10px 26px -24px rgba(31,26,74,0.3);
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: space-between;
  margin: 1rem 0;
  padding: 0.72rem 0.82rem 0.72rem 1rem;
}

.rora-shop-toolbar__count,
.rora-shop-toolbar__count .woocommerce-result-count {
  color: var(--rora-ink-soft);
  font-size: 0.9rem;
  font-weight: 700;
  margin: 0 !important;
}

.rora-shop-toolbar__sort,
.rora-shop-toolbar__sort form {
  margin: 0 !important;
}

.rora-shop-toolbar select {
  border-color: #e8e1f1;
  border-radius: 10px;
  color: #3b305b;
  min-height: 44px;
}

.woocommerce ul.products {
  gap: 1rem !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #fff;
  border: 1px solid rgba(31,26,74,0.07);
  border-radius: 14px;
  box-shadow: 0 2px 10px -6px rgba(31,26,74,0.16);
  padding-bottom: 1.1rem !important;
}

.woocommerce ul.products li.product:hover {
  box-shadow: 0 12px 28px -16px rgba(31,26,74,0.3);
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  align-content: flex-start;
  color: var(--rora-ink-2);
  display: flex;
  flex-wrap: wrap;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img {
  flex: 0 0 100%;
}

.woocommerce ul.products li.product img {
  aspect-ratio: 1 / 0.9;
  background: linear-gradient(145deg, #fbf4ff 0%, #eef8fb 100%);
  border-radius: 10px 10px 0 0;
  margin-bottom: 0.75rem !important;
  object-fit: contain;
  padding: 0.5rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--rora-ink-2);
  flex: 0 0 100%;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.35;
  min-height: 2.4em;
  padding: 0 1rem !important;
}

.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .woocommerce-product-rating {
  flex: 0 0 100%;
  margin-top: 0.3rem;
  padding: 0 1rem;
}

/* Price row: price on left, sale badge on right */
.woocommerce ul.products li.product .price {
  align-items: center;
  color: var(--rora-coral);
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  font-size: 1rem;
  gap: 0.3rem;
  margin-top: 0.45rem !important;
  min-width: 0;
  order: 1;
  padding: 0 0 0 1rem;
}

.woocommerce ul.products li.product .price del {
  color: #aaa3bd;
  font-size: 0.82rem;
  margin-right: 0;
  order: 2;
}

.woocommerce ul.products li.product .price ins {
  color: var(--rora-purple);
  font-weight: 800;
  order: 1;
}

/* Sale badge — inline right of price */
.woocommerce ul.products li.product span.onsale {
  align-self: center;
  flex: 0 0 auto;
  font-size: 0.6rem !important;
  margin-right: 1rem;
  margin-top: 0.45rem;
  order: 2;
  padding: 0.18rem 0.5rem !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
}

.woocommerce ul.products li.product .button {
  background: #4f3b61;
  border-radius: 9px;
  font-size: 0.84rem;
  font-weight: 800;
  margin-left: 1rem !important;
  margin-right: 1rem !important;
  margin-top: 1rem !important;
  min-height: 42px;
  width: calc(100% - 2rem);
}

.woocommerce ul.products li.product .button:hover {
  background: var(--rora-purple);
}

.woocommerce span.onsale {
  background: #ffa7a0;
  border-radius: 999px;
  color: #372148;
  left: 0.72rem;
  top: 0.72rem;
  z-index: 2;
}


@media (max-width: 900px) {
  .rora-shop-layout {
    grid-template-columns: 1fr;
  }

  .rora-shop-main {
    order: 1;
  }

  .rora-shop-aside {
    order: 2;
    position: static;
  }

  .rora-shop-benefits {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 560px) {
  .woocommerce-shop .site-content .col-full,
  .tax-product_cat .site-content .col-full,
  .tax-product_tag .site-content .col-full {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .rora-shop-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .rora-shop-toolbar select {
    width: 100%;
  }

  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================================
   Polish — navbar underline, icon hover, promo slider
   ========================================================================== */

/* Navbar: soft full-label hover state (all items except the pill) */
.rora-site-header .rora-header-nav__menu a {
  border-radius: 999px;
  overflow: hidden;
  padding: 0.52rem 0.9rem;
  position: relative;
  z-index: 0;
}

.rora-site-header .rora-header-nav__menu li:not(.rora-nav-pill) a::after {
  background: #eee5ff;
  border-radius: inherit;
  content: '';
  inset: 0;
  opacity: 0;
  position: absolute;
  transform: scaleX(0.92);
  transition: opacity 0.18s var(--rora-ease), transform 0.18s var(--rora-ease);
  z-index: -1;
}
.rora-site-header .rora-header-nav__menu li:not(.rora-nav-pill) a:hover::after,
.rora-site-header .rora-header-nav__menu li:not(.rora-nav-pill).current-menu-item > a::after {
  opacity: 1;
  transform: scaleX(1);
}

/* Offers pill: visible pill shape that fills on hover */
.rora-site-header .rora-nav-pill a {
  border-radius: 999px;
  padding: 0.35rem 0.9rem;
  transition: background 0.18s var(--rora-ease), color 0.18s var(--rora-ease);
}
.rora-site-header .rora-nav-pill a:hover {
  background: #ffe0e8;
  color: var(--rora-coral);
}

/* Header icons: circular hover background */
.rora-header-icon {
  border-radius: 50%;
  transition: background 0.18s var(--rora-ease), color 0.18s var(--rora-ease);
}
.rora-header-icon:hover,
.rora-site-header .rora-header-icon.rora-header-cart:hover {
  background: var(--rora-purple-soft);
  box-shadow: none;
  color: var(--rora-purple);
  transform: none;
}

/* Promo slider: desktop — hide nav arrows (all 3 cards always visible)
   Mobile   — one card at a time, arrows navigate */


/* ============================================================
   Mobile portrait polish — 480px and below
   ============================================================ */
@media (max-width: 480px) {

  /* -- Welcome strip ---------------------------------------- */
  .rora-welcome-strip {
    padding: 0.45rem 0.75rem;
    gap: 0.4rem;
  }
  .rora-welcome-strip__greeting {
    font-size: 0.72rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
  }
  .rora-welcome-strip__meta {
    display: none; /* hide service pills on tiny screens to save height */
  }

  /* -------------------------------------------------------
     Single product page
     ------------------------------------------------------- */

  /* Tighter page padding */
  .single-product .site-main {
    padding: 0.75rem 0.75rem;
  }

  /* Breadcrumbs */
  .single-product .rora-product__crumbs {
    font-size: 0.75rem;
    margin: 0.15rem 0 0.55rem;
  }

  /* Gallery image cap */
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
  .single-product .woocommerce-product-gallery .flexslider img {
    max-height: 290px;
  }
  .single-product .woocommerce-product-gallery .flex-control-thumbs {
    gap: 0.4rem;
    margin-top: 0.5rem;
  }

  /* Title */
  .single-product .product .product_title,
  .single-product div.product.rora-product .product_title {
    font-size: 1.45rem !important;
    margin-bottom: 0.5rem;
  }

  /* Price */
  .rora-product__price {
    gap: 0.4rem 0.6rem;
    margin-bottom: 0.5rem;
  }
  .rora-product__price-now { font-size: 1.75rem; }
  .rora-product__price-was { font-size: 0.95rem; }
  .rora-product__price-off { font-size: 0.7rem; }

  /* Rating */
  .rora-product__rating {
    font-size: 0.84rem;
    margin-bottom: 0.65rem;
    padding-bottom: 0.6rem;
  }

  /* Feature bullets */
  .rora-product__features {
    gap: 0.45rem;
    margin-bottom: 0.65rem;
    padding-bottom: 0.65rem;
  }
  .rora-product__feature {
    font-size: 0.88rem;
    gap: 0.5rem;
  }
  .rora-product__feature-icon {
    height: 26px;
    width: 26px;
  }
  .rora-product__feature-icon svg {
    height: 14px;
    width: 14px;
  }

  /* Cart form: qty stepper + add-to-cart on one row, no redundant label */
  .single-product div.product.rora-product form.cart {
    flex-wrap: nowrap;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
  }
  .rora-qty-label { display: none; }
  /* Shrink +/- buttons so add-to-cart gets enough width */
  .single-product div.product.rora-product form.cart .rora-qty-button {
    font-size: 1.1rem;
    padding: 0 0.28rem;
  }
  .single-product div.product.rora-product form.cart .quantity {
    height: 46px;
    width: 80px;
  }
  .single-product div.product.rora-product form.cart .single_add_to_cart_button {
    font-size: 0.9rem;
    min-height: 46px;
    min-width: 0;
    padding: 0.5rem 0.75rem;
    white-space: nowrap;
  }
  .single-product div.product.rora-product form.cart .single_add_to_cart_button::before {
    height: 17px;
    width: 17px;
  }

  /* COD CTA */
  .rora-product__cod-cta,
  .rora-product__cod-cta.button {
    font-size: 0.9rem !important;
    min-height: 48px !important;
    padding: 0.5rem 1rem !important;
  }
  .rora-product__cod-cta svg {
    height: 18px !important;
    width: 18px !important;
  }

  /* Trust pills: 3-col with icon stacked over text */
  .rora-product__trust {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.4rem 0.25rem;
    padding: 0.6rem 0.5rem;
  }
  .rora-product__trust-item {
    align-items: center;
    flex-direction: column;
    gap: 0.25rem;
    text-align: center;
  }
  .rora-product__trust-icon {
    height: 30px;
    width: 30px;
  }
  .rora-product__trust-icon svg { height: 15px; width: 15px; }
  .rora-product__trust-text strong { font-size: 0.7rem; }
  .rora-product__trust-text em    { font-size: 0.6rem; }

  /* Desc body + attr cards */
  .rora-product__desc-body {
    font-size: 0.92rem;
    line-height: 1.58;
  }
  /* Tabs: horizontally scrollable instead of wrapping to 2 rows */
  .single-product .woocommerce-tabs ul.tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  .single-product .woocommerce-tabs ul.tabs li a {
    font-size: 0.82rem;
    padding: 0.62rem 0.85rem;
    white-space: nowrap;
  }
  .single-product .woocommerce-tabs .panel { padding-top: 1rem; }

  /* -------------------------------------------------------
     Shop / category page
     ------------------------------------------------------- */

  /* Hero banner: shrink visual, tighten copy */
  .rora-shop-header--hero {
    min-height: auto;
  }

  /* Benefits: 3-col row instead of 1-col stack */
  .rora-shop-benefits {
    gap: 0.45rem;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 0.55rem;
  }
  .rora-shop-benefit {
    gap: 0.06rem 0.4rem;
    grid-template-columns: 28px minmax(0, 1fr);
    padding: 0.55rem 0.45rem;
  }
  .rora-shop-benefit span {
    height: 28px;
    width: 28px;
  }
  .rora-shop-benefit span svg { height: 13px; width: 13px; }
  .rora-shop-benefit strong { font-size: 0.7rem; }
  .rora-shop-benefit small  { font-size: 0.6rem; }
  .rora-shop-category-card {
    gap: 0.35rem;
    min-height: 126px;
    padding: 0.5rem;
  }
  .rora-shop-category-card span { min-height: 64px; }
  .rora-shop-category-card strong { font-size: 0.76rem; }
  .rora-shop-category-card small  { font-size: 0.62rem; }

  /* Toolbar: single row — count shrinks, sort takes remaining space */
  .rora-shop-toolbar {
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0.4rem;
    padding: 0.45rem 0;
  }
  .rora-shop-toolbar__count,
  .rora-shop-toolbar__count .woocommerce-result-count {
    flex: 0 1 auto;
    min-width: 0;
    font-size: 0.78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
  }
  .rora-shop-toolbar__sort,
  .rora-shop-toolbar__sort form {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
  }
  .rora-shop-toolbar select {
    width: 100% !important;
    font-size: 0.82rem;
    padding-top: 0.3rem !important;
    padding-bottom: 0.3rem !important;
  }

  /* Product grid: keep 2-col even at 480 px */
  .woocommerce ul.products {
    gap: 0.45rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  /* Tighter card spacing at small width */
  .woocommerce ul.products li.product {
    padding-bottom: 0.6rem !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.8rem;
    padding: 0 0.5rem;
  }
  .woocommerce ul.products li.product .price {
    font-size: 0.85rem;
    padding: 0 0.5rem;
  }
  .woocommerce ul.products li.product .button {
    font-size: 0.78rem;
    margin: 0.35rem 0.5rem 0;
    padding: 0.4rem 0.5rem;
    width: calc(100% - 1rem);
  }

  /* Sidebar: compact header + group padding */
  .rora-shop-aside {
    margin-top: 1.25rem;
  }
  .rora-shop-aside__header {
    font-size: 0.7rem;
    min-height: 44px;
    padding: 0.7rem 0.9rem;
  }
  .rora-shop-aside__group {
    padding: 0.75rem 0.9rem;
  }
}

/* ==========================================================================
   Premium glow-up — modern ecom polish
   Scroll-reveal animations, refined hover micro-interactions, upgraded
   shadows, glassmorphism touches, subtle motion. Same palette, same layout.
   ========================================================================== */

/* ----- Scroll-reveal entrance animations --------------------------------- */

@keyframes rora-fade-up {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes rora-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes rora-scale-in {
  from { opacity: 0; transform: scale(0.92); }
  to   { opacity: 1; transform: scale(1); }
}

.rora-reveal {
  opacity: 0;
  will-change: opacity, transform;
}

.rora-reveal.is-visible {
  animation: rora-fade-up 0.7s var(--rora-ease) both;
}

.rora-reveal-stagger.is-visible > * {
  opacity: 0;
  animation: rora-fade-up 0.55s var(--rora-ease) both;
}

.rora-reveal-stagger.is-visible > *:nth-child(1) { animation-delay: 0ms; }
.rora-reveal-stagger.is-visible > *:nth-child(2) { animation-delay: 70ms; }
.rora-reveal-stagger.is-visible > *:nth-child(3) { animation-delay: 140ms; }
.rora-reveal-stagger.is-visible > *:nth-child(4) { animation-delay: 210ms; }
.rora-reveal-stagger.is-visible > *:nth-child(5) { animation-delay: 280ms; }
.rora-reveal-stagger.is-visible > *:nth-child(6) { animation-delay: 350ms; }

/* ----- Welcome strip shimmer --------------------------------------------- */

@keyframes rora-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.rora-welcome-strip {
  background: linear-gradient(90deg, #eadffc 0%, #f0e6ff 30%, #f8f0ff 50%, #f0e6ff 70%, #eadffc 100%);
  background-size: 200% 100%;
  animation: rora-shimmer 8s ease-in-out infinite;
}

/* ----- Header — sticky with backdrop blur -------------------------------- */

.rora-site-header {
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  background: rgba(255, 255, 255, 0.92);
  position: sticky;
  top: 0;
  z-index: 100;
  transition: box-shadow 0.3s var(--rora-ease);
}

.rora-site-header.is-scrolled {
  box-shadow: 0 4px 24px -12px rgba(31, 26, 74, 0.12);
}

@keyframes rora-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}

/* ----- Buttons — refined interactions ------------------------------------ */

.rora-btn {
  transition:
    transform 0.22s var(--rora-ease),
    box-shadow 0.22s var(--rora-ease),
    background 0.22s var(--rora-ease),
    border-color 0.22s var(--rora-ease);
}

.rora-btn:active {
  transform: scale(0.97);
}

.rora-btn--primary {
  box-shadow: 0 4px 14px -4px rgba(108, 78, 224, 0.35);
}

.rora-btn--primary:hover {
  box-shadow: 0 8px 24px -6px rgba(108, 78, 224, 0.45);
}

.rora-btn--whatsapp {
  box-shadow: 0 2px 8px -3px rgba(37, 211, 102, 0.2);
}

.rora-btn--whatsapp:hover {
  box-shadow: 0 8px 20px -6px rgba(37, 211, 102, 0.35);
  transform: translateY(-1px);
}

.rora-btn--messenger {
  box-shadow: 0 2px 8px -3px rgba(0, 132, 255, 0.2);
}

.rora-btn--messenger:hover {
  box-shadow: 0 8px 20px -6px rgba(0, 132, 255, 0.35);
  transform: translateY(-1px);
}

.rora-btn--yellow {
  box-shadow: 0 4px 14px -4px rgba(255, 200, 87, 0.4);
}

.rora-btn--yellow:hover {
  box-shadow: 0 8px 20px -6px rgba(244, 186, 72, 0.45);
  transform: translateY(-1px);
}

/* Countdown pulse on seconds digit */
@keyframes rora-tick {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.06); }
}

/* ----- Product cards — image zoom, premium shadow, scale ----------------- */

.rora-product-card {
  border-color: rgba(108, 78, 224, 0.06);
  transition:
    transform 0.3s var(--rora-ease),
    box-shadow 0.3s var(--rora-ease),
    border-color 0.3s var(--rora-ease);
}

@keyframes rora-heartbeat {
  0%, 100% { transform: scale(1); }
  14%      { transform: scale(1.15); }
  28%      { transform: scale(1); }
  42%      { transform: scale(1.1); }
  56%      { transform: scale(1); }
}

/* ----- Reduced motion override ------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .rora-reveal { opacity: 1; }
  .rora-reveal.is-visible { animation: none; }
  .rora-reveal-stagger.is-visible > * { animation: none; opacity: 1; }
  .rora-welcome-strip { animation: none; }
}

/* ==========================================================================
   Premium glow-up — Single product page
   ========================================================================== */

/* ----- Gallery — refined container + hover zoom -------------------------- */

.single-product .woocommerce-product-gallery {
  border: 1px solid rgba(108, 78, 224, 0.06);
  box-shadow:
    0 4px 16px -6px rgba(31, 26, 74, 0.08),
    0 24px 48px -24px rgba(108, 78, 224, 0.1);
  transition: box-shadow 0.3s var(--rora-ease);
}

.single-product .woocommerce-product-gallery:hover {
  box-shadow:
    0 8px 24px -8px rgba(31, 26, 74, 0.12),
    0 32px 56px -28px rgba(108, 78, 224, 0.14);
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery .flexslider img {
  transition: none;
}

.single-product .woocommerce-product-gallery .zoomImg {
  display: none !important;
}

/* Gallery trigger button — premium feel */
.single-product .woocommerce-product-gallery__trigger {
  backdrop-filter: blur(8px) saturate(1.2);
  -webkit-backdrop-filter: blur(8px) saturate(1.2);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(108, 78, 224, 0.08);
  transition: transform 0.2s var(--rora-ease), box-shadow 0.2s var(--rora-ease);
}

.single-product .woocommerce-product-gallery__trigger:hover {
  box-shadow: 0 8px 20px -8px rgba(108, 78, 224, 0.3);
  transform: scale(1.1);
}

/* Thumbnail hover — lift + border glow */
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  box-shadow: 0 2px 6px -3px rgba(31, 26, 74, 0.06);
  transition:
    border-color 0.22s var(--rora-ease),
    transform 0.22s var(--rora-ease),
    box-shadow 0.22s var(--rora-ease);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover {
  box-shadow: 0 6px 16px -6px rgba(108, 78, 224, 0.2);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  box-shadow: 0 4px 14px -4px rgba(166, 133, 230, 0.35);
}

/* ----- Status pills — subtle shadow + hover ------------------------------ */

.rora-product__pill {
  box-shadow: 0 2px 6px -2px rgba(31, 26, 74, 0.1);
  transition: transform 0.2s var(--rora-ease), box-shadow 0.2s var(--rora-ease);
}

.rora-product__pill:hover {
  box-shadow: 0 4px 12px -4px rgba(31, 26, 74, 0.16);
}

.rora-product__pill--instock {
  box-shadow: 0 2px 8px -3px rgba(27, 111, 59, 0.2);
}

.rora-product__pill--preorder {
  box-shadow: 0 2px 8px -3px rgba(255, 90, 122, 0.24);
}

/* ----- Price — animated "OFF" badge -------------------------------------- */

@keyframes rora-price-pulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.04); }
}

.rora-product__price-off {
  animation: rora-price-pulse 2.5s ease-in-out infinite;
  box-shadow: 0 2px 8px -3px rgba(216, 154, 27, 0.28);
}

.rora-product__price-now {
  background: linear-gradient(135deg, #42d988 0%, #20b86a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ----- Rating — star glow + hover pull ----------------------------------- */

.rora-product__rating {
  transition: border-color 0.2s var(--rora-ease);
}

.rora-product__rating:hover {
  border-bottom-color: rgba(108, 78, 224, 0.2);
}

.rora-product__rating-stars {
  filter: drop-shadow(0 1px 3px rgba(245, 180, 0, 0.3));
}

/* ----- Feature bullets — subtle hover ------------------------------------ */

.rora-product__feature {
  border-radius: 10px;
  padding: 0.4rem 0.55rem;
  transition: background 0.2s var(--rora-ease);
}

.rora-product__feature:hover {
  background: rgba(232, 221, 251, 0.25);
}

.rora-product__feature-icon {
  box-shadow: 0 2px 6px -3px rgba(31, 26, 74, 0.12);
  transition: transform 0.2s var(--rora-ease), box-shadow 0.2s var(--rora-ease);
}

.rora-product__feature:hover .rora-product__feature-icon {
  transform: scale(1.1);
  box-shadow: 0 4px 12px -4px rgba(108, 78, 224, 0.2);
}

/* ----- Quantity stepper — refined ---------------------------------------- */

.single-product div.product.rora-product form.cart .quantity {
  transition: border-color 0.2s var(--rora-ease), box-shadow 0.2s var(--rora-ease);
}

.single-product div.product.rora-product form.cart .quantity:focus-within {
  border-color: var(--rora-primary);
  box-shadow: 0 0 0 3px rgba(188, 163, 240, 0.2);
}

.rora-qty-button {
  border-radius: 8px;
  transition: background 0.15s var(--rora-ease), color 0.15s var(--rora-ease);
}

.rora-qty-button:hover {
  background: var(--rora-primary-soft);
}

/* ----- Add to Cart button — premium shadow ------------------------------- */

.single-product div.product.rora-product form.cart .single_add_to_cart_button {
  box-shadow: 0 4px 16px -6px rgba(166, 133, 230, 0.4);
  transition:
    background 0.22s var(--rora-ease),
    box-shadow 0.22s var(--rora-ease),
    transform 0.22s var(--rora-ease);
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button:hover {
  box-shadow: 0 8px 24px -8px rgba(166, 133, 230, 0.5);
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button:active {
  transform: scale(0.98);
}

/* ----- COD CTA — golden glow --------------------------------------------- */

.rora-product__cod-cta,
.rora-product__cod-cta.button {
  box-shadow: 0 4px 16px -6px rgba(252, 235, 107, 0.5) !important;
  transition:
    background 0.22s var(--rora-ease),
    box-shadow 0.22s var(--rora-ease),
    transform 0.22s var(--rora-ease) !important;
}

.rora-product__cod-cta:hover,
.rora-product__cod-cta.button:hover {
  box-shadow: 0 10px 28px -8px rgba(252, 235, 107, 0.55) !important;
}

.rora-product__cod-cta:active,
.rora-product__cod-cta.button:active {
  transform: scale(0.98) !important;
}

/* ----- Product trust row — glassmorphism --------------------------------- */

.rora-product__trust {
  background: linear-gradient(135deg, rgba(248, 245, 250, 0.9) 0%, rgba(255, 255, 255, 0.8) 100%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(108, 78, 224, 0.06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.rora-product__trust-item {
  transition: transform 0.2s var(--rora-ease);
}

.rora-product__trust-item:hover {
  transform: translateY(-2px);
}

.rora-product__trust-icon {
  box-shadow: 0 2px 6px -3px rgba(31, 26, 74, 0.12);
  transition: transform 0.25s var(--rora-ease), box-shadow 0.25s var(--rora-ease);
}

.rora-product__trust-item:hover .rora-product__trust-icon {
  transform: scale(1.1);
  box-shadow: 0 4px 14px -4px rgba(108, 78, 224, 0.25);
}

/* ----- Tabs — refined active indicator ----------------------------------- */

.single-product .woocommerce-tabs ul.tabs li {
  transition: border-color 0.22s var(--rora-ease);
}

.single-product .woocommerce-tabs ul.tabs li a {
  transition: color 0.22s var(--rora-ease);
}

.single-product .woocommerce-tabs ul.tabs li.active {
  border-bottom-width: 3px;
}

/* ----- COD modal — premium backdrop + panel ------------------------------ */

.rora-modal {
  backdrop-filter: blur(10px) saturate(1.08);
  -webkit-backdrop-filter: blur(10px) saturate(1.08);
}

.rora-modal__panel {
  border: 1px solid rgba(108, 78, 224, 0.06);
  box-shadow:
    0 32px 64px -32px rgba(31, 26, 74, 0.3),
    0 0 0 1px rgba(108, 78, 224, 0.04);
}

.rora-modal__close-x {
  transition: transform 0.2s var(--rora-ease), background 0.2s var(--rora-ease);
}

.rora-modal__close-x:hover {
  transform: rotate(90deg);
}

.rora-cod-form__submit {
  box-shadow: 0 4px 16px -6px rgba(108, 78, 224, 0.35);
  transition:
    background 0.22s var(--rora-ease),
    box-shadow 0.22s var(--rora-ease),
    transform 0.22s var(--rora-ease);
}

.rora-cod-form__submit:hover {
  box-shadow: 0 8px 24px -8px rgba(108, 78, 224, 0.45);
}

/* COD form input focus states */
.rora-cod-form input:focus,
.rora-cod-form textarea:focus,
.rora-cod-form select:focus {
  border-color: var(--rora-primary);
  box-shadow: 0 0 0 3px rgba(188, 163, 240, 0.18);
  outline: none;
}

/* COD success animation */
.rora-cod-success__check {
  animation: rora-scale-in 0.4s var(--rora-ease) both;
}

/* COD modal reference styling */
.rora-modal {
  align-items: center;
  background: rgba(49, 39, 61, 0.58);
  padding: clamp(0.75rem, 2vw, 1.35rem);
}

.rora-modal__panel {
  background:
    radial-gradient(circle at 22% 0%, rgba(255, 255, 255, 0.82), transparent 16rem),
    linear-gradient(135deg, #bca5f7 0%, #e5dafa 56%, #f6f0ff 100%);
  border: 0;
  border-radius: 26px;
  box-shadow:
    0 34px 78px -38px rgba(20, 14, 44, 0.56),
    0 0 0 1px rgba(255, 255, 255, 0.28);
  max-height: min(94vh, 980px);
  max-width: min(94vw, 660px);
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.rora-modal__close-x {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 36px -24px rgba(31, 26, 74, 0.48);
  color: #463a56;
  height: 58px;
  right: 1.35rem;
  top: 1.35rem;
  width: 58px;
}

.rora-modal__close-x svg {
  height: 25px;
  width: 25px;
}

.rora-modal__close-x:hover {
  background: #fff;
  color: #7048f1;
}

.rora-cod-form__head {
  align-items: center;
  background: transparent;
  color: #47395a;
  gap: 1rem;
  justify-content: flex-start;
  padding: 1.55rem 6.1rem 1.35rem 1.6rem;
}

.rora-cod-form__head-icon {
  align-items: center;
  background: rgba(255, 255, 255, 0.74);
  border-radius: 999px;
  color: #7048f1;
  display: inline-flex;
  flex: 0 0 58px;
  height: 58px;
  justify-content: center;
  width: 58px;
}

.rora-cod-form__head-icon svg {
  height: 30px;
  width: 30px;
}

.rora-cod-form__head h3 {
  color: #40334f;
  font-size: clamp(1.45rem, 3.4vw, 1.9rem);
  font-weight: 800;
  line-height: 1.05;
  margin: 0;
}

.rora-cod-form__head h3 span {
  color: #665574;
  display: block;
  font-size: clamp(1rem, 2.4vw, 1.26rem);
  font-weight: 600;
  margin-top: 0.28rem;
}

.rora-cod-form__product,
.rora-cod-form__body {
  background: #fff;
  margin-left: clamp(0.7rem, 2vw, 1rem);
  margin-right: clamp(0.7rem, 2vw, 1rem);
}

.rora-cod-form__product {
  border-bottom: 1px solid #e9e3f0;
  border-radius: 22px 22px 0 0;
  gap: 1.55rem;
  padding: clamp(1.25rem, 3vw, 1.8rem) clamp(1.35rem, 3.2vw, 2.15rem);
}

.rora-cod-form__product img {
  border-radius: 16px;
  box-shadow: 0 12px 30px -24px rgba(31, 26, 74, 0.36);
  height: clamp(78px, 16vw, 104px);
  width: clamp(78px, 16vw, 104px);
}

.rora-cod-form__product-info strong {
  color: #2f2b3a;
  font-size: clamp(1.08rem, 2.5vw, 1.5rem);
  font-weight: 800;
  line-height: 1.2;
}

.rora-cod-form__product-info span {
  color: #1fb66a;
  font-size: clamp(1.12rem, 2.6vw, 1.55rem);
  font-weight: 900;
  margin-top: 0.72rem;
}

.rora-cod-form__body {
  border-radius: 0 0 22px 22px;
  padding: clamp(1.25rem, 3vw, 1.8rem) clamp(1.35rem, 3.2vw, 2.15rem) clamp(1.35rem, 3vw, 1.9rem);
}

.rora-cod-form__row,
.rora-cod-form__row--full {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: 1fr;
  margin-bottom: 1.15rem;
}

.rora-cod-form label {
  color: #625475;
  font-size: 1.02rem;
  font-weight: 800;
  margin-bottom: 0.58rem;
}

.rora-cod-field__control {
  align-items: center;
  background: #fff;
  border: 1px solid #ded9e4;
  border-radius: 13px;
  box-shadow: 0 9px 22px -20px rgba(31, 26, 74, 0.45);
  display: grid;
  gap: 1rem;
  grid-template-columns: 38px minmax(0, 1fr);
  min-height: 64px;
  padding: 0 1.25rem;
  transition: border-color 0.18s var(--rora-ease), box-shadow 0.18s var(--rora-ease);
}

.rora-cod-field__control:focus-within {
  border-color: #bca5f7;
  box-shadow:
    0 0 0 4px rgba(112, 72, 241, 0.12),
    0 12px 26px -22px rgba(31, 26, 74, 0.5);
}

.rora-cod-field__icon {
  align-items: center;
  color: #7048f1;
  display: inline-flex;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.rora-cod-field__icon svg {
  height: 29px;
  width: 29px;
}

.rora-cod-field__control input,
.rora-cod-field__control select,
.rora-cod-field__control textarea {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #2f2b3a;
  font-size: clamp(1rem, 2.3vw, 1.18rem);
  min-height: 62px;
  padding: 0;
}

.rora-cod-field__control input:focus,
.rora-cod-field__control select:focus,
.rora-cod-field__control textarea:focus {
  border: 0;
  box-shadow: none;
}

.rora-cod-field__control--textarea {
  align-items: start;
  padding-bottom: 0.85rem;
  padding-top: 0.85rem;
}

.rora-cod-field__control--textarea .rora-cod-field__icon {
  padding-top: 0.5rem;
}

.rora-cod-field__control textarea {
  line-height: 1.45;
  min-height: 86px;
  resize: vertical;
}

.rora-cod-field__control--select {
  position: relative;
}

.rora-cod-field__control--select::after {
  border-bottom: 2px solid #574966;
  border-right: 2px solid #574966;
  content: "";
  height: 10px;
  pointer-events: none;
  position: absolute;
  right: 1.35rem;
  top: calc(50% - 7px);
  transform: rotate(45deg);
  width: 10px;
}

.rora-cod-field__control select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 2rem;
}

.rora-cod-form__qty {
  border-color: #ded9e4;
  border-radius: 13px;
  height: 64px;
  overflow: hidden;
}

.rora-cod-form__qty button {
  color: #7048f1;
  font-size: 1.85rem;
  font-weight: 800;
  width: 74px;
}

.rora-cod-form__qty button + input,
.rora-cod-form__qty input + button {
  border-left: 1px solid #e3dee8;
}

.rora-cod-form__qty input {
  color: #2f2b3a;
  font-size: 1.18rem;
  font-weight: 800;
}

.rora-cod-summary {
  background: linear-gradient(135deg, #f7f0ff 0%, #fbf8ff 100%);
  border: 0;
  border-radius: 15px;
  box-shadow: inset 0 0 0 1px rgba(112, 72, 241, 0.06);
  font-size: 1.03rem;
  gap: 0.75rem;
  margin: 1.3rem 0 1.25rem;
  padding: 1.18rem 1.28rem;
}

.rora-cod-summary__line span:first-child {
  color: #6d607d;
  font-weight: 650;
}

.rora-cod-summary__line span:last-child {
  color: #4b4059;
  font-size: 1.05rem;
  font-weight: 800;
}

.rora-cod-summary__total {
  border-top: 1px solid #e4ddec;
  font-size: 1.18rem;
  padding-top: 0.85rem;
}

.rora-cod-summary__total span:first-child {
  color: #2f2b3a;
  font-weight: 900;
}

.rora-cod-summary__total span:last-child {
  color: #1fb66a;
  font-family: var(--rora-sans);
  font-size: clamp(1.65rem, 4vw, 2rem);
  font-weight: 900;
}

.rora-cod-form__submit {
  background: linear-gradient(135deg, #7048f1 0%, #6843dc 100%);
  border-radius: 10px;
  box-shadow: 0 18px 38px -26px rgba(86, 52, 206, 0.72);
  font-size: clamp(1.08rem, 2.4vw, 1.32rem);
  font-weight: 900;
  min-height: 64px;
}

.rora-cod-form__submit:hover {
  background: linear-gradient(135deg, #7d58f4 0%, #5e39d0 100%);
  box-shadow: 0 20px 42px -24px rgba(86, 52, 206, 0.78);
}

.rora-cod-form__submit svg {
  height: 27px;
  width: 27px;
}

.rora-cod-form__alt {
  align-items: center;
  color: #756783;
  display: flex;
  font-size: 0.97rem;
  font-weight: 650;
  gap: 0.65rem;
  justify-content: center;
  line-height: 1.35;
  margin: 1rem 0 0;
}

.rora-cod-form__alt::before {
  background: #7048f1;
  content: "";
  flex: 0 0 20px;
  height: 20px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 20px;
}

@media (max-width: 560px) {
  .rora-modal {
    align-items: flex-start;
    padding: 0.45rem;
  }

  .rora-modal__panel {
    border-radius: 22px;
    max-height: calc(100vh - 0.9rem);
    max-width: 100%;
  }

  .rora-modal__close-x {
    height: 48px;
    right: 0.9rem;
    top: 0.9rem;
    width: 48px;
  }

  .rora-cod-form__head {
    gap: 0.72rem;
    padding: 1rem 4.35rem 1rem 1rem;
  }

  .rora-cod-form__head-icon {
    flex-basis: 48px;
    height: 48px;
    width: 48px;
  }

  .rora-cod-form__product {
    align-items: flex-start;
    gap: 0.85rem;
  }

  .rora-cod-field__control {
    grid-template-columns: 30px minmax(0, 1fr);
    min-height: 58px;
    padding: 0 0.9rem;
  }

  .rora-cod-field__icon svg {
    height: 24px;
    width: 24px;
  }

  .rora-cod-form__qty {
    height: 58px;
  }

  .rora-cod-form__qty button {
    width: 54px;
  }

  .rora-cod-form__alt {
    align-items: flex-start;
    font-size: 0.86rem;
    text-align: left;
  }
}

/* ----- Shop benefit cards — hover lift ----------------------------------- */

.rora-shop-benefit {
  transition:
    transform 0.22s var(--rora-ease),
    box-shadow 0.22s var(--rora-ease),
    border-color 0.22s var(--rora-ease);
}

.rora-shop-benefit:hover {
  border-color: rgba(108, 78, 224, 0.12);
  box-shadow: 0 10px 24px -12px rgba(31, 26, 74, 0.14);
  transform: translateY(-3px);
}

.rora-shop-benefit span {
  transition: transform 0.25s var(--rora-ease), box-shadow 0.25s var(--rora-ease);
}

.rora-shop-benefit:hover span {
  box-shadow: 0 4px 12px -4px rgba(108, 78, 224, 0.25);
  transform: scale(1.08);
}

/* ----- Category strip cards — image zoom + glow hover -------------------- */

.rora-shop-category-card {
  transition:
    transform 0.28s var(--rora-ease),
    box-shadow 0.28s var(--rora-ease),
    border-color 0.28s var(--rora-ease);
}

.rora-shop-category-card:hover,
.rora-shop-category-card.is-current {
  border-color: rgba(108, 78, 224, 0.15);
  box-shadow:
    0 16px 36px -18px rgba(31, 26, 74, 0.22),
    inset 0 0 0 1px rgba(108, 78, 224, 0.05);
  transform: translateY(-4px);
}

.rora-shop-category-card span {
  transition: transform 0.35s var(--rora-ease);
}

.rora-shop-category-card:hover span {
  transform: scale(1.06);
}

/* ----- Sidebar — refined + sticky blur ----------------------------------- */

.rora-shop-aside {
  border-color: rgba(108, 78, 224, 0.06);
  transition: box-shadow 0.3s var(--rora-ease);
}

.rora-shop-aside:hover {
  box-shadow: 0 22px 48px -30px rgba(31, 26, 74, 0.32);
}

.rora-shop-aside__header {
  background: linear-gradient(105deg, #efe6fb 0%, #f8f0ff 50%, #fff1d6 100%);
  position: relative;
  overflow: hidden;
}

.rora-shop-aside__header::after {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  content: "";
  inset: 0;
  position: absolute;
  animation: rora-shimmer 6s ease-in-out infinite;
  background-size: 200% 100%;
}

/* Price filter focus */
.rora-shop-price input:focus {
  border-color: var(--rora-primary);
  box-shadow: 0 0 0 3px rgba(188, 163, 240, 0.18);
  outline: none;
}

/* Stock toggle — smooth transitions */
.rora-stock-toggle a {
  transition:
    background 0.2s var(--rora-ease),
    color 0.2s var(--rora-ease),
    border-color 0.2s var(--rora-ease),
    box-shadow 0.2s var(--rora-ease);
}

.rora-stock-toggle a.is-active {
  box-shadow: 0 2px 8px -3px rgba(51, 38, 79, 0.25);
}

/* ----- Shop toolbar — refined -------------------------------------------- */

.rora-shop-toolbar {
  transition: box-shadow 0.25s var(--rora-ease);
}

.rora-shop-toolbar:hover {
  box-shadow: 0 14px 32px -20px rgba(31, 26, 74, 0.22);
}

.rora-shop-toolbar select {
  transition: border-color 0.2s var(--rora-ease), box-shadow 0.2s var(--rora-ease);
}

.rora-shop-toolbar select:focus {
  border-color: var(--rora-purple);
  box-shadow: 0 0 0 3px rgba(108, 78, 224, 0.12);
  outline: none;
}

/* ----- Product grid cards — premium hover -------------------------------- */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  border-color: rgba(108, 78, 224, 0.06);
  transition:
    transform 0.28s var(--rora-ease),
    box-shadow 0.28s var(--rora-ease),
    border-color 0.28s var(--rora-ease);
}

.woocommerce ul.products li.product:hover {
  border-color: rgba(108, 78, 224, 0.12);
  box-shadow:
    0 20px 42px -20px rgba(31, 26, 74, 0.22),
    0 0 0 1px rgba(108, 78, 224, 0.04);
  transform: translateY(-5px);
}

/* Product image zoom on hover */
.woocommerce ul.products li.product img {
  transition: transform 0.4s var(--rora-ease);
}

.woocommerce ul.products li.product:hover img {
  transform: scale(1.05);
}

/* Product title — purple on hover */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  transition: color 0.2s var(--rora-ease);
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
  color: var(--rora-purple);
}

/* Add to cart button — shadow */
.woocommerce ul.products li.product .button {
  box-shadow: 0 2px 8px -4px rgba(79, 59, 97, 0.25);
  transition:
    background 0.22s var(--rora-ease),
    box-shadow 0.22s var(--rora-ease),
    transform 0.22s var(--rora-ease);
}

.woocommerce ul.products li.product .button:hover {
  box-shadow: 0 6px 18px -6px rgba(108, 78, 224, 0.4);
  transform: translateY(-1px);
}

/* Sale badge — pulse */
.woocommerce span.onsale {
  box-shadow: 0 2px 8px -2px rgba(255, 167, 160, 0.4);
  transition: transform 0.2s var(--rora-ease);
}

.woocommerce ul.products li.product:hover span.onsale {
  transform: none;
}

/* ----- WooCommerce pagination — styled ----------------------------------- */

.woocommerce nav.woocommerce-pagination ul {
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: #fff;
  border: 1px solid rgba(108, 78, 224, 0.1);
  border-radius: 10px;
  color: var(--rora-ink-soft);
  font-weight: 600;
  min-height: 40px;
  min-width: 40px;
  transition: all 0.2s var(--rora-ease);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--rora-purple-soft);
  border-color: var(--rora-purple);
  color: var(--rora-purple);
  transform: translateY(-1px);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--rora-purple);
  border-color: var(--rora-purple);
  box-shadow: 0 4px 14px -4px rgba(108, 78, 224, 0.35);
  color: #fff;
}

/* ----- Reduced motion — product + shop pages ----------------------------- */

@media (prefers-reduced-motion: reduce) {
  .rora-product__price-off { animation: none; }
  .rora-shop-aside__header::after { animation: none; }
}

/* ==========================================================================
   Product page — premium revamp
   Upgraded colour, depth, motion while preserving design profile.
   ========================================================================== */

/* --- Gallery: deeper rounding + soft ambient glow ----------------------- */

.single-product .woocommerce-product-gallery {
  background: linear-gradient(145deg, #ffffff 60%, #f5f0fd 100%);
  border-radius: 24px;
  box-shadow:
    0 2px 4px -2px rgba(74, 59, 82, 0.04),
    0 12px 32px -16px rgba(108, 78, 224, 0.12);
  transition: box-shadow 0.35s var(--rora-ease);
}

.single-product .woocommerce-product-gallery:hover {
  box-shadow:
    0 4px 8px -4px rgba(74, 59, 82, 0.06),
    0 20px 40px -18px rgba(108, 78, 224, 0.18);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  border-radius: 12px;
  box-shadow: 0 2px 6px -3px rgba(74, 59, 82, 0.1);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  border-color: var(--rora-primary-strong);
  box-shadow: 0 0 0 3px rgba(166, 133, 230, 0.2), 0 3px 8px -4px rgba(74, 59, 82, 0.14);
  transform: translateY(-2px);
}

/* --- Status pills: crisper look ----------------------------------------- */

.rora-product__pill {
  border-radius: 999px;
  box-shadow: 0 2px 6px -3px rgba(74, 59, 82, 0.1);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  min-height: 30px;
  padding: 0.36rem 0.78rem;
}

.rora-product__pill--instock {
  background: linear-gradient(135deg, #d6f5dd 0%, #c2edcc 100%);
  box-shadow: 0 2px 8px -4px rgba(27, 111, 59, 0.18);
  color: #156332;
}

.rora-product__pill--preorder {
  background: linear-gradient(135deg, #ffe8ef 0%, #ffd5e1 100%);
  border-color: #ffc3d2;
  box-shadow: 0 2px 8px -4px rgba(255, 90, 122, 0.28);
  color: var(--rora-coral, #ff5a7a);
}

.rora-product__pill--new {
  background: linear-gradient(135deg, #fff5f5 0%, #fff 100%);
  border-color: #ffcbca;
}

/* --- Product title: sharper serif --------------------------------------- */

.single-product .product .product_title,
.single-product div.product.rora-product .product_title {
  background: linear-gradient(135deg, var(--rora-ink) 0%, #5c4a68 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.02em;
  line-height: 1.08;
}

/* --- Price: punchy sale price + animated discount badge ----------------- */

.rora-product__price-now {
  background: linear-gradient(135deg, #42d988 0%, #20b86a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.rora-product__price-off {
  animation: rora-badge-pop 0.55s var(--rora-ease) both;
  background: linear-gradient(135deg, #fff5c9 0%, #f8d36f 100%);
  border: 1px solid rgba(216, 154, 27, 0.26);
  box-shadow: 0 2px 8px -3px rgba(216, 154, 27, 0.28);
  color: #8a5a00;
  font-weight: 800;
  letter-spacing: 0.02em;
}

@keyframes rora-badge-pop {
  0%   { opacity: 0; transform: scale(0.7); }
  70%  { transform: scale(1.08); }
  100% { opacity: 1; transform: scale(1); }
}

/* --- Star rating: warmer gold ------------------------------------------- */

.rora-product__rating {
  background: linear-gradient(135deg, rgba(245, 180, 0, 0.04) 0%, transparent 60%);
  border-bottom-color: var(--rora-line);
  border-radius: 10px;
  padding: 0.7rem 0.9rem 0.85rem;
  margin: 0 0 1rem;
  transition: background 0.2s var(--rora-ease);
}

.rora-product__rating:hover {
  background: rgba(245, 180, 0, 0.06);
}

.rora-product__rating-stars {
  color: #f5a800;
  filter: drop-shadow(0 1px 2px rgba(245, 168, 0, 0.35));
  letter-spacing: 0.12em;
}

/* --- Feature bullets: subtle card effect -------------------------------- */

.rora-product__features {
  border-bottom-color: var(--rora-line);
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.rora-product__feature {
  background: #fff;
  border: 1px solid rgba(74, 59, 82, 0.06);
  border-radius: 12px;
  padding: 0.65rem 0.85rem;
  transition: border-color 0.18s var(--rora-ease), box-shadow 0.18s var(--rora-ease), transform 0.18s var(--rora-ease);
}

.rora-product__feature:hover {
  border-color: rgba(166, 133, 230, 0.2);
  box-shadow: 0 4px 14px -8px rgba(108, 78, 224, 0.16);
  transform: translateX(3px);
}

.rora-product__feature-icon {
  height: 34px;
  width: 34px;
  box-shadow: 0 2px 5px -3px rgba(74, 59, 82, 0.12);
}

/* --- COD CTA button: gradient + glow ------------------------------------ */

.rora-product__cod-cta,
.rora-product__cod-cta.button {
  background: linear-gradient(135deg, #fdf060 0%, #f9dc40 100%) !important;
  border-radius: 16px !important;
  box-shadow:
    0 4px 14px -4px rgba(252, 235, 64, 0.5),
    0 1px 2px -1px rgba(74, 59, 82, 0.08) !important;
  letter-spacing: 0.01em;
  min-height: 60px;
  transition:
    background 0.2s var(--rora-ease),
    box-shadow 0.2s var(--rora-ease),
    transform 0.2s var(--rora-ease) !important;
}

.rora-product__cod-cta:hover,
.rora-product__cod-cta.button:hover {
  background: linear-gradient(135deg, #f9dc40 0%, #f0cc20 100%) !important;
  box-shadow:
    0 8px 22px -6px rgba(252, 235, 64, 0.55),
    0 2px 4px -2px rgba(74, 59, 82, 0.1) !important;
  transform: translateY(-2px) !important;
}

.rora-product__cod-cta:active,
.rora-product__cod-cta.button:active {
  transform: translateY(0) scale(0.98) !important;
}

.rora-product__cod-cta svg {
  filter: drop-shadow(0 1px 2px rgba(74, 59, 82, 0.15));
}

/* --- Add to cart button: purple gradient -------------------------------- */

.single-product div.product.rora-product form.cart .single_add_to_cart_button {
  background: linear-gradient(135deg, var(--rora-primary) 0%, var(--rora-primary-strong) 100%);
  border-radius: 16px;
  box-shadow:
    0 4px 14px -4px rgba(166, 133, 230, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
  letter-spacing: 0.01em;
  transition:
    background 0.2s var(--rora-ease),
    box-shadow 0.2s var(--rora-ease),
    transform 0.2s var(--rora-ease);
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button:hover {
  background: linear-gradient(135deg, var(--rora-primary-strong) 0%, #9070d8 100%);
  box-shadow:
    0 8px 22px -6px rgba(166, 133, 230, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
  transform: translateY(-2px);
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button:active {
  transform: scale(0.98);
}

/* --- Qty stepper: refined ------------------------------------------------ */

.single-product div.product.rora-product form.cart .quantity {
  background: linear-gradient(135deg, #fff 0%, #fdfcff 100%);
  border-color: rgba(166, 133, 230, 0.2);
  border-radius: 14px;
  box-shadow: 0 2px 6px -3px rgba(74, 59, 82, 0.08);
  transition: border-color 0.18s var(--rora-ease), box-shadow 0.18s var(--rora-ease);
}

.single-product div.product.rora-product form.cart .quantity:focus-within {
  border-color: rgba(166, 133, 230, 0.45);
  box-shadow: 0 0 0 3px rgba(188, 163, 240, 0.14);
}

/* --- Trust row: individual card lift ------------------------------------ */

.rora-product__trust {
  background: linear-gradient(145deg, var(--rora-bg) 0%, #f3edf9 100%);
  border: 1px solid rgba(166, 133, 230, 0.1);
  border-radius: 20px;
  box-shadow: 0 2px 8px -4px rgba(74, 59, 82, 0.06);
  gap: 0;
  overflow: hidden;
  padding: 0;
}

.rora-product__trust-item {
  border-right: 1px solid rgba(166, 133, 230, 0.1);
  gap: 0.6rem;
  padding: 0.9rem 0.75rem;
  transition: background 0.18s var(--rora-ease);
}

.rora-product__trust-item:last-child {
  border-right: 0;
}

.rora-product__trust-item:hover {
  background: rgba(255, 255, 255, 0.7);
}

.rora-product__trust-icon {
  box-shadow: 0 2px 6px -3px rgba(74, 59, 82, 0.12);
  height: 40px;
  transition: transform 0.2s var(--rora-ease);
  width: 40px;
}

.rora-product__trust-item:hover .rora-product__trust-icon {
  transform: scale(1.1);
}

.rora-product__trust-text strong {
  color: var(--rora-ink);
  font-size: 0.82rem;
}

.rora-product__trust-text em {
  font-size: 0.72rem;
}

/* Trust row responsive — stacked on mobile */

@media (max-width: 768px) {
  .rora-product__trust {
    display: flex;
    flex-direction: column;
  }
  .rora-product__trust-item {
    border-right: 0;
    border-bottom: 1px solid rgba(166, 133, 230, 0.1);
  }
  .rora-product__trust-item:last-child {
    border-bottom: 0;
  }
}

/* --- Breadcrumb: softened ------------------------------------------------ */

.rora-product__crumbs {
  font-size: 0.82rem;
}

/* --- Tabs: active indicator with brand colour --------------------------- */

.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--rora-ink);
  font-weight: 700;
}

/* --- COD modal: warmer panel -------------------------------------------- */

.rora-modal__panel {
  background: linear-gradient(160deg, #ffffff 0%, #fdfcff 100%);
}

.rora-cod-form__head h3 {
  background: linear-gradient(135deg, var(--rora-ink) 0%, #5c4a68 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.rora-cod-summary__total span:last-child {
  background: linear-gradient(135deg, #42d988 0%, #20b86a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.rora-cod-form__submit {
  background: linear-gradient(135deg, var(--rora-primary) 0%, var(--rora-primary-strong) 100%);
}

.rora-cod-form__submit:hover {
  background: linear-gradient(135deg, var(--rora-primary-strong) 0%, #9070d8 100%);
}

/* --- Product page CTA colour lock --------------------------------------- */

.single-product div.product.rora-product form.cart .single_add_to_cart_button {
  background: var(--rora-ink) !important;
  border-radius: 14px;
  box-shadow: 0 2px 8px -4px rgba(79, 59, 97, 0.25);
  color: #fff !important;
  min-height: 56px;
  transition:
    background 0.22s var(--rora-ease),
    box-shadow 0.22s var(--rora-ease),
    transform 0.22s var(--rora-ease);
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button:hover {
  background: var(--rora-purple) !important;
  box-shadow: 0 6px 18px -6px rgba(108, 78, 224, 0.4);
  color: #fff !important;
  transform: translateY(-1px);
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button::before {
  display: none;
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button:active {
  transform: translateY(0) scale(0.98);
}

.rora-product__cod-cta,
.rora-product__cod-cta.button {
  background: var(--rora-purple) !important;
  box-shadow: 0 4px 14px -4px rgba(108, 78, 224, 0.45) !important;
  color: #fff !important;
}

.rora-product__cod-cta:hover,
.rora-product__cod-cta.button:hover {
  background: var(--rora-purple-strong) !important;
  box-shadow: 0 8px 22px -6px rgba(108, 78, 224, 0.52) !important;
  color: #fff !important;
}

.rora-product__cod-cta svg {
  color: #fff !important;
  filter: none;
}

@media (max-width: 640px) {
  .single-product div.product.rora-product form.cart .single_add_to_cart_button {
    min-height: 46px;
  }

  .rora-product__cod-cta,
  .rora-product__cod-cta.button {
    min-height: 48px !important;
  }
}

/* --- Reduced motion overrides ------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .rora-product__price-off { animation: none; }
  .rora-product__feature:hover { transform: none; }
  .rora-product__cod-cta:hover,
  .rora-product__cod-cta.button:hover { transform: none !important; }
  .single-product div.product.rora-product form.cart .single_add_to_cart_button:hover { transform: none; }
  .rora-product__trust-item:hover .rora-product__trust-icon { transform: none; }
}

/* ==========================================================================
   Commerce colour lock — price / offer / preorder / cart / buy-now
   ========================================================================== */

:root {
  --rora-price: #25b86a;
  --rora-price-strong: #1fa15e;
  --rora-price-soft: #e8fbf1;
  --rora-old-price: #ff4f90;
  --rora-offer: #f7d774;
  --rora-offer-strong: #edbd3e;
  --rora-offer-soft: #fff1bf;
  --rora-offer-text: #7a500b;
  --rora-preorder: #ff5c76;
  --rora-preorder-strong: #ee4b66;
  --rora-preorder-soft: #ffe4ec;
  --rora-preorder-border: #ffb8ca;
  --rora-cart: #4f3d5b;
  --rora-cart-hover: #6A0DAD;
  --rora-buy-now: #6c4ee0;
  --rora-buy-now-hover: #5a3dd0;
}

.rora-product__price-now,
.rora-hero-v2__floating-price em,
.rora-promo-card__price em,
.rora-product-card__price em,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price ins,
.rora-cod-form__product-info span,
.rora-cod-summary__total span:last-child {
  background: none;
  color: var(--rora-price) !important;
  -webkit-text-fill-color: currentColor;
}

.rora-product__price-was,
.rora-hero-v2__floating-price s,
.rora-promo-card__price s,
.rora-product-card__price s,
.woocommerce ul.products li.product .price del {
  color: var(--rora-old-price) !important;
}

.rora-product__price-off,
.woocommerce span.onsale,
.rora-promo-card__badge,
.rora-product-card__badge {
  background: linear-gradient(180deg, var(--rora-offer-soft) 0%, var(--rora-offer) 100%) !important;
  border: 1px solid rgba(237, 189, 62, 0.38) !important;
  box-shadow: 0 8px 18px -12px rgba(122, 80, 11, 0.34) !important;
  color: var(--rora-offer-text) !important;
}

.rora-btn--yellow,
.rora-combo__offers .rora-btn,
.rora-offer-card__body .button {
  background: linear-gradient(180deg, var(--rora-offer-soft) 0%, var(--rora-offer) 100%) !important;
  border-color: rgba(237, 189, 62, 0.38) !important;
  color: var(--rora-offer-text) !important;
}

.rora-btn--yellow:hover,
.rora-combo__offers .rora-btn:hover,
.rora-offer-card__body .button:hover {
  background: linear-gradient(180deg, var(--rora-offer) 0%, var(--rora-offer-strong) 100%) !important;
  color: var(--rora-offer-text) !important;
}

.rora-product__pill--preorder,
.rora-loop-badge--preorder {
  background: linear-gradient(180deg, var(--rora-preorder-soft) 0%, #ffd7e2 100%) !important;
  border: 1px solid var(--rora-preorder-border) !important;
  box-shadow: 0 8px 18px -14px rgba(255, 92, 118, 0.55) !important;
  color: var(--rora-preorder) !important;
}

.rora-product__pill--new {
  background: rgba(255, 92, 118, 0.1) !important;
  border: 0 !important;
  color: var(--rora-preorder) !important;
}

.rora-site-header .rora-nav-pill a span {
  background: var(--rora-yellow) !important;
  border: 0 !important;
  color: var(--rora-ink) !important;
}

.rora-product__pill--new svg {
  color: var(--rora-preorder) !important;
}

.rora-header-cart,
.rora-site-header .rora-header-icon.rora-header-cart,
.woocommerce ul.products li.product .button,
.rora-add-to-cart,
.rora-promo-card__cart,
.single-product div.product.rora-product form.cart .single_add_to_cart_button {
  background: var(--rora-cart) !important;
  border-color: var(--rora-cart) !important;
  color: #fff !important;
}

.rora-header-cart:hover,
.rora-site-header .rora-header-icon.rora-header-cart:hover,
.woocommerce ul.products li.product .button:hover,
.rora-add-to-cart:hover,
.rora-promo-card:hover .rora-promo-card__cart,
.single-product div.product.rora-product form.cart .single_add_to_cart_button:hover {
  background: var(--rora-cart-hover) !important;
  border-color: var(--rora-cart-hover) !important;
  color: #fff !important;
}

.rora-header-cart .rora-header-cart__count,
.rora-header-icon--badge span {
  background: var(--rora-preorder) !important;
  color: #fff !important;
}

.rora-add-to-cart.is-added {
  background: var(--rora-price) !important;
  border-color: var(--rora-price) !important;
  color: #fff !important;
}

.rora-product__cod-cta,
.rora-product__cod-cta.button,
.rora-cod-form__submit,
.rora-btn--primary {
  background: var(--rora-buy-now) !important;
  border-color: var(--rora-buy-now) !important;
  box-shadow: 0 12px 28px -16px rgba(108, 78, 224, 0.62) !important;
  color: #fff !important;
}

.rora-product__cod-cta:hover,
.rora-product__cod-cta.button:hover,
.rora-cod-form__submit:hover,
.rora-btn--primary:hover {
  background: var(--rora-buy-now-hover) !important;
  border-color: var(--rora-buy-now-hover) !important;
  color: #fff !important;
}

.rora-product__cod-cta svg,
.rora-cod-form__submit svg,
.rora-btn--primary svg {
  color: #fff !important;
}

/* ==========================================================================
   Product loop — card symmetry & star-rating polish
   Fixes layout breaking when some cards have reviews and others don't.
   ========================================================================== */

/* Flex column so price + CTA always anchor to the card bottom */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  display: flex !important;
  flex-direction: column;
}

/* Push the price (and therefore the button that follows it) to the bottom */
.woocommerce ul.products li.product .price {
  margin-top: auto !important;
}

/* Star-rating row — compact, clean, non-disruptive */
.woocommerce ul.products li.product .woocommerce-product-rating {
  align-items: center;
  display: flex;
  gap: 0.4rem;
  line-height: 1;
  padding: 0.3rem 0.95rem 0;
}

/* Hide the verbose "N customer reviews" link — the stars say enough */
.woocommerce ul.products li.product .woocommerce-review-link {
  display: none;
}

/* Golden stars: unfilled base track + golden filled span */
.woocommerce ul.products li.product .star-rating {
  font-size: 0.82rem;
}

.woocommerce ul.products li.product .star-rating::before {
  color: #ddd6f0;
}

.woocommerce ul.products li.product .star-rating span::before {
  color: #f5b400;
}

/* ==========================================================================
   Product loop — compact price/sale rhythm
   Moves Sale into the price row and removes the tall forced white gap.
   ========================================================================== */

.woocommerce ul.products {
  align-items: stretch;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  align-self: stretch;
  padding-bottom: 0.78rem !important;
}

.woocommerce ul.products li.product img {
  margin-bottom: 0.48rem !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 0 0 0.06rem !important;
  min-height: 0;
  padding-left: 0.78rem !important;
  padding-right: 0.78rem !important;
}

.woocommerce ul.products li.product .price {
  align-items: center;
  color: var(--rora-price, var(--rora-purple));
  display: flex;
  flex-wrap: wrap;
  gap: 0.22rem 0.34rem;
  line-height: 1.16;
  margin: 0.08rem 0 0 !important;
  padding: 0 0.78rem !important;
  width: 100%;
}

.woocommerce ul.products li.product .price del {
  font-size: 0.78rem;
  line-height: 1.1;
}

.woocommerce ul.products li.product .price ins {
  line-height: 1.1;
}

.woocommerce ul.products li.product .rora-loop-sale-pill {
  align-self: center;
  background: linear-gradient(180deg, var(--rora-offer-soft, #fff5c9) 0%, var(--rora-offer, #edbd3e) 100%);
  border: 1px solid rgba(237, 189, 62, 0.38);
  border-radius: 999px;
  box-shadow: 0 4px 10px -8px rgba(122, 80, 11, 0.42);
  color: var(--rora-offer-text, #7a500b);
  flex: 0 0 auto;
  font-size: 0.52rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-left: auto;
  order: 3;
  padding: 0.17rem 0.38rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.woocommerce ul.products li.product .button {
  margin: 0.62rem 0.78rem 0 !important;
  min-height: 38px;
  width: calc(100% - 1.56rem);
}

/* ==========================================================================
   Shop archive — GPT Image 2 mockup match
   Keeps the existing RORA identity while tightening the desktop shop layout,
   product-card rhythm, and first-viewport spacing.
   ========================================================================== */

body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag,
.woocommerce-shop .site-content,
.tax-product_cat .site-content,
.tax-product_tag .site-content {
  background:
    radial-gradient(circle at 78% 3%, rgba(239, 230, 251, 0.58) 0, rgba(239, 230, 251, 0) 28rem),
    linear-gradient(180deg, #fbf9ff 0%, #faf8fd 100%);
}

body.woocommerce-shop .rora-welcome-strip,
body.tax-product_cat .rora-welcome-strip,
body.tax-product_tag .rora-welcome-strip {
  display: none;
}

body.woocommerce-shop .rora-site-header,
body.tax-product_cat .rora-site-header,
body.tax-product_tag .rora-site-header {
  border-bottom-color: rgba(31, 26, 74, 0.06);
  box-shadow: 0 10px 28px -26px rgba(31, 26, 74, 0.38);
}

body.woocommerce-shop .rora-site-header .rora-header-row,
body.tax-product_cat .rora-site-header .rora-header-row,
body.tax-product_tag .rora-site-header .rora-header-row {
  grid-template-columns: 245px minmax(0, 1fr) auto;
  max-width: 1480px;
  min-height: 90px;
  padding: 0.45rem 1.5rem;
}

body.woocommerce-shop .rora-site-header .rora-brand__logo,
body.tax-product_cat .rora-site-header .rora-brand__logo,
body.tax-product_tag .rora-site-header .rora-brand__logo {
  height: 72px;
  max-width: 218px;
}

body.woocommerce-shop .rora-site-header .rora-header-nav__menu,
body.tax-product_cat .rora-site-header .rora-header-nav__menu,
body.tax-product_tag .rora-site-header .rora-header-nav__menu {
  gap: clamp(1.35rem, 2.55vw, 2.55rem);
}

body.woocommerce-shop .rora-site-header .rora-header-nav__menu a,
body.tax-product_cat .rora-site-header .rora-header-nav__menu a,
body.tax-product_tag .rora-site-header .rora-header-nav__menu a {
  white-space: nowrap;
}

body.woocommerce-shop .rora-site-header .rora-header-icons,
body.tax-product_cat .rora-site-header .rora-header-icons,
body.tax-product_tag .rora-site-header .rora-header-icons {
  gap: clamp(1rem, 1.75vw, 1.55rem);
}

.woocommerce-shop .site-content .col-full,
.tax-product_cat .site-content .col-full,
.tax-product_tag .site-content .col-full {
  max-width: 1480px;
  padding: 28px 24px 56px;
}

.woocommerce-shop .site-main,
.tax-product_cat .site-main,
.tax-product_tag .site-main {
  padding: 0;
}

.woocommerce-shop .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header {
  display: none;
  margin: 0;
  padding: 0;
}

.rora-shop-layout {
  align-items: start;
  display: grid;
  gap: 40px;
  grid-template-columns: 258px minmax(0, 1fr);
  padding: 0;
}

.rora-shop-main {
  min-width: 0;
  padding-top: 40px;
}

.rora-shop-aside {
  background: #fff;
  border: 1px solid rgba(31, 26, 74, 0.075);
  border-radius: 14px;
  box-shadow:
    0 16px 42px -34px rgba(31, 26, 74, 0.38),
    0 0 0 1px rgba(255, 255, 255, 0.72);
  overflow: hidden;
  position: sticky;
  top: 1.25rem;
}

.rora-shop-aside:hover {
  box-shadow:
    0 20px 46px -34px rgba(31, 26, 74, 0.4),
    0 0 0 1px rgba(255, 255, 255, 0.72);
}

.rora-shop-aside__header {
  background: linear-gradient(105deg, #efe6fb 0%, #f8f2ff 53%, #fff2da 100%);
  color: #342a55;
  font-size: 0.78rem;
  gap: 0.62rem;
  letter-spacing: 0.13em;
  min-height: 50px;
  padding: 0 18px;
}

.rora-shop-aside__header::after {
  display: none;
}

.rora-shop-aside__header svg {
  color: #4f3d5b;
  height: 17px;
  width: 17px;
}

.rora-shop-aside__group {
  border-color: rgba(31, 26, 74, 0.075);
  padding: 20px 18px 18px;
}

.rora-shop-aside__group h3 {
  color: #9188a5;
  font-size: 0.72rem;
  letter-spacing: 0.13em;
  margin-bottom: 14px;
}

.rora-shop-price input,
.rora-shop-price button {
  border-radius: 11px;
}

.rora-stock-toggle a {
  border-radius: 999px;
}

.rora-shop-toolbar {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(31, 26, 74, 0.07);
  border-radius: 14px;
  box-shadow: 0 14px 38px -32px rgba(31, 26, 74, 0.4);
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin: 0 0 24px;
  min-height: 80px;
  padding: 0 18px 0 24px;
}

.rora-shop-toolbar:hover {
  box-shadow: 0 14px 38px -32px rgba(31, 26, 74, 0.4);
}

.rora-shop-toolbar__count,
.rora-shop-toolbar__count .woocommerce-result-count {
  color: #756f91;
  font-size: 1rem;
  font-weight: 800;
  margin: 0 !important;
}

.rora-shop-toolbar__sort,
.rora-shop-toolbar__sort form {
  margin: 0 !important;
}

.rora-shop-toolbar select {
  background-color: #fff;
  border: 1px solid #e9e2f1;
  border-radius: 12px;
  color: #42385f;
  font-size: 1rem;
  font-weight: 800;
  min-height: 50px;
  min-width: min(310px, 34vw);
  padding: 0 48px 0 18px;
}

.woocommerce ul.products {
  align-items: stretch !important;
  display: grid !important;
  gap: 24px 20px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  align-self: stretch !important;
  background: #fff;
  border: 1px solid rgba(31, 26, 74, 0.07);
  border-radius: 13px;
  box-shadow:
    0 14px 34px -30px rgba(31, 26, 74, 0.38),
    0 1px 2px rgba(31, 26, 74, 0.035);
  display: flex !important;
  flex-direction: column;
  float: none !important;
  margin: 0 !important;
  min-width: 0;
  overflow: hidden;
  padding: 0 0 14px !important;
  position: relative;
  text-align: left;
  transition:
    border-color 0.22s var(--rora-ease),
    box-shadow 0.22s var(--rora-ease),
    transform 0.22s var(--rora-ease);
  width: auto !important;
}

.woocommerce ul.products li.product:hover {
  border-color: rgba(108, 78, 224, 0.13);
  box-shadow:
    0 18px 42px -30px rgba(31, 26, 74, 0.46),
    0 0 0 1px rgba(108, 78, 224, 0.035);
  transform: translateY(-3px);
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  color: inherit;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  flex-wrap: nowrap !important;
  min-width: 0;
}

.woocommerce ul.products li.product:has(img.woocommerce-placeholder) .woocommerce-LoopProduct-link::before {
  aspect-ratio: 1 / 1;
  background-position: center;
  border-radius: 10px 10px 0 0;
  flex: 0 0 auto;
  margin: 8px 8px 12px;
  width: calc(100% - 16px);
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
.woocommerce ul.products li.product img {
  aspect-ratio: 1 / 1;
  background: #fff;
  border-radius: 10px 10px 0 0;
  display: block;
  flex: 0 0 auto;
  margin: 8px 8px 12px !important;
  object-fit: cover;
  object-position: center;
  padding: 0;
  width: calc(100% - 16px);
}

.woocommerce ul.products li.product:hover img {
  transform: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: #1f1a4a;
  flex: 0 0 auto;
  font-family: var(--rora-sans);
  font-size: 0.98rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.28;
  margin: 0 0 4px !important;
  min-height: 2.56em;
  padding: 0 14px !important;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
  color: #1f1a4a;
}

.woocommerce ul.products li.product .woocommerce-product-rating {
  flex: 0 0 auto;
  margin: 0 0 4px;
  padding: 0 14px;
}

.woocommerce ul.products li.product .star-rating {
  flex: 0 0 auto !important;
  font-size: 0.86rem;
  height: 1em !important;
  line-height: 1 !important;
  margin: 4px 14px 4px !important;
  min-height: 0 !important;
  width: 5.4em !important;
}

.woocommerce ul.products li.product .price {
  align-items: center;
  color: var(--rora-price);
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  font-size: 1.12rem;
  font-weight: 900;
  gap: 0.24rem 0.42rem;
  line-height: 1.15;
  margin: auto 0 0 !important;
  padding: 0 14px !important;
  width: 100%;
}

.woocommerce ul.products li.product .price del {
  color: var(--rora-old-price) !important;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  order: 2;
}

.woocommerce ul.products li.product .price ins {
  color: var(--rora-price) !important;
  font-weight: 900;
  line-height: 1;
  order: 1;
}

.woocommerce ul.products li.product .rora-loop-sale-pill {
  align-self: center;
  background: linear-gradient(180deg, var(--rora-offer-soft) 0%, var(--rora-offer) 100%) !important;
  border: 1px solid rgba(237, 189, 62, 0.38) !important;
  border-radius: 999px;
  box-shadow: 0 7px 14px -12px rgba(122, 80, 11, 0.42);
  color: var(--rora-offer-text) !important;
  flex: 0 0 auto;
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  line-height: 1;
  margin-left: auto;
  order: 3;
  padding: 0.22rem 0.5rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.woocommerce ul.products li.product .button {
  align-items: center;
  background: var(--rora-cart) !important;
  border: 0 !important;
  border-radius: 10px;
  box-shadow: 0 8px 16px -12px rgba(79, 61, 91, 0.45);
  color: #fff !important;
  display: inline-flex;
  font-size: 0.98rem;
  font-weight: 900;
  justify-content: center;
  line-height: 1;
  margin: 12px 14px 0 !important;
  min-height: 44px;
  padding: 0.5rem 0.8rem;
  width: calc(100% - 28px);
}

.woocommerce ul.products li.product .button:hover {
  background: var(--rora-cart-hover) !important;
  box-shadow: 0 10px 20px -14px rgba(106, 13, 173, 0.56);
  color: #fff !important;
  transform: none;
}

@media (max-width: 1180px) {
  .rora-shop-layout {
    gap: 28px;
    grid-template-columns: 238px minmax(0, 1fr);
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.woocommerce-shop .rora-site-header .rora-header-row,
  body.tax-product_cat .rora-site-header .rora-header-row,
  body.tax-product_tag .rora-site-header .rora-header-row {
    grid-template-columns: auto 1fr auto;
  }

  .rora-shop-layout {
    grid-template-columns: 1fr;
  }

  .rora-shop-main {
    order: 1;
    padding-top: 0;
  }

  .rora-shop-aside {
    order: 2;
    position: static;
  }

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

@media (max-width: 560px) {
  .woocommerce-shop .site-content .col-full,
  .tax-product_cat .site-content .col-full,
  .tax-product_tag .site-content .col-full {
    padding: 16px 12px 44px;
  }

  .rora-shop-toolbar {
    align-items: stretch !important;
    flex-direction: column !important;
    min-height: 0;
    padding: 14px;
  }

  .rora-shop-toolbar select {
    min-width: 0;
    width: 100% !important;
  }

  .woocommerce ul.products {
    gap: 14px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.82rem;
    padding: 0 9px !important;
  }

  .woocommerce ul.products li.product .price {
    font-size: 0.92rem;
    padding: 0 9px !important;
  }

  .woocommerce ul.products li.product .button {
    font-size: 0.82rem;
    margin: 9px 9px 0 !important;
    min-height: 40px;
    width: calc(100% - 18px);
  }
}

/* Cart notification banner: styled as a light card by the
   "body .woocommerce-message" rules further down — the old dark-purple
   banner override lived here and left white-on-white text behind. */

/* ==========================================================================
   Navbar collection pages — New Arrivals / Best Sellers / Offers
   ========================================================================== */

.rora-collection-page {
  --collection-hero-a: #fff8df;
  --collection-hero-b: #f0e7ff;
  --collection-accent: var(--rora-primary-strong);
  color: var(--rora-ink-2, var(--rora-ink));
  padding: clamp(1.2rem, 2.5vw, 2rem) 0 clamp(2.5rem, 5vw, 4.5rem);
}

.rora-collection-page--offers {
  --collection-hero-a: #fff1d6;
  --collection-hero-b: #ffe6ef;
  --collection-accent: #e36a91;
}

.rora-collection-page--best-sellers {
  --collection-hero-a: #efe6fb;
  --collection-hero-b: #e2f5fb;
  --collection-accent: #7c5fcb;
}

.rora-collection-page--new-arrivals {
  --collection-hero-a: #e7f7ef;
  --collection-hero-b: #f6ecff;
  --collection-accent: #56b17e;
}

.rora-collection-hero {
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,0.92) 0 14%, transparent 15%),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,0.55) 0 12%, transparent 13%),
    linear-gradient(135deg, var(--collection-hero-a), var(--collection-hero-b));
  border: 1px solid rgba(74,59,82,0.08);
  border-radius: 34px;
  box-shadow: 0 30px 70px -46px rgba(74,59,82,0.45);
  display: grid;
  gap: clamp(1.4rem, 3vw, 3rem);
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
  margin-bottom: 1.2rem;
  overflow: hidden;
  padding: clamp(1.35rem, 4vw, 3.5rem);
  position: relative;
}

.rora-collection-hero::before {
  background: rgba(255,255,255,0.34);
  border-radius: 999px;
  content: "";
  height: 280px;
  position: absolute;
  right: -96px;
  top: -92px;
  width: 280px;
}

.rora-collection-hero__copy,
.rora-collection-hero__visual {
  position: relative;
  z-index: 1;
}

.rora-collection-hero__eyebrow,
.rora-collection-products__head span,
.rora-collection-assist span {
  color: var(--collection-accent);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
}

.rora-collection-hero h1 {
  color: var(--rora-ink-2, var(--rora-ink));
  font-family: var(--rora-serif);
  font-size: clamp(2.2rem, 6vw, 5.25rem);
  line-height: 0.96;
  margin: 0 0 1rem;
  max-width: 760px;
}

.rora-collection-hero p {
  color: var(--rora-soft-ink);
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  line-height: 1.8;
  margin: 0;
  max-width: 620px;
}

.rora-collection-hero__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.5rem;
}

.rora-btn--ghost {
  background: rgba(255,255,255,0.62);
  border: 1px solid rgba(74,59,82,0.12);
  color: var(--rora-ink-2, var(--rora-ink));
}

.rora-btn--ghost:hover {
  background: #fff;
  color: var(--collection-accent);
}

.rora-collection-hero__stats {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(1.4rem, 3vw, 2.3rem);
  max-width: 620px;
}

.rora-collection-hero__stats span {
  background: rgba(255,255,255,0.58);
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 20px;
  box-shadow: 0 18px 36px -28px rgba(74,59,82,0.35);
  padding: 1rem;
}

.rora-collection-hero__stats strong {
  color: var(--rora-ink-2, var(--rora-ink));
  display: block;
  font-family: var(--rora-serif);
  font-size: 1.72rem;
  line-height: 1;
}

.rora-collection-hero__stats small {
  color: var(--rora-muted);
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-top: 0.3rem;
  text-transform: uppercase;
}

.rora-collection-hero__visual {
  align-content: center;
  display: grid;
  gap: 1rem;
}

.rora-collection-feature {
  background: rgba(255,255,255,0.76);
  border: 1px solid rgba(255,255,255,0.82);
  border-radius: 30px;
  box-shadow: 0 28px 50px -36px rgba(31,26,74,0.48);
  color: var(--rora-ink-2, var(--rora-ink));
  display: grid;
  gap: 1rem;
  min-height: 430px;
  overflow: hidden;
  padding: 1rem;
  position: relative;
}

.rora-collection-feature:hover {
  color: var(--rora-ink-2, var(--rora-ink));
  transform: translateY(-2px);
}

.rora-collection-feature__badge,
.rora-collection-card__badge {
  background: linear-gradient(135deg, #fff1bd, #ffd87a);
  border: 1px solid rgba(161,112,21,0.14);
  border-radius: 12px;
  box-shadow: 0 10px 22px -16px rgba(161,112,21,0.65);
  color: #896319;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  padding: 0.55rem 0.75rem;
  text-transform: uppercase;
}

.rora-collection-feature__badge {
  left: 1rem;
  position: absolute;
  top: 1rem;
  z-index: 2;
}

.rora-collection-feature__image {
  align-items: center;
  background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.58));
  border-radius: 24px;
  display: flex;
  justify-content: center;
  min-height: 280px;
  padding: 1.2rem;
}

.rora-collection-feature__image img {
  filter: drop-shadow(0 20px 22px rgba(74,59,82,0.12));
  max-height: 300px;
  object-fit: contain;
}

.rora-collection-feature__meta {
  display: grid;
  gap: 0.42rem;
  padding: 0.25rem 0.25rem 0.55rem;
}

.rora-collection-feature__meta small,
.rora-collection-card__body small {
  color: var(--collection-accent);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rora-collection-feature__meta strong {
  color: var(--rora-ink-2, var(--rora-ink));
  display: -webkit-box;
  font-family: var(--rora-serif);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.16;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.rora-collection-feature__price {
  align-items: baseline;
  display: flex;
  gap: 0.65rem;
}

.rora-collection-feature__meta em,
.rora-collection-card__price em {
  color: var(--rora-price);
  font-style: normal;
  font-weight: 900;
}

.rora-collection-feature__meta s,
.rora-collection-card__price s {
  color: var(--rora-old-price);
  font-weight: 700;
}

.rora-collection-note {
  align-items: center;
  background: rgba(255,255,255,0.58);
  border: 1px solid rgba(255,255,255,0.7);
  border-radius: 22px;
  color: var(--rora-soft-ink);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: auto 1fr;
  padding: 1rem;
}

.rora-collection-note span {
  align-items: center;
  background: var(--rora-primary-soft);
  border-radius: 50%;
  color: var(--collection-accent);
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.rora-collection-note p { margin: 0; }

.rora-collection-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0 0 1.5rem;
}

.rora-collection-chips a {
  background: rgba(255,255,255,0.76);
  border: 1px solid rgba(74,59,82,0.08);
  border-radius: 999px;
  color: var(--rora-soft-ink);
  font-size: 0.86rem;
  font-weight: 800;
  padding: 0.72rem 1rem;
}

.rora-collection-chips a:hover {
  background: var(--collection-accent);
  color: #fff;
}

.rora-collection-products {
  margin-top: 1.2rem;
}

.rora-collection-products__head {
  align-items: end;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.rora-collection-page--offers .rora-collection-products__head,
.rora-collection-page--best-sellers .rora-collection-products__head {
  align-items: center;
  justify-content: center;
  text-align: center;
}

.rora-collection-products__head h2,
.rora-collection-assist h2 {
  color: var(--rora-ink-2, var(--rora-ink));
  font-family: var(--rora-serif);
  font-size: clamp(1.85rem, 3vw, 3rem);
  line-height: 1;
  margin: 0;
}

.rora-collection-products__head a {
  color: var(--collection-accent);
  font-weight: 850;
  white-space: nowrap;
}

.rora-collection-grid {
  display: grid;
  gap: clamp(0.9rem, 1.5vw, 1.25rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rora-collection-card {
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(74,59,82,0.07);
  border-radius: 24px;
  box-shadow: 0 22px 44px -36px rgba(31,26,74,0.42);
  color: var(--rora-ink-2, var(--rora-ink));
  display: grid;
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow 0.2s var(--rora-ease), transform 0.2s var(--rora-ease);
}

.rora-collection-card:hover {
  box-shadow: 0 28px 54px -34px rgba(31,26,74,0.5);
  color: var(--rora-ink-2, var(--rora-ink));
  transform: translateY(-3px);
}

.rora-collection-card__media {
  align-items: center;
  background:
    radial-gradient(circle at 78% 22%, rgba(188,163,240,0.18) 0 19%, transparent 20%),
    linear-gradient(180deg, #fff, #fbf8ff);
  display: flex;
  height: 250px;
  justify-content: center;
  overflow: hidden;
  padding: 1.4rem;
  position: relative;
}

.rora-collection-card__media img {
  filter: drop-shadow(0 18px 18px rgba(74,59,82,0.11));
  max-height: 222px;
  object-fit: contain;
  transition: transform 0.22s var(--rora-ease);
}

.rora-collection-card:hover .rora-collection-card__media img {
  transform: scale(1.035);
}

.rora-collection-card__badge {
  left: 0.85rem;
  position: absolute;
  top: 0.85rem;
  z-index: 2;
}

.rora-collection-card__body {
  display: grid;
  gap: 0.65rem;
  padding: 1rem;
}

.rora-collection-card__body strong,
.rora-collection-card__title {
  color: var(--rora-ink-2, var(--rora-ink));
  display: -webkit-box;
  font-family: var(--rora-sans);
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.35;
  min-height: 2.7em;
  overflow: hidden;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.rora-collection-card__title:hover {
  color: var(--collection-accent);
}

.rora-collection-card__bottom {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-top: 0.15rem;
}

.rora-collection-card__price {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  order: 2;
}

.rora-collection-card__price em {
  font-size: 1.08rem;
}

.rora-collection-card__price s {
  font-size: 0.82rem;
}

.rora-collection-card__actions {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0.5rem;
  justify-content: flex-end;
  order: 1;
}

.rora-collection-card__cta {
  align-items: center;
  background: var(--rora-primary-soft);
  border-radius: 999px;
  color: var(--collection-accent);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 900;
  justify-content: center;
  min-height: 36px;
  min-width: 58px;
  padding: 0 0.75rem;
}

.rora-collection-card:hover .rora-collection-card__cta {
  background: var(--collection-accent);
  color: #fff;
}

.rora-collection-card .button {
  align-items: center;
  background: var(--collection-accent) !important;
  border: 0 !important;
  border-radius: 999px;
  color: #fff !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--rora-rounded);
  font-size: 0.78rem;
  font-weight: 1000;
  justify-content: center;
  line-height: 1;
  margin: 0 !important;
  min-height: 36px;
  min-width: 108px;
  padding: 0 0.78rem;
  text-decoration: none;
  white-space: nowrap;
}

.rora-collection-card .button:hover,
.rora-collection-card .button:focus-visible {
  background: #5d39d8 !important;
  color: #fff !important;
}

.rora-collection-page--offers .rora-collection-card .button,
.rora-collection-page--best-sellers .rora-collection-card .button {
  gap: 0.48rem;
  font-size: 0.88rem;
  min-height: 44px;
  min-width: 140px;
  padding: 0 1.05rem;
}

.rora-collection-page--offers .rora-collection-card .button.add_to_cart_button::before,
.rora-collection-page--best-sellers .rora-collection-card .button.add_to_cart_button::before {
  background: currentColor;
  content: "";
  display: inline-flex;
  flex: 0 0 auto;
  height: 1rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 1rem;
}

.rora-collection-empty {
  background: rgba(255,255,255,0.75);
  border: 1px dashed rgba(74,59,82,0.18);
  border-radius: 24px;
  color: var(--rora-soft-ink);
  padding: 2rem;
  text-align: center;
}

.rora-collection-assist {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(74,59,82,0.08);
  border-radius: 28px;
  box-shadow: 0 22px 44px -38px rgba(31,26,74,0.42);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: clamp(1.6rem, 4vw, 3rem);
  padding: clamp(1.25rem, 3vw, 2rem);
}

.rora-collection-assist p {
  color: var(--rora-soft-ink);
  margin: 0.7rem 0 0;
  max-width: 720px;
}

.rora-collection-assist__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.rora-collection-category-browse {
  background: #fff;
  border: 1px solid rgba(74,59,82,0.07);
  border-radius: 30px;
  box-shadow: 0 24px 48px -40px rgba(31,26,74,0.38);
  margin-top: clamp(1.6rem, 4vw, 3rem);
  padding: clamp(1rem, 2.4vw, 1.45rem);
}

.rora-collection-category-browse__head {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-bottom: clamp(0.85rem, 1.6vw, 1.15rem);
  text-align: center;
}

.rora-collection-category-browse__head span {
  color: var(--collection-accent);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  margin-bottom: 0.45rem;
  text-transform: uppercase;
}

.rora-collection-category-browse__head h2 {
  color: var(--rora-ink-2, var(--rora-ink));
  font-family: var(--rora-serif);
  font-size: clamp(1.85rem, 3vw, 3rem);
  line-height: 1;
  margin: 0;
}

.rora-collection-category-browse__grid.rh3-category-grid {
  gap: clamp(0.78rem, 1.35vw, 1.05rem);
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.rora-collection-category-browse .rh3-cat-card {
  background: var(--cat-grad, #f7efff);
  border-color: var(--cat-border, rgba(126,93,224,0.18));
  border-radius: 22px;
  box-shadow: 0 18px 36px -30px rgba(43, 25, 86, 0.5);
  justify-content: flex-start;
  min-height: 240px;
  padding: 0.54rem;
}

.rora-collection-category-browse .rh3-cat-card__img {
  aspect-ratio: auto;
  background-color: rgba(255,255,255,0.2);
  background-image: var(--cat-img) !important;
  background-position: center center !important;
  background-repeat: no-repeat;
  background-size: cover !important;
  border-radius: 17px 17px 10px 10px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.45);
  height: clamp(140px, 12vw, 180px);
}

.rora-collection-category-browse .rh3-cat-card__body {
  align-items: center;
  gap: 0.2rem;
  padding: 0.5rem 0.25rem 0.12rem;
  text-align: center;
}

.rora-collection-category-browse .rh3-cat-card__body strong {
  color: #080849;
  font-size: clamp(0.82rem, 0.86vw, 0.98rem);
  font-weight: 1000;
  letter-spacing: 0;
  line-height: 1.08;
}

.rora-collection-category-browse .rh3-cat-card__body small {
  color: #4f4675;
  display: block;
  font-size: clamp(0.62rem, 0.66vw, 0.74rem);
  font-weight: 850;
  line-height: 1.12;
}

.rora-collection-category-browse .rh3-cat-card__arrow {
  align-self: center;
  box-shadow: 0 11px 20px -15px rgba(43, 25, 86, 0.68);
  height: 30px;
  margin: 0.3rem auto 0;
  width: 30px;
}

@media (max-width: 1180px) {
  .rora-collection-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rora-collection-category-browse__grid.rh3-category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .rora-collection-hero {
    grid-template-columns: 1fr;
  }

  .rora-collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rora-collection-category-browse__grid.rh3-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .rora-collection-assist {
    grid-template-columns: 1fr;
  }

  .rora-collection-assist__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .rora-collection-page {
    padding-top: 0.75rem;
  }

  .rora-collection-hero {
    border-radius: 24px;
    padding: 1.05rem;
  }

  .rora-collection-hero h1 {
    font-size: clamp(2rem, 13vw, 3.1rem);
  }

  .rora-collection-hero__stats {
    grid-template-columns: 1fr;
  }

  .rora-collection-feature {
    min-height: 0;
  }

  .rora-collection-feature__image {
    min-height: 220px;
  }

  .rora-collection-products__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .rora-collection-grid {
    gap: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rora-collection-category-browse {
    border-radius: 22px;
    padding: 0.78rem;
  }

  .rora-collection-category-browse__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.2rem;
  }

  .rora-collection-category-browse__grid.rh3-category-grid {
    gap: 0.72rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rora-collection-category-browse .rh3-cat-card {
    border-radius: 18px;
    min-height: 194px;
    padding: 0.42rem;
  }

  .rora-collection-category-browse .rh3-cat-card__img {
    height: 120px;
  }

  .rora-collection-category-browse .rh3-cat-card__body strong {
    font-size: 0.78rem;
  }

  .rora-collection-category-browse .rh3-cat-card__body small {
    font-size: 0.6rem;
  }

  .rora-collection-card {
    border-radius: 18px;
  }

  .rora-collection-card__media {
    height: 178px;
    padding: 0.85rem;
  }

  .rora-collection-card__media img {
    max-height: 152px;
  }

  .rora-collection-card__body {
    gap: 0.45rem;
    padding: 0.78rem;
  }

  .rora-collection-card__body small {
    font-size: 0.62rem;
  }

  .rora-collection-card__body strong {
    font-size: 0.84rem;
  }

  .rora-collection-card__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
  }

  .rora-collection-card__price {
    align-self: flex-start;
    order: 1;
  }

  .rora-collection-card__actions {
    justify-content: flex-start;
    order: 2;
    width: 100%;
  }

  .rora-collection-card__badge {
    font-size: 0.66rem;
    padding: 0.45rem 0.58rem;
  }
}

/* ==========================================================================
   Launch readiness fixes — gallery fallback + narrow mobile polish
   ========================================================================== */

.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery .flex-viewport {
  min-width: 0;
}

.rora-product__gallery-wrap,
.rora-product__summary {
  max-width: 100%;
  min-width: 0;
}

.single-product .woocommerce-product-gallery .flex-viewport {
  min-height: min(64vw, 482px);
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image.flex-active-slide,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
  opacity: 1 !important;
  visibility: visible !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  background: #fff;
}

.single-product .woocommerce-product-gallery .flexslider .slides > li:first-child,
.single-product .woocommerce-product-gallery .flexslider .slides > li.flex-active-slide {
  display: block !important;
}

.single-product div.product.rora-product .woocommerce-product-gallery {
  opacity: 1 !important;
}

.single-product div.product.rora-product .woocommerce-product-gallery__wrapper {
  display: block !important;
  transform: none !important;
  transition: none !important;
  width: 100% !important;
}

.single-product div.product.rora-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
  display: none !important;
  float: none !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

.single-product div.product.rora-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child,
.single-product div.product.rora-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.flex-active-slide {
  display: block !important;
}

.single-product div.product.rora-product .woocommerce-product-gallery__wrapper:has(.woocommerce-product-gallery__image.flex-active-slide) > .woocommerce-product-gallery__image:first-child:not(.flex-active-slide) {
  display: none !important;
}

.single-product div.product.rora-product .woocommerce-product-gallery__image a {
  align-items: center;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  max-width: 100%;
  width: 100% !important;
}

.single-product div.product.rora-product .woocommerce-product-gallery__image img,
.single-product div.product.rora-product .woocommerce-product-gallery .flexslider img {
  flex: 0 1 auto;
  height: auto !important;
  max-height: 540px;
  max-width: 100% !important;
  object-fit: contain;
  width: auto !important;
}

.rora-header-icons {
  min-width: 0;
}

@media (max-width: 480px) {
  .rora-welcome-strip {
    overflow: hidden;
  }

  .rora-welcome-strip__greeting {
    justify-content: center;
    max-width: 100%;
    min-width: 0;
    text-align: center;
    white-space: normal;
  }

  .rora-header-icons {
    gap: 0.5rem;
  }

  .rora-header-icon {
    flex: 0 0 30px;
  }

  .rora-header-icon--badge span {
    right: -0.3rem;
    top: -0.35rem;
  }

  .rora-product__layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .single-product .woocommerce-product-gallery {
    max-width: 100%;
    width: 100% !important;
  }
}

/* ==========================================================================
   RORA Kids — Homepage v3 (rh3-*)
   Matches target design: hero split layout, category cards, deals, trust,
   bestsellers, testimonials, trust bar.
   ========================================================================== */

/* ── Layout reset for homepage ─────────────────────────────────────────── */

.rh3 {
  background: #fff;
  overflow-x: hidden;
}

/* ── Shared section primitives ─────────────────────────────────────────── */

.rh3-section {
  padding: var(--rora-space-2xl) 0;
}

.rh3-section__inner {
  margin: 0 auto;
  max-width: var(--rora-width-section);
  padding: 0 var(--rora-gutter);
}

.rh3-section__title {
  align-items: center;
  color: #2d1e4a;
  display: flex;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: clamp(1.45rem, 2.8vw, 2rem);
  font-weight: 800;
  gap: 0.45rem;
  letter-spacing: -0.01em;
  margin: 0 0 1.8rem;
}

/* ── Buttons ─────────────────────────────────────────────────────────────  */

.rh3-btn {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.96rem;
  font-weight: 700;
  gap: 0.45rem;
  padding: 0.75rem 1.55rem;
  text-decoration: none;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.rh3-btn--primary {
  background: #6c4de6;
  box-shadow: 0 8px 24px -8px rgba(108, 77, 230, 0.45);
  color: #fff;
}

.rh3-btn--primary:hover {
  background: #5538cc;
  color: #fff;
  transform: translateY(-2px);
}

.rh3-btn--outline {
  background: #fff;
  border: 1.5px solid #d8cff0;
  color: #4a3b52;
}

.rh3-btn--outline:hover {
  background: #f5f0ff;
  border-color: #a685e6;
  color: #4a3b52;
}

/* §1 (HERO) removed — the homepage promo slider (.rh3-slider) replaced it.
   See "HOMEPAGE PROMO SLIDER" further down. */

/* ═══════════════════════════════════════════════════════════════════════
   §2  CATEGORY GRID
   ═══════════════════════════════════════════════════════════════════════ */

.rh3-categories {
  background: #fff;
}

.rh3-category-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(6, 1fr);
}

.rh3-cat-card {
  border: 1.5px solid var(--cat-border, #eee);
  border-radius: 18px;
  color: #2d1e4a;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.rh3-cat-card:hover {
  box-shadow: 0 12px 32px -12px rgba(108,77,230,0.22);
  color: #2d1e4a;
  transform: translateY(-4px);
}

.rh3-cat-card__img {
  aspect-ratio: 1 / 1.05;
  background: var(--cat-grad, #f5f0ff);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 82%;
  flex-shrink: 0;
}

.rh3-cat-card__body {
  display: grid;
  gap: 0.15rem;
  padding: 0.65rem 0.75rem 0.5rem;
}

.rh3-cat-card__body strong {
  color: #1a1040;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.2;
}

.rh3-cat-card__body small {
  color: #8a7a99;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.01em;
}

.rh3-cat-card__arrow {
  align-items: center;
  align-self: flex-start;
  border-radius: 50%;
  display: inline-flex;
  height: 28px;
  justify-content: center;
  margin: 0 0.75rem 0.75rem;
  transition: transform 0.2s ease;
  width: 28px;
}

.rh3-cat-card:hover .rh3-cat-card__arrow {
  transform: translateX(3px);
}

/* ═══════════════════════════════════════════════════════════════════════
   §3  DEALS
   ═══════════════════════════════════════════════════════════════════════ */

.rh3-deals {
  background: #f8f5ff;
  padding: 3rem 0;
}

.rh3-deals__inner {
  align-items: stretch;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 260px 1fr;
  margin: 0 auto;
  max-width: 1260px;
  padding: 0 1.5rem;
}

.rh3-deals__head {
  align-items: center;
  display: flex;
  grid-column: 1 / -1;
  justify-content: flex-end;
  margin-bottom: -0.35rem;
}

.rh3-deals__view-all {
  align-items: center;
  color: #7551f2;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 900;
  gap: 0.4rem;
  line-height: 1;
  text-decoration: none;
  transition: color 0.18s ease, transform 0.18s ease;
}

.rh3-deals__view-all:hover {
  color: #5d38df;
  transform: translateX(2px);
}

/* Left promo panel */
.rh3-deals__promo {
  align-items: flex-start;
  background: linear-gradient(145deg, #1e103e, #2c1761);
  border-radius: 20px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 2rem 1.5rem;
  position: relative;
}

.rh3-deals__deco {
  opacity: 0.25;
  pointer-events: none;
  position: absolute;
}

.rh3-deals__deco--heart1 { font-size: 32px; left: 12px; top: 18px; }
.rh3-deals__deco--heart2 { bottom: 30px; font-size: 24px; right: 18px; }
.rh3-deals__deco--star   { font-size: 18px; left: 50%; top: 55%; }

.rh3-deals__heading {
  align-items: center;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 1.35rem;
  font-weight: 900;
  gap: 0.4rem;
  line-height: 1.2;
  margin: 0 0 1.2rem;
}

.rh3-deals__wa-icon {
  fill: #25d366;
  flex-shrink: 0;
}

.rh3-deals__off-label {
  display: grid;
  gap: 0.1rem;
  margin: 0 0 1.5rem;
}

.rh3-deals__up-to {
  color: rgba(255,255,255,0.7);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.rh3-deals__pct {
  color: #fceb6b;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
}

.rh3-deals__on-text {
  color: rgba(255,255,255,0.75);
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.35;
}

.rh3-deals__btn {
  align-items: center;
  background: #fceb6b;
  border-radius: 999px;
  color: #1e103e;
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 800;
  gap: 0.4rem;
  padding: 0.65rem 1.2rem;
  text-decoration: none;
  transition: background 0.18s, transform 0.18s;
}

.rh3-deals__btn:hover {
  background: #f5dc50;
  color: #1e103e;
  transform: translateY(-1px);
}

/* Deal cards (right grid) */
.rh3-deals__cards {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, 1fr);
}

/* ═══════════════════════════════════════════════════════════════════════
   §4  WHY PARENTS TRUST RORA
   ═══════════════════════════════════════════════════════════════════════ */

.rh3-trust-section {
  background: linear-gradient(135deg, #e8f5ff 0%, #f5eeff 100%);
  padding: 0;
}

.rh3-trust-section__inner {
  align-items: stretch;
  display: grid;
  grid-template-columns: 340px 1fr;
  min-height: 260px;
}

.rh3-trust-section__photo {
  overflow: hidden;
  position: relative;
}

.rh3-trust-section__photo img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

.rh3-trust-section__content {
  align-content: center;
  display: grid;
  gap: 2rem;
  padding: 2.5rem 2rem 2.5rem 2.5rem;
}

.rh3-trust-section__title {
  color: #1a1040;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 900;
  letter-spacing: -0.01em;
  margin: 0;
  text-align: center;
}

.rh3-trust-section__pillars {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
  justify-content: center;
}

.rh3-trust-pillar {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 0.8rem;
  font-weight: 700;
  gap: 0.5rem;
  text-align: center;
  color: #2d1e4a;
  line-height: 1.3;
  width: 90px;
}

.rh3-trust-pillar small {
  color: #8a7a99;
  display: block;
  font-size: 0.7rem;
  font-weight: 500;
}

.rh3-trust-pillar__icon {
  align-items: center;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  display: inline-flex;
  flex-shrink: 0;
  height: 56px;
  justify-content: center;
  width: 56px;
}

/* ═══════════════════════════════════════════════════════════════════════
   §5  BESTSELLERS
   ═══════════════════════════════════════════════════════════════════════ */

.rh3-bestsellers {
  background: #fff;
}

.rh3-bestsellers__head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.rh3-bestsellers__title {
  margin: 0;
}

.rh3-bestsellers__see-all {
  align-items: center;
  color: #6c4de6;
  display: flex;
  font-size: 0.88rem;
  font-weight: 700;
  gap: 0.3rem;
  text-decoration: none;
  transition: gap 0.18s;
  white-space: nowrap;
}

.rh3-bestsellers__see-all:hover {
  color: #5538cc;
  gap: 0.55rem;
}

.rh3-bs-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(6, 1fr);
}

/* ═══════════════════════════════════════════════════════════════════════
   §6  TESTIMONIALS
   ═══════════════════════════════════════════════════════════════════════ */

.rh3-testimonials {
  background: #f9f7ff;
}

.rh3-testimonials__layout {
  align-items: center;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1fr 2fr;
}

.rh3-testimonials__heading {
  align-self: center;
}

.rh3-testimonials__title {
  align-items: center;
  color: #1a1040;
  display: flex;
  flex-wrap: wrap;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 900;
  gap: 0.5rem;
  line-height: 1.15;
  margin: 0;
}

.rh3-testimonials__source {
  align-items: center;
  color: #8a7a99;
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 700;
  gap: 0.35rem;
  margin-top: 0.6rem;
  text-decoration: none;
  transition: color 0.18s;
}

.rh3-testimonials__source:hover {
  color: #1877f2;
}

.rh3-testimonials__source svg {
  color: #1877f2;
  flex-shrink: 0;
}

.rh3-testimonials__cards {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
}

.rh3-testimonial-card {
  background: #fff;
  border: 1.5px solid #f0e8ff;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  padding: 1.25rem 1.1rem;
  transition: box-shadow 0.22s, transform 0.22s;
}

.rh3-testimonial-card:hover {
  box-shadow: 0 8px 28px -8px rgba(108,77,230,0.18);
  transform: translateY(-3px);
}

.rh3-testimonial-card__top {
  align-items: center;
  display: flex;
  gap: 0.6rem;
  justify-content: space-between;
}

.rh3-testimonial-card__avatar {
  align-items: center;
  border-radius: 50%;
  color: #4a3b52;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 800;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.rh3-testimonial-card__stars {
  display: flex;
}

.rh3-testimonial-card__quote {
  color: #4a3b52;
  font-size: 0.84rem;
  font-style: italic;
  font-weight: 500;
  line-height: 1.55;
  margin: 0;
}

.rh3-testimonial-card__name {
  color: #8a7a99;
  font-size: 0.76rem;
  font-weight: 700;
  margin: 0;
}

/* ═══════════════════════════════════════════════════════════════════════
   §7  TRUST BAR
   ═══════════════════════════════════════════════════════════════════════ */

.rh3-trust-bar {
  background: #fff;
  border-top: 1.5px solid #f0e8ff;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  justify-content: center;
}

.rh3-trust-bar__item {
  align-items: center;
  border-right: 1px solid #f0e8ff;
  display: flex;
  flex: 1 1 180px;
  gap: 0.75rem;
  padding: 1.2rem 1.5rem;
}

.rh3-trust-bar__item:last-child {
  border-right: 0;
}

.rh3-trust-bar__icon {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  flex-shrink: 0;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.rh3-trust-bar__item div {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.rh3-trust-bar__item strong {
  color: #2d1e4a;
  font-size: 0.83rem;
  font-weight: 800;
}

.rh3-trust-bar__item small {
  color: #8a7a99;
  font-size: 0.72rem;
  font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════════════════
   Stars shared
   ═══════════════════════════════════════════════════════════════════════ */

.rh3-stars {
  display: inline-flex;
  gap: 1px;
  line-height: 1;
}

/* ═══════════════════════════════════════════════════════════════════════
   Responsive
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 1100px) {
  .rh3-category-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .rh3-bs-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .rh3-deals__cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .rh3-trust-section__inner {
    grid-template-columns: 260px 1fr;
  }
}

@media (max-width: 900px) {
  .rh3-trust-section__inner {
    grid-template-columns: 1fr;
  }

  .rh3-trust-section__photo {
    height: 220px;
  }

  .rh3-testimonials__layout {
    grid-template-columns: 1fr;
  }

  .rh3-testimonials__title {
    justify-content: center;
    text-align: center;
  }

  .rh3-deals__inner {
    grid-template-columns: 1fr;
  }

  .rh3-deals__promo {
    padding: 1.5rem;
  }

  .rh3-deals__heading {
    font-size: 1.2rem;
  }
}

@media (max-width: 768px) {
  .rh3-category-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .rh3-bs-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .rh3-testimonials__cards {
    grid-template-columns: 1fr;
  }

  .rh3-trust-bar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .rh3-trust-bar__item {
    border-right: 0;
    border-bottom: 1px solid #f0e8ff;
  }
}

@media (max-width: 540px) {
  .rh3-category-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .rh3-bs-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .rh3-deals__cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .rh3-trust-bar {
    grid-template-columns: 1fr;
  }

  .rh3-section__title {
    font-size: 1.3rem;
  }
}

/* ==========================================================================
   Homepage reference-match pass — supplied mockup 2026-05-29
   Scope: front-page `.rora-home.rh3` only, with :has() for the shared header.
   ========================================================================== */

body:has(.rora-home.rh3),
body:has(.rora-home.rh3) #page,
body:has(.rora-home.rh3) .site-content {
  background:
    radial-gradient(circle at 12% 4%, rgba(255, 255, 255, 0.42) 0 15rem, transparent 16rem),
    linear-gradient(180deg, #efe8ff 0%, #f8f4ff 52%, #ffffff 100%);
}

body:has(.rora-home.rh3) .site-content > .col-full {
  max-width: none;
  padding: 0;
}

body:has(.rora-home.rh3) .rora-welcome-strip {
  animation: none !important;
  background: linear-gradient(90deg, #e5d7ff 0%, #f6efff 52%, #eadfff 100%);
  background-position: center;
  background-size: 100% 100%;
  border-radius: 18px 18px 0 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.55);
  color: #3e2f70;
  display: flex;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.79rem;
  font-weight: 800;
  justify-content: center;
  margin: 0 auto;
  max-width: min(1220px, calc(100vw - 80px));
  min-height: 28px;
  padding: 0.34rem 1rem 0.3rem;
  position: relative;
  z-index: 2;
}

body:has(.rora-home.rh3) .rora-welcome-strip__greeting svg {
  color: #7c5cf2;
}

body:has(.rora-home.rh3) .rora-welcome-strip__meta {
  display: none;
}

body:has(.rora-home.rh3) .rora-site-header {
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 0 auto;
  max-width: min(1268px, calc(100vw - 40px));
  position: relative;
  top: auto;
  z-index: 3;
}

body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(126, 93, 224, 0.08);
  border-radius: 22px 22px 0 0;
  box-shadow: 0 18px 46px -34px rgba(40, 23, 84, 0.38);
  display: grid !important;
  gap: clamp(0.75rem, 1.35vw, 1.25rem);
  grid-template-columns: minmax(150px, 190px) auto minmax(260px, 1fr) auto;
  min-height: 82px;
  padding: 0.58rem clamp(1.1rem, 2.3vw, 2rem);
}

body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo {
  height: 66px;
  max-width: 188px;
}

body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu {
  gap: clamp(1.2rem, 2.35vw, 2.6rem);
  justify-content: center;
}

body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu a {
  color: #080849;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.92rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu > li:first-child > a {
  color: #4f35dc;
  position: relative;
}

body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu > li:first-child > a::after {
  background: #6549eb;
  border-radius: 999px;
  bottom: -1rem;
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
}

body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a {
  display: inline-flex;
  align-items: center;
  background: #ffd529;
  border: 0;
  border-radius: 999px;
  color: #151035;
  font-weight: 1000;
  letter-spacing: 0.02em;
  line-height: 1;
  padding: 0.6rem 1.05rem;
}

body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a:hover {
  background: #ffca00;
  color: #151035;
}

body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a span {
  background: #ffdf26 !important;
  border-radius: 999px;
  color: #151035 !important;
  font-size: 0.62rem;
  font-weight: 1000;
  margin-left: 0.16rem;
  padding: 0.18rem 0.45rem;
}

body:has(.rora-home.rh3) .rora-header-icons {
  gap: 1.1rem;
  justify-self: end;
  width: auto;
}

body:has(.rora-home.rh3) .rora-header-icon {
  color: #080849;
  height: 34px;
  width: 34px;
}

body:has(.rora-home.rh3) .rora-header-cart {
  background: #4b3a59 !important;
  border-radius: 50%;
  color: #fff !important;
}

.rora-home.rh3 {
  --rh3-ink: #080849;
  --rh3-purple: #7048f1;
  --rh3-pink: #ff4f90;
  background: #fff;
  border-radius: 0 0 24px 24px;
  box-shadow: 0 24px 70px -54px rgba(42, 24, 88, 0.4);
  margin: 0 auto 2rem;
  max-width: min(1268px, calc(100vw - 40px));
  overflow: hidden;
}

.rora-home.rh3 .rora-reveal,
.rora-home.rh3 .rora-reveal-stagger > * {
  opacity: 1 !important;
  transform: none !important;
}

.rora-home.rh3 .rh3-section {
  padding: 1.25rem 0;
}

.rora-home.rh3 .rh3-section__inner,
.rora-home.rh3 .rh3-deals__inner {
  max-width: 1210px;
  padding-left: clamp(1rem, 2vw, 1.7rem);
  padding-right: clamp(1rem, 2vw, 1.7rem);
}

.rora-home.rh3 .rh3-section__title {
  color: var(--rh3-ink);
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: clamp(1.05rem, 1.4vw, 1.32rem);
  font-weight: 1000;
  justify-content: center;
  margin-bottom: 1.05rem;
  text-align: center;
}

.rora-home.rh3 .rh3-btn {
  border-radius: 14px;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 950;
  min-height: 50px;
  padding: 0.75rem 1.45rem;
}

.rora-home.rh3 .rh3-btn--primary {
  background: linear-gradient(180deg, #8458f7 0%, #6842e7 100%);
  box-shadow: 0 14px 28px -18px rgba(104, 66, 231, 0.7);
}

.rora-home.rh3 .rh3-btn--outline {
  border-color: rgba(198, 184, 232, 0.75);
  box-shadow: 0 12px 26px -22px rgba(42, 24, 88, 0.42);
  color: #080849;
}

.rora-home.rh3 .rh3-categories {
  padding-top: 0.85rem;
}

.rora-home.rh3 .rh3-category-grid {
  gap: 1rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.rora-home.rh3 .rh3-cat-card {
  border-radius: 20px;
  box-shadow: 0 16px 28px -26px rgba(50, 28, 102, 0.38);
  min-height: 246px;
}

.rora-home.rh3 .rh3-cat-card__img {
  aspect-ratio: 1 / 1.24;
  background-size: contain;
}

.rora-home.rh3 .rh3-cat-card__body {
  align-items: center;
  gap: 0.22rem;
  padding: 0.45rem 0.55rem 0.32rem;
  text-align: center;
}

.rora-home.rh3 .rh3-cat-card__body strong {
  color: var(--rh3-ink);
  font-size: 0.82rem;
  font-weight: 1000;
}

.rora-home.rh3 .rh3-cat-card__body small {
  color: #4d4372;
  font-size: 0.67rem;
  font-weight: 800;
}

.rora-home.rh3 .rh3-cat-card__arrow {
  align-self: center;
  box-shadow: 0 9px 16px -12px rgba(43, 25, 86, 0.5);
  height: 28px;
  margin: 0 auto 0.78rem;
  width: 28px;
}

.rora-home.rh3 .rh3-category-grid:not(.is-expanded) .rh3-cat-card--extra {
  display: none;
}

@media (max-width: 640px) {
  .rora-home.rh3 .rh3-category-grid:not(.is-expanded) .rh3-cat-card--mobile-extra {
    display: none;
  }
}

.rora-home.rh3 .rh3-category-more {
  display: flex;
  justify-content: center;
  margin-top: 1.1rem;
}

.rora-home.rh3 .rh3-category-more__button {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(124, 95, 203, 0.2);
  border-radius: 999px;
  box-shadow: 0 16px 30px -24px rgba(50, 28, 102, 0.45);
  color: #4a337d;
  display: inline-flex;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.82rem;
  font-weight: 950;
  gap: 0.45rem;
  min-height: 42px;
  padding: 0.72rem 1.2rem;
}

.rora-home.rh3 .rh3-category-more__button:hover {
  background: #7c5ff1;
  border-color: #7c5ff1;
  color: #fff;
  transform: translateY(-1px);
}

.rora-home.rh3 .rh3-category-more__button svg {
  transition: transform 0.2s ease;
}

.rora-home.rh3 .rh3-category-more__button.is-expanded svg {
  transform: rotate(180deg);
}

.rora-home.rh3 .rh3-deals {
  background: #fff;
  padding: 1.25rem 0 0.85rem;
}

.rora-home.rh3 .rh3-deals__inner {
  gap: 1rem;
  grid-template-columns: minmax(230px, 0.92fr) minmax(0, 2.75fr);
}

.rora-home.rh3 .rh3-deals__promo {
  background:
    radial-gradient(circle at 92% 52%, rgba(255,255,255,0.18) 0 4.7rem, transparent 4.9rem),
    linear-gradient(145deg, #6241ea 0%, #3f27bd 78%);
  border-radius: 18px;
  min-height: 246px;
  padding: 1.25rem 1.18rem;
}

.rora-home.rh3 .rh3-deals__heading {
  font-size: 1.42rem;
  line-height: 1.05;
}

.rora-home.rh3 .rh3-deals__pct {
  color: #fff;
  font-size: 2.45rem;
}

.rora-home.rh3 .rh3-deals__btn {
  background: #ffe35f;
  font-size: 0.77rem;
  font-weight: 1000;
  padding: 0.62rem 1rem;
}

.rora-home.rh3 .rh3-deals__cards {
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rora-home.rh3 .rh3-trust-section {
  background: linear-gradient(100deg, #dff3ff 0%, #f5ecff 100%);
  border: 1px solid rgba(92, 166, 226, 0.22);
  border-radius: 22px;
  margin: 1.35rem auto 1rem;
  max-width: min(1210px, calc(100% - 3.2rem));
  overflow: hidden;
  padding: 0;
}

.rora-home.rh3 .rh3-trust-section__inner {
  grid-template-columns: 330px minmax(0, 1fr);
  min-height: 150px;
}

.rora-home.rh3 .rh3-trust-section__photo img {
  object-fit: cover;
  object-position: center;
}

.rora-home.rh3 .rh3-trust-section__content {
  gap: 1rem;
  padding: 1.05rem 1.5rem;
}

.rora-home.rh3 .rh3-trust-section__title {
  color: var(--rh3-ink);
  font-size: 1.12rem;
  font-weight: 1000;
}

.rora-home.rh3 .rh3-trust-section__pillars {
  gap: clamp(1rem, 2.7vw, 3rem);
}

.rora-home.rh3 .rh3-trust-pillar {
  color: var(--rh3-ink);
  font-size: 0.66rem;
  font-weight: 1000;
  width: 82px;
}

.rora-home.rh3 .rh3-trust-pillar__icon {
  height: 52px;
  width: 52px;
}

.rora-home.rh3 .rh3-bestsellers {
  padding-top: 0.85rem;
}

.rora-home.rh3 .rh3-bestsellers__head {
  margin-bottom: 0.95rem;
}

.rora-home.rh3 .rh3-bestsellers__title {
  justify-content: flex-start;
  margin-bottom: 0;
}

.rora-home.rh3 .rh3-bestsellers__see-all {
  color: #7551f2;
  font-weight: 950;
}

.rora-home.rh3 .rh3-bs-grid {
  gap: 1rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.rora-home.rh3 .rh3-testimonials {
  background: linear-gradient(105deg, #f3edff 0%, #ffffff 46%, #ffeaf2 100%);
  border-radius: 22px;
  margin: 1rem auto;
  max-width: min(1210px, calc(100% - 3.2rem));
  padding: 1.2rem 0;
}

.rora-home.rh3 .rh3-testimonials__layout {
  gap: 1.2rem;
  grid-template-columns: 0.9fr 2.25fr;
}

.rora-home.rh3 .rh3-testimonials__title {
  color: var(--rh3-ink);
  font-size: 1.68rem;
  font-weight: 1000;
  justify-content: center;
  text-align: center;
}

.rora-home.rh3 .rh3-testimonials__heading {
  text-align: center;
}

.rora-home.rh3 .rh3-testimonials__cards {
  gap: 1.25rem;
}

.rora-home.rh3 .rh3-testimonial-card {
  border: 0;
  border-radius: 16px;
  box-shadow: 0 18px 34px -28px rgba(50, 28, 102, 0.45);
  gap: 0.5rem;
  padding: 1rem 1.05rem;
}

.rora-home.rh3 .rh3-testimonial-card__avatar {
  border: 2px solid #ffd84f;
  box-shadow: 0 7px 16px -11px rgba(50, 28, 102, 0.5);
  height: 46px;
  overflow: hidden;
  width: 46px;
}

.rora-home.rh3 .rh3-testimonial-card__avatar img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.rora-home.rh3 .rh3-testimonial-card__avatar--placeholder {
  align-items: center;
  background: #f7f4ff !important;
  color: #8c80ad;
  display: inline-flex;
  justify-content: center;
}

.rora-home.rh3 .rh3-testimonial-card__avatar--placeholder svg {
  height: 24px;
  width: 24px;
}

.rora-home.rh3 .rh3-testimonial-card__quote {
  color: #493d77;
  font-size: 0.78rem;
  font-weight: 750;
}

.rora-home.rh3 .rh3-trust-bar {
  background: linear-gradient(90deg, #f5f0ff 0%, #fff8fd 100%);
  border: 1px solid rgba(126, 93, 224, 0.08);
  border-radius: 14px;
  box-shadow: 0 16px 32px -28px rgba(50, 28, 102, 0.38);
  margin: 1rem auto 1.55rem;
  max-width: min(1210px, calc(100% - 3.2rem));
  overflow: hidden;
}

.rora-home.rh3 .rh3-trust-bar__item {
  border-color: rgba(126, 93, 224, 0.08);
  justify-content: center;
  padding: 1rem 1.1rem;
}

.rora-home.rh3 .rh3-trust-bar__item strong {
  color: var(--rh3-ink);
  font-size: 0.76rem;
  font-weight: 1000;
}

.rora-home.rh3 .rh3-trust-bar__item small {
  color: #493d77;
  font-size: 0.66rem;
  font-weight: 800;
}

@media (max-width: 1160px) {
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu {
    gap: 1.15rem;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu a {
    font-size: 0.84rem;
  }

}

@media (max-width: 1024px) {
  body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
    grid-template-columns: auto 1fr auto;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav {
    display: none;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open {
    display: block;
  }

  /* — Mobile menu: tidy, equal-height, left-aligned rows — */

  /* Phone link overlaps the long greeting at this width — drop it. */
  body:has(.rora-home.rh3) .rora-welcome-strip .rora-welcome-strip__phone {
    display: none;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav {
    padding: 0.5rem;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu {
    gap: 0.45rem;
  }

  /* Shop Categories — glyph + label grouped left, chevron pinned right. */
  body:has(.rora-home.rh3) .rora-category-menu__toggle {
    border-radius: 13px;
    justify-content: flex-start;
    min-height: 50px;
    width: 100%;
  }
  body:has(.rora-home.rh3) .rora-category-menu__chevron {
    margin-left: auto;
  }

  /* Best Sellers — full-width row matching the pills' footprint. */
  body:has(.rora-home.rh3) .rora-nav-link a {
    align-items: center;
    background: #f6f2ff;
    border-radius: 13px;
    color: #1f1640;
    display: flex;
    min-height: 50px;
    padding: 0.6rem 1.05rem;
    width: 100%;
  }
  body:has(.rora-home.rh3) .rora-nav-link a:hover {
    background: #ece4ff;
    color: #4f35dc;
  }

  /* Sale — sparkle + label grouped left like the others. */
  body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a {
    border-radius: 13px;
    gap: 0.5rem;
    justify-content: flex-start;
    min-height: 50px;
    padding: 0.6rem 1.05rem;
    width: 100%;
  }

  /* Expanded category list sits in a soft inset panel. */
  body:has(.rora-home.rh3) .rora-category-menu__dropdown {
    background: #faf8ff;
    border-radius: 12px;
    margin-top: 0.45rem;
    padding: 0.35rem;
  }

  .rora-home.rh3 .rh3-category-grid,
  .rora-home.rh3 .rh3-bs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .rora-home.rh3 .rh3-deals__inner,
  .rora-home.rh3 .rh3-testimonials__layout {
    grid-template-columns: 1fr;
  }

  .rora-home.rh3 .rh3-trust-section__inner {
    grid-template-columns: 1fr;
  }

  .rora-home.rh3 .rh3-trust-section__photo {
    height: 170px;
  }
}

@media (max-width: 640px) {
  body:has(.rora-home.rh3) .rora-welcome-strip,
  body:has(.rora-home.rh3) .rora-site-header,
  .rora-home.rh3 {
    max-width: calc(100vw - 18px);
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
    border-radius: 18px 18px 0 0;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body:has(.rora-home.rh3) .rora-header-icons {
    grid-column: 2;
    justify-self: end;
  }

  body:has(.rora-home.rh3) .rora-header-search-form {
    box-sizing: border-box;
    grid-column: 1 / -1;
    max-width: 100%;
    overflow: hidden;
  }

  .rora-home.rh3 .rh3-category-grid,
  .rora-home.rh3 .rh3-bs-grid,
  .rora-home.rh3 .rh3-deals__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rora-home.rh3 .rh3-trust-section,
  .rora-home.rh3 .rh3-testimonials,
  .rora-home.rh3 .rh3-trust-bar {
    max-width: calc(100% - 1.4rem);
  }
}

/* Homepage reference-match pass 2 — vertical compression and footer crop */
body:has(.rora-home.rh3) .site-footer {
  display: none;
}

.rora-home.rh3 {
  margin-bottom: 2.2rem;
}

.rora-home.rh3 .rh3-btn {
  min-height: 46px;
  padding: 0.65rem 1.35rem;
}

.rora-home.rh3 .rh3-category-grid {
  gap: 0.85rem;
}

.rora-home.rh3 .rh3-cat-card {
  min-height: 0;
}

.rora-home.rh3 .rh3-cat-card__img {
  aspect-ratio: auto;
  background-size: 78%;
  height: 164px;
}

.rora-home.rh3 .rh3-cat-card__body {
  padding-top: 0.38rem;
}

.rora-home.rh3 .rh3-cat-card__arrow {
  margin-bottom: 0.65rem;
}

.rora-home.rh3 .rh3-deals__promo {
  min-height: 244px;
}

.rora-home.rh3 .rh3-trust-section {
  margin-top: 1.05rem;
  margin-bottom: 0.7rem;
}

.rora-home.rh3 .rh3-bestsellers {
  padding-top: 0.62rem;
}

.rora-home.rh3 .rh3-testimonials {
  margin-top: 0.85rem;
  padding: 1rem 0;
}

.rora-home.rh3 .rh3-trust-bar {
  margin-bottom: 1.35rem;
}

/* Keep the supplied 875px-wide mockup in desktop mode. */
@media (min-width: 761px) and (max-width: 1024px) {
  body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
    gap: 0.72rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 74px;
    padding: 0.45rem 1rem;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo {
    height: 55px;
    max-width: 132px;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav {
    display: none;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open {
    display: block;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu {
    gap: clamp(0.55rem, 1.7vw, 1.05rem);
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu a {
    font-size: clamp(0.64rem, 1.25vw, 0.78rem);
  }

  body:has(.rora-home.rh3) .rora-header-icons {
    gap: 0.48rem;
  }

  body:has(.rora-home.rh3) .rora-header-icon {
    height: 28px;
    width: 28px;
  }

  .rora-home.rh3 .rh3-category-grid,
  .rora-home.rh3 .rh3-bs-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .rora-home.rh3 .rh3-deals__inner {
    grid-template-columns: minmax(190px, 0.9fr) minmax(0, 2.75fr);
  }

  .rora-home.rh3 .rh3-deals__cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .rora-home.rh3 .rh3-cat-card__img {
    height: 128px;
  }

  .rora-home.rh3 .rh3-cat-card__body strong,
  .rora-home.rh3 .rh3-deal-card__name,
  .rora-home.rh3 .rh3-bs-card__name {
    font-size: 0.58rem;
  }

  .rora-home.rh3 .rh3-cat-card__body small {
    font-size: 0.52rem;
  }

  .rora-home.rh3 .rh3-testimonials__layout {
    grid-template-columns: 0.92fr 2.3fr;
  }
}

/* Homepage reference-match pass 3 — subtle parity fixes from Arman's mockup. */
body:has(.rora-home.rh3) .rora-welcome-strip {
  min-height: 28px;
  padding-block: 0.34rem 0.3rem;
}

body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
  border-radius: 22px 22px 0 0;
}

.rora-home.rh3 .rh3-categories .rh3-section__title svg {
  display: none;
}

.rora-home.rh3 .rh3-categories .rh3-section__title {
  justify-content: center;
  margin-bottom: 1.8rem;
  text-align: center;
}

.rora-home.rh3 .rh3-categories .rh3-section__title::before,
.rora-home.rh3 .rh3-categories .rh3-section__title::after {
  background:
    linear-gradient(var(--rh3-pink), var(--rh3-pink)) center top / 3px 9px no-repeat,
    linear-gradient(35deg, transparent 42%, var(--rh3-pink) 43% 57%, transparent 58%) left 8px / 12px 10px no-repeat,
    linear-gradient(-35deg, transparent 42%, var(--rh3-pink) 43% 57%, transparent 58%) right 8px / 12px 10px no-repeat;
  content: "";
  display: inline-block;
  height: 18px;
  width: 28px;
}

.rora-home.rh3 .rh3-categories .rh3-section__title::before {
  transform: rotate(-72deg);
}

.rora-home.rh3 .rh3-categories .rh3-section__title::after {
  transform: rotate(72deg);
}

.rora-home.rh3 .rh3-cat-card {
  background: var(--cat-grad, #f7efff);
  border-width: 1px;
  box-shadow: 0 18px 28px -26px rgba(50, 28, 102, 0.42);
}

.rora-home.rh3 .rh3-cat-card__img {
  background-color: transparent;
  background-image: var(--cat-img), var(--cat-grad, linear-gradient(135deg, #f7efff, #fff));
  background-blend-mode: multiply, normal;
  background-position: center bottom;
  background-repeat: no-repeat;
}

/* Homepage reference-match pass 4 — align 875px proportions to the mockup. */
@media (min-width: 761px) and (max-width: 1024px) {
  .rora-home.rh3 .rh3-section__inner,
  .rora-home.rh3 .rh3-deals__inner {
    padding-left: 0;
    padding-right: 0;
  }

  .rora-home.rh3 .rh3-section__title {
    margin-bottom: 0.58rem;
  }

  .rora-home.rh3 .rh3-cat-card__img {
    height: 160px;
  }

  .rora-home.rh3 .rh3-deals {
    padding-top: 1.02rem;
  }

  .rora-home.rh3 .rh3-trust-section,
  .rora-home.rh3 .rh3-testimonials,
  .rora-home.rh3 .rh3-trust-bar {
    max-width: 100%;
  }

  .rora-home.rh3 .rh3-trust-section {
    margin-top: 0.95rem;
  }

  .rora-home.rh3 .rh3-trust-section__inner {
    grid-template-columns: 320px minmax(0, 1fr);
  }

  .rora-home.rh3 .rh3-trust-section__pillars {
    gap: 0.8rem;
    justify-content: space-around;
  }

  .rora-home.rh3 .rh3-bestsellers {
    padding-top: 0.5rem;
  }

  .rora-home.rh3 .rh3-testimonials {
    margin-top: 0.8rem;
    padding: 0.74rem 0;
  }

  .rora-home.rh3 .rh3-testimonials__layout {
    gap: 0.9rem;
    grid-template-columns: 0.86fr 2.5fr;
  }

  .rora-home.rh3 .rh3-testimonials__title {
    font-size: 1.42rem;
  }

  .rora-home.rh3 .rh3-testimonials__cards {
    gap: 0.95rem;
  }

  .rora-home.rh3 .rh3-testimonial-card {
    border-radius: 14px;
    gap: 0.36rem;
    min-height: 118px;
    padding: 0.72rem 0.82rem;
  }

  .rora-home.rh3 .rh3-testimonial-card__avatar {
    height: 38px;
    width: 38px;
  }

  .rora-home.rh3 .rh3-testimonial-card__quote {
    font-size: 0.66rem;
    line-height: 1.42;
  }

  .rora-home.rh3 .rh3-testimonial-card__name {
    font-size: 0.62rem;
  }
}

.rora-home.rh3 .rh3-deals__wa-icon {
  display: none;
}

.rora-home.rh3 .rh3-deals__heading::after {
  color: #ffd84f;
  content: "✨";
  font-size: 1.15rem;
  line-height: 1;
}

.rora-home.rh3 .rh3-title-crown {
  align-items: center;
  display: inline-flex;
  filter: drop-shadow(0 4px 5px rgba(245, 180, 0, 0.18));
  font-size: 1.42rem;
  line-height: 1;
}

.rora-home.rh3 .rh3-trust-pillar__icon {
  color: currentColor;
}

/* The supplied 875px mockup remains desktop-like: hero image on the right,
   six category/bestseller cards, and the parent-trust strip side-by-side. */
@media (min-width: 761px) and (max-width: 1024px) {
  body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
    min-height: 78px;
  }

  .rora-home.rh3 .rh3-btn {
    min-height: 40px;
    padding: 0.55rem 1rem;
  }

  .rora-home.rh3 .rh3-categories {
    padding-top: 0.88rem;
  }

  .rora-home.rh3 .rh3-cat-card__img {
    background-size: 88%;
    height: 154px;
  }

  .rora-home.rh3 .rh3-cat-card__body strong,
  .rora-home.rh3 .rh3-deal-card__name,
  .rora-home.rh3 .rh3-bs-card__name {
    font-size: 0.62rem;
  }

  .rora-home.rh3 .rh3-cat-card__body small {
    font-size: 0.54rem;
  }

  .rora-home.rh3 .rh3-deals {
    padding-top: 1.32rem;
  }

  .rora-home.rh3 .rh3-deals__inner {
    align-items: stretch;
    gap: 0.9rem;
    grid-template-columns: 216px minmax(0, 1fr);
  }

  .rora-home.rh3 .rh3-deals__promo {
    min-height: 258px;
    padding: 1.18rem 1rem;
  }

  .rora-home.rh3 .rh3-deals__heading {
    font-size: 1.45rem;
  }

  .rora-home.rh3 .rh3-deals__pct {
    font-size: 2.35rem;
    white-space: nowrap;
  }

  .rora-home.rh3 .rh3-trust-section__inner {
    grid-template-columns: 320px minmax(0, 1fr);
    min-height: 146px;
  }

  .rora-home.rh3 .rh3-trust-section__photo {
    height: auto;
  }

  .rora-home.rh3 .rh3-trust-section__content {
    gap: 0.8rem;
    padding: 1rem 1.1rem;
  }

  .rora-home.rh3 .rh3-trust-section__pillars {
    flex-wrap: nowrap;
    gap: clamp(0.7rem, 1.8vw, 1.45rem);
  }

  .rora-home.rh3 .rh3-trust-pillar {
    width: 74px;
  }

  .rora-home.rh3 .rh3-trust-pillar__icon {
    height: 48px;
    width: 48px;
  }
}

/* Homepage reference-match pass 5 — final cascade wins for 875px mockup. */
@media (min-width: 761px) and (max-width: 1024px) {
  .rora-home.rh3 .rh3-section__inner,
  .rora-home.rh3 .rh3-deals__inner {
    padding-left: 0;
    padding-right: 0;
  }

  .rora-home.rh3 .rh3-section__title {
    margin-bottom: 0.58rem;
  }

  .rora-home.rh3 .rh3-cat-card__img {
    height: 160px;
  }

  .rora-home.rh3 .rh3-deals {
    padding-top: 1.02rem;
  }

  .rora-home.rh3 .rh3-trust-section,
  .rora-home.rh3 .rh3-testimonials,
  .rora-home.rh3 .rh3-trust-bar {
    max-width: 100%;
  }

  .rora-home.rh3 .rh3-trust-section {
    margin-top: 0.95rem;
  }

  .rora-home.rh3 .rh3-trust-section__pillars {
    gap: 0.8rem;
    justify-content: space-around;
  }

  .rora-home.rh3 .rh3-bestsellers {
    padding-top: 0.5rem;
  }

  .rora-home.rh3 .rh3-testimonials {
    margin-top: 0.8rem;
    padding: 0.74rem 0;
  }

  .rora-home.rh3 .rh3-testimonials__layout {
    gap: 0.9rem;
    grid-template-columns: 0.86fr 2.5fr;
  }

  .rora-home.rh3 .rh3-testimonials__title {
    font-size: 1.42rem;
  }

  .rora-home.rh3 .rh3-testimonials__cards {
    gap: 0.95rem;
  }

  .rora-home.rh3 .rh3-testimonial-card {
    border-radius: 14px;
    gap: 0.36rem;
    min-height: 118px;
    padding: 0.72rem 0.82rem;
  }

  .rora-home.rh3 .rh3-testimonial-card__avatar {
    height: 38px;
    width: 38px;
  }

  .rora-home.rh3 .rh3-testimonial-card__quote {
    font-size: 0.66rem;
    line-height: 1.42;
  }

  .rora-home.rh3 .rh3-testimonial-card__name {
    font-size: 0.62rem;
  }
}

/* Homepage reference-match pass 6 — vertical fit so service strip lands in-frame. */
@media (min-width: 761px) and (max-width: 1024px) {
  .rora-home.rh3 .rh3-trust-section {
    margin-top: 0.76rem;
    margin-bottom: 0.45rem;
  }

  .rora-home.rh3 .rh3-trust-section__inner {
    min-height: 138px;
  }

  .rora-home.rh3 .rh3-trust-section__content {
    gap: 0.56rem;
    padding: 0.62rem 0.78rem;
  }

  .rora-home.rh3 .rh3-trust-section__title {
    font-size: 1rem;
  }

  .rora-home.rh3 .rh3-trust-pillar {
    font-size: 0.6rem;
    width: 68px;
  }

  .rora-home.rh3 .rh3-trust-pillar small {
    font-size: 0.58rem;
  }

  .rora-home.rh3 .rh3-trust-pillar__icon {
    height: 42px;
    width: 42px;
  }

  .rora-home.rh3 .rh3-bestsellers {
    padding-top: 0.12rem;
    padding-bottom: 0.52rem;
  }

  .rora-home.rh3 .rh3-bestsellers__head {
    margin-bottom: 0.58rem;
  }

  .rora-home.rh3 .rh3-testimonials {
    margin-top: 0.55rem;
    padding: 0.62rem 0;
  }

  .rora-home.rh3 .rh3-testimonial-card {
    min-height: 106px;
    padding: 0.62rem 0.74rem;
  }
}

/* Homepage reference-match pass 7 — compact bottom service strip. */
@media (min-width: 761px) and (max-width: 1024px) {
  .rora-home.rh3 .rh3-trust-bar {
    margin-top: 0.55rem;
    margin-bottom: 0.75rem;
  }

  .rora-home.rh3 .rh3-trust-bar__item {
    gap: 0.52rem;
    padding: 0.68rem 0.78rem;
  }

  .rora-home.rh3 .rh3-trust-bar__icon {
    height: 38px;
    width: 38px;
  }

  .rora-home.rh3 .rh3-trust-bar__item strong {
    font-size: 0.68rem;
  }

  .rora-home.rh3 .rh3-trust-bar__item small {
    font-size: 0.58rem;
  }
}

/* Homepage reference-match pass 8 — keep service pills on one row. */
@media (min-width: 761px) and (max-width: 1024px) {
  .rora-home.rh3 .rh3-trust-bar {
    flex-wrap: nowrap;
  }

  .rora-home.rh3 .rh3-trust-bar__item {
    flex: 1 1 0;
    min-width: 0;
    padding: 0.64rem 0.58rem;
  }
}

/* Homepage category proportion pass — compact cards closer to the reference. */
.rora-home.rh3 .rh3-category-grid {
  gap: clamp(0.72rem, 1.45vw, 1.35rem);
}

.rora-home.rh3 .rh3-cat-card {
  background: var(--cat-grad, #f7efff);
  border-width: 1.5px;
  border-color: var(--cat-border, rgba(126,93,224,0.18));
  border-radius: 22px;
  box-shadow: 0 18px 36px -30px rgba(43, 25, 86, 0.5);
  justify-content: flex-start;
  min-height: clamp(216px, 17vw, 272px);
  padding: clamp(0.45rem, 0.64vw, 0.62rem);
  position: relative;
}

.rora-home.rh3 .rh3-cat-card:hover {
  box-shadow: 0 24px 46px -32px rgba(43, 25, 86, 0.56);
}

.rora-home.rh3 .rh3-cat-card__img {
  aspect-ratio: auto;
  background-color: rgba(255,255,255,0.2);
  background-image: var(--cat-img) !important;
  background-blend-mode: normal !important;
  background-position: center center !important;
  background-repeat: no-repeat;
  background-size: cover !important;
  border-radius: 17px 17px 10px 10px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.45);
  height: clamp(132px, 12.45vw, 196px);
  overflow: hidden;
}

.rora-home.rh3 .rh3-cat-card__body {
  align-items: center;
  gap: 0.2rem;
  padding: clamp(0.42rem, 0.52vw, 0.58rem) 0.25rem 0.12rem;
  text-align: center;
}

.rora-home.rh3 .rh3-cat-card__body strong {
  color: #080849;
  font-size: clamp(0.8rem, 0.88vw, 1rem);
  font-weight: 1000;
  letter-spacing: -0.02em;
  line-height: 1.05;
  white-space: normal;
}

.rora-home.rh3 .rh3-cat-card__body small {
  color: #4f4675;
  display: block;
  font-size: clamp(0.62rem, 0.66vw, 0.76rem);
  font-weight: 850;
  line-height: 1.08;
}

.rora-home.rh3 .rh3-cat-card__arrow {
  align-self: center;
  bottom: auto;
  box-shadow: 0 11px 20px -15px rgba(43, 25, 86, 0.68);
  height: clamp(24px, 2.12vw, 32px);
  margin: clamp(0.18rem, 0.32vw, 0.38rem) auto 0;
  position: static;
  right: auto;
  width: clamp(24px, 2.12vw, 32px);
}

.rora-home.rh3 .rh3-cat-card__arrow svg {
  height: clamp(12px, 0.95vw, 15px);
  width: clamp(12px, 0.95vw, 15px);
}

.rora-home.rh3 .rh3-cat-card--shop {
  align-items: center;
  background:
    radial-gradient(circle at 16% 18%, rgba(255,255,255,0.8) 0 1rem, transparent 1.08rem),
    radial-gradient(circle at 86% 16%, rgba(255,207,74,0.82) 0 1rem, transparent 1.08rem),
    linear-gradient(145deg, #f0e4ff 0%, #f9f1ff 48%, #e4d3ff 100%);
  border-color: #c7a7ff;
  box-shadow: 0 28px 54px -34px rgba(92, 49, 213, 0.72);
  grid-column: span 2;
  justify-content: center;
  min-height: clamp(216px, 17vw, 272px);
  padding: clamp(1rem, 1.7vw, 1.45rem);
}

.rora-home.rh3 .rh3-cat-card--shop:hover {
  box-shadow: 0 34px 62px -34px rgba(92, 49, 213, 0.8);
}

.rora-home.rh3 .rh3-cat-card--shop .rh3-cat-card__body--shop {
  padding: 0;
}

.rora-home.rh3 .rh3-cat-card--shop .rh3-cat-card__body--shop strong {
  font-size: clamp(1.35rem, 2.05vw, 2rem);
  line-height: 1.02;
  max-width: 11ch;
}

.rora-home.rh3 .rh3-cat-card__shop-button {
  align-items: center;
  background: linear-gradient(180deg, #8458f7 0%, #6842e7 100%);
  border-radius: 999px;
  box-shadow: 0 18px 32px -20px rgba(104, 66, 231, 0.78);
  color: #fff;
  display: inline-flex;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: clamp(0.9rem, 1vw, 1.05rem);
  font-weight: 1000;
  gap: 0.48rem;
  justify-content: center;
  margin-top: 1.1rem;
  min-height: 54px;
  min-width: min(100%, 210px);
  padding: 0 1.3rem;
}

.rora-home.rh3 .rh3-cat-card--shop:hover .rh3-cat-card__shop-button {
  background: linear-gradient(180deg, #7a4cf0 0%, #5d39d8 100%);
}

@media (min-width: 761px) and (max-width: 1024px) {
  .rora-home.rh3 .rh3-cat-card {
    min-height: 204px;
    padding: 0.46rem;
  }

  .rora-home.rh3 .rh3-cat-card__img {
    height: 124px;
  }

  .rora-home.rh3 .rh3-cat-card__body strong {
    font-size: 0.74rem;
  }

  .rora-home.rh3 .rh3-cat-card__body small {
    font-size: 0.58rem;
  }
}

/* Homepage product card image pass — taller media blocks, equal card rhythm. */
.rora-home.rh3 .rh3-deals__cards,
.rora-home.rh3 .rh3-bs-grid {
  align-items: stretch;
}

/* Homepage product cards now reuse the collection card from Offers/Best Sellers. */
.rora-home.rh3 .rh3-deals__cards,
.rora-home.rh3 .rh3-bs-grid {
  align-items: stretch;
}

.rora-home.rh3 .rora-home-product-card {
  --collection-accent: #7048f1;
  height: 100%;
}

.rora-home.rh3 .rora-home-product-card .rora-collection-card__media {
  background:
    radial-gradient(circle at 78% 22%, rgba(255, 213, 41, 0.18) 0 19%, transparent 20%),
    linear-gradient(180deg, #fff, #fbf8ff);
}

.rora-home.rh3 .rora-home-product-card .button {
  gap: 0.48rem;
  font-size: 0.88rem;
  min-height: 44px;
  min-width: 140px;
  padding: 0 1.05rem;
}

.rora-home.rh3 .rora-home-product-card .button.add_to_cart_button::before {
  background: currentColor;
  content: "";
  display: inline-flex;
  flex: 0 0 auto;
  height: 1rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 1rem;
}

@media (min-width: 1180px) {
  .rora-home.rh3 .rh3-deals__cards,
  .rora-home.rh3 .rh3-bs-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1025px) and (max-width: 1179px) {
  .rora-home.rh3 .rh3-deals__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rora-home.rh3 .rh3-bs-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 761px) and (max-width: 1024px) {
  .rora-home.rh3 .rh3-deals__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rora-home.rh3 .rh3-bs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .rora-home.rh3 .rora-home-product-card .button {
    margin: 0;
    min-width: 140px;
    width: auto;
  }
}

/* Non-home page polish — cart, checkout, account, static, search, and empty states. */
body:not(.home) .site-content {
  background:
    radial-gradient(circle at 8% 4%, rgba(252, 235, 107, 0.24), transparent 26rem),
    radial-gradient(circle at 92% 10%, rgba(121, 222, 235, 0.2), transparent 24rem),
    var(--rora-bg);
}

.rora-content-page,
.rora-search-page,
.rora-error-page,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main {
  max-width: min(var(--rora-width-shell), calc(100vw - 40px));
  margin: 0 auto;
  padding: clamp(1.1rem, 3vw, 2.5rem) 0 clamp(2.5rem, 5vw, 4.5rem);
}

.rora-content-page__article,
.rora-search-page,
.rora-error-page {
  margin: 0;
}

.rora-content-hero {
  align-items: stretch;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.94), rgba(248,242,255,0.9)),
    radial-gradient(circle at 88% 18%, rgba(252,235,107,0.42), transparent 13rem);
  border: 1px solid var(--rora-card-border);
  border-radius: var(--rora-radius-2xl);
  box-shadow: var(--rora-card-shadow);
  display: grid;
  gap: clamp(1rem, 2vw, 1.6rem);
  grid-template-columns: minmax(0, 1fr) minmax(230px, 0.34fr);
  margin-bottom: clamp(1rem, 2.2vw, 1.6rem);
  overflow: hidden;
  padding: clamp(1.4rem, 3vw, 2.25rem);
  position: relative;
}

.rora-content-hero::before {
  background: linear-gradient(135deg, var(--rora-primary), var(--rora-sky));
  border-radius: 999px;
  content: "";
  height: 6px;
  left: clamp(1.4rem, 3vw, 2.25rem);
  position: absolute;
  right: clamp(1.4rem, 3vw, 2.25rem);
  top: 0;
}

.rora-content-hero__copy h1,
.rora-search-page__hero h1,
.rora-empty-state h1 {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: clamp(2rem, 4vw, 3.3rem);
  font-weight: 1000;
  letter-spacing: -0.045em;
  line-height: 0.98;
  margin: 0 0 0.75rem;
}

.rora-content-hero__copy p:last-child,
.rora-search-page__hero p {
  color: var(--rora-soft-ink);
  font-size: clamp(0.98rem, 1.3vw, 1.12rem);
  font-weight: 650;
  line-height: 1.65;
  margin: 0;
  max-width: 680px;
}

.rora-content-hero__card {
  align-self: center;
  background: rgba(255,255,255,0.74);
  border: 1px solid rgba(112,72,241,0.12);
  border-radius: var(--rora-radius-xl);
  box-shadow: 0 20px 44px -34px rgba(31, 26, 74, 0.48);
  display: grid;
  gap: 0.35rem;
  padding: 1rem;
}

.rora-content-hero__card span {
  align-items: center;
  background: var(--rora-primary-soft);
  border-radius: 50%;
  color: #7048f1;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.rora-content-hero__card svg { height: 20px; width: 20px; }
.rora-content-hero__card strong { color: #080849; font-family: var(--rora-rounded); font-weight: 950; }
.rora-content-hero__card small { color: var(--rora-soft-ink); font-weight: 650; line-height: 1.45; }

.rora-content-page__body,
.rora-search-results,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
  background: rgba(255,255,255,0.82);
  border: 1px solid var(--rora-card-border);
  border-radius: var(--rora-radius-2xl);
  box-shadow: var(--rora-card-shadow);
  padding: clamp(1rem, 2.4vw, 1.75rem);
}

.rora-content-page--static .rora-content-page__body > *:not(.woocommerce):not(.wp-block-cover):not(.alignwide):not(.alignfull) {
  max-width: var(--rora-width-readable);
}

.rora-content-page__body h2,
.rora-content-page__body h3,
.rora-policy h2,
.rora-policy h3,
.woocommerce-cart h2,
.woocommerce-checkout h2,
.woocommerce-account h2,
.woocommerce-account h3 {
  color: #080849;
  font-family: var(--rora-rounded);
  font-weight: 950;
  letter-spacing: -0.025em;
}

.rora-content-page__body a:not(.button):not(.rora-btn),
.rora-policy a:not(.button):not(.rora-btn) {
  font-weight: 750;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.rora-content-page__body table,
.rora-policy table,
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table,
.woocommerce-account table.shop_table {
  background: #fff;
  border: 1px solid var(--rora-line);
  border-collapse: separate;
  border-radius: var(--rora-radius-xl);
  border-spacing: 0;
  box-shadow: 0 18px 42px -36px rgba(31,26,74,0.4);
  overflow: hidden;
}

.rora-content-page__body th,
.rora-policy th,
.woocommerce table.shop_table th {
  background: #f6efff;
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.rora-content-page__body td,
.rora-policy td,
.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
  border-color: rgba(74,59,82,0.08);
  padding: 0.9rem;
  vertical-align: middle;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.woocommerce-form-login,
.woocommerce .woocommerce-ResetPassword,
.woocommerce .woocommerce-address-fields,
.woocommerce .woocommerce-customer-details,
.woocommerce .woocommerce-order-details,
.woocommerce .woocommerce-order-downloads,
.woocommerce .woocommerce-billing-fields,
.woocommerce .woocommerce-shipping-fields,
.woocommerce .woocommerce-additional-fields {
  background: rgba(255,255,255,0.9);
  border: 1px solid var(--rora-card-border);
  border-radius: var(--rora-radius-xl);
  box-shadow: 0 20px 44px -38px rgba(31,26,74,0.45);
  padding: clamp(1rem, 2vw, 1.35rem);
}

.woocommerce-cart .cart-collaterals .cart_totals {
  float: none;
  width: 100%;
}

.woocommerce-account .woocommerce {
  display: grid;
  gap: 1rem;
  grid-template-columns: 260px minmax(0, 1fr);
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
}

.woocommerce-account .woocommerce:has(.woocommerce-form-login),
.woocommerce-account .woocommerce:has(.woocommerce-ResetPassword),
.woocommerce-account .woocommerce:has(.rora-otp) {
  /* A4: the OTP login card uses custom .rora-otp markup (not
     .woocommerce-form-login), so without this it was placed into the 260px
     account-nav grid column and rendered cramped top-left. Opt it out of the
     two-column grid so .rora-otp's own max-width:460px / margin:auto centers. */
  display: block;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: grid;
  gap: 0.45rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
  background: #fff;
  border: 1px solid rgba(112,72,241,0.1);
  border-radius: 999px;
  color: var(--rora-ink);
  display: block;
  font-family: var(--rora-rounded);
  font-size: 0.9rem;
  font-weight: 900;
  padding: 0.66rem 0.88rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--rora-primary-soft);
  color: #080849;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.rora-search-card label {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0.01em;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.select2-container--default .select2-selection--single,
.rora-search-card input[type="search"] {
  background: #fff;
  border: 1px solid rgba(74,59,82,0.14);
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
  color: var(--rora-ink);
  min-height: 48px;
  padding: 0.75rem 0.9rem;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 48px;
  padding-left: 0;
}

.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; }

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-page form .form-row input.input-text:focus,
.woocommerce-page form .form-row textarea:focus,
.rora-search-card input[type="search"]:focus {
  border-color: var(--rora-primary-strong);
  box-shadow: 0 0 0 4px rgba(188,163,240,0.22);
  outline: none;
}

body .woocommerce-info,
body .woocommerce-message,
body .woocommerce-error,
.woocommerce-noreviews,
.p-no-comments {
  align-items: flex-start;
  background:
    radial-gradient(circle at 100% 0%, rgba(121,222,235,0.16), transparent 11rem),
    linear-gradient(135deg, rgba(255,255,255,0.96), rgba(251,248,255,0.94));
  border: 1px solid rgba(112,72,241,0.12);
  border-radius: var(--rora-radius-xl);
  box-shadow: 0 24px 54px -40px rgba(31,26,74,0.5);
  color: #080849;
  display: flex;
  font-family: var(--rora-rounded);
  font-weight: 850;
  gap: 0.85rem;
  line-height: 1.45;
  list-style: none;
  margin: 0 0 1rem;
  max-width: min(100%, 980px);
  padding: 0.95rem 1rem;
  position: relative;
}

body .woocommerce-message:empty {
  display: none !important;
}

body .woocommerce-info::before,
body .woocommerce-message::before,
body .woocommerce-error::before {
  align-items: center;
  background: var(--rora-primary-soft);
  border-radius: 999px;
  color: #7048f1;
  content: "!";
  display: inline-flex;
  flex: 0 0 42px;
  font-family: var(--rora-rounded);
  font-size: 1rem;
  font-weight: 1000;
  height: 42px;
  justify-content: center;
  left: auto;
  line-height: 1;
  position: static;
  top: auto;
  width: 42px;
}

body .woocommerce-error {
  background:
    radial-gradient(circle at 100% 0%, rgba(255,181,167,0.24), transparent 11rem),
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(255,247,250,0.96));
  border-color: rgba(255,79,144,0.2);
}

body .woocommerce-error::before {
  background: #ffe1eb;
  color: #ff4f90;
}

body .woocommerce-message::before {
  background: var(--rora-sky-soft);
  color: #1297ac;
  content: "✓";
}

body .woocommerce-info::before {
  content: "i";
}

body .woocommerce-error li,
body .woocommerce-info li,
body .woocommerce-message li {
  margin: 0;
}

/* Error notices are <ul>s and often carry several <li> messages at once —
   the flex row above would line them up in columns. Grid keeps the icon in
   its own column and stacks every message under the first one. */
body ul.woocommerce-error {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  column-gap: 0.85rem;
  row-gap: 0.6rem;
}

body ul.woocommerce-error > li {
  align-self: center;
  grid-column: 2;
  min-height: 0;
}

body ul.woocommerce-error > li:first-of-type {
  min-height: 42px;
  display: flex;
  align-items: center;
}

body .woocommerce-error strong,
body .woocommerce-info strong,
body .woocommerce-message strong {
  color: #080849;
  font-weight: 1000;
}

body .woocommerce-error a,
body .woocommerce-info a,
body .woocommerce-message a {
  color: #7048f1;
  font-weight: 950;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

body:not(.home) .woocommerce-notices-wrapper {
  margin: 0 0 clamp(0.85rem, 1.8vw, 1.25rem);
}

body:not(.home) .woocommerce-notices-wrapper:empty {
  display: none;
}

.woocommerce-account .woocommerce > .woocommerce-info,
.woocommerce-account .woocommerce > .woocommerce-message,
.woocommerce-account .woocommerce > .woocommerce-error {
  grid-column: 1 / -1;
  width: min(100%, 980px);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.rora-search-card button,
.rora-empty-state .rora-btn {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-family: var(--rora-rounded);
  font-weight: 950;
  justify-content: center;
  min-height: 46px;
}

.woocommerce-cart .coupon {
  align-items: center;
  background: #fff8df;
  border: 1px dashed rgba(112,72,241,0.22);
  border-radius: var(--rora-radius-xl);
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  padding: 0.8rem;
}

.woocommerce-cart .coupon .input-text {
  border-radius: 999px;
  min-height: 44px;
  min-width: min(260px, 100%);
  padding: 0.65rem 0.9rem;
}

.woocommerce-checkout .col2-set {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: 100%;
}

.woocommerce-checkout .rora-checkout-layout {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.46fr);
}

.woocommerce-checkout .rora-checkout-customer-details {
  grid-template-columns: 1fr;
}

.woocommerce-checkout .rora-checkout-details-column {
  display: grid;
  gap: 1rem;
}

.woocommerce-checkout .rora-checkout-layout__summary {
  display: grid;
  gap: 0.75rem;
}

.woocommerce-checkout #order_review_heading {
  margin: 0;
}

.woocommerce-checkout .rora-checkout-order-notes textarea {
  min-height: 98px;
}

.woocommerce-checkout-review-order-table .product-name { font-weight: 750; }
.woocommerce-checkout-payment { border-radius: var(--rora-radius-xl); overflow: hidden; }

/* ===== Checkout polish — matches the cart card language =====
   The billing column (.rora-checkout-shipping-details) is already
   carded by the existing .woocommerce-billing-fields rule, so here we
   only bring the order summary into the same card language as the cart. */

/* Order summary: sticky white card like .rora-cart-summary */
.woocommerce-checkout .rora-checkout-layout__summary {
	background: #fff;
	border: 1px solid var(--rora-line);
	border-radius: var(--rora-radius-xl);
	box-shadow: 0 22px 48px -38px rgba(31, 26, 74, 0.4);
	padding: clamp(1rem, 2.6vw, 1.6rem) clamp(1.1rem, 2.8vw, 1.75rem);
	gap: 14px;
}
@media (min-width: 901px) {
	.woocommerce-checkout .rora-checkout-layout__summary {
		position: sticky;
		top: 20px;
	}
}
.woocommerce-checkout #order_review_heading {
	font-size: 16px;
	font-weight: 700;
	color: #1a1a2e;
	margin: 0;
}

/* Order review table */
.woocommerce-checkout .rora-order-review-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}

/* Order items — mirror the cart item look (thumb + qty badge + name) */
.rora-order-item__cell {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 0 !important;
	border-bottom: 1px solid #f4f4f6;
	text-align: left !important;
	font-weight: 400 !important;
}
.rora-order-items tr:first-child .rora-order-item__cell { padding-top: 4px !important; }
.rora-order-item__media { position: relative; flex-shrink: 0; }
.rora-order-item__thumb {
	display: block;
	width: 60px;
	height: 60px;
	border-radius: 12px;
	overflow: hidden;
	background: #f7f7f9;
}
.rora-order-item__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rora-order-item__qty-badge {
	position: absolute;
	top: -7px;
	right: -7px;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 11px;
	background: linear-gradient(135deg, #ff6b9d, #ff8c42);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
	box-shadow: 0 2px 6px rgba(255,107,157,0.35);
}
.rora-order-item__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rora-order-item__name { font-size: 14px; font-weight: 600; color: #1a1a2e; line-height: 1.35; }
.rora-order-item__text .variation,
.rora-order-item__text dl { margin: 2px 0 0; font-size: 12px; color: #8a8a9a; }
.rora-order-item__text .variation dt,
.rora-order-item__text dl dt { font-weight: 600; display: inline; margin: 0 4px 0 0; }
.rora-order-item__text .variation dd,
.rora-order-item__text dl dd { display: inline; margin: 0; }
.rora-order-item__total {
	text-align: right !important;
	font-weight: 700 !important;
	color: #1a1a2e;
	vertical-align: middle;
	white-space: nowrap;
}

/* Totals footer — mirror .rora-cart-totals */
.rora-order-totals th,
.rora-order-totals td {
	padding: 10px 0;
	font-size: 14px;
	border-bottom: 1px solid #f4f4f6;
	text-align: left;
}
.rora-order-totals th { font-weight: 500; color: #8a8a9a; }
.rora-order-totals td { text-align: right; font-weight: 600; color: #1a1a2e; }
.rora-order-totals .order-total th,
.rora-order-totals .order-total td {
	font-size: 18px;
	font-weight: 700;
	color: #1a1a2e;
	border-bottom: none;
	border-top: 2px solid #f4f4f6;
	padding-top: 16px;
}
.rora-order-totals .order-total td { color: #ff6b9d; }
.rora-order-totals .cart-discount td { color: #2ea44f; }

/* Payment box */
.woocommerce-checkout #order_review #payment {
	background: transparent;
	border-radius: 0;
	margin-top: 6px;
}
.woocommerce-checkout #payment ul.payment_methods {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	border: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.woocommerce-checkout #payment ul.payment_methods li {
	border: 1px solid #e4e4ea;
	border-radius: 12px;
	padding: 13px 15px;
	font-size: 14px;
	color: #1a1a2e;
	background: #faf8fd;
}
.woocommerce-checkout #payment ul.payment_methods li label {
	display: inline;
	font-weight: 600;
	margin: 0 0 0 6px;
}
.woocommerce-checkout #payment div.payment_box {
	background: #fff;
	border-radius: 10px;
	padding: 12px 14px;
	margin: 10px 0 0;
	font-size: 13px;
	color: #3a3a4e;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
	font-size: 12px;
	color: #8a8a9a;
	margin-top: 12px;
}

/* Place order — gradient pill like .rora-cart-checkout */
.woocommerce-checkout #place_order {
	display: block;
	width: 100%;
	background: linear-gradient(135deg, #ff6b9d, #ff8c42);
	color: #fff;
	text-align: center;
	padding: 16px;
	border: none;
	border-radius: 14px;
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	margin-top: 14px;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.woocommerce-checkout #place_order:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px -8px rgba(255,107,157,0.45);
}

/* "Have a coupon?" toggle + field on checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	background: #faf8fd;
	border: 1px solid #efe9f7;
	border-radius: 14px;
	color: #4a4a5e;
	font-size: 14px;
	margin: 0 0 14px;
	padding: 13px 16px;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
.woocommerce-checkout form.checkout_coupon {
	background: #fff;
	border: 1px solid #efe9f7;
	border-radius: 16px;
	margin: 0 0 16px;
	padding: 18px;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
  align-items: center;
  display: inline-flex;
  gap: 0.45rem;
  margin-right: 0.8rem;
}

.woocommerce-cart .wc-empty {
  background: #fff;
  border: 1px solid var(--rora-card-border);
  border-radius: var(--rora-radius-xl);
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: 1.25rem;
  font-weight: 950;
  padding: 1.2rem;
  text-align: center;
}

.rora-search-card {
  align-self: center;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(112,72,241,0.12);
  border-radius: var(--rora-radius-xl);
  display: grid;
  gap: 0.55rem;
  padding: 1rem;
}

.rora-search-card div {
  display: flex;
  gap: 0.55rem;
}

.rora-search-card input[type="search"] { flex: 1 1 auto; min-width: 0; }
.rora-search-card button { background: #7048f1; border: 0; color: #fff; padding: 0 1.1rem; }

.rora-search-results__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 360px));
  justify-content: start;
}

.rora-search-card-result {
  background: #fff;
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius-xl);
  display: grid;
  gap: 0;
  overflow: hidden;
}

.rora-search-card-result__media {
  align-items: center;
  aspect-ratio: 4 / 3;
  background: var(--rora-image-bg);
  display: flex;
  justify-content: center;
}

.rora-search-card-result__media img {
  height: 100%;
  object-fit: contain;
  padding: 0.8rem;
  width: 100%;
}

.rora-search-card-result__media span svg { height: 44px; width: 44px; }
.rora-search-card-result__body { display: grid; gap: 0.55rem; padding: 1rem; }
.rora-search-card-result__type { color: var(--rora-muted); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.08em; margin: 0; text-transform: uppercase; }
.rora-search-card-result h2 { font-family: var(--rora-rounded); font-size: 1.05rem; font-weight: 950; margin: 0; }
.rora-search-card-result p { color: var(--rora-soft-ink); margin: 0; }

.rora-empty-state {
  align-items: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(252,235,107,0.38), transparent 14rem),
    rgba(255,255,255,0.86);
  border: 1px solid var(--rora-card-border);
  border-radius: var(--rora-radius-2xl);
  box-shadow: var(--rora-card-shadow);
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 820px;
  padding: clamp(1.5rem, 5vw, 3rem);
  text-align: center;
}

.rora-empty-state > span {
  align-items: center;
  background: var(--rora-primary-soft);
  border-radius: 50%;
  color: #7048f1;
  display: inline-flex;
  height: 72px;
  justify-content: center;
  margin-bottom: 1rem;
  width: 72px;
}

.rora-empty-state > span svg { height: 34px; width: 34px; }
.rora-empty-state p { color: var(--rora-soft-ink); font-weight: 650; max-width: 560px; }
.rora-empty-state__actions { display: flex; flex-wrap: wrap; gap: 0.65rem; justify-content: center; margin-top: 0.7rem; }
.rora-search-card--inline { margin-top: 1rem; width: min(560px, 100%); }

@media (max-width: 900px) {
  .rora-content-hero,
  .woocommerce-checkout .rora-checkout-layout,
  .woocommerce-checkout .col2-set,
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }

  .rora-content-page,
  .rora-search-page,
  .rora-error-page,
  .woocommerce-cart .site-main,
  .woocommerce-checkout .site-main,
  .woocommerce-account .site-main {
    max-width: min(100% - 24px, var(--rora-width-shell));
  }

  .rora-content-hero__card { max-width: 420px; }
}

@media (max-width: 640px) {
  .rora-content-hero,
  .rora-content-page__body,
  .rora-search-results,
  .woocommerce-cart .entry-content,
  .woocommerce-checkout .entry-content,
  .woocommerce-account .entry-content {
    border-radius: 22px;
    padding: 1rem;
  }

  .rora-content-hero__copy h1,
  .rora-search-page__hero h1,
  .rora-empty-state h1 {
    font-size: clamp(1.75rem, 10vw, 2.35rem);
  }

  .woocommerce-cart table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    background: #fff;
    border: 1px solid var(--rora-line);
    border-radius: 18px;
    display: block;
    margin-bottom: 0.8rem;
    padding: 0.55rem;
  }

  .woocommerce-cart table.shop_table_responsive tr td,
  .woocommerce-page table.shop_table_responsive tr td {
    border: 0;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    text-align: right !important;
  }

  .rora-search-card div,
  .woocommerce-cart .coupon {
    align-items: stretch;
    flex-direction: column;
  }

  .rora-search-card button,
  .woocommerce-cart .coupon .button,
  .woocommerce-cart .coupon .input-text {
    width: 100%;
  }
}

/* Product detail final homepage-system pass — shared pastel shell, compact rounded cards. */
body.single-product,
body.single-product .site-content {
  background:
    radial-gradient(circle at 6% 2%, rgba(252, 235, 107, 0.24), transparent 24rem),
    radial-gradient(circle at 92% 10%, rgba(121, 222, 235, 0.2), transparent 24rem),
    var(--rora-bg);
}

body.single-product .site-main {
  max-width: min(var(--rora-width-shell), calc(100vw - 40px));
  margin: 0 auto;
  padding: clamp(1rem, 2.5vw, 2rem) 0 clamp(2.75rem, 5vw, 4.5rem);
}

body.single-product .site-content .col-full {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.single-product div.product.rora-product {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.92), rgba(248,242,255,0.88)),
    radial-gradient(circle at 90% 8%, rgba(252,235,107,0.36), transparent 14rem);
  border: 1px solid var(--rora-card-border);
  border-radius: var(--rora-radius-2xl);
  box-shadow: var(--rora-card-shadow);
  padding: clamp(0.9rem, 2.2vw, 1.65rem);
}

.rora-product__crumbs {
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(112,72,241,0.08);
  border-radius: var(--rora-radius-pill);
  color: var(--rora-soft-ink);
  font-family: var(--rora-rounded);
  font-size: 0.82rem;
  font-weight: 850;
  margin: 0 0 clamp(0.85rem, 1.8vw, 1.2rem);
  padding: 0.55rem 0.8rem;
}

.rora-product__layout {
  gap: clamp(1rem, 2.5vw, 1.8rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.78fr);
}

.rora-product__gallery-wrap,
.rora-product__summary,
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products {
  background: rgba(255,255,255,0.84);
  border: 1px solid rgba(74,59,82,0.08);
  border-radius: var(--rora-radius-2xl);
  box-shadow: 0 22px 48px -38px rgba(31,26,74,0.42);
}

.rora-product__gallery-wrap {
  padding: clamp(0.7rem, 1.8vw, 1rem);
}

.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery .flexslider img {
  border-radius: var(--rora-radius-xl);
}

.single-product .woocommerce-product-gallery .flex-viewport {
  background: var(--rora-image-bg);
  border: 1px solid rgba(112,72,241,0.08);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs {
  gap: 0.65rem;
  margin-top: 0.72rem;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  background: var(--rora-image-bg);
  border-radius: 16px;
}

.rora-product__summary {
  display: grid;
  gap: 0;
  padding: clamp(1rem, 2.2vw, 1.45rem);
  top: 1rem;
}

.rora-product__pills {
  gap: 0.45rem;
  margin-bottom: 0.75rem;
}

.rora-product__pill {
  border-radius: var(--rora-radius-pill);
  font-family: var(--rora-rounded);
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.03em;
  padding: 0.4rem 0.72rem;
}

.single-product .product .product_title,
.single-product div.product.rora-product .product_title {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: clamp(1.65rem, 2.4vw, 2.55rem);
  font-weight: 1000;
  letter-spacing: -0.045em;
  line-height: 1.02;
  margin-bottom: 0.7rem;
}

.rora-product__price {
  align-items: baseline;
  background: rgba(255,255,255,0.74);
  border: 1px solid rgba(112,72,241,0.09);
  border-radius: var(--rora-radius-xl);
  margin-bottom: 0.78rem;
  padding: 0.72rem 0.82rem;
}

.rora-product__price-now {
  color: #7048f1;
  font-family: var(--rora-rounded);
  font-size: clamp(1.8rem, 2.55vw, 2.35rem);
  font-weight: 1000;
}

.rora-product__price-off {
  background: var(--rora-yellow-soft);
  border-color: rgba(112,72,241,0.1);
  color: #7048f1;
  font-family: var(--rora-rounded);
  font-weight: 950;
}

.rora-product__rating,
.rora-product__features {
  border-bottom-color: rgba(74,59,82,0.08);
}

.rora-product__rating {
  align-items: center;
  background: rgba(248,242,255,0.68);
  border-radius: 18px;
  margin-bottom: 0.8rem;
  padding: 0.68rem 0.8rem;
}

.rora-product__rating-stars { color: #ffb72c; }

.rora-product__features {
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(112,72,241,0.08);
  border-radius: var(--rora-radius-xl);
  gap: 0.62rem;
  margin-bottom: 0.85rem;
  padding: 0.85rem;
}

.rora-product__feature {
  color: #3c2d62;
  font-weight: 720;
}

.single-product div.product.rora-product form.cart,
.single-product div.product.rora-product form.variations_form.cart {
  background: rgba(248,242,255,0.65);
  border: 1px solid rgba(112,72,241,0.09);
  border-radius: var(--rora-radius-xl);
  margin-bottom: 0.75rem;
  padding: 0.8rem;
}

.single-product div.product.rora-product table.variations {
  display: grid;
  gap: 0.65rem;
  margin: 0 0 0.75rem;
}

.single-product div.product.rora-product table.variations tbody,
.single-product div.product.rora-product table.variations tr {
  display: grid;
  gap: 0.35rem;
}

.single-product div.product.rora-product table.variations th,
.single-product div.product.rora-product table.variations td {
  background: transparent;
  border: 0;
  display: block;
  padding: 0;
  text-align: left;
}

.single-product div.product.rora-product table.variations label {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: 0.8rem;
  font-weight: 950;
}

.single-product div.product.rora-product table.variations select {
  background: #fff;
  border: 1px solid rgba(74,59,82,0.14);
  border-radius: 16px;
  color: var(--rora-ink);
  min-height: 48px;
  padding: 0.68rem 0.9rem;
  width: 100%;
}

.single-product div.product.rora-product table.variations select:focus {
  border-color: var(--rora-primary-strong);
  box-shadow: 0 0 0 4px rgba(188,163,240,0.22);
  outline: none;
}

.single-product div.product.rora-product .reset_variations {
  color: var(--rora-muted);
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 800;
  margin-top: 0.35rem;
}

.single-product div.product.rora-product .single_variation_wrap {
  display: grid;
  gap: 0.72rem;
}

.single-product div.product.rora-product .woocommerce-variation-price .price {
  color: #7048f1;
  font-family: var(--rora-rounded);
  font-size: 1.35rem;
  font-weight: 950;
}

.single-product div.product.rora-product form.cart .quantity {
  background: #fff;
  border-color: rgba(112,72,241,0.14);
  border-radius: var(--rora-radius-pill);
  height: 48px;
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button {
  background: #7048f1;
  border-radius: var(--rora-radius-pill);
  box-shadow: 0 16px 30px -22px rgba(58,35,152,0.82);
  color: #fff;
  font-family: var(--rora-rounded);
  font-weight: 950;
  min-height: 48px;
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button:hover {
  background: #6846df;
}

.rora-product__cod-cta,
.rora-product__cod-cta.button {
  border-radius: var(--rora-radius-pill) !important;
  box-shadow: 0 16px 30px -24px rgba(112,72,241,0.55);
  font-family: var(--rora-rounded);
  font-weight: 950;
}

.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products {
  margin-top: clamp(1rem, 2.2vw, 1.6rem) !important;
  padding: clamp(1rem, 2.2vw, 1.45rem);
}

.single-product .woocommerce-tabs ul.tabs {
  background: rgba(248,242,255,0.72);
  border: 1px solid rgba(112,72,241,0.08);
  border-radius: var(--rora-radius-pill);
  display: inline-flex !important;
  max-width: 100%;
  overflow-x: auto;
  padding: 0.22rem !important;
}

.single-product .woocommerce-tabs ul.tabs li,
.single-product .woocommerce-tabs ul.tabs li.active {
  border: 0;
  margin: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  border-radius: var(--rora-radius-pill);
  color: var(--rora-soft-ink);
  font-family: var(--rora-rounded);
  font-size: 0.88rem;
  font-weight: 950;
  padding: 0.62rem 0.9rem;
  white-space: nowrap;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  background: #fff;
  box-shadow: 0 10px 24px -20px rgba(31,26,74,0.45);
  color: #7048f1;
}

.single-product .woocommerce-tabs .panel {
  max-width: 100%;
  padding: 1rem 0 0;
}

.single-product .related.products > h2,
.single-product .upsells.products > h2 {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  font-weight: 1000;
  letter-spacing: -0.03em;
  margin: 0 0 0.9rem;
}

@media (max-width: 900px) {
  body.single-product .site-main {
    max-width: min(100% - 24px, var(--rora-width-shell));
  }

  .single-product div.product.rora-product {
    border-radius: 24px;
    padding: 0.8rem;
  }

  .rora-product__layout {
    grid-template-columns: 1fr;
  }

  .rora-product__summary {
    position: static;
  }

  .rora-product__gallery-wrap,
  .rora-product__summary,
  .single-product .woocommerce-tabs,
  .single-product .related.products,
  .single-product .upsells.products {
    border-radius: 22px;
  }
}

@media (max-width: 640px) {
  body.single-product .site-main {
    max-width: min(100% - 20px, var(--rora-width-shell));
  }

  .rora-product__crumbs {
    border-radius: 18px;
  }

  .single-product .product .product_title,
  .single-product div.product.rora-product .product_title {
    font-size: clamp(1.48rem, 8vw, 2rem);
  }

  .rora-product__price {
    align-items: flex-start;
    flex-direction: column;
  }

  .single-product div.product.rora-product form.cart,
  .single-product div.product.rora-product form.variations_form.cart {
    align-items: stretch;
    flex-direction: column;
  }

  .single-product div.product.rora-product form.cart .quantity,
  .single-product div.product.rora-product form.cart .single_add_to_cart_button {
    width: 100%;
  }

  .single-product .woocommerce-product-gallery .flex-control-thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Listing/category/search archive polish — homepage v3 alignment. */
.woocommerce-shop .site-content .col-full,
.tax-product_cat .site-content .col-full,
.tax-product_tag .site-content .col-full,
.post-type-archive-product .site-content .col-full,
.search-results.post-type-archive-product .site-content .col-full,
.search.search-results .site-content .col-full {
  max-width: min(var(--rora-width-page), calc(100vw - 32px));
  padding: clamp(0.9rem, 2vw, 1.35rem) var(--rora-gutter) clamp(3rem, 6vw, 5rem);
}

.woocommerce-shop .rora-site-header,
.tax-product_cat .rora-site-header,
.tax-product_tag .rora-site-header,
.post-type-archive-product .rora-site-header,
.search.search-results .rora-site-header {
  margin-bottom: 0;
}

.rora-shop-benefit,
.rora-shop-category-card,
.rora-shop-aside,
.rora-shop-toolbar,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  border-color: var(--rora-card-border);
  box-shadow: var(--rora-card-shadow);
}

.rora-shop-benefit,
.rora-shop-toolbar,
.rora-shop-aside { background: rgba(255, 255, 255, 0.86); }

.rora-shop-category-card {
  border-radius: var(--rora-radius-lg);
  min-height: 150px;
}

.rora-shop-category-card span { border-radius: var(--rora-radius-md); }

.rora-shop-layout {
  gap: clamp(1rem, 2vw, 1.75rem);
  margin-top: clamp(1rem, 2vw, 1.4rem);
  grid-template-columns: 300px minmax(0, 1fr);
}

.rora-shop-main {
  padding-top: 0;
}

.rora-shop-benefits {
  margin-top: 0;
  margin-bottom: 0.85rem;
}

.rora-shop-aside {
  border-radius: var(--rora-radius-xl);
  top: calc(88px + 1rem);
}

.rora-shop-side-categories {
  display: grid;
  gap: 0.72rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rora-shop-category-card--aside {
  border-radius: 16px;
  box-shadow: none;
  gap: 0.34rem;
  min-height: 126px;
  padding: 0.48rem;
}

.rora-shop-category-card--aside span {
  border-radius: 12px;
  min-height: 62px;
}

.rora-shop-category-card--aside strong {
  color: #080849;
  font-size: 0.76rem;
  font-weight: 950;
  line-height: 1.1;
}

.rora-shop-category-card--aside small {
  font-size: 0.62rem;
  font-weight: 850;
}

.rora-shop-category-card--aside:hover,
.rora-shop-category-card--aside.is-current {
  box-shadow: 0 14px 28px -22px rgba(31, 26, 74, 0.42);
  transform: translateY(-2px);
}

.rora-shop-aside__header {
  background: linear-gradient(135deg, #f0e7ff, #fff6cf);
  color: #080849;
  font-family: var(--rora-rounded);
  font-weight: 950;
}

.rora-stock-toggle a,
.rora-shop-price input,
.rora-shop-price button,
.rora-shop-toolbar select { border-radius: 999px; }

.rora-shop-toolbar {
  border-radius: var(--rora-radius-xl);
  margin: 0 0 1rem;
}

.woocommerce ul.products {
  gap: clamp(0.85rem, 1.45vw, 1.25rem) !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: rgba(255, 255, 255, 0.92);
  border-radius: var(--rora-radius-xl);
  overflow: hidden;
  transition: transform 0.22s var(--rora-ease), box-shadow 0.22s var(--rora-ease), border-color 0.22s var(--rora-ease);
}

.woocommerce ul.products li.product:hover {
  border-color: rgba(112, 72, 241, 0.16);
  box-shadow: 0 30px 58px -38px rgba(31, 26, 74, 0.5);
  transform: translateY(-4px);
}

.woocommerce ul.products li.product img {
  background:
    radial-gradient(circle at 72% 24%, rgba(188, 163, 240, 0.18) 0 18%, transparent 19%),
    linear-gradient(180deg, #fff, #fbf8ff);
  border-radius: var(--rora-radius-lg) var(--rora-radius-lg) 0 0;
  object-fit: contain;
  padding: clamp(0.45rem, 1.1vw, 0.8rem);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: clamp(0.88rem, 1vw, 1rem);
  font-weight: 950;
  letter-spacing: -0.015em;
}

.woocommerce ul.products li.product .price {
  color: #7048f1;
  font-family: var(--rora-rounded);
  font-weight: 950;
}

.rora-loop-sale-pill,
.rora-loop-badge {
  font-family: var(--rora-rounded);
  font-weight: 950;
}

.rora-loop-sale-pill {
  background: #fff1bd;
  border: 1px solid rgba(137, 99, 25, 0.14);
  border-radius: 999px;
  color: #896319;
  font-size: 0.64rem;
  letter-spacing: 0.04em;
  margin-left: auto;
  padding: 0.22rem 0.5rem;
  text-transform: uppercase;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .rora-add-to-cart {
  background: #7b52f4;
  border-radius: 999px;
  box-shadow: 0 12px 24px -18px rgba(58, 35, 152, 0.8);
  color: #fff;
  font-family: var(--rora-rounded);
  font-weight: 950;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .rora-add-to-cart:hover { background: #6846df; }

.woocommerce nav.woocommerce-pagination,
.storefront-sorting .woocommerce-pagination { margin-top: 1.5rem; }

.woocommerce nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul li { border: 0; }

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  align-items: center;
  background: #fff;
  border: 1px solid var(--rora-card-border);
  border-radius: 999px;
  color: #080849;
  display: inline-flex;
  font-family: var(--rora-rounded);
  font-weight: 950;
  justify-content: center;
  min-height: 42px;
  min-width: 42px;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: #7048f1;
  color: #fff;
}

.woocommerce-no-products-found,
.woocommerce .woocommerce-info:has(.wc-forward) {
  border-radius: var(--rora-radius-xl);
}

@media (max-width: 1180px) {
  .rora-shop-layout {
    grid-template-columns: 276px minmax(0, 1fr);
  }

  .rora-shop-side-categories {
    grid-template-columns: 1fr;
  }

  .rora-shop-category-card--aside {
    grid-template-columns: 82px minmax(0, 1fr);
    min-height: 94px;
    text-align: left;
  }

  .rora-shop-category-card--aside span {
    grid-row: span 2;
    min-height: 76px;
  }
}

@media (max-width: 1024px) and (min-width: 901px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .rora-shop-layout {
    grid-template-columns: 1fr;
    margin-top: 0.85rem;
  }
  .rora-shop-main { order: 1; }
  .rora-shop-aside { order: 2; position: static; }
  .rora-shop-side-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rora-shop-category-card--aside {
    grid-template-columns: 1fr;
    min-height: 126px;
    text-align: center;
  }

  .rora-shop-category-card--aside span {
    grid-row: auto;
    min-height: 62px;
  }
}

@media (max-width: 640px) {
  .woocommerce-shop .site-content .col-full,
  .tax-product_cat .site-content .col-full,
  .tax-product_tag .site-content .col-full,
  .post-type-archive-product .site-content .col-full,
  .search.search-results .site-content .col-full {
    max-width: calc(100vw - 18px);
    padding-left: 0;
    padding-right: 0;
  }

  .rora-shop-header--hero,
  .rora-shop-aside,
  .rora-shop-toolbar,
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product { border-radius: 18px; }
  .rora-shop-benefits { grid-template-columns: 1fr !important; }
  .rora-shop-side-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 0.65rem !important; }
  .woocommerce ul.products li.product .price { padding-left: 0.65rem; }
  .woocommerce ul.products li.product .button { margin-left: 0.65rem !important; margin-right: 0.65rem !important; width: calc(100% - 1.3rem); }
}

/* Coming-soon/cart gate polish — keep WooCommerce gated pages in the RORA system. */
body:not(.home) .site-content > .col-full {
  max-width: min(var(--rora-width-shell), calc(100vw - 40px));
  padding: clamp(1.1rem, 3vw, 2.5rem) 0 clamp(2.5rem, 5vw, 4.5rem);
}

.wp-site-blocks {
  margin: 0 auto;
}

.wp-block-woocommerce-coming-soon {
  align-items: center;
  background:
    radial-gradient(circle at 50% 4%, rgba(252,235,107,0.42), transparent 16rem),
    linear-gradient(135deg, rgba(255,255,255,0.95), rgba(248,242,255,0.92));
  border: 1px solid var(--rora-card-border);
  border-radius: var(--rora-radius-2xl);
  box-shadow: var(--rora-card-shadow);
  color: var(--rora-ink);
  display: flex;
  justify-content: center;
  min-height: min(520px, 70vh);
  overflow: hidden;
  padding: clamp(1.5rem, 5vw, 3rem);
  position: relative;
  text-align: center;
}

.wp-block-woocommerce-coming-soon::before {
  background: linear-gradient(135deg, var(--rora-primary), var(--rora-sky));
  border-radius: 999px;
  content: "";
  height: 6px;
  left: clamp(1.4rem, 3vw, 2.25rem);
  position: absolute;
  right: clamp(1.4rem, 3vw, 2.25rem);
  top: 0;
}

.wp-block-woocommerce-coming-soon::after {
  align-items: center;
  background: var(--rora-primary-soft);
  border-radius: 999px;
  color: #7048f1;
  content: "RORA Kids · opening soon";
  display: inline-flex;
  font-family: var(--rora-rounded);
  font-size: 0.76rem;
  font-weight: 950;
  left: 50%;
  letter-spacing: 0.08em;
  padding: 0.48rem 0.9rem;
  position: absolute;
  text-transform: uppercase;
  top: clamp(1.2rem, 3vw, 1.8rem);
  transform: translateX(-50%);
}

.wp-block-woocommerce-coming-soon .wp-block-group {
  gap: 0.55rem;
  max-width: 680px;
  padding-top: 2rem;
}

.wp-block-woocommerce-coming-soon .wp-block-spacer {
  display: none;
}

.wp-block-woocommerce-coming-soon h1 {
  color: #080849;
  font-family: var(--rora-rounded) !important;
  font-size: clamp(2rem, 5vw, 3.6rem);
  font-weight: 1000;
  letter-spacing: -0.05em;
  line-height: 0.98;
  margin: 0;
}

.wp-block-woocommerce-coming-soon p {
  color: var(--rora-soft-ink);
  font-family: var(--rora-sans) !important;
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  font-weight: 650;
  line-height: 1.65;
  margin: 0 auto;
  max-width: 520px;
}

@media (max-width: 640px) {
  body:not(.home) .site-content > .col-full {
    max-width: min(100% - 24px, var(--rora-width-shell));
  }

  .wp-block-woocommerce-coming-soon {
    border-radius: 22px;
    min-height: 420px;
    padding: 1rem;
  }
}

/* Product detail final cascade guard — this intentionally comes last. */
body.single-product,
body.single-product .site-content,
body.single-product .site-content > .col-full {
  background:
    radial-gradient(circle at 6% 2%, rgba(252, 235, 107, 0.24), transparent 24rem),
    radial-gradient(circle at 92% 10%, rgba(121, 222, 235, 0.2), transparent 24rem),
    var(--rora-bg) !important;
}

body.single-product .site-content > .col-full,
body.single-product .site-content .col-full,
body.single-product .site-main {
  max-width: min(var(--rora-width-shell), calc(100vw - 40px)) !important;
}

body.single-product .site-main {
  margin: 0 auto !important;
  padding: clamp(1rem, 2.5vw, 2rem) 0 clamp(2.75rem, 5vw, 4.5rem) !important;
}

.single-product div.product.rora-product {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.92), rgba(248,242,255,0.88)),
    radial-gradient(circle at 90% 8%, rgba(252,235,107,0.36), transparent 14rem) !important;
  border: 1px solid var(--rora-card-border) !important;
  border-radius: var(--rora-radius-2xl) !important;
  box-shadow: var(--rora-card-shadow) !important;
  padding: clamp(0.9rem, 2.2vw, 1.65rem) !important;
}

.rora-product__gallery-wrap,
.rora-product__summary,
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products {
  background: rgba(255,255,255,0.84) !important;
  border: 1px solid rgba(74,59,82,0.08) !important;
  border-radius: var(--rora-radius-2xl) !important;
  box-shadow: 0 22px 48px -38px rgba(31,26,74,0.42) !important;
}

.rora-product__crumbs {
  background: rgba(255,255,255,0.72) !important;
  border: 1px solid rgba(112,72,241,0.08) !important;
  border-radius: var(--rora-radius-pill) !important;
  font-family: var(--rora-rounded) !important;
  font-weight: 850 !important;
  padding: 0.55rem 0.8rem !important;
}

.rora-product__layout {
  gap: clamp(1rem, 2.5vw, 1.8rem) !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.78fr) !important;
}

.single-product .product .product_title,
.single-product div.product.rora-product .product_title {
  color: #080849 !important;
  font-family: var(--rora-rounded) !important;
  font-size: clamp(1.65rem, 2.4vw, 2.55rem) !important;
  font-weight: 1000 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.02 !important;
  -webkit-text-fill-color: #080849 !important;
}

.rora-product__price {
  background: rgba(255,255,255,0.74) !important;
  border: 1px solid rgba(112,72,241,0.09) !important;
  border-radius: var(--rora-radius-xl) !important;
  padding: 0.72rem 0.82rem !important;
}

.rora-product__price-now,
.single-product div.product.rora-product .woocommerce-variation-price .price {
  color: #7048f1 !important;
  font-family: var(--rora-rounded) !important;
  font-weight: 1000 !important;
}

.single-product div.product.rora-product form.cart,
.single-product div.product.rora-product form.variations_form.cart {
  background: rgba(248,242,255,0.65) !important;
  border: 1px solid rgba(112,72,241,0.09) !important;
  border-radius: var(--rora-radius-xl) !important;
  padding: 0.8rem !important;
}

.single-product div.product.rora-product table.variations select,
.single-product div.product.rora-product form.cart .quantity {
  background: #fff !important;
  border: 1px solid rgba(112,72,241,0.14) !important;
  border-radius: var(--rora-radius-pill) !important;
}

.single-product div.product.rora-product table.variations select {
  min-height: 48px !important;
  padding: 0.68rem 0.9rem !important;
  width: 100% !important;
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button {
  background: #7048f1 !important;
  border-radius: var(--rora-radius-pill) !important;
  box-shadow: 0 16px 30px -22px rgba(58,35,152,0.82) !important;
  color: #fff !important;
  font-family: var(--rora-rounded) !important;
  font-weight: 950 !important;
}

.rora-product__cod-cta,
.rora-product__cod-cta.button {
  border-radius: var(--rora-radius-pill) !important;
  font-family: var(--rora-rounded) !important;
  font-weight: 950 !important;
}

.single-product .woocommerce-tabs ul.tabs {
  background: rgba(248,242,255,0.72) !important;
  border: 1px solid rgba(112,72,241,0.08) !important;
  border-radius: var(--rora-radius-pill) !important;
  display: inline-flex !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  padding: 0.22rem !important;
}

.single-product .woocommerce-tabs ul.tabs li,
.single-product .woocommerce-tabs ul.tabs li.active {
  border: 0 !important;
  margin: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  border-radius: var(--rora-radius-pill) !important;
  font-family: var(--rora-rounded) !important;
  font-weight: 950 !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  background: #fff !important;
  color: #7048f1 !important;
}

@media (max-width: 900px) {
  .rora-product__layout {
    grid-template-columns: 1fr !important;
  }

  .rora-product__summary {
    position: static !important;
  }
}

@media (max-width: 640px) {
  body.single-product .site-content > .col-full,
  body.single-product .site-main {
    max-width: min(100% - 24px, var(--rora-width-shell)) !important;
  }

  .single-product div.product.rora-product form.cart,
  .single-product div.product.rora-product form.variations_form.cart {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .single-product div.product.rora-product form.cart .quantity,
  .single-product div.product.rora-product form.cart .single_add_to_cart_button {
    width: 100% !important;
  }
}

/* Product detail final refinement — keep the live WooCommerce DOM in the homepage v3 system. */
body.single-product {
  overflow-x: hidden;
}

.single-product div.product.rora-product,
.single-product div.product.rora-product * {
  box-sizing: border-box;
}

.single-product div.product.rora-product {
  isolation: isolate;
}

.single-product div.product.rora-product .woocommerce-notices-wrapper {
  margin: 0 0 1rem !important;
}

.single-product div.product.rora-product .woocommerce-message,
.single-product div.product.rora-product .woocommerce-info,
.single-product div.product.rora-product .woocommerce-error {
  border-radius: var(--rora-radius-xl) !important;
  font-family: var(--rora-rounded) !important;
  font-weight: 850 !important;
}

.rora-product__gallery-wrap,
.rora-product__summary {
  padding: clamp(0.82rem, 1.7vw, 1.2rem) !important;
}

.rora-product__gallery-wrap {
  background:
    radial-gradient(circle at 22% 10%, rgba(252, 235, 107, 0.22), transparent 12rem),
    linear-gradient(180deg, rgba(255,255,255,0.92), rgba(251,248,255,0.9)) !important;
}

.rora-product__summary {
  background:
    radial-gradient(circle at 88% 4%, rgba(121, 222, 235, 0.18), transparent 12rem),
    rgba(255,255,255,0.88) !important;
}

.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  background: transparent !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
  align-items: center;
  background:
    radial-gradient(circle at 72% 20%, rgba(188,163,240,0.2), transparent 11rem),
    linear-gradient(180deg, #fff, #fbf8ff);
  border: 1px solid rgba(74,59,82,0.06);
  border-radius: var(--rora-radius-xl);
  display: flex;
  justify-content: center;
  min-height: clamp(320px, 42vw, 520px);
  overflow: hidden;
  padding: clamp(0.55rem, 1.8vw, 1.15rem);
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery .flexslider img {
  max-height: min(500px, 58vh) !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  background: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(74,59,82,0.06);
  padding: 0.28rem;
}

.rora-product__crumbs ol {
  min-width: 0;
}

.rora-product__crumbs li:last-child {
  min-width: 0;
}

.rora-product__crumbs span[aria-current="page"] {
  display: inline-block;
  max-width: min(52ch, 100%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rora-product__pills {
  margin-bottom: 0.75rem !important;
}

.rora-product__pill {
  font-family: var(--rora-rounded) !important;
  font-weight: 950 !important;
}

.single-product div.product.rora-product .summary > *:last-child {
  margin-bottom: 0 !important;
}

.rora-product__rating,
.rora-product__features {
  border-bottom-color: rgba(112,72,241,0.09) !important;
}

.rora-product__features {
  gap: 0.58rem !important;
}

.rora-product__feature {
  background: rgba(255,255,255,0.68);
  border: 1px solid rgba(74,59,82,0.055);
  border-radius: var(--rora-radius-lg);
  padding: 0.56rem 0.62rem;
}

.single-product div.product.rora-product table.variations {
  margin: 0 0 0.7rem !important;
  width: 100% !important;
}

.single-product div.product.rora-product table.variations tbody,
.single-product div.product.rora-product table.variations tr,
.single-product div.product.rora-product table.variations th,
.single-product div.product.rora-product table.variations td {
  display: block !important;
  padding: 0 !important;
  text-align: left !important;
  width: 100% !important;
}

.single-product div.product.rora-product table.variations tr + tr {
  margin-top: 0.66rem !important;
}

.single-product div.product.rora-product table.variations label,
.single-product div.product.rora-product .variations .label label {
  color: #080849 !important;
  display: inline-flex !important;
  font-family: var(--rora-rounded) !important;
  font-size: 0.86rem !important;
  font-weight: 950 !important;
  margin: 0 0 0.32rem !important;
}

.single-product div.product.rora-product .reset_variations {
  color: #7048f1 !important;
  display: inline-flex !important;
  font-family: var(--rora-rounded) !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
  margin-top: 0.5rem !important;
}

.single-product div.product.rora-product .woocommerce-variation,
.single-product div.product.rora-product .woocommerce-variation-price {
  margin: 0 0 0.75rem !important;
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button:hover {
  background: #5f3fd5 !important;
  transform: translateY(-1px);
}

.rora-product__cod-cta.button {
  box-shadow: 0 14px 30px -22px rgba(137,99,25,0.78) !important;
}

.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products {
  margin-top: clamp(1rem, 2.4vw, 1.6rem) !important;
  padding: clamp(0.9rem, 2vw, 1.25rem) !important;
}

.single-product .woocommerce-tabs .panel {
  background: rgba(255,255,255,0.58);
  border-radius: var(--rora-radius-xl);
  color: var(--rora-soft-ink);
  margin-top: 0.8rem !important;
  padding: clamp(0.9rem, 2vw, 1.25rem) !important;
}

.single-product .woocommerce-tabs h2,
.single-product .related.products > h2,
.single-product .upsells.products > h2 {
  color: #080849 !important;
  font-family: var(--rora-rounded) !important;
  font-size: clamp(1.1rem, 1.7vw, 1.45rem) !important;
  font-weight: 1000 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.05 !important;
}

.single-product .related.products ul.products,
.single-product .upsells.products ul.products {
  margin-bottom: 0 !important;
}

@media (max-width: 900px) {
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
    min-height: clamp(260px, 72vw, 430px);
  }
}

@media (max-width: 640px) {
  .single-product div.product.rora-product {
    border-radius: 22px !important;
    padding: 0.72rem !important;
  }

  .rora-product__gallery-wrap,
  .rora-product__summary,
  .single-product .woocommerce-tabs,
  .single-product .related.products,
  .single-product .upsells.products {
    border-radius: 20px !important;
    padding: 0.74rem !important;
  }

  .single-product .product .product_title,
  .single-product div.product.rora-product .product_title {
    font-size: clamp(1.45rem, 9vw, 2.1rem) !important;
  }

  .rora-product__price {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .rora-product__price-now {
    font-size: clamp(1.75rem, 9vw, 2.25rem) !important;
  }

  .single-product div.product.rora-product .rora-qty-label {
    width: 100% !important;
  }

  .single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    width: 100% !important;
  }
}

/* Product detail quantity row correction — keep +/- buttons compact beside the input. */
.single-product div.product.rora-product form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: auto 44px minmax(82px, 104px) 44px minmax(180px, 1fr) !important;
}

.single-product div.product.rora-product form.cart .rora-qty-label,
.single-product div.product.rora-product form.cart .rora-qty-button,
.single-product div.product.rora-product form.cart .quantity,
.single-product div.product.rora-product form.cart .single_add_to_cart_button {
  align-self: center !important;
}

.single-product div.product.rora-product form.cart .rora-qty-button {
  background: #fff !important;
  border: 1px solid rgba(112,72,241,0.14) !important;
  border-radius: var(--rora-radius-pill) !important;
  box-shadow: none !important;
  color: #080849 !important;
  height: 50px !important;
  min-height: 50px !important;
  padding: 0 !important;
  width: 44px !important;
}

.single-product div.product.rora-product form.cart .rora-qty-button:hover {
  background: var(--rora-primary-soft) !important;
  color: #7048f1 !important;
  transform: none !important;
}

.single-product div.product.rora-product form.cart .quantity {
  width: 100% !important;
}

.single-product div.product.rora-product form.cart .single_add_to_cart_button {
  min-height: 50px !important;
  width: 100% !important;
}

@media (max-width: 640px) {
  .single-product div.product.rora-product form.cart:not(.variations_form),
  .single-product div.product.rora-product form.cart,
  .single-product div.product.rora-product form.variations_form.cart {
    display: grid !important;
    grid-template-columns: 1fr 44px minmax(82px, 1fr) 44px !important;
  }

  .single-product div.product.rora-product form.cart .rora-qty-label {
    grid-column: 1 / -1;
  }

  .single-product div.product.rora-product form.cart .single_add_to_cart_button {
    grid-column: 1 / -1;
  }
}

/* Product detail mobile overflow guard — keep the live single-product DOM inside the viewport. */
@media (max-width: 640px) {
  body.single-product,
  body.single-product .site,
  body.single-product .site-content,
  body.single-product .site-content > .col-full,
  body.single-product .site-main,
  .single-product div.product.rora-product,
  .single-product div.product.rora-product .rora-product__layout,
  .single-product div.product.rora-product .rora-product__gallery-wrap,
  .single-product div.product.rora-product .rora-product__summary,
  .single-product div.product.rora-product .woocommerce-tabs,
  .single-product div.product.rora-product .related.products,
  .single-product div.product.rora-product .upsells.products {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.single-product .site-content > .col-full,
  body.single-product .site-main {
    width: calc(100vw - 20px) !important;
  }

  .single-product div.product.rora-product {
    overflow: hidden !important;
  }

  .rora-product__crumbs ol,
  .rora-product__crumbs li,
  .rora-product__rating,
  .rora-product__feature,
  .rora-product__price,
  .single-product .product .product_title,
  .single-product div.product.rora-product .product_title {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .single-product .product .product_title,
  .single-product div.product.rora-product .product_title,
  .rora-product__rating strong,
  .rora-product__feature span {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .rora-product__rating {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  .single-product .woocommerce-product-gallery .flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Final responsive QA pass — prevent 390px homepage/header overflow after desktop mockup overrides. */
@media (max-width: 640px) {
  html:has(.rora-home.rh3),
  body:has(.rora-home.rh3) {
    overflow-x: clip;
  }

  body:has(.rora-home.rh3) .rora-welcome-strip,
  body:has(.rora-home.rh3) .rora-site-header,
  .rora-home.rh3 {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
    gap: 0.55rem;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    padding-left: 0.7rem;
    padding-right: 0.7rem;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo {
    height: 52px;
    max-width: 142px;
  }

  body:has(.rora-home.rh3) .rora-header-icons {
    gap: 0.42rem;
    min-width: 0;
  }

  body:has(.rora-home.rh3) .rora-header-icon {
    height: 28px;
    min-height: 28px;
    width: 28px;
  }

  body:has(.rora-home.rh3) .rora-header-icon svg {
    height: 22px;
    width: 22px;
  }

  body:has(.rora-home.rh3) .rora-header-icon--badge span {
    right: -0.2rem;
  }

  .rora-home.rh3 .rh3-section__inner,
  .rora-home.rh3 .rh3-deals__inner {
    box-sizing: border-box;
    max-width: 100%;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
  }

  .rora-home.rh3 .rh3-category-grid,
  .rora-home.rh3 .rh3-bs-grid,
  .rora-home.rh3 .rh3-deals__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Shop category/product browsing revamp — clear category rail + mobile chips. */
.rora-shop-layout {
  grid-template-columns: minmax(230px, 272px) minmax(0, 1fr);
}

.rora-shop-aside__group--categories {
  padding-bottom: 0.9rem;
}

.rora-shop-side-categories {
  display: flex !important;
  flex-direction: column;
  gap: 0.5rem !important;
  grid-template-columns: none !important;
}

.rora-shop-category-card--aside,
.rora-shop-category-card--aside:hover,
.rora-shop-category-card--aside.is-current {
  align-items: center;
  background: rgba(255, 255, 255, 0.78) !important;
  border: 1px solid rgba(74, 59, 82, 0.08) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  color: #080849;
  display: grid !important;
  gap: 0.18rem 0.72rem !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  min-height: 0 !important;
  padding: 0.62rem 0.68rem !important;
  text-align: left !important;
  text-decoration: none;
  transform: none !important;
}

.rora-shop-category-card--aside:hover {
  background: #fbf8ff !important;
  border-color: rgba(112, 72, 241, 0.18) !important;
}

.rora-shop-category-card--aside.is-current {
  background: linear-gradient(135deg, #7048f1, #8d6af6) !important;
  border-color: rgba(112, 72, 241, 0.44) !important;
  color: #fff !important;
  outline: 0 !important;
}

.rora-shop-category-card--aside .rora-shop-category-card__icon,
.rora-shop-category-card--aside span.rora-shop-category-card__icon {
  align-items: center;
  background: #f1eaff !important;
  background-image: none !important;
  border: 1px solid rgba(112, 72, 241, 0.1);
  border-radius: 14px !important;
  color: #7048f1;
  display: inline-flex;
  font-family: var(--rora-rounded);
  font-size: 0.76rem;
  font-weight: 1000;
  grid-row: 1 / span 2 !important;
  height: 42px;
  justify-content: center;
  min-height: 42px !important;
  text-transform: uppercase;
  width: 42px;
}

.rora-shop-category-card--aside.is-current .rora-shop-category-card__icon {
  background: rgba(255,255,255,0.2) !important;
  border-color: rgba(255,255,255,0.32);
  color: #fff;
}

.rora-shop-category-card--aside strong {
  color: inherit !important;
  font-size: 0.9rem !important;
  font-weight: 1000 !important;
  line-height: 1.12 !important;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rora-shop-category-card--aside small {
  color: rgba(8, 8, 73, 0.62) !important;
  font-size: 0.72rem !important;
  font-weight: 850 !important;
  line-height: 1.1;
}

.rora-shop-category-card--aside.is-current small {
  color: rgba(255,255,255,0.78) !important;
}

.rora-shop-toolbar {
  align-items: center;
  padding: 0.82rem 1rem;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  display: flex;
  flex-direction: column;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  flex: 1 1 auto;
}

.woocommerce-no-products-found,
.woocommerce .woocommerce-info {
  background: linear-gradient(135deg, rgba(255,255,255,0.94), rgba(248,242,255,0.92)) !important;
  border: 1px solid rgba(112, 72, 241, 0.12) !important;
  border-radius: var(--rora-radius-xl) !important;
  box-shadow: var(--rora-card-shadow) !important;
  color: #080849 !important;
  font-family: var(--rora-rounded);
  font-weight: 850;
}

@media (max-width: 900px) {
  .rora-shop-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .rora-shop-main { order: 2 !important; }
  .rora-shop-aside {
    order: 1 !important;
    position: static !important;
  }

  .rora-shop-aside__group--categories {
    padding-left: 0.78rem;
    padding-right: 0.78rem;
  }

  .rora-shop-side-categories {
    flex-direction: row;
    margin-left: -0.78rem;
    margin-right: -0.78rem;
    overflow-x: auto;
    padding: 0 0.78rem 0.18rem;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .rora-shop-side-categories::-webkit-scrollbar { display: none; }

  .rora-shop-category-card--aside,
  .rora-shop-category-card--aside:hover,
  .rora-shop-category-card--aside.is-current {
    flex: 0 0 auto;
    grid-template-columns: 34px minmax(82px, 1fr) !important;
    min-width: 164px !important;
    padding: 0.55rem 0.62rem !important;
    scroll-snap-align: start;
  }

  .rora-shop-category-card--aside .rora-shop-category-card__icon,
  .rora-shop-category-card--aside span.rora-shop-category-card__icon {
    border-radius: 12px !important;
    font-size: 0.68rem;
    height: 34px;
    min-height: 34px !important;
    width: 34px;
  }

  .rora-shop-category-card--aside strong {
    font-size: 0.82rem !important;
  }

  .rora-shop-aside__group:not(.rora-shop-aside__group--categories) {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }
}

@media (max-width: 640px) {
  .rora-shop-layout {
    padding-left: 0;
    padding-right: 0;
  }

  .rora-shop-toolbar {
    gap: 0.65rem;
  }

  .rora-shop-toolbar__count,
  .rora-shop-toolbar__sort,
  .rora-shop-toolbar select {
    width: 100%;
  }

  .rora-shop-price__inputs {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .rora-shop-price input,
  .rora-shop-price button {
    box-sizing: border-box;
    min-width: 0 !important;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products {
    box-sizing: border-box;
    gap: 0.72rem !important;
    grid-template-columns: 1fr !important;
    margin-left: -1.32rem !important;
    margin-right: -1.32rem !important;
    width: calc(100% + 2.64rem) !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    box-sizing: border-box;
    float: none !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: auto !important;
  }
}

@media (max-width: 430px) {
  .rora-shop-price__inputs {
    grid-template-columns: 1fr !important;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products {
    gap: 0.72rem !important;
    grid-template-columns: 1fr !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.76rem !important;
    line-height: 1.16 !important;
  }

  .woocommerce ul.products li.product .price {
    font-size: 0.86rem !important;
  }
}

/* Final navbar revamp overrides: keep header consistent on shop archives too. */
.rora-site-header .rora-header-row,
body.woocommerce-shop .rora-site-header .rora-header-row,
body.tax-product_cat .rora-site-header .rora-header-row,
body.tax-product_tag .rora-site-header .rora-header-row {
  grid-template-columns: 220px auto minmax(260px, 430px) auto;
}

.rora-header-icons,
body.woocommerce-shop .rora-site-header .rora-header-icons,
body.tax-product_cat .rora-site-header .rora-header-icons,
body.tax-product_tag .rora-site-header .rora-header-icons {
  grid-column: auto;
  grid-row: auto;
  width: auto;
}

@media (max-width: 1180px) {
  .rora-site-header .rora-header-row,
  body.woocommerce-shop .rora-site-header .rora-header-row,
  body.tax-product_cat .rora-site-header .rora-header-row,
  body.tax-product_tag .rora-site-header .rora-header-row {
    grid-template-columns: 190px auto minmax(240px, 1fr) auto;
  }
}

@media (max-width: 1024px) {
  .rora-site-header .rora-header-row,
  body.woocommerce-shop .rora-site-header .rora-header-row,
  body.tax-product_cat .rora-site-header .rora-header-row,
  body.tax-product_tag .rora-site-header .rora-header-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .rora-header-search-form {
    grid-column: 2;
    grid-row: 1;
  }

  .rora-header-icons,
  body.woocommerce-shop .rora-site-header .rora-header-icons,
  body.tax-product_cat .rora-site-header .rora-header-icons,
  body.tax-product_tag .rora-site-header .rora-header-icons {
    grid-column: 3;
    grid-row: 1;
  }
}

@media (max-width: 640px) {
  .rora-header-search-form {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .rora-site-header .rora-header-nav {
    grid-row: 3;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   RH3 TOPSIDE — match target reference (navbar + welcome strip + hero CTAs)
   ═══════════════════════════════════════════════════════════════════════ */

/* — Welcome strip: greeting centered, phone pinned right — */
body:has(.rora-home.rh3) .rora-welcome-strip {
  align-items: center;
  justify-content: center;
  position: relative;
}

body:has(.rora-home.rh3) .rora-welcome-strip__phone {
  align-items: center;
  color: #4f35dc;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 900;
  gap: 0.35rem;
  position: absolute;
  right: clamp(1rem, 2vw, 1.6rem);
  text-decoration: none;
  top: 50%;
  transform: translateY(-50%);
}

body:has(.rora-home.rh3) .rora-welcome-strip__phone svg { color: #7c5cf2; }
body:has(.rora-home.rh3) .rora-welcome-strip__phone:hover { color: #6842e7; }

/* — "Shop Categories": purple filled pill with grid glyph — */
body:has(.rora-home.rh3) .rora-category-menu__toggle {
  background: linear-gradient(180deg, #8458f7 0%, #6842e7 100%);
  border-color: transparent;
  box-shadow: 0 12px 26px -18px rgba(104, 66, 231, 0.75);
  color: #fff;
  font-weight: 900;
  gap: 0.5rem;
  min-height: 46px;
  padding: 0.6rem 1.2rem;
}

body:has(.rora-home.rh3) .rora-category-menu__toggle:hover,
body:has(.rora-home.rh3) .rora-category-menu:hover .rora-category-menu__toggle,
body:has(.rora-home.rh3) .rora-category-menu.is-open .rora-category-menu__toggle,
body:has(.rora-home.rh3) .rora-category-menu:focus-within .rora-category-menu__toggle {
  background: linear-gradient(180deg, #7a4cf0 0%, #5d39d8 100%);
  border-color: transparent;
  color: #fff;
}

/* Only the chevron rotates on open — the grid glyph stays put. */
body:has(.rora-home.rh3) .rora-category-menu__grid { transform: none !important; }

/* — "Best Sellers" plain link (sits between categories pill and Sale) — */
body:has(.rora-home.rh3) .rora-nav-link a {
  color: #080849;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.92rem;
  font-weight: 900;
}

/* — "Sale" yellow pill with sparkle — */
body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a {
  background: #ffd529;
  gap: 0.34rem;
  padding: 0.6rem 1.1rem;
}
body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a svg { color: #151035; }

/* — Account / Cart: glyph stacked above a label — */
body:has(.rora-home.rh3) .rora-header-icons { gap: clamp(1.1rem, 1.8vw, 1.7rem); }

body:has(.rora-home.rh3) .rora-header-icon.rora-header-account,
body:has(.rora-home.rh3) .rora-header-icon.rora-header-cart {
  background: none !important;
  border-radius: 0;
  color: #080849 !important;
  flex-direction: column;
  gap: 0.16rem;
  height: auto;
  width: auto;
}

body:has(.rora-home.rh3) .rora-header-cart .rora-header-icon__glyph,
body:has(.rora-home.rh3) .rora-header-icon__glyph {
  align-items: center;
  background: none !important;
  border-radius: 0 !important;
  color: #080849 !important;
  display: inline-flex;
  height: 28px;
  justify-content: center;
  position: relative;
}

body:has(.rora-home.rh3) .rora-header-icon__glyph svg { height: 24px; width: 24px; }

body:has(.rora-home.rh3) .rora-header-cart .rora-header-icon__label,
body:has(.rora-home.rh3) .rora-header-icon__label {
  background: none !important;
  border-radius: 0 !important;
  color: #2b2350 !important;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1;
  padding: 0 !important;
  position: static !important;
}

body:has(.rora-home.rh3) .rora-header-icon:hover .rora-header-icon__glyph,
body:has(.rora-home.rh3) .rora-header-icon:hover .rora-header-icon__label { color: #6842e7; }

/* Cart count badge — red, pinned to the top-right of the glyph. */
body:has(.rora-home.rh3) .rora-header-cart .rora-header-cart__count {
  align-items: center;
  background: #ff4d6d;
  border-radius: 999px;
  box-sizing: border-box;
  color: #fff;
  display: inline-flex;
  font-size: 0.62rem;
  font-weight: 900;
  height: 17px;
  justify-content: center;
  line-height: 1;
  min-width: 17px;
  padding: 0 0.28rem;
  position: absolute;
  right: -9px;
  top: -7px;
}

/* — Hero CTAs: Messenger (purple) + Whatsapp (green) — */
.rora-home.rh3 .rh3-btn--messenger {
  background: linear-gradient(180deg, #8458f7 0%, #6842e7 100%);
  box-shadow: 0 14px 28px -16px rgba(104, 66, 231, 0.7);
  color: #fff;
  min-height: 56px;
  padding: 0.85rem 1.7rem;
}
.rora-home.rh3 .rh3-btn--messenger:hover {
  background: linear-gradient(180deg, #7a4cf0 0%, #5d39d8 100%);
  color: #fff;
  transform: translateY(-2px);
}

.rora-home.rh3 .rh3-btn--whatsapp {
  background: linear-gradient(180deg, #41d15a 0%, #1faf43 100%);
  box-shadow: 0 14px 28px -16px rgba(31, 175, 67, 0.6);
  color: #fff;
  min-height: 56px;
  padding: 0.85rem 1.7rem;
}
.rora-home.rh3 .rh3-btn--whatsapp:hover {
  background: linear-gradient(180deg, #36c44f 0%, #189a3a 100%);
  color: #fff;
  transform: translateY(-2px);
}

/* — Category dropdown: per-item color accent matching homepage card schemes — */
.rora-site-header .rora-category-menu__dropdown a.rora-category-menu__all {
  align-items: center;
  background: linear-gradient(180deg, #f4efff 0%, #efe8ff 100%);
  border: 1px solid rgba(112, 72, 241, 0.16);
  box-shadow: inset 0 -1px 0 rgba(112, 72, 241, 0.08);
  color: #080849;
  font-weight: 1000;
  gap: 0.7rem;
  justify-content: space-between;
  margin-bottom: 0.22rem;
  padding: 0.78rem 0.86rem 0.78rem 1rem;
}

.rora-site-header .rora-category-menu__dropdown a.rora-category-menu__all:hover,
.rora-site-header .rora-category-menu__dropdown a.rora-category-menu__all:focus-visible {
  background: linear-gradient(180deg, #8458f7 0%, #6842e7 100%);
  border-color: transparent;
  box-shadow: 0 14px 28px -18px rgba(104, 66, 231, 0.8);
  color: #fff !important;
}

.rora-site-header .rora-category-menu__dropdown a.rora-category-menu__link {
  align-items: center;
  border-left: 3px solid transparent;
  gap: 0.6rem;
  justify-content: flex-start;
  padding-left: 0.66rem;
  transition: background 0.16s var(--rora-ease), color 0.16s var(--rora-ease), border-color 0.16s var(--rora-ease);
}

.rora-category-menu__dot {
  background: var(--cat-accent, #7256e8);
  border-radius: 50%;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cat-accent, #7256e8) 18%, transparent);
  flex: 0 0 auto;
  height: 9px;
  width: 9px;
}

.rora-site-header .rora-category-menu__dropdown a.rora-category-menu__link:hover,
.rora-site-header .rora-category-menu__dropdown a.rora-category-menu__link:focus-visible {
  background: color-mix(in srgb, var(--cat-accent, #7256e8) 11%, #fff);
  border-left-color: var(--cat-accent, #7256e8);
  color: color-mix(in srgb, var(--cat-accent, #7256e8) 78%, #1f1a4a);
}

/* ==========================================================================
   Shared homepage shell - navbar and collection pages
   ========================================================================== */

body,
#page,
.site-content {
  background:
    radial-gradient(circle at 12% 4%, rgba(255, 255, 255, 0.42) 0 15rem, transparent 16rem),
    linear-gradient(180deg, #efe8ff 0%, #f8f4ff 52%, #ffffff 100%);
}

.rora-welcome-strip {
  align-items: center;
  animation: none !important;
  background: linear-gradient(90deg, #e5d7ff 0%, #f6efff 52%, #eadfff 100%);
  background-position: center;
  background-size: 100% 100%;
  border-radius: 18px 18px 0 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.55);
  color: #3e2f70;
  display: flex;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.79rem;
  font-weight: 800;
  justify-content: center;
  margin: 0 auto;
  max-width: min(1220px, calc(100vw - 80px));
  min-height: 28px;
  padding: 0.34rem 1rem 0.3rem;
  position: relative;
  text-align: center;
  z-index: 2;
}

.rora-welcome-strip__greeting svg { color: #7c5cf2; }
.rora-welcome-strip__meta { display: none; }

.rora-welcome-strip__phone {
  align-items: center;
  color: #4f35dc;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 900;
  gap: 0.35rem;
  position: absolute;
  right: clamp(1rem, 2vw, 1.6rem);
  text-decoration: none;
  top: 50%;
  transform: translateY(-50%);
}

.rora-welcome-strip__phone svg { color: #7c5cf2; }
.rora-welcome-strip__phone:hover { color: #6842e7; }

.rora-site-header {
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 0 auto;
  max-width: min(1268px, calc(100vw - 40px));
  position: relative;
  top: auto;
  z-index: 3;
}

.rora-site-header .rora-header-row {
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(126, 93, 224, 0.08);
  border-radius: 22px 22px 0 0;
  box-shadow: 0 18px 46px -34px rgba(40, 23, 84, 0.38);
  display: grid !important;
  gap: clamp(0.75rem, 1.35vw, 1.25rem);
  grid-template-columns: minmax(150px, 190px) auto minmax(260px, 1fr) auto;
  min-height: 82px;
  padding: 0.58rem clamp(1.1rem, 2.3vw, 2rem);
}

.rora-site-header .rora-brand__logo {
  height: 66px;
  max-width: 188px;
  width: auto;
}

.rora-site-header .rora-header-nav__menu {
  gap: clamp(1.2rem, 2.35vw, 2.6rem);
  justify-content: center;
}

.rora-site-header .rora-header-nav__menu a,
.rora-nav-link a {
  color: #080849;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.92rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.rora-category-menu__toggle {
  background: linear-gradient(180deg, #8458f7 0%, #6842e7 100%);
  border-color: transparent;
  box-shadow: 0 12px 26px -18px rgba(104, 66, 231, 0.75);
  color: #fff;
  font-weight: 900;
  gap: 0.5rem;
  min-height: 46px;
  padding: 0.6rem 1.2rem;
}

.rora-category-menu__toggle:hover,
.rora-category-menu:hover .rora-category-menu__toggle,
.rora-category-menu.is-open .rora-category-menu__toggle,
.rora-category-menu:focus-within .rora-category-menu__toggle {
  background: linear-gradient(180deg, #7a4cf0 0%, #5d39d8 100%);
  border-color: transparent;
  color: #fff;
}

.rora-category-menu__grid { transform: none !important; }

.rora-site-header .rora-nav-pill a {
  align-items: center;
  background: #ffd529;
  border: 0;
  border-radius: 999px;
  color: #151035;
  display: inline-flex;
  font-weight: 1000;
  gap: 0.34rem;
  letter-spacing: 0.02em;
  line-height: 1;
  padding: 0.6rem 1.1rem;
}

.rora-site-header .rora-nav-pill a:hover {
  background: #ffca00;
  color: #151035;
}

.rora-site-header .rora-nav-pill a svg { color: #151035; }

.rora-header-icons {
  gap: clamp(1.1rem, 1.8vw, 1.7rem);
  justify-self: end;
  width: auto;
}

.rora-header-icon.rora-header-account,
.rora-header-icon.rora-header-cart,
.rora-site-header .rora-header-icon.rora-header-account,
.rora-site-header .rora-header-icon.rora-header-cart {
  background: none !important;
  border: 0 !important;
  border-color: transparent !important;
  border-radius: 0;
  color: #080849 !important;
  flex-direction: column;
  gap: 0.16rem;
  height: auto;
  width: auto;
}

.rora-header-cart .rora-header-icon__glyph,
.rora-header-icon__glyph {
  align-items: center;
  background: none !important;
  border-radius: 0 !important;
  color: #080849 !important;
  display: inline-flex;
  height: 28px;
  justify-content: center;
  position: relative;
}

.rora-header-icon__glyph svg {
  height: 24px;
  width: 24px;
}

.rora-header-cart .rora-header-icon__label,
.rora-header-icon__label {
  background: none !important;
  border-radius: 0 !important;
  color: #2b2350 !important;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1;
  padding: 0 !important;
  position: static !important;
}

.rora-header-icon:hover .rora-header-icon__glyph,
.rora-header-icon:hover .rora-header-icon__label { color: #6842e7; }

.rora-header-cart .rora-header-cart__count {
  align-items: center;
  background: #ff4d6d;
  border-radius: 999px;
  box-sizing: border-box;
  color: #fff;
  display: inline-flex;
  font-size: 0.62rem;
  font-weight: 900;
  height: 17px;
  justify-content: center;
  line-height: 1;
  min-width: 17px;
  padding: 0 0.28rem;
  position: absolute;
  right: -9px;
  top: -7px;
}

body:has(.rora-collection-page) .site-content > .col-full {
  max-width: none;
  padding: 0;
}

.rora-collection-page {
  background: #fff;
  border-radius: 0 0 24px 24px;
  box-shadow: 0 24px 70px -54px rgba(42, 24, 88, 0.4);
  margin: 0 auto 2rem;
  max-width: min(1268px, calc(100vw - 40px));
  overflow: hidden;
  padding: clamp(1rem, 2.4vw, 1.6rem) clamp(1rem, 2.2vw, 1.6rem) clamp(2.5rem, 5vw, 4.5rem);
}

.rora-collection-hero {
  background:
    radial-gradient(circle at 14% 14%, rgba(255, 255, 255, 0.66) 0 12rem, transparent 13rem),
    linear-gradient(135deg, #efe8ff 0%, #fff8df 54%, #fff 100%);
  border-color: rgba(126, 93, 224, 0.1);
  border-radius: 22px;
  box-shadow: 0 22px 58px -42px rgba(42, 24, 88, 0.42);
}

.rora-collection-page--offers,
.rora-collection-page--best-sellers,
.rora-collection-page--new-arrivals {
  --collection-accent: #7048f1;
}

.rora-collection-feature,
.rora-collection-card,
.rora-collection-assist,
.rora-collection-chips a {
  border-color: rgba(126, 93, 224, 0.09);
}

.rora-collection-card__media {
  background:
    radial-gradient(circle at 78% 22%, rgba(255, 213, 41, 0.18) 0 19%, transparent 20%),
    linear-gradient(180deg, #fff, #fbf8ff);
}

@media (max-width: 1024px) {
  .rora-site-header .rora-header-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .rora-site-header .rora-header-nav {
    padding: 0.5rem;
  }

  .rora-site-header .rora-header-nav__menu {
    gap: 0.45rem;
  }

  .rora-category-menu__toggle {
    border-radius: 13px;
    justify-content: flex-start;
    min-height: 50px;
    width: 100%;
  }

  .rora-category-menu__chevron {
    margin-left: auto;
  }

  .rora-nav-link a {
    align-items: center;
    background: #f6f2ff;
    border-radius: 13px;
    color: #1f1640;
    display: flex;
    min-height: 50px;
    padding: 0.6rem 1.05rem;
    width: 100%;
  }

  .rora-nav-link a:hover {
    background: #ece4ff;
    color: #4f35dc;
  }

  .rora-site-header .rora-nav-pill a {
    border-radius: 13px;
    gap: 0.5rem;
    justify-content: flex-start;
    min-height: 50px;
    padding: 0.6rem 1.05rem;
    width: 100%;
  }

  .rora-category-menu__dropdown {
    background: #faf8ff;
    border-radius: 12px;
    margin-top: 0.45rem;
    padding: 0.35rem;
  }

  .rora-welcome-strip .rora-welcome-strip__phone {
    display: none;
  }
}

@media (min-width: 641px) and (max-width: 1024px) {
  .rora-header-icons {
    align-items: center;
    gap: clamp(0.9rem, 2vw, 1.25rem);
  }

  .rora-header-icon.rora-header-account,
  .rora-header-icon.rora-header-cart,
  .rora-site-header .rora-header-icon.rora-header-account,
  .rora-site-header .rora-header-icon.rora-header-cart {
    align-items: center;
    flex-direction: row;
    gap: 0.38rem;
    min-height: 32px;
  }

  .rora-header-cart .rora-header-icon__glyph,
  .rora-header-icon__glyph {
    height: 24px;
  }

  .rora-header-cart .rora-header-icon__label,
  .rora-header-icon__label {
    line-height: 1;
  }
}

@media (max-width: 640px) {
  html,
  body {
    overflow-x: clip;
  }

  .rora-welcome-strip {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
  }

  .rora-site-header,
  .rora-collection-page {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
  }

  .rora-site-header .rora-header-row {
    gap: 0.55rem;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    padding-left: 0.7rem;
    padding-right: 0.7rem;
  }

  .rora-site-header .rora-brand__logo {
    height: 52px;
    max-width: 142px;
  }

  .rora-header-search-form {
    display: none;
  }

  .rora-header-icons {
    gap: 0.42rem;
    grid-column: 2;
    min-width: 0;
  }

  .rora-header-icon {
    height: 28px;
    min-height: 28px;
    width: 28px;
  }

  .rora-header-icon svg {
    height: 22px;
    width: 22px;
  }

  .rora-header-icon--badge span {
    right: -0.2rem;
  }

  .rora-collection-page {
    margin-bottom: 0;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
  }
}

/* Keep header action glyphs and labels on the same visual centerline. */
.rora-header-icons {
  align-items: center;
}

.rora-header-icon.rora-header-account,
.rora-header-icon.rora-header-cart,
.rora-site-header .rora-header-icon.rora-header-account,
.rora-site-header .rora-header-icon.rora-header-cart {
  align-items: center;
  flex-direction: row;
  gap: 0.38rem;
  justify-content: center;
  min-height: 32px;
}

.rora-header-cart .rora-header-icon__glyph,
.rora-header-icon__glyph {
  align-items: center;
  display: inline-flex;
  height: 24px;
  justify-content: center;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
}

.rora-header-cart .rora-header-icon__label,
.rora-header-icon__label {
  align-items: center;
  display: inline-flex;
  left: auto !important;
  line-height: 1;
  position: static !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
}

.rora-header-cart .rora-header-icon__glyph {
  position: relative !important;
}

.rora-header-cart .rora-header-cart__count {
  position: absolute !important;
  right: -9px !important;
  top: -7px !important;
}

.rora-site-header .rora-header-icon.rora-header-account:hover,
.rora-site-header .rora-header-icon.rora-header-account:focus-visible,
.rora-site-header .rora-header-icon.rora-header-cart:hover,
.rora-site-header .rora-header-icon.rora-header-cart:focus,
.rora-site-header .rora-header-icon.rora-header-cart:focus-visible,
.rora-site-header .rora-header-icon.rora-header-cart:active {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: #6842e7 !important;
  transform: none !important;
}

.rora-site-header .rora-header-icon.rora-header-account:hover .rora-header-icon__glyph,
.rora-site-header .rora-header-icon.rora-header-account:hover .rora-header-icon__label,
.rora-site-header .rora-header-icon.rora-header-account:focus-visible .rora-header-icon__glyph,
.rora-site-header .rora-header-icon.rora-header-account:focus-visible .rora-header-icon__label,
.rora-site-header .rora-header-icon.rora-header-cart:hover .rora-header-icon__glyph,
.rora-site-header .rora-header-icon.rora-header-cart:hover .rora-header-icon__label,
.rora-site-header .rora-header-icon.rora-header-cart:focus .rora-header-icon__glyph,
.rora-site-header .rora-header-icon.rora-header-cart:focus .rora-header-icon__label,
.rora-site-header .rora-header-icon.rora-header-cart:focus-visible .rora-header-icon__glyph,
.rora-site-header .rora-header-icon.rora-header-cart:focus-visible .rora-header-icon__label,
.rora-site-header .rora-header-icon.rora-header-cart:active .rora-header-icon__glyph,
.rora-site-header .rora-header-icon.rora-header-cart:active .rora-header-icon__label {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #6842e7 !important;
}

.rora-site-header .rora-header-icon.rora-header-cart .rora-header-icon__glyph,
.rora-site-header .rora-header-icon.rora-header-cart .rora-header-icon__label {
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Shop archives use the same navbar shell as the homepage and collection pages. */
body.woocommerce-shop .rora-welcome-strip,
body.tax-product_cat .rora-welcome-strip,
body.tax-product_tag .rora-welcome-strip,
body.post-type-archive-product .rora-welcome-strip {
  display: flex !important;
}

body.woocommerce-shop .rora-site-header,
body.tax-product_cat .rora-site-header,
body.tax-product_tag .rora-site-header,
body.post-type-archive-product .rora-site-header {
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 0 auto;
  max-width: min(1268px, calc(100vw - 40px));
}

body.woocommerce-shop .rora-site-header .rora-header-row,
body.tax-product_cat .rora-site-header .rora-header-row,
body.tax-product_tag .rora-site-header .rora-header-row,
body.post-type-archive-product .rora-site-header .rora-header-row {
  border-radius: 22px 22px 0 0;
  gap: clamp(0.75rem, 1.35vw, 1.25rem);
  grid-template-columns: minmax(150px, 190px) auto minmax(260px, 1fr) auto;
  max-width: none;
  min-height: 82px;
  padding: 0.58rem clamp(1.1rem, 2.3vw, 2rem);
}

body.woocommerce-shop .rora-site-header .rora-brand__logo,
body.tax-product_cat .rora-site-header .rora-brand__logo,
body.tax-product_tag .rora-site-header .rora-brand__logo,
body.post-type-archive-product .rora-site-header .rora-brand__logo {
  height: 66px;
  max-width: 188px;
  width: auto;
}

body.woocommerce-shop .rora-site-header .rora-header-nav__menu,
body.tax-product_cat .rora-site-header .rora-header-nav__menu,
body.tax-product_tag .rora-site-header .rora-header-nav__menu,
body.post-type-archive-product .rora-site-header .rora-header-nav__menu {
  gap: clamp(1.2rem, 2.35vw, 2.6rem);
}

body.woocommerce-shop .rora-site-header .rora-header-icons,
body.tax-product_cat .rora-site-header .rora-header-icons,
body.tax-product_tag .rora-site-header .rora-header-icons,
body.post-type-archive-product .rora-site-header .rora-header-icons {
  gap: clamp(1.1rem, 1.8vw, 1.7rem);
  grid-column: auto;
  grid-row: auto;
  justify-self: end;
  width: auto;
}

@media (max-width: 1180px) {
  body.woocommerce-shop .rora-site-header .rora-header-row,
  body.tax-product_cat .rora-site-header .rora-header-row,
  body.tax-product_tag .rora-site-header .rora-header-row,
  body.post-type-archive-product .rora-site-header .rora-header-row {
    grid-template-columns: minmax(150px, 190px) auto minmax(240px, 1fr) auto;
  }
}

@media (max-width: 1024px) {
  body.woocommerce-shop .rora-site-header .rora-header-row,
  body.tax-product_cat .rora-site-header .rora-header-row,
  body.tax-product_tag .rora-site-header .rora-header-row,
  body.post-type-archive-product .rora-site-header .rora-header-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  body.woocommerce-shop .rora-site-header .rora-header-icons,
  body.tax-product_cat .rora-site-header .rora-header-icons,
  body.tax-product_tag .rora-site-header .rora-header-icons,
  body.post-type-archive-product .rora-site-header .rora-header-icons {
    grid-column: 3;
    grid-row: 1;
  }
}

@media (max-width: 640px) {
  body.woocommerce-shop .rora-site-header,
  body.tax-product_cat .rora-site-header,
  body.tax-product_tag .rora-site-header,
  body.post-type-archive-product .rora-site-header {
    max-width: 100%;
    width: 100%;
  }

  body.woocommerce-shop .rora-site-header .rora-header-row,
  body.tax-product_cat .rora-site-header .rora-header-row,
  body.tax-product_tag .rora-site-header .rora-header-row,
  body.post-type-archive-product .rora-site-header .rora-header-row {
    gap: 0.55rem;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    min-height: 82px;
    padding: 0.58rem 0.7rem;
  }

  body.woocommerce-shop .rora-site-header .rora-brand__logo,
  body.tax-product_cat .rora-site-header .rora-brand__logo,
  body.tax-product_tag .rora-site-header .rora-brand__logo,
  body.post-type-archive-product .rora-site-header .rora-brand__logo {
    height: 52px;
    max-width: 142px;
  }

  body.woocommerce-shop .rora-site-header .rora-header-icons,
  body.tax-product_cat .rora-site-header .rora-header-icons,
  body.tax-product_tag .rora-site-header .rora-header-icons,
  body.post-type-archive-product .rora-site-header .rora-header-icons {
    gap: 0.42rem;
    grid-column: 2;
    min-width: 0;
  }
}

/* Reference-style shop landing: pastel hero, category tiles, compact product browsing. */
body.woocommerce-shop .site-content > .col-full,
body.tax-product_cat .site-content > .col-full,
body.tax-product_tag .site-content > .col-full,
body.post-type-archive-product .site-content > .col-full {
  max-width: min(1268px, calc(100vw - 40px));
  padding-top: clamp(1rem, 2vw, 1.45rem);
}

.rora-shop-landing {
  display: grid;
  gap: clamp(0.85rem, 1.5vw, 1.1rem);
  margin: 0 auto clamp(1rem, 2vw, 1.35rem);
}

.rora-shop-landing__hero {
  background:
    radial-gradient(circle at 87% 17%, rgba(255, 213, 41, 0.22) 0 4rem, transparent 4.2rem),
    radial-gradient(circle at 58% 72%, rgba(83, 211, 188, 0.16) 0 10rem, transparent 10.5rem),
    linear-gradient(105deg, #fff 0%, #fff8fc 42%, #f0e6ff 100%);
  border: 1px solid rgba(126, 93, 224, 0.1);
  border-radius: 28px;
  box-shadow: 0 28px 74px -56px rgba(42, 24, 88, 0.5);
  display: grid;
  gap: clamp(1rem, 2.5vw, 2rem);
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
  min-height: clamp(360px, 38vw, 465px);
  overflow: hidden;
  position: relative;
}

.rora-shop-landing__copy {
  align-content: center;
  display: grid;
  justify-items: start;
  padding: clamp(1.65rem, 4.6vw, 3.2rem);
  position: relative;
  z-index: 2;
}

.rora-shop-landing__eyebrow {
  background: #fff3cf;
  border: 1px solid rgba(245, 180, 0, 0.16);
  border-radius: 999px;
  color: #7b54ee;
  display: inline-flex;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 1000;
  letter-spacing: 0.06em;
  margin-bottom: 0.9rem;
  padding: 0.42rem 0.78rem;
  text-transform: uppercase;
}

.rora-shop-landing h1 {
  color: #080849;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: clamp(2.75rem, 5.35vw, 5.25rem);
  font-weight: 1000;
  letter-spacing: 0;
  line-height: 0.95;
  margin: 0 0 0.88rem;
}

.rora-shop-landing h1 span {
  color: #f64f87;
}

.rora-shop-landing__copy p {
  color: #33265c;
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  font-weight: 650;
  line-height: 1.56;
  margin: 0;
  max-width: 34rem;
}

.rora-shop-landing__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.35rem;
}

.rora-shop-landing__ghost {
  background: #fff !important;
  border: 1px solid rgba(112, 72, 241, 0.18) !important;
  box-shadow: 0 14px 30px -24px rgba(40, 23, 84, 0.48);
  color: #4f35dc !important;
}

.rora-shop-landing__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 1.45rem;
}

.rora-shop-landing__stats span {
  align-items: center;
  display: grid;
  gap: 0.02rem;
  grid-template-columns: auto;
}

.rora-shop-landing__stats strong {
  color: #080849;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 1000;
  line-height: 1;
}

.rora-shop-landing__stats small {
  color: #6d6489;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.16;
}

.rora-shop-landing__visual {
  align-items: end;
  display: flex;
  justify-content: center;
  min-height: 100%;
  overflow: hidden;
  position: relative;
}

.rora-shop-landing__orb {
  background:
    radial-gradient(circle at 25% 26%, rgba(255,255,255,0.8) 0 4rem, transparent 4.2rem),
    linear-gradient(135deg, rgba(255, 220, 234, 0.9), rgba(228, 215, 255, 0.9));
  border-radius: 50% 50% 0 0;
  bottom: 0;
  height: 86%;
  position: absolute;
  right: clamp(1rem, 5vw, 4rem);
  width: min(520px, 86%);
}

.rora-shop-landing__product {
  align-items: center;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(255,255,255,0.7);
  border-radius: 26px;
  box-shadow: 0 24px 54px -38px rgba(42, 24, 88, 0.58);
  display: flex;
  justify-content: center;
  margin: 0;
  padding: clamp(0.55rem, 1.1vw, 0.85rem);
  position: absolute;
  z-index: 2;
}

.rora-shop-landing__product img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.rora-shop-landing__product--1 {
  bottom: 3%;
  height: min(78%, 360px);
  right: 18%;
  width: min(43%, 250px);
  z-index: 4;
}

.rora-shop-landing__product--2 {
  bottom: 8%;
  height: min(58%, 270px);
  right: 4%;
  width: min(35%, 200px);
  z-index: 3;
}

.rora-shop-landing__product--3 {
  bottom: 10%;
  height: min(46%, 220px);
  right: 49%;
  width: min(32%, 190px);
  z-index: 2;
}

.rora-shop-landing__fallback {
  bottom: 0;
  max-height: 82%;
  max-width: 64%;
  object-fit: contain;
  position: absolute;
  right: 13%;
  z-index: 3;
}

.rora-shop-landing__count {
  align-items: center;
  background: #21b872;
  border: 5px solid rgba(255,255,255,0.85);
  border-radius: 999px;
  box-shadow: 0 18px 38px -26px rgba(31, 26, 74, 0.48);
  color: #fff;
  display: inline-flex;
  flex-direction: column;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  height: 102px;
  justify-content: center;
  left: 8%;
  position: absolute;
  top: 18%;
  width: 102px;
  z-index: 5;
}

.rora-shop-landing__count strong {
  font-size: 1.75rem;
  font-weight: 1000;
  line-height: 1;
}

.rora-shop-landing__count small {
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
}

.rora-shop-landing__categories {
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(126, 93, 224, 0.08);
  border-radius: 24px;
  box-shadow: 0 22px 56px -46px rgba(42, 24, 88, 0.4);
  display: grid;
  gap: clamp(0.7rem, 1.2vw, 0.95rem);
  grid-template-columns: repeat(6, minmax(0, 1fr));
  padding: clamp(0.7rem, 1.3vw, 0.95rem);
}

.rora-shop-landing__category {
  background: var(--cat-tone, #f6efff);
  border: 1px solid rgba(31, 26, 74, 0.07);
  border-radius: 18px;
  color: #080849;
  display: grid;
  gap: 0.45rem;
  min-height: 170px;
  padding: 0.65rem;
  text-align: center;
  text-decoration: none;
  transition: border-color 0.18s var(--rora-ease), box-shadow 0.18s var(--rora-ease), transform 0.18s var(--rora-ease);
}

.rora-shop-landing__category:hover,
.rora-shop-landing__category.is-current {
  border-color: rgba(112, 72, 241, 0.22);
  box-shadow: 0 18px 38px -30px rgba(31, 26, 74, 0.42);
  color: #080849;
  transform: translateY(-2px);
}

.rora-shop-landing__category span {
  background-color: rgba(255,255,255,0.48);
  background-image: var(--cat-img);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 14px;
  min-height: 92px;
}

.rora-shop-landing__category strong {
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.9rem;
  font-weight: 1000;
  line-height: 1.1;
}

.rora-shop-landing__category small {
  color: #6d6489;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.15;
}

body.woocommerce-shop .rora-shop-layout,
body.tax-product_cat .rora-shop-layout,
body.tax-product_tag .rora-shop-layout,
body.post-type-archive-product .rora-shop-layout {
  gap: clamp(1.05rem, 2.1vw, 1.55rem);
  margin-top: 0;
  padding: 0 0 clamp(2.5rem, 5vw, 4rem);
}

body.woocommerce-shop .rora-shop-aside,
body.tax-product_cat .rora-shop-aside,
body.tax-product_tag .rora-shop-aside,
body.post-type-archive-product .rora-shop-aside,
body.woocommerce-shop .rora-shop-toolbar,
body.tax-product_cat .rora-shop-toolbar,
body.tax-product_tag .rora-shop-toolbar,
body.post-type-archive-product .rora-shop-toolbar,
body.woocommerce-shop.woocommerce ul.products li.product,
body.tax-product_cat.woocommerce ul.products li.product,
body.tax-product_tag.woocommerce ul.products li.product,
body.post-type-archive-product.woocommerce ul.products li.product {
  border-color: rgba(126, 93, 224, 0.08);
  box-shadow: 0 22px 56px -46px rgba(42, 24, 88, 0.45);
}

body.woocommerce-shop .rora-shop-aside,
body.tax-product_cat .rora-shop-aside,
body.tax-product_tag .rora-shop-aside,
body.post-type-archive-product .rora-shop-aside {
  background: rgba(255,255,255,0.9);
  border-radius: 24px;
  top: 1rem;
}

body.woocommerce-shop .rora-shop-toolbar,
body.tax-product_cat .rora-shop-toolbar,
body.tax-product_tag .rora-shop-toolbar,
body.post-type-archive-product .rora-shop-toolbar {
  background: rgba(255,255,255,0.9);
  border-radius: 24px;
  min-height: 74px;
}

body.woocommerce-shop.woocommerce ul.products,
body.tax-product_cat.woocommerce ul.products,
body.tax-product_tag.woocommerce ul.products,
body.post-type-archive-product.woocommerce ul.products {
  gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
}

body.woocommerce-shop.woocommerce ul.products li.product,
body.tax-product_cat.woocommerce ul.products li.product,
body.tax-product_tag.woocommerce ul.products li.product,
body.post-type-archive-product.woocommerce ul.products li.product {
  background: rgba(255,255,255,0.94);
  border-radius: 22px;
  padding-bottom: 0.9rem !important;
}

body.woocommerce-shop.woocommerce ul.products li.product img,
body.tax-product_cat.woocommerce ul.products li.product img,
body.tax-product_tag.woocommerce ul.products li.product img,
body.post-type-archive-product.woocommerce ul.products li.product img {
  aspect-ratio: 1 / 1;
  background: linear-gradient(180deg, #fff, #f8f3ff);
  border-radius: 18px;
  object-fit: cover;
  padding: 0;
}

body.woocommerce-shop.woocommerce ul.products li.product .button,
body.tax-product_cat.woocommerce ul.products li.product .button,
body.tax-product_tag.woocommerce ul.products li.product .button,
body.post-type-archive-product.woocommerce ul.products li.product .button {
  background: #7b52f4;
  border-radius: 999px;
  min-height: 40px;
}

@media (max-width: 1180px) {
  .rora-shop-landing__categories {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .rora-shop-landing__hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .rora-shop-landing__visual {
    min-height: 300px;
  }

  .rora-shop-landing__product--1 {
    right: 28%;
    width: min(36%, 210px);
  }

  .rora-shop-landing__product--2 {
    right: 11%;
  }

  .rora-shop-landing__product--3 {
    right: 55%;
  }
}

@media (max-width: 640px) {
  body.woocommerce-shop .site-content > .col-full,
  body.tax-product_cat .site-content > .col-full,
  body.tax-product_tag .site-content > .col-full,
  body.post-type-archive-product .site-content > .col-full {
    max-width: 100%;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
  }

  .rora-shop-landing {
    margin-bottom: 0.8rem;
  }

  .rora-shop-landing__hero {
    border-radius: 22px;
  }

  .rora-shop-landing__copy {
    padding: 1rem 0.9rem 0.35rem;
  }

  .rora-shop-landing h1 {
    font-size: clamp(2.08rem, 10.5vw, 2.82rem);
    margin-bottom: 0.55rem;
  }

  .rora-shop-landing__copy p {
    font-size: 0.9rem;
    line-height: 1.45;
  }

  .rora-shop-landing__actions {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0.9rem;
    width: 100%;
  }

  .rora-shop-landing__actions .rora-btn {
    justify-content: center;
    min-height: 46px;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
    width: 100%;
  }

  .rora-shop-landing__stats {
    display: grid;
    gap: 0.45rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 0.85rem;
    width: 100%;
  }

  .rora-shop-landing__stats strong {
    font-size: 0.86rem;
  }

  .rora-shop-landing__stats small {
    font-size: 0.6rem;
  }

  .rora-shop-landing__visual {
    min-height: 198px;
  }

  .rora-shop-landing__count {
    height: 76px;
    left: 6%;
    top: 8%;
    width: 76px;
  }

  .rora-shop-landing__count strong {
    font-size: 1.25rem;
  }

  .rora-shop-landing__count small {
    font-size: 0.6rem;
  }

  .rora-shop-landing__categories {
    border-radius: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0.58rem;
  }

  .rora-shop-landing__category {
    border-radius: 16px;
    min-height: 145px;
    padding: 0.52rem;
  }

  .rora-shop-landing__category span {
    min-height: 76px;
  }

  body.woocommerce-shop .rora-shop-layout,
  body.tax-product_cat .rora-shop-layout,
  body.tax-product_tag .rora-shop-layout,
  body.post-type-archive-product .rora-shop-layout {
    padding-bottom: 2rem;
  }

  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product,
  body.tax-product_cat.woocommerce ul.products li.product,
  body.tax-product_tag.woocommerce ul.products li.product,
  body.post-type-archive-product.woocommerce ul.products li.product {
    border-radius: 18px;
  }

  body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_tag.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.78rem !important;
    min-height: 2.55rem;
  }
}

/* Shop archive final reference overrides. Keep this at the end of the file. */
body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag,
body.post-type-archive-product {
  --rora-shop-shell: min(var(--rora-width-shell), calc(100vw - 40px));
  background:
    radial-gradient(circle at 9% 0%, rgba(255, 255, 255, 0.72) 0 14rem, transparent 15rem),
    radial-gradient(circle at 88% 5%, rgba(232, 222, 255, 0.46) 0 18rem, transparent 19rem),
    linear-gradient(180deg, #f3edff 0%, #fbf8ff 42%, #ffffff 100%) !important;
}

body.woocommerce-shop .rora-welcome-strip,
body.tax-product_cat .rora-welcome-strip,
body.tax-product_tag .rora-welcome-strip,
body.post-type-archive-product .rora-welcome-strip,
body.woocommerce-shop .rora-site-header,
body.tax-product_cat .rora-site-header,
body.tax-product_tag .rora-site-header,
body.post-type-archive-product .rora-site-header,
body.woocommerce-shop .site-content > .col-full,
body.tax-product_cat .site-content > .col-full,
body.tax-product_tag .site-content > .col-full,
body.post-type-archive-product .site-content > .col-full {
  max-width: var(--rora-shop-shell) !important;
}

body.woocommerce-shop .rora-site-header .rora-header-row,
body.tax-product_cat .rora-site-header .rora-header-row,
body.tax-product_tag .rora-site-header .rora-header-row,
body.post-type-archive-product .rora-site-header .rora-header-row {
  border-radius: 26px !important;
  box-shadow: 0 22px 54px -42px rgba(35, 23, 79, 0.44);
  min-height: 86px;
}

body.woocommerce-shop .site-content > .col-full,
body.tax-product_cat .site-content > .col-full,
body.tax-product_tag .site-content > .col-full,
body.post-type-archive-product .site-content > .col-full {
  padding: clamp(1rem, 1.9vw, 1.25rem) 0 clamp(2.2rem, 4vw, 3.5rem) !important;
}

.rora-shop-landing {
  display: none !important;
}

.rora-shop-crumbs {
  color: #756f91;
  font-family: var(--rora-rounded);
  font-size: 0.8rem;
  font-weight: 900;
  margin: 0 0 0.92rem;
  padding: 0 1rem;
}

.rora-shop-crumbs ol {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.56rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rora-shop-crumbs li,
.rora-shop-crumbs a {
  align-items: center;
  display: inline-flex;
  gap: 0.56rem;
}

.rora-shop-crumbs li + li::before {
  color: #9d95b6;
  content: "›";
  font-size: 1rem;
  font-weight: 1000;
  line-height: 1;
}

.rora-shop-crumbs a {
  color: #7048f1;
  gap: 0.36rem;
}

.rora-shop-crumbs__home,
.rora-shop-crumbs__home svg {
  height: 15px;
  width: 15px;
}

body.woocommerce-shop .rora-shop-layout,
body.tax-product_cat .rora-shop-layout,
body.tax-product_tag .rora-shop-layout,
body.post-type-archive-product .rora-shop-layout {
  align-items: start;
  gap: clamp(1rem, 1.9vw, 1.75rem) !important;
  grid-template-columns: minmax(250px, 286px) minmax(0, 1fr) !important;
  margin-top: 0 !important;
  padding: 0 0 clamp(2rem, 4vw, 3.2rem) !important;
}

body.woocommerce-shop .rora-shop-main,
body.tax-product_cat .rora-shop-main,
body.tax-product_tag .rora-shop-main,
body.post-type-archive-product .rora-shop-main {
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(126, 93, 224, 0.06);
  border-radius: 24px;
  box-shadow: 0 28px 68px -56px rgba(31, 26, 74, 0.42);
  min-width: 0;
  padding: clamp(1.2rem, 2.2vw, 2rem) clamp(0.8rem, 1.35vw, 1.25rem) clamp(1.15rem, 2vw, 1.55rem);
}

body.woocommerce-shop .rora-shop-aside,
body.tax-product_cat .rora-shop-aside,
body.tax-product_tag .rora-shop-aside,
body.post-type-archive-product .rora-shop-aside {
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(126, 93, 224, 0.06) !important;
  border-radius: 22px !important;
  box-shadow: 0 24px 58px -48px rgba(31, 26, 74, 0.42) !important;
  overflow: hidden;
  top: 1rem;
}

body.woocommerce-shop .rora-shop-aside__header,
body.tax-product_cat .rora-shop-aside__header,
body.tax-product_tag .rora-shop-aside__header,
body.post-type-archive-product .rora-shop-aside__header {
  background: linear-gradient(105deg, #f5efff 0%, #f8f4ff 56%, #fff 100%) !important;
  color: #080849 !important;
  font-family: var(--rora-rounded);
  font-size: 0.88rem;
  font-weight: 1000;
  letter-spacing: 0.1em;
  min-height: 56px;
  padding: 0 1.08rem;
  text-transform: uppercase;
}

body.woocommerce-shop .rora-shop-aside__group,
body.tax-product_cat .rora-shop-aside__group,
body.tax-product_tag .rora-shop-aside__group,
body.post-type-archive-product .rora-shop-aside__group {
  border-color: rgba(126, 93, 224, 0.08) !important;
  padding: 1.02rem 0.95rem 1.12rem !important;
}

body.woocommerce-shop .rora-shop-aside__group h3,
body.tax-product_cat .rora-shop-aside__group h3,
body.tax-product_tag .rora-shop-aside__group h3,
body.post-type-archive-product .rora-shop-aside__group h3 {
  color: #716a93 !important;
  font-family: var(--rora-rounded);
  font-size: 0.72rem !important;
  font-weight: 1000 !important;
  letter-spacing: 0.11em;
  margin-bottom: 0.78rem;
  text-transform: uppercase;
}

.rora-shop-side-categories {
  gap: 0.52rem !important;
}

.rora-shop-category-card--aside,
.rora-shop-category-card--aside:hover,
.rora-shop-category-card--aside.is-current {
  border-radius: 14px !important;
  gap: 0.12rem 0.74rem !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  min-height: 0 !important;
  padding: 0.54rem 0.62rem !important;
}

.rora-shop-category-card--aside {
  background: rgba(255, 255, 255, 0.72) !important;
  border-color: rgba(126, 93, 224, 0.07) !important;
}

.rora-shop-category-card--aside:hover {
  background: #fbf8ff !important;
  border-color: rgba(112, 72, 241, 0.2) !important;
}

.rora-shop-category-card--aside.is-current {
  background: linear-gradient(135deg, #7048f1 0%, #8f66f4 100%) !important;
  border-color: rgba(112, 72, 241, 0.44) !important;
  box-shadow: 0 16px 30px -24px rgba(72, 44, 176, 0.76) !important;
}

.rora-shop-category-card--aside .rora-shop-category-card__icon {
  align-items: center;
  background-color: #f4edff !important;
  background-image: var(--cat-icon);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 72%;
  border: 1px solid rgba(112, 72, 241, 0.08);
  border-radius: 12px !important;
  color: #7048f1;
  display: inline-flex;
  grid-row: 1 / span 2 !important;
  height: 42px;
  justify-content: center;
  min-height: 42px !important;
  width: 42px;
}

.rora-shop-category-card--aside .rora-shop-category-card__icon[style*="--cat-icon"] {
  color: transparent !important;
}

.rora-shop-category-card--aside .rora-shop-category-card__icon svg {
  height: 21px;
  width: 21px;
}

.rora-shop-category-card--aside.is-current .rora-shop-category-card__icon {
  background-color: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
}

.rora-shop-category-card--aside strong {
  color: inherit !important;
  font-size: 0.83rem !important;
  letter-spacing: 0;
}

.rora-shop-category-card--aside small {
  color: rgba(8, 8, 73, 0.58) !important;
  font-size: 0.69rem !important;
}

.rora-shop-category-card--aside.is-current small {
  color: rgba(255, 255, 255, 0.78) !important;
}

.rora-shop-price {
  gap: 0.62rem;
}

.rora-shop-price__inputs {
  gap: 0.46rem;
}

.rora-shop-price input {
  background: #fff !important;
  border: 1px solid rgba(126, 93, 224, 0.12) !important;
  border-radius: 999px !important;
  color: #080849 !important;
  font-family: var(--rora-rounded);
  font-weight: 850;
  min-height: 44px;
}

.rora-shop-price button {
  background: linear-gradient(180deg, #8458f7 0%, #6842e7 100%) !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 22px -18px rgba(104, 66, 231, 0.72);
  color: #fff !important;
  font-family: var(--rora-rounded);
  font-weight: 1000;
  min-height: 42px;
}

.rora-stock-toggle {
  align-items: center;
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.55rem !important;
}

.rora-stock-toggle a {
  align-items: center;
  background: #f2edf9 !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-sizing: border-box;
  color: #756f91 !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--rora-rounded);
  font-size: 0.88rem;
  font-weight: 1000;
  justify-content: center;
  line-height: 1;
  min-height: 46px;
  min-width: 92px;
  padding: 0 1rem;
  text-align: center;
  white-space: nowrap;
}

.rora-stock-toggle a.is-active {
  background: #2d1d50 !important;
  box-shadow: 0 12px 22px -16px rgba(45, 29, 80, 0.72);
  color: #fff !important;
  min-width: 46px;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
}

body.woocommerce-shop .rora-shop-toolbar,
body.tax-product_cat .rora-shop-toolbar,
body.tax-product_tag .rora-shop-toolbar,
body.post-type-archive-product .rora-shop-toolbar {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0 0 clamp(1.2rem, 2vw, 1.65rem) !important;
  min-height: 48px;
  padding: 0 0.35rem !important;
}

.rora-shop-toolbar__count,
.rora-shop-toolbar__count .woocommerce-result-count {
  color: #716a93 !important;
  font-family: var(--rora-rounded);
  font-size: 0.94rem !important;
  font-weight: 1000 !important;
}

.rora-shop-toolbar__controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(0.65rem, 1.2vw, 1rem);
  justify-content: flex-end;
}

.rora-shop-toolbar__sort select {
  appearance: auto;
  background-color: #fff !important;
  border: 1px solid rgba(126, 93, 224, 0.12) !important;
  border-radius: 999px !important;
  box-shadow: 0 16px 32px -28px rgba(31, 26, 74, 0.4);
  color: #716a93 !important;
  font-family: var(--rora-rounded);
  font-size: 0.9rem !important;
  font-weight: 1000 !important;
  min-height: 48px;
  min-width: 208px;
  padding-left: 1rem;
}

.rora-shop-view {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(126, 93, 224, 0.12);
  border-radius: 999px;
  box-shadow: 0 16px 32px -28px rgba(31, 26, 74, 0.4);
  color: #716a93;
  display: inline-flex;
  font-family: var(--rora-rounded);
  font-size: 0.86rem;
  font-weight: 1000;
  gap: 0.36rem;
  min-height: 48px;
  padding: 0.28rem 0.34rem 0.28rem 0.95rem;
}

.rora-shop-view button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: #756f91;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  padding: 0;
  width: 38px;
}

.rora-shop-view button svg {
  height: 20px;
  width: 20px;
}

.rora-shop-view button.is-active {
  background: #7048f1;
  color: #fff;
}

body.woocommerce-shop.woocommerce ul.products,
body.tax-product_cat.woocommerce ul.products,
body.tax-product_tag.woocommerce ul.products,
body.post-type-archive-product.woocommerce ul.products {
  gap: clamp(1rem, 1.55vw, 1.35rem) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.woocommerce-shop.woocommerce ul.products li.product,
body.tax-product_cat.woocommerce ul.products li.product,
body.tax-product_tag.woocommerce ul.products li.product,
body.post-type-archive-product.woocommerce ul.products li.product {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(126, 93, 224, 0.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 44px -36px rgba(31, 26, 74, 0.42), 0 1px 2px rgba(31, 26, 74, 0.03) !important;
  overflow: hidden;
  padding: 0 0 1.06rem !important;
}

body.woocommerce-shop.woocommerce ul.products li.product:hover,
body.tax-product_cat.woocommerce ul.products li.product:hover,
body.tax-product_tag.woocommerce ul.products li.product:hover,
body.post-type-archive-product.woocommerce ul.products li.product:hover {
  border-color: rgba(112, 72, 241, 0.18) !important;
  box-shadow: 0 28px 52px -34px rgba(31, 26, 74, 0.5) !important;
  transform: translateY(-3px);
}

body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
body.woocommerce-shop.woocommerce ul.products li.product img,
body.tax-product_cat.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
body.tax-product_cat.woocommerce ul.products li.product img,
body.tax-product_tag.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
body.tax-product_tag.woocommerce ul.products li.product img,
body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
body.post-type-archive-product.woocommerce ul.products li.product img {
  aspect-ratio: 1 / 0.88;
  background: linear-gradient(180deg, #fff, #fbf8ff) !important;
  border-radius: 14px !important;
  margin: 0.58rem 0.58rem 0.8rem !important;
  object-fit: cover;
  padding: 0 !important;
  width: calc(100% - 1.16rem);
}

body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: #080849 !important;
  display: -webkit-box;
  font-family: var(--rora-rounded);
  font-size: clamp(0.88rem, 0.92vw, 1rem) !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
  line-height: 1.22 !important;
  margin: 0 0 0.8rem !important;
  min-height: 2.44em;
  overflow: hidden;
  padding: 0 0.95rem !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.woocommerce-shop.woocommerce ul.products li.product .price,
body.tax-product_cat.woocommerce ul.products li.product .price,
body.tax-product_tag.woocommerce ul.products li.product .price,
body.post-type-archive-product.woocommerce ul.products li.product .price {
  color: #07a83a !important;
  font-family: var(--rora-rounded);
  font-size: 1rem !important;
  font-weight: 1000 !important;
  gap: 0.25rem 0.5rem;
  padding: 0 0.95rem !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .price ins,
body.tax-product_cat.woocommerce ul.products li.product .price ins,
body.tax-product_tag.woocommerce ul.products li.product .price ins,
body.post-type-archive-product.woocommerce ul.products li.product .price ins {
  color: #07a83a !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .price del,
body.tax-product_cat.woocommerce ul.products li.product .price del,
body.tax-product_tag.woocommerce ul.products li.product .price del,
body.post-type-archive-product.woocommerce ul.products li.product .price del {
  color: #9c95b5 !important;
  font-size: 0.8rem !important;
  font-weight: 850 !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .rora-loop-sale-pill,
body.tax-product_cat.woocommerce ul.products li.product .rora-loop-sale-pill,
body.tax-product_tag.woocommerce ul.products li.product .rora-loop-sale-pill,
body.post-type-archive-product.woocommerce ul.products li.product .rora-loop-sale-pill {
  background: #ffd764 !important;
  border: 0 !important;
  color: #6d4a00 !important;
  font-size: 0.66rem !important;
  padding: 0.27rem 0.58rem;
}

body.woocommerce-shop.woocommerce ul.products li.product .button,
body.tax-product_cat.woocommerce ul.products li.product .button,
body.tax-product_tag.woocommerce ul.products li.product .button,
body.post-type-archive-product.woocommerce ul.products li.product .button {
  background: linear-gradient(180deg, #8458f7 0%, #6842e7 100%) !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 26px -18px rgba(104, 66, 231, 0.78) !important;
  font-family: var(--rora-rounded);
  font-size: 0.86rem !important;
  font-weight: 1000 !important;
  gap: 0.38rem;
  margin: 0.96rem 0 0 0.95rem !important;
  min-height: 40px !important;
  padding: 0.5rem 0.86rem !important;
  white-space: nowrap;
  width: calc(100% - 1.9rem) !important;
}

.rora-add-to-cart__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.woocommerce nav.woocommerce-pagination ul {
  background: #fff;
  border: 1px solid rgba(126, 93, 224, 0.08) !important;
  border-radius: 999px;
  box-shadow: 0 18px 36px -30px rgba(31, 26, 74, 0.4);
  display: inline-flex !important;
  gap: 0.45rem;
  padding: 0.45rem 0.7rem !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 0 !important;
  min-height: 36px !important;
  min-width: 36px !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: #7048f1 !important;
  color: #fff !important;
}

@media (max-width: 1240px) {
  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 960px) {
  body.woocommerce-shop,
  body.tax-product_cat,
  body.tax-product_tag,
  body.post-type-archive-product {
    --rora-shop-shell: min(100%, calc(100vw - 28px));
  }

  body.woocommerce-shop .rora-shop-layout,
  body.tax-product_cat .rora-shop-layout,
  body.tax-product_tag .rora-shop-layout,
  body.post-type-archive-product .rora-shop-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.woocommerce-shop .rora-shop-aside,
  body.tax-product_cat .rora-shop-aside,
  body.tax-product_tag .rora-shop-aside,
  body.post-type-archive-product .rora-shop-aside {
    order: 1 !important;
    position: static !important;
  }

  body.woocommerce-shop .rora-shop-main,
  body.tax-product_cat .rora-shop-main,
  body.tax-product_tag .rora-shop-main,
  body.post-type-archive-product .rora-shop-main {
    order: 2 !important;
  }

  .rora-shop-toolbar {
    grid-template-columns: 1fr !important;
  }

  .rora-shop-toolbar__controls {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  body.woocommerce-shop,
  body.tax-product_cat,
  body.tax-product_tag,
  body.post-type-archive-product {
    --rora-shop-shell: 100%;
  }

  body.woocommerce-shop .site-content > .col-full,
  body.tax-product_cat .site-content > .col-full,
  body.tax-product_tag .site-content > .col-full,
  body.post-type-archive-product .site-content > .col-full {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .rora-shop-crumbs {
    padding: 0 0.85rem;
  }

  body.woocommerce-shop .rora-shop-layout,
  body.tax-product_cat .rora-shop-layout,
  body.tax-product_tag .rora-shop-layout,
  body.post-type-archive-product .rora-shop-layout {
    padding-left: 0.7rem !important;
    padding-right: 0.7rem !important;
  }

  body.woocommerce-shop .rora-shop-main,
  body.tax-product_cat .rora-shop-main,
  body.tax-product_tag .rora-shop-main,
  body.post-type-archive-product .rora-shop-main {
    border-radius: 20px;
    padding: 1rem 0.7rem 1.1rem;
  }

  .rora-shop-toolbar__controls,
  .rora-shop-toolbar__sort,
  .rora-shop-toolbar__sort form,
  .rora-shop-toolbar__sort select,
  .rora-shop-view {
    width: 100%;
  }

  .rora-shop-view {
    justify-content: space-between;
  }

  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products {
    gap: 0.8rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product .button,
  body.tax-product_cat.woocommerce ul.products li.product .button,
  body.tax-product_tag.woocommerce ul.products li.product .button,
  body.post-type-archive-product.woocommerce ul.products li.product .button {
    font-size: 0.72rem !important;
    margin-left: 0.72rem !important;
    min-height: 38px !important;
    padding-left: 0.56rem !important;
    padding-right: 0.56rem !important;
    width: calc(100% - 1.44rem) !important;
  }
}

@media (max-width: 420px) {
  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Category image polish — crisp vector cards + mini sidebar versions. */
.rora-home.rh3 .rh3-cat-card__img {
  background-color: transparent !important;
  background-image: var(--cat-img), var(--cat-grad, linear-gradient(135deg, #f7efff, #fff)) !important;
  background-position: center center, center center !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: contain, cover !important;
  image-rendering: auto;
}

.rora-shop-category-card--aside,
.rora-shop-category-card--aside:hover,
.rora-shop-category-card--aside.is-current {
  grid-template-columns: 50px minmax(0, 1fr) !important;
  min-height: 60px !important;
  padding: 0.5rem 0.6rem !important;
}

.rora-shop-category-card--aside .rora-shop-category-card__icon,
.rora-shop-category-card--aside span.rora-shop-category-card__icon {
  align-items: center;
  background-color: #f4edff !important;
  background-image: none !important;
  border: 1px solid rgba(112, 72, 241, 0.1);
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  color: #7048f1;
  display: inline-flex;
  grid-row: 1 / span 2 !important;
  height: 50px;
  justify-content: center;
  min-height: 50px !important;
  overflow: hidden;
  width: 50px;
}

.rora-shop-category-card--aside .rora-shop-category-card__icon--image,
.rora-shop-category-card--aside span.rora-shop-category-card__icon.rora-shop-category-card__icon--image {
  background-color: transparent !important;
  background-image: var(--cat-icon), var(--cat-tone, linear-gradient(160deg, #efe3ff, #fff)) !important;
  background-position: center center, center center !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: 96%, cover !important;
  border-color: color-mix(in srgb, var(--cat-border, #d9c3ff) 72%, #fff 28%) !important;
  color: transparent !important;
}

.rora-shop-category-card--aside.is-current .rora-shop-category-card__icon--image,
.rora-shop-category-card--aside.is-current span.rora-shop-category-card__icon.rora-shop-category-card__icon--image {
  background-color: transparent !important;
  background-image: var(--cat-icon), linear-gradient(160deg, rgba(255,255,255,0.34), rgba(255,255,255,0.12)) !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
}

.rora-shop-category-card--aside .rora-shop-category-card__icon--all {
  background: rgba(255, 255, 255, 0.2) !important;
}

@media (max-width: 900px) {
  .rora-shop-category-card--aside,
  .rora-shop-category-card--aside:hover,
  .rora-shop-category-card--aside.is-current {
    grid-template-columns: 44px minmax(0, 1fr) !important;
  }

  .rora-shop-category-card--aside .rora-shop-category-card__icon,
  .rora-shop-category-card--aside span.rora-shop-category-card__icon {
    height: 44px;
    min-height: 44px !important;
    width: 44px;
  }
}

/* ==========================================================================
   Homepage reference alignment — requested hero/header pieces, 2026-05-31
   ========================================================================== */

body:has(.rora-home.rh3) {
  --rora-reference-shell: min(1918px, calc(100vw - 120px));
}

body:has(.rora-home.rh3) .rora-welcome-strip {
  border-radius: 0;
  box-sizing: border-box;
  font-size: 1.22rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  max-width: var(--rora-reference-shell);
  min-height: 52px;
  padding: 0 2rem;
}

body:has(.rora-home.rh3) .rora-welcome-strip__greeting {
  align-items: center;
  display: inline-flex;
  gap: 0.86rem;
}

body:has(.rora-home.rh3) .rora-welcome-strip__greeting svg {
  color: #7b4ff2;
  height: 19px;
  width: 19px;
}

body:has(.rora-home.rh3) .rora-welcome-strip__sparkle {
  color: #ffc300;
  font-size: 1.16rem;
  margin-left: 0.5rem;
}

body:has(.rora-home.rh3) .rora-welcome-strip__phone {
  color: #5a3eef;
  font-size: 1.19rem;
  font-weight: 1000;
  gap: 0.52rem;
  right: clamp(2.1rem, 2.7vw, 3.2rem);
}

body:has(.rora-home.rh3) .rora-welcome-strip__phone svg {
  height: 22px;
  width: 22px;
}

body:has(.rora-home.rh3) .rora-site-header,
body:has(.rora-home.rh3) .rora-home.rh3 {
  max-width: var(--rora-reference-shell);
}

body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
  border: 0;
  border-radius: 34px 34px 0 0;
  box-shadow: 0 22px 52px -42px rgba(40, 23, 84, 0.44);
  box-sizing: border-box;
  gap: clamp(1.4rem, 2.05vw, 2.55rem);
  grid-template-columns: minmax(230px, 250px) minmax(620px, auto) minmax(470px, 585px) minmax(126px, auto);
  margin: 0;
  max-width: none;
  min-height: 124px;
  padding: 0 clamp(2.8rem, 3.4vw, 4rem);
  width: 100%;
}

body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo {
  filter: brightness(0.94) contrast(1.34) saturate(1.58) drop-shadow(0 7px 10px rgba(92, 57, 190, 0.2));
  height: 92px;
  max-width: 238px;
  object-fit: contain;
  transform: translateY(1px);
  width: auto;
}

body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu {
  gap: clamp(2.6rem, 3.05vw, 3.9rem);
}

body:has(.rora-home.rh3) .rora-category-menu__toggle {
  border-radius: 32px;
  box-shadow: 0 16px 26px -18px rgba(72, 42, 206, 0.95), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  font-size: 1.36rem;
  min-height: 66px;
  padding: 0 2rem;
}

body:has(.rora-home.rh3) .rora-category-menu__toggle svg {
  height: 20px;
  width: 20px;
}

body:has(.rora-home.rh3) .rora-site-header .rora-nav-link a {
  font-size: 1.28rem;
  font-weight: 1000;
}

body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a {
  background: linear-gradient(180deg, #ffd118 0%, #ffc400 100%);
  border-radius: 32px;
  box-shadow: 0 14px 24px -18px rgba(231, 151, 0, 0.7);
  color: #151035;
  font-size: 1.26rem;
  font-weight: 1000;
  gap: 0.6rem;
  min-height: 60px;
  padding: 0 2rem;
}

body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a:hover {
  background: linear-gradient(180deg, #ffc400 0%, #f5b900 100%);
}

body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a svg {
  color: #d95f12;
  height: 19px;
  width: 19px;
}

body:has(.rora-home.rh3) .rora-header-search-form {
  border-color: #ece8f8;
  border-radius: 35px;
  box-shadow: 0 9px 22px -18px rgba(44, 27, 93, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  height: 64px;
  max-width: 585px;
}

body:has(.rora-home.rh3) .rora-header-search-form__icon {
  height: 24px;
  left: 1.48rem;
  width: 24px;
}

body:has(.rora-home.rh3) .rora-header-search-form input[type="search"] {
  font-size: 1.12rem;
  padding-left: 4.1rem;
}

body:has(.rora-home.rh3) .rora-header-search-form button {
  border-radius: 30px;
  font-size: 1.04rem;
  min-height: 54px;
  min-width: 122px;
  right: 0.35rem;
}

body:has(.rora-home.rh3) .rora-header-icons {
  align-items: center;
  gap: 2rem;
}

body:has(.rora-home.rh3) .rora-header-icon__glyph {
  height: 38px;
}

body:has(.rora-home.rh3) .rora-header-icon__glyph svg {
  height: 34px;
  width: 34px;
}

body:has(.rora-home.rh3) .rora-header-icon__label {
  font-size: 0.9rem;
  font-weight: 900;
}

body:has(.rora-home.rh3) .rora-header-cart .rora-header-cart__count {
  font-size: 0.88rem;
  height: 26px;
  min-width: 26px;
  right: -14px;
  top: -11px;
}

body:has(.rora-home.rh3) .rora-home.rh3 {
  border-radius: 0 0 30px 30px;
  box-shadow: 0 28px 70px -54px rgba(42, 24, 88, 0.42);
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn {
  border-radius: 32px;
  font-size: 1.25rem;
  font-weight: 1000;
  gap: 0.82rem;
  letter-spacing: 0;
  line-height: 1;
  min-height: 70px;
  padding: 0 2.25rem;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn svg {
  height: 28px;
  width: 28px;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--messenger {
  background: linear-gradient(180deg, #7d55f4 0%, #5f38db 100%);
  box-shadow: 0 19px 34px -22px rgba(76, 44, 196, 0.9);
  min-width: 268px;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--whatsapp {
  background: linear-gradient(180deg, #36d75a 0%, #11a935 100%);
  box-shadow: 0 19px 34px -22px rgba(10, 151, 46, 0.86);
  min-width: 336px;
}

@media (max-width: 1600px) {
  body:has(.rora-home.rh3) {
    --rora-reference-shell: min(1420px, calc(100vw - 48px));
  }

  body:has(.rora-home.rh3) .rora-welcome-strip {
    font-size: 0.92rem;
    min-height: 36px;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
    gap: 1.25rem;
    grid-template-columns: minmax(175px, 205px) minmax(430px, auto) minmax(330px, 500px) auto;
    min-height: 94px;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo {
    height: 72px;
    max-width: 195px;
  }

  body:has(.rora-home.rh3) .rora-category-menu__toggle {
    font-size: 1rem;
    min-height: 50px;
    padding: 0 1.35rem;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-nav-link a,
  body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a {
    font-size: 0.98rem;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a {
    min-height: 48px;
    padding: 0 1.2rem;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn {
    font-size: 0.96rem;
    min-height: 52px;
    padding: 0 1.4rem;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--messenger {
    min-width: 172px;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--whatsapp {
    min-width: 232px;
  }

}

@media (max-width: 1180px) {
  body:has(.rora-home.rh3) {
    --rora-reference-shell: calc(100vw - 24px);
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  body:has(.rora-home.rh3) .rora-header-search-form {
    display: none;
  }

}

@media (max-width: 640px) {
  body:has(.rora-home.rh3) {
    --rora-reference-shell: 100%;
  }

  body:has(.rora-home.rh3) .rora-welcome-strip {
    font-size: 0.78rem;
    line-height: 1.25;
    min-height: 38px;
    padding: 0.35rem 0.85rem;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
    border-radius: 18px 18px 0 0;
    min-height: 74px;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo {
    height: 54px;
    max-width: 145px;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--messenger,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--whatsapp {
    min-width: 0;
    width: 100%;
  }

}

/* Revert reference banner/header treatment; keep requested buttons + richer logo. */
body:has(.rora-home.rh3) .rora-welcome-strip {
  border-radius: 18px 18px 0 0;
  box-sizing: border-box;
  font-size: 0.79rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
  max-width: min(1220px, calc(100vw - 80px));
  min-height: 28px;
  padding: 0.34rem 1rem 0.3rem;
}

body:has(.rora-home.rh3) .rora-welcome-strip__greeting {
  gap: 0;
}

body:has(.rora-home.rh3) .rora-welcome-strip__greeting svg {
  color: #7c5cf2;
  height: 14px;
  width: 14px;
}

body:has(.rora-home.rh3) .rora-welcome-strip__sparkle {
  color: #d9a73a;
  font-size: inherit;
  margin-left: 0;
}

body:has(.rora-home.rh3) .rora-welcome-strip__phone {
  color: #4f35dc;
  font-size: 0.82rem;
  font-weight: 900;
  gap: 0.35rem;
  right: clamp(1rem, 2vw, 1.6rem);
}

body:has(.rora-home.rh3) .rora-welcome-strip__phone svg {
  height: 14px;
  width: 14px;
}

.rora-welcome-strip__greeting > svg,
.rora-welcome-strip__sparkle,
.rora-welcome-strip__sparkle svg,
body:has(.rora-home.rh3) .rora-welcome-strip__greeting > svg,
body:has(.rora-home.rh3) .rora-welcome-strip__sparkle,
body:has(.rora-home.rh3) .rora-welcome-strip__sparkle svg {
  color: #7c5cf2 !important;
}

.rora-welcome-strip__greeting,
body:has(.rora-home.rh3) .rora-welcome-strip__greeting {
  align-items: center;
  display: inline-flex;
  gap: 0.45rem;
}

.rora-welcome-strip__sparkle {
  align-items: center;
  display: inline-flex;
  line-height: 0;
  margin-left: 0;
  vertical-align: middle;
}

.rora-welcome-strip__sparkle svg {
  display: block;
  height: 14px;
  width: 14px;
}

body:has(.rora-home.rh3) .rora-site-header,
body:has(.rora-home.rh3) .rora-home.rh3 {
  max-width: min(1268px, calc(100vw - 40px));
}

body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(126, 93, 224, 0.08);
  border-radius: 22px 22px 0 0;
  box-shadow: 0 18px 46px -34px rgba(40, 23, 84, 0.38);
  box-sizing: border-box;
  gap: clamp(0.75rem, 1.35vw, 1.25rem);
  grid-template-columns: minmax(150px, 190px) auto minmax(260px, 1fr) auto;
  margin: 0 auto;
  max-width: none;
  min-height: 82px;
  padding: 0.58rem clamp(1.1rem, 2.3vw, 2rem);
  width: 100%;
}

body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo {
  filter: brightness(0.94) contrast(1.34) saturate(1.58) drop-shadow(0 7px 10px rgba(92, 57, 190, 0.2));
  height: 66px;
  max-width: 188px;
  object-fit: contain;
  transform: none;
  width: auto;
}

body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu {
  gap: clamp(1.2rem, 2.35vw, 2.6rem);
}

body:has(.rora-home.rh3) .rora-category-menu__toggle {
  font-size: 0.95rem;
  min-height: 46px;
  padding: 0.6rem 1.2rem;
}

body:has(.rora-home.rh3) .rora-category-menu__toggle svg {
  height: 15px;
  width: 15px;
}

body:has(.rora-home.rh3) .rora-site-header .rora-nav-link a {
  font-size: 0.92rem;
}

body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a {
  background: linear-gradient(180deg, #ffd118 0%, #ffc400 100%);
  border-radius: 32px;
  box-shadow: 0 14px 24px -18px rgba(231, 151, 0, 0.7);
  color: #151035;
  font-size: 1.02rem;
  font-weight: 1000;
  gap: 0.5rem;
  min-height: 48px;
  padding: 0 1.24rem;
}

body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a svg {
  color: #d95f12;
  height: 16px;
  width: 16px;
}

body:has(.rora-home.rh3) .rora-header-search-form {
  border-radius: 999px;
  height: 54px;
  max-width: 430px;
}

body:has(.rora-home.rh3) .rora-header-search-form__icon {
  height: 18px;
  left: 1.05rem;
  width: 18px;
}

body:has(.rora-home.rh3) .rora-header-search-form input[type="search"] {
  font-size: 0.92rem;
  padding-left: 2.85rem;
}

body:has(.rora-home.rh3) .rora-header-search-form button {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  font-size: 0.86rem;
  min-height: 44px;
  min-width: 94px;
  right: 0.28rem;
}

body:has(.rora-home.rh3) .rora-header-search-form__submit-icon {
  display: block;
  height: 19px;
  width: 19px;
}

body:has(.rora-home.rh3) .rora-header-icons {
  gap: clamp(1.1rem, 1.8vw, 1.7rem);
}

body:has(.rora-home.rh3) .rora-header-icon__glyph {
  height: 28px;
}

body:has(.rora-home.rh3) .rora-header-icon__glyph svg {
  height: 24px;
  width: 24px;
}

body:has(.rora-home.rh3) .rora-header-icon__label {
  font-size: 0.72rem;
}

body:has(.rora-home.rh3) .rora-header-cart .rora-header-cart__count {
  font-size: 0.62rem;
  height: 17px;
  min-width: 17px;
  right: -9px;
  top: -7px;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn {
  border-radius: 32px;
  font-size: 0.96rem;
  font-weight: 1000;
  gap: 0.64rem;
  min-height: 52px;
  padding: 0 1.4rem;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn svg {
  height: 20px;
  width: 20px;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--messenger {
  background: linear-gradient(180deg, #7d55f4 0%, #5f38db 100%);
  box-shadow: 0 19px 34px -22px rgba(76, 44, 196, 0.9);
  min-width: 172px;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--whatsapp {
  background: linear-gradient(180deg, #36d75a 0%, #11a935 100%);
  box-shadow: 0 19px 34px -22px rgba(10, 151, 46, 0.86);
  min-width: 232px;
}

@media (max-width: 640px) {
  body:has(.rora-home.rh3) .rora-welcome-strip,
  body:has(.rora-home.rh3) .rora-site-header,
  body:has(.rora-home.rh3) .rora-home.rh3 {
    max-width: 100%;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo {
    height: 52px;
    max-width: 142px;
  }

}

@media (min-width: 641px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn {
    font-size: 0.88rem;
    min-height: 50px;
    padding: 0 1.15rem;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--messenger {
    min-width: 148px;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--whatsapp {
    min-width: 202px;
  }
}

/* ==========================================================================
   Mobile app-shell pass — match supplied phone mockup 2026-05-31
   Scope: front-page `.rora-home.rh3` on phones (<= 600px).
   Goal: hero panel + trust card + 2-up category cards + 3-cell trust bar,
   hide secondary sections, plus a fixed bottom tab bar.
   ========================================================================== */

/* Bottom tab bar — hidden by default, shown on phones below. */
.rora-tabbar {
  display: none;
}

@media (max-width: 600px) {

  /* — Hide secondary homepage sections (mockup shows only hero/trust/categories/trust-bar) — */
  body:has(.rora-home.rh3) .rh3-deals,
  body:has(.rora-home.rh3) .rh3-trust-section,
  body:has(.rora-home.rh3) .rh3-bestsellers,
  body:has(.rora-home.rh3) .rh3-testimonials {
    display: none !important;
  }

  /* Icon-only header actions (mockup shows no text labels). */
  body:has(.rora-home.rh3) .rora-header-icon__label {
    display: none !important;
  }

  /* — Header: hamburger (left) · logo (center) · search + cart (right) —
     `display:contents` promotes the icon group's children to header-row grid
     items so they can be placed individually. Scoped to the mobile homepage. */
  body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
    align-items: center !important;
    gap: 0.5rem !important;
    grid-template-columns: auto 1fr auto auto !important;
  }

  body:has(.rora-home.rh3) .rora-header-icons {
    display: contents !important;
  }

  body:has(.rora-home.rh3) .rora-header-mobile-toggle {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
  }

  body:has(.rora-home.rh3) .rora-header-account {
    display: none !important;
  }

  /* Compact icon-only search button (submits to the product search). */
  body:has(.rora-home.rh3) .rora-header-search-form {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    max-width: none !important;
    overflow: visible !important;
    padding: 0 !important;
    width: auto !important;
  }

  body:has(.rora-home.rh3) .rora-header-search-form__icon,
  body:has(.rora-home.rh3) .rora-header-search-form input[type="search"] {
    display: none !important;
  }

  body:has(.rora-home.rh3) .rora-header-search-form button[type="submit"] {
    align-items: center;
    background: transparent;
    border: 0;
    color: #2d1e4a;
    cursor: pointer;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    padding: 0;
    width: 42px;
  }

  body:has(.rora-home.rh3) .rora-header-cart {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
  }

  /* When opened, the mobile nav drops below the row at full width. */
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  /* — Hero stays side-by-side (text left, image right) like the mockup;
     the trust badges become a full-width card spanning beneath both. —
     Uses the `body:has(...) .rora-home.rh3` prefix to win specificity. */
  /* Flatten the copy wrapper so the badge card can span the full width. */
  /* CTA buttons fill the left column. */
  /* Product collage — fills the right column height, scaled up to bleed
     toward the panel edge (hero clips the overflow via overflow:hidden). */
  /* — Trust badges as a full-width white card beneath the hero copy/image — */
  /* — Category section sits on the page background, two cards per row — */
  .rora-home.rh3 .rh3-categories {
    background: transparent !important;
  }

  .rora-home.rh3 .rh3-category-grid {
    gap: 0.85rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* — Bottom trust bar: three white cells with dividers (drop the 4th) — */
  .rora-home.rh3 .rh3-trust-bar {
    background: #fff !important;
    border-radius: 18px;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    margin: 0.25rem auto 1.1rem !important;
    max-width: calc(100vw - 18px) !important;
  }

  .rora-home.rh3 .rh3-trust-bar__item:nth-child(4) {
    display: none !important;
  }

  .rora-home.rh3 .rh3-trust-bar__item {
    border-bottom: 0 !important;
    border-right: 1px solid #efe8ff !important;
    gap: 0.4rem;
    justify-content: flex-start;
    padding: 0.8rem 0.3rem !important;
  }

  .rora-home.rh3 .rh3-trust-bar__item:nth-child(3) {
    border-right: 0 !important;
  }

  .rora-home.rh3 .rh3-trust-bar__item strong {
    font-size: 0.66rem;
    line-height: 1.15;
  }

  .rora-home.rh3 .rh3-trust-bar__item small {
    font-size: 0.58rem;
    line-height: 1.15;
  }

  .rora-home.rh3 .rh3-trust-bar__icon {
    flex-shrink: 0;
    height: 30px;
    width: 30px;
  }

  .rora-home.rh3 .rh3-trust-bar__icon svg {
    height: 16px;
    width: 16px;
  }

  /* — Fixed bottom tab bar — */
  .rora-tabbar {
    align-items: stretch;
    background: #fff;
    border-top: 1px solid #efe8ff;
    bottom: 0;
    box-shadow: 0 -8px 28px -16px rgba(50, 28, 102, 0.35);
    display: flex;
    justify-content: space-around;
    left: 0;
    padding: 0.35rem 0.25rem calc(0.35rem + env(safe-area-inset-bottom, 0px));
    position: fixed;
    right: 0;
    z-index: 300;
  }

  .rora-tabbar__item {
    align-items: center;
    color: #9a8cb5;
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    font-family: "Nunito", "Inter", system-ui, sans-serif;
    font-size: 0.64rem;
    font-weight: 800;
    gap: 0.16rem;
    padding: 0.3rem 0;
    text-decoration: none;
  }

  .rora-tabbar__item svg {
    height: 22px;
    width: 22px;
  }

  .rora-tabbar__item.is-active {
    color: #7256e8;
  }

  /* Keep page content clear of the fixed tab bar. */
  body {
    padding-bottom: 68px;
  }
}

/* ==========================================================================
   Mobile UI polish pass — local RORA storefront, 2026-05-31
   Focus: one consistent phone header, cleaner shop browsing, compact product
   cards, and safer fixed-tab spacing without changing desktop layouts.
   ========================================================================== */

@media (max-width: 600px) {
  :root {
    --rora-mobile-tabbar-height: 72px;
  }

  body {
    /* A7: reserve tabbar height + safe-area PLUS a clearance gap so the last
       element on short pages (track-order "View order" button, wishlist
       empty-state heading) is never flush against / hidden behind the tabbar. */
    padding-bottom: calc(var(--rora-mobile-tabbar-height) + env(safe-area-inset-bottom, 0px) + 1rem);
  }

  .rora-welcome-strip {
    border-radius: 0 !important;
    box-sizing: border-box;
    font-size: 0.74rem !important;
    min-height: 30px !important;
    padding: 0.34rem 0.7rem !important;
    width: 100% !important;
  }

  .rora-welcome-strip__greeting {
    max-width: calc(100vw - 1.4rem);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .rora-welcome-strip__meta,
  .rora-welcome-strip__phone {
    display: none !important;
  }

  .rora-site-header,
  body:has(.rora-home.rh3) .rora-site-header,
  body.woocommerce-shop .rora-site-header,
  body.tax-product_cat .rora-site-header,
  body.tax-product_tag .rora-site-header,
  body.post-type-archive-product .rora-site-header {
    max-width: 100% !important;
    width: 100% !important;
  }

  .rora-site-header .rora-header-row,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-row,
  body.woocommerce-shop .rora-site-header .rora-header-row,
  body.tax-product_cat .rora-site-header .rora-header-row,
  body.tax-product_tag .rora-site-header .rora-header-row,
  body.post-type-archive-product .rora-site-header .rora-header-row {
    align-items: center !important;
    border-radius: 0 0 20px 20px !important;
    gap: 0.32rem !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px 42px !important;
    min-height: 74px !important;
    padding: 0.48rem 0.75rem !important;
  }

  .rora-header-icons,
  body:has(.rora-home.rh3) .rora-header-icons,
  body.woocommerce-shop .rora-site-header .rora-header-icons,
  body.tax-product_cat .rora-site-header .rora-header-icons,
  body.tax-product_tag .rora-site-header .rora-header-icons,
  body.post-type-archive-product .rora-site-header .rora-header-icons {
    display: contents !important;
  }

  .rora-header-mobile-toggle {
    display: inline-flex !important;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .rora-site-header .rora-brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    min-width: 0;
  }

  .rora-site-header .rora-brand__logo,
  body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo,
  body.woocommerce-shop .rora-site-header .rora-brand__logo,
  body.tax-product_cat .rora-site-header .rora-brand__logo,
  body.tax-product_tag .rora-site-header .rora-brand__logo,
  body.post-type-archive-product .rora-site-header .rora-brand__logo {
    height: 54px !important;
    max-width: min(148px, 43vw) !important;
    object-fit: contain;
  }

  .rora-header-search-form,
  body:has(.rora-home.rh3) .rora-header-search-form,
  body.woocommerce-shop .rora-header-search-form,
  body.tax-product_cat .rora-header-search-form,
  body.tax-product_tag .rora-header-search-form,
  body.post-type-archive-product .rora-header-search-form {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    grid-column: 3;
    grid-row: 1;
    height: 42px !important;
    justify-self: end;
    max-width: 42px !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 42px !important;
  }

  .rora-header-search-form__icon,
  .rora-header-search-form input[type="search"] {
    display: none !important;
  }

  .rora-header-search-form button[type="submit"] {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #17103d !important;
    display: inline-flex !important;
    height: 42px !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 !important;
    width: 42px !important;
  }

  .rora-header-search-form button[type="submit"]::before {
    content: none !important;
    display: none !important;
  }

  .rora-header-search-form__submit-icon {
    display: block !important;
    height: 24px !important;
    width: 24px !important;
  }

  .rora-header-account,
  .rora-header-icon__label {
    display: none !important;
  }

  .rora-header-cart {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
  }

  .rora-header-icon,
  .rora-site-header .rora-header-icon {
    height: 42px !important;
    min-height: 42px !important;
    width: 42px !important;
  }

  .rora-header-icon svg,
  .rora-site-header .rora-header-icon svg {
    height: 25px !important;
    width: 25px !important;
  }

  .rora-header-cart .rora-header-cart__count,
  .rora-site-header .rora-header-cart__count {
    display: inline-flex !important;
    right: -6px !important;
    top: -4px !important;
  }

  .rora-site-header .rora-header-nav.is-open {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 0.42rem;
    max-height: min(72vh, 560px);
    overflow-y: auto;
  }

  .rora-tabbar {
    min-height: var(--rora-mobile-tabbar-height);
  }
}

@media (max-width: 600px) {
  body:has(.rora-home.rh3) .rora-home.rh3 {
    background: linear-gradient(180deg, #f7f0ff 0%, #fff 44%);
  }

  .rora-home.rh3 .rh3-section {
    padding: 1.65rem 0 !important;
  }

  .rora-home.rh3 .rh3-section__title {
    font-size: 1.42rem !important;
    justify-content: center;
    margin-bottom: 1.15rem !important;
    text-align: center;
  }

  .rora-home.rh3 .rh3-category-grid {
    gap: 0.78rem !important;
  }

  .rora-home.rh3 .rh3-category-more {
    margin-top: 0.85rem;
  }

  .rora-home.rh3 .rh3-category-more__button {
    font-size: 0.84rem;
    justify-content: center;
    min-height: 44px;
    min-width: min(100%, 188px);
    padding: 0.72rem 1rem;
    touch-action: manipulation;
  }

  .rora-home.rh3 .rh3-cat-card {
    border-radius: 22px !important;
    box-shadow: 0 14px 32px -24px rgba(62, 37, 125, 0.38);
    min-height: 218px !important;
  }

  .rora-home.rh3 .rh3-cat-card__img {
    aspect-ratio: 1 / 0.96 !important;
    background-size: 74%, cover !important;
  }

  .rora-home.rh3 .rh3-cat-card__body {
    padding: 0.58rem 0.56rem 0.24rem !important;
    text-align: center;
  }

  .rora-home.rh3 .rh3-cat-card__body strong {
    font-size: 0.8rem !important;
    line-height: 1.08 !important;
  }

  .rora-home.rh3 .rh3-cat-card__body small {
    font-size: 0.66rem !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 600px) {
  body.woocommerce-shop .rora-shop-layout,
  body.tax-product_cat .rora-shop-layout,
  body.tax-product_tag .rora-shop-layout,
  body.post-type-archive-product .rora-shop-layout {
    gap: 0.9rem !important;
    padding-left: 0.62rem !important;
    padding-right: 0.62rem !important;
  }

  body.woocommerce-shop .rora-shop-main,
  body.tax-product_cat .rora-shop-main,
  body.tax-product_tag .rora-shop-main,
  body.post-type-archive-product .rora-shop-main {
    border-radius: 22px !important;
    padding: 0.82rem 0.62rem 1rem !important;
  }

  .rora-shop-aside__header {
    min-height: 48px !important;
  }

  .rora-shop-aside__group--categories {
    overflow: hidden;
    position: relative;
  }

  .rora-shop-aside__group--categories::after {
    background: linear-gradient(90deg, rgba(255,255,255,0), #fff 82%);
    bottom: 0.52rem;
    content: "";
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 3.25rem;
    width: 34px;
  }

  .rora-shop-side-categories {
    gap: 0.46rem !important;
    padding-bottom: 0.28rem !important;
    padding-right: 1.2rem !important;
  }

  .rora-shop-category-card--aside,
  .rora-shop-category-card--aside:hover,
  .rora-shop-category-card--aside.is-current {
    grid-template-columns: 32px minmax(74px, 1fr) !important;
    min-width: 142px !important;
    padding: 0.52rem 0.58rem !important;
  }

  .rora-shop-category-card--aside .rora-shop-category-card__icon,
  .rora-shop-category-card--aside span.rora-shop-category-card__icon {
    height: 32px !important;
    min-height: 32px !important;
    width: 32px !important;
  }

  .rora-shop-category-card--aside strong {
    font-size: 0.76rem !important;
  }

  .rora-shop-category-card--aside small {
    font-size: 0.64rem !important;
  }

  .rora-shop-price__inputs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rora-shop-toolbar {
    border-radius: 18px !important;
    gap: 0.6rem !important;
    margin-bottom: 0.78rem !important;
    padding: 0.68rem !important;
  }

  .rora-shop-toolbar__count,
  .rora-shop-toolbar__count .woocommerce-result-count {
    font-size: 0.74rem !important;
    line-height: 1.2;
  }

  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    gap: 0.72rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product,
  body.tax-product_cat.woocommerce ul.products li.product,
  body.tax-product_tag.woocommerce ul.products li.product,
  body.post-type-archive-product.woocommerce ul.products li.product,
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    border-radius: 18px !important;
    min-height: 0 !important;
    overflow: hidden;
    width: auto !important;
  }

  .woocommerce ul.products li.product img {
    aspect-ratio: 1 / 1.03 !important;
    margin-bottom: 0.55rem !important;
    padding: 0.3rem !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    font-size: 0.73rem !important;
    line-height: 1.18 !important;
    min-height: 2.36em !important;
    overflow: hidden;
    padding: 0 0.58rem !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .woocommerce ul.products li.product .price {
    font-size: 0.78rem !important;
    gap: 0.18rem 0.32rem !important;
    margin-top: 0.34rem !important;
    padding-left: 0.58rem !important;
    padding-right: 0.58rem !important;
  }

  .woocommerce ul.products li.product .price del {
    font-size: 0.66rem !important;
  }

  .woocommerce ul.products li.product span.onsale {
    font-size: 0.55rem !important;
    margin-right: 0.58rem !important;
    padding: 0.15rem 0.38rem !important;
  }

  .woocommerce ul.products li.product .button,
  body.woocommerce-shop.woocommerce ul.products li.product .button,
  body.tax-product_cat.woocommerce ul.products li.product .button,
  body.tax-product_tag.woocommerce ul.products li.product .button,
  body.post-type-archive-product.woocommerce ul.products li.product .button {
    border-radius: 999px !important;
    font-size: 0.66rem !important;
    margin: 0.58rem 0.52rem 0.62rem !important;
    min-height: 36px !important;
    padding: 0.42rem 0.48rem !important;
    width: calc(100% - 1.04rem) !important;
  }
}

@media (max-width: 420px) {
  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ==========================================================================
   Shop mobile order flow polish — compact filters + faster browsing
   ========================================================================== */
.rora-shop-aside__details {
  border-top: 1px solid rgba(74, 59, 82, 0.08);
}

.rora-shop-aside__details > summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 0.08rem 0.7rem;
  grid-template-columns: minmax(0, 1fr) auto;
  list-style: none;
  padding: 1rem 1.05rem 0.7rem;
}

.rora-shop-aside__details > summary::-webkit-details-marker {
  display: none;
}

.rora-shop-aside__details > summary::after {
  align-items: center;
  background: #f2ebff;
  border-radius: 999px;
  color: #7048f1;
  content: '+';
  display: inline-flex;
  font-family: var(--rora-rounded);
  font-size: 1rem;
  font-weight: 1000;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.rora-shop-aside__details[open] > summary::after {
  content: '−';
}

.rora-shop-aside__details > summary span {
  color: #8e85a4;
  font-family: var(--rora-sans);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  line-height: 1.1;
  text-transform: uppercase;
}

.rora-shop-aside__details > summary small {
  color: rgba(8, 8, 73, 0.58);
  font-family: var(--rora-rounded);
  font-size: 0.72rem;
  font-weight: 850;
  grid-column: 1;
  line-height: 1.1;
}

.rora-shop-aside__details .rora-shop-price,
.rora-shop-aside__details .rora-stock-toggle {
  padding: 0 1.05rem 1.05rem;
}

.rora-shop-aside__details .rora-stock-toggle {
  display: flex;
}

@media (max-width: 640px) {
  body.woocommerce-shop .rora-shop-layout,
  body.tax-product_cat .rora-shop-layout,
  body.tax-product_tag .rora-shop-layout,
  body.post-type-archive-product .rora-shop-layout {
    gap: 0.85rem !important;
    margin-top: 0.7rem !important;
    padding-left: 0.72rem !important;
    padding-right: 0.72rem !important;
  }

  body.woocommerce-shop .rora-shop-aside,
  body.tax-product_cat .rora-shop-aside,
  body.tax-product_tag .rora-shop-aside,
  body.post-type-archive-product .rora-shop-aside {
    border-radius: 20px !important;
    box-shadow: 0 16px 36px -30px rgba(31, 26, 74, 0.5) !important;
  }

  .rora-shop-aside__header {
    min-height: 46px !important;
    padding: 0.74rem 0.9rem !important;
  }

  .rora-shop-aside__group--categories {
    padding: 0.78rem 0.75rem 0.82rem !important;
  }

  .rora-shop-aside__group--categories h3 {
    margin-bottom: 0.56rem !important;
  }

  .rora-shop-side-categories {
    gap: 0.46rem !important;
    margin-left: -0.75rem !important;
    margin-right: -0.75rem !important;
    padding: 0 0.75rem 0.18rem !important;
  }

  .rora-shop-category-card--aside,
  .rora-shop-category-card--aside:hover,
  .rora-shop-category-card--aside.is-current {
    border-radius: 16px !important;
    grid-template-columns: 32px minmax(78px, 1fr) !important;
    min-width: 152px !important;
    padding: 0.48rem 0.55rem !important;
  }

  .rora-shop-category-card--aside .rora-shop-category-card__icon,
  .rora-shop-category-card--aside span.rora-shop-category-card__icon {
    border-radius: 11px !important;
    height: 32px !important;
    min-height: 32px !important;
    width: 32px !important;
  }

  .rora-shop-category-card--aside strong {
    font-size: 0.78rem !important;
  }

  .rora-shop-category-card--aside small {
    font-size: 0.66rem !important;
  }

  .rora-shop-aside__details {
    padding: 0 !important;
  }

  .rora-shop-aside__details > summary {
    min-height: 52px;
    padding: 0.74rem 0.9rem !important;
  }

  .rora-shop-aside__details > summary span {
    font-size: 0.68rem;
  }

  .rora-shop-aside__details > summary small {
    font-size: 0.68rem;
  }

  .rora-shop-aside__details .rora-shop-price,
  .rora-shop-aside__details .rora-stock-toggle {
    padding: 0 0.9rem 0.9rem !important;
  }

  .rora-shop-price__inputs,
  .rora-shop-aside__details .rora-shop-price__inputs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rora-shop-price button {
    min-height: 42px !important;
  }

  body.woocommerce-shop .rora-shop-main,
  body.tax-product_cat .rora-shop-main,
  body.tax-product_tag .rora-shop-main,
  body.post-type-archive-product .rora-shop-main {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(126, 93, 224, 0.08);
    box-shadow: 0 18px 40px -34px rgba(31, 26, 74, 0.46);
    padding: 0.78rem 0.58rem 1rem !important;
  }

  body.woocommerce-shop .rora-shop-toolbar,
  body.tax-product_cat .rora-shop-toolbar,
  body.tax-product_tag .rora-shop-toolbar,
  body.post-type-archive-product .rora-shop-toolbar {
    gap: 0.58rem !important;
    margin-bottom: 0.82rem !important;
    min-height: 0;
    padding: 0 0.08rem !important;
  }

  .rora-shop-toolbar__count,
  .rora-shop-toolbar__count .woocommerce-result-count {
    font-size: 0.78rem !important;
    text-align: center;
  }

  .rora-shop-toolbar__controls {
    align-items: center;
    display: grid !important;
    gap: 0.5rem !important;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
  }

  .rora-shop-toolbar__sort,
  .rora-shop-toolbar__sort form,
  .rora-shop-toolbar__sort select {
    min-width: 0 !important;
    width: 100% !important;
  }

  .rora-shop-toolbar__sort select {
    font-size: 0.78rem !important;
    min-height: 42px !important;
  }

  .rora-shop-view {
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0.22rem !important;
    width: auto !important;
  }

  .rora-shop-view > span {
    display: none;
  }

  .rora-shop-view button {
    height: 34px !important;
    width: 34px !important;
  }

  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    gap: 0.72rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product,
  body.tax-product_cat.woocommerce ul.products li.product,
  body.tax-product_tag.woocommerce ul.products li.product,
  body.post-type-archive-product.woocommerce ul.products li.product {
    border-radius: 16px !important;
    padding-bottom: 0.72rem !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
  body.woocommerce-shop.woocommerce ul.products li.product img,
  body.tax-product_cat.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
  body.tax-product_cat.woocommerce ul.products li.product img,
  body.tax-product_tag.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
  body.tax-product_tag.woocommerce ul.products li.product img,
  body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
  body.post-type-archive-product.woocommerce ul.products li.product img {
    aspect-ratio: 1 / 0.92 !important;
    border-radius: 13px !important;
    margin: 0.42rem 0.42rem 0.52rem !important;
    object-fit: cover;
    width: calc(100% - 0.84rem) !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_tag.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.74rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.5rem !important;
    min-height: 2.36em !important;
    padding: 0 0.58rem !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product .price,
  body.tax-product_cat.woocommerce ul.products li.product .price,
  body.tax-product_tag.woocommerce ul.products li.product .price,
  body.post-type-archive-product.woocommerce ul.products li.product .price {
    font-size: 0.82rem !important;
    gap: 0.18rem 0.32rem !important;
    margin-top: 0 !important;
    padding: 0 0.58rem !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product .price del,
  body.tax-product_cat.woocommerce ul.products li.product .price del,
  body.tax-product_tag.woocommerce ul.products li.product .price del,
  body.post-type-archive-product.woocommerce ul.products li.product .price del {
    font-size: 0.68rem !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product .rora-loop-sale-pill,
  body.tax-product_cat.woocommerce ul.products li.product .rora-loop-sale-pill,
  body.tax-product_tag.woocommerce ul.products li.product .rora-loop-sale-pill,
  body.post-type-archive-product.woocommerce ul.products li.product .rora-loop-sale-pill {
    font-size: 0.54rem !important;
    padding: 0.18rem 0.42rem !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product .button,
  body.tax-product_cat.woocommerce ul.products li.product .button,
  body.tax-product_tag.woocommerce ul.products li.product .button,
  body.post-type-archive-product.woocommerce ul.products li.product .button {
    border-radius: 14px !important;
    font-size: 0.66rem !important;
    margin: 0.62rem 0.52rem 0 !important;
    min-height: 34px !important;
    padding: 0.42rem 0.45rem !important;
    width: calc(100% - 1.04rem) !important;
  }

  .woocommerce nav.woocommerce-pagination ul {
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0.38rem 0.55rem !important;
  }
}

@media (max-width: 359px) {
  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Hard override: details elements also carry the old group class, so remove inherited panel padding. */
.rora-shop-aside__group.rora-shop-aside__details,
body.woocommerce-shop .rora-shop-aside__group.rora-shop-aside__details,
body.tax-product_cat .rora-shop-aside__group.rora-shop-aside__details,
body.tax-product_tag .rora-shop-aside__group.rora-shop-aside__details,
body.post-type-archive-product .rora-shop-aside__group.rora-shop-aside__details {
  padding: 0 !important;
}

@media (max-width: 640px) {
  .rora-shop-aside__group.rora-shop-aside__details > summary {
    min-height: 48px !important;
    padding: 0.62rem 0.85rem !important;
  }
}

/* Final mobile shop tightening: keep the first product row usable above the fixed tab bar. */
@media (max-width: 600px) {
  body.woocommerce-shop .rora-shop-layout,
  body.tax-product_cat .rora-shop-layout,
  body.tax-product_tag .rora-shop-layout,
  body.post-type-archive-product .rora-shop-layout {
    gap: 0.55rem !important;
    margin-top: 0.35rem !important;
  }

  body.woocommerce-shop .rora-shop-aside,
  body.tax-product_cat .rora-shop-aside,
  body.tax-product_tag .rora-shop-aside,
  body.post-type-archive-product .rora-shop-aside {
    margin-top: 0.45rem !important;
  }

  .rora-shop-aside__header {
    min-height: 40px !important;
    padding: 0.54rem 0.82rem !important;
  }

  .rora-shop-aside__header h2,
  .rora-shop-aside__group--categories h3 {
    letter-spacing: 0.12em !important;
  }

  .rora-shop-aside__group--categories {
    padding: 0.54rem 0.72rem 0.58rem !important;
  }

  .rora-shop-aside__group--categories h3 {
    margin-bottom: 0.38rem !important;
  }

  .rora-shop-side-categories {
    padding-bottom: 0 !important;
  }

  .rora-shop-category-card--aside,
  .rora-shop-category-card--aside:hover,
  .rora-shop-category-card--aside.is-current {
    border-radius: 15px !important;
    grid-template-columns: 30px minmax(70px, 1fr) !important;
    min-height: 54px !important;
    min-width: 138px !important;
    padding: 0.42rem 0.5rem !important;
  }

  .rora-shop-category-card--aside .rora-shop-category-card__icon,
  .rora-shop-category-card--aside span.rora-shop-category-card__icon {
    border-radius: 10px !important;
    height: 30px !important;
    min-height: 30px !important;
    width: 30px !important;
  }

  .rora-shop-category-card--aside strong {
    font-size: 0.74rem !important;
  }

  .rora-shop-category-card--aside small {
    font-size: 0.62rem !important;
  }

  .rora-shop-aside__details > summary,
  .rora-shop-aside__group.rora-shop-aside__details > summary {
    min-height: 44px !important;
    padding: 0.5rem 0.82rem !important;
  }

  .rora-shop-aside__details > summary::after {
    height: 24px !important;
    width: 24px !important;
  }

  body.woocommerce-shop .rora-shop-main,
  body.tax-product_cat .rora-shop-main,
  body.tax-product_tag .rora-shop-main,
  body.post-type-archive-product .rora-shop-main {
    padding-top: 0.58rem !important;
  }

  body.woocommerce-shop .rora-shop-toolbar,
  body.tax-product_cat .rora-shop-toolbar,
  body.tax-product_tag .rora-shop-toolbar,
  body.post-type-archive-product .rora-shop-toolbar {
    margin-bottom: 0.62rem !important;
  }

  .rora-shop-toolbar__count,
  .rora-shop-toolbar__count .woocommerce-result-count {
    display: none !important;
  }

  .rora-shop-toolbar__sort select {
    font-size: 0.74rem !important;
    min-height: 38px !important;
  }

  .rora-shop-view {
    min-height: 38px !important;
  }

  .rora-shop-view button {
    height: 32px !important;
    width: 32px !important;
  }
}

@media (min-width: 1025px) {
  .rora-site-header .rora-nav-pill a,
  body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a {
    align-items: center !important;
    background: #ffc400 !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #080849 !important;
    display: inline-flex !important;
    font-family: "Nunito", "Inter", system-ui, sans-serif !important;
    font-size: 0.92rem !important;
    font-weight: 1000 !important;
    gap: 0.44rem !important;
    letter-spacing: 0.02em !important;
    line-height: 1 !important;
    min-height: 0 !important;
    padding: 0.6rem 1.1rem !important;
    text-transform: none !important;
  }

  .rora-site-header .rora-nav-pill a:hover,
  body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a:hover {
    background: #ffbd00 !important;
    color: #080849 !important;
  }

  .rora-site-header .rora-nav-pill a svg,
  body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a svg {
    color: #de5a12 !important;
    flex: 0 0 auto;
    height: 1.05rem !important;
    width: 1.05rem !important;
  }
}

.rora-site-header .rora-brand__logo,
body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo,
body.woocommerce-shop .rora-site-header .rora-brand__logo,
body.tax-product_cat .rora-site-header .rora-brand__logo,
body.tax-product_tag .rora-site-header .rora-brand__logo,
body.post-type-archive-product .rora-site-header .rora-brand__logo,
body.single-product .rora-site-header .rora-brand__logo,
body.page .rora-site-header .rora-brand__logo,
body.search .rora-site-header .rora-brand__logo,
body.error404 .rora-site-header .rora-brand__logo {
  border-radius: 0 !important;
  filter: brightness(0.94) contrast(1.34) saturate(1.58) drop-shadow(0 7px 10px rgba(92, 57, 190, 0.2)) !important;
  height: 66px !important;
  max-width: 188px !important;
  object-fit: contain !important;
  transform: none !important;
  width: auto !important;
}

@media (max-width: 640px) {
  .rora-site-header .rora-brand__logo,
  body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo,
  body.woocommerce-shop .rora-site-header .rora-brand__logo,
  body.tax-product_cat .rora-site-header .rora-brand__logo,
  body.tax-product_tag .rora-site-header .rora-brand__logo,
  body.post-type-archive-product .rora-site-header .rora-brand__logo,
  body.single-product .rora-site-header .rora-brand__logo,
  body.page .rora-site-header .rora-brand__logo,
  body.search .rora-site-header .rora-brand__logo,
  body.error404 .rora-site-header .rora-brand__logo {
    height: 52px !important;
    max-width: 142px !important;
  }
}

@media (min-width: 1025px) {
  .rora-welcome-strip,
  body:has(.rora-home.rh3) .rora-welcome-strip,
  body.woocommerce-shop .rora-welcome-strip,
  body.tax-product_cat .rora-welcome-strip,
  body.tax-product_tag .rora-welcome-strip,
  body.post-type-archive-product .rora-welcome-strip,
  body.single-product .rora-welcome-strip,
  body.page .rora-welcome-strip,
  body.search .rora-welcome-strip,
  body.error404 .rora-welcome-strip {
    border-radius: 18px 18px 0 0 !important;
    box-sizing: border-box !important;
    font-size: 0.79rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    margin: 0 auto !important;
    max-width: min(1220px, calc(100vw - 80px)) !important;
    min-height: 28px !important;
    padding: 0.34rem 1rem 0.3rem !important;
  }

  .rora-site-header,
  body:has(.rora-home.rh3) .rora-site-header,
  body.woocommerce-shop .rora-site-header,
  body.tax-product_cat .rora-site-header,
  body.tax-product_tag .rora-site-header,
  body.post-type-archive-product .rora-site-header,
  body.single-product .rora-site-header,
  body.page .rora-site-header,
  body.search .rora-site-header,
  body.error404 .rora-site-header {
    margin: 0 auto !important;
    max-width: min(1268px, calc(100vw - 40px)) !important;
    width: 100% !important;
  }

  .rora-site-header .rora-header-row,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-row,
  body.woocommerce-shop .rora-site-header .rora-header-row,
  body.tax-product_cat .rora-site-header .rora-header-row,
  body.tax-product_tag .rora-site-header .rora-header-row,
  body.post-type-archive-product .rora-site-header .rora-header-row,
  body.single-product .rora-site-header .rora-header-row,
  body.page .rora-site-header .rora-header-row,
  body.search .rora-site-header .rora-header-row,
  body.error404 .rora-site-header .rora-header-row {
    align-items: center !important;
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(126, 93, 224, 0.08) !important;
    border-radius: 22px 22px 0 0 !important;
    box-shadow: 0 18px 46px -34px rgba(40, 23, 84, 0.38) !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: clamp(0.75rem, 1.35vw, 1.25rem) !important;
    grid-template-columns: minmax(150px, 190px) auto minmax(260px, 1fr) auto !important;
    margin: 0 auto !important;
    max-width: none !important;
    min-height: 82px !important;
    padding: 0.58rem clamp(1.1rem, 2.3vw, 2rem) !important;
    width: 100% !important;
  }

  .rora-site-header .rora-header-nav__menu,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu {
    align-items: center !important;
    display: flex !important;
    gap: clamp(1.2rem, 2.35vw, 2.6rem) !important;
    justify-content: center !important;
  }

  .rora-site-header .rora-category-menu__toggle,
  body:has(.rora-home.rh3) .rora-category-menu__toggle {
    background: linear-gradient(180deg, #8458f7 0%, #6842e7 100%) !important;
    border-color: transparent !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 26px -18px rgba(104, 66, 231, 0.75) !important;
    color: #fff !important;
    font-size: 0.95rem !important;
    font-weight: 900 !important;
    gap: 0.5rem !important;
    min-height: 46px !important;
    padding: 0.6rem 1.2rem !important;
  }

  .rora-site-header .rora-nav-link a,
  body:has(.rora-home.rh3) .rora-site-header .rora-nav-link a {
    color: #080849 !important;
    font-family: "Nunito", "Inter", system-ui, sans-serif !important;
    font-size: 0.92rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    padding: 0.52rem 0.9rem !important;
    white-space: nowrap !important;
  }

  .rora-header-search-form,
  body:has(.rora-home.rh3) .rora-header-search-form,
  body.woocommerce-shop .rora-header-search-form,
  body.tax-product_cat .rora-header-search-form,
  body.tax-product_tag .rora-header-search-form,
  body.post-type-archive-product .rora-header-search-form,
  body.single-product .rora-header-search-form,
  body.page .rora-header-search-form,
  body.search .rora-header-search-form,
  body.error404 .rora-header-search-form {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #e8e1f5 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    display: flex !important;
    gap: 0.55rem !important;
    height: 48px !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 0.38rem 0 1rem !important;
    width: 100% !important;
  }

  .rora-header-search-form__icon,
  body:has(.rora-home.rh3) .rora-header-search-form__icon {
    color: #8a82a8 !important;
    display: block !important;
    flex: 0 0 auto !important;
    height: 18px !important;
    left: auto !important;
    position: static !important;
    width: 18px !important;
  }

  .rora-header-search-form input[type="search"],
  body:has(.rora-home.rh3) .rora-header-search-form input[type="search"] {
    display: block !important;
    font-size: 0.94rem !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .rora-header-search-form button[type="submit"],
  body:has(.rora-home.rh3) .rora-header-search-form button[type="submit"] {
    align-items: center !important;
    background: var(--rora-purple) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 0.83rem !important;
    font-weight: 800 !important;
    height: auto !important;
    justify-content: center !important;
    min-height: 38px !important;
    min-width: 0 !important;
    padding: 0.62rem 0.95rem !important;
    width: auto !important;
  }

  .rora-header-search-form__submit-icon,
  body:has(.rora-home.rh3) .rora-header-search-form__submit-icon {
    display: inline !important;
    height: 19px !important;
    width: 19px !important;
  }

  .rora-header-icons,
  body:has(.rora-home.rh3) .rora-header-icons,
  body.woocommerce-shop .rora-site-header .rora-header-icons,
  body.tax-product_cat .rora-site-header .rora-header-icons,
  body.tax-product_tag .rora-site-header .rora-header-icons,
  body.post-type-archive-product .rora-site-header .rora-header-icons,
  body.single-product .rora-site-header .rora-header-icons,
  body.page .rora-site-header .rora-header-icons,
  body.search .rora-site-header .rora-header-icons,
  body.error404 .rora-site-header .rora-header-icons {
    align-items: center !important;
    display: flex !important;
    gap: clamp(1.1rem, 1.8vw, 1.7rem) !important;
    justify-content: flex-end !important;
    justify-self: end !important;
    width: auto !important;
  }

  .rora-header-mobile-toggle {
    display: none !important;
  }

  .rora-header-icon.rora-header-account,
  .rora-header-icon.rora-header-cart,
  .rora-site-header .rora-header-icon.rora-header-account,
  .rora-site-header .rora-header-icon.rora-header-cart,
  body:has(.rora-home.rh3) .rora-header-icon.rora-header-account,
  body:has(.rora-home.rh3) .rora-header-icon.rora-header-cart {
    align-items: center !important;
    background: none !important;
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #080849 !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 0.38rem !important;
    height: 32px !important;
    justify-content: center !important;
    min-height: 32px !important;
    padding: 0 !important;
    width: auto !important;
  }

  .rora-header-cart .rora-header-icon__glyph,
  .rora-header-icon__glyph,
  body:has(.rora-home.rh3) .rora-header-icon__glyph {
    align-items: center !important;
    background: none !important;
    border-radius: 0 !important;
    color: #080849 !important;
    display: flex !important;
    height: 24px !important;
    justify-content: center !important;
    position: relative !important;
    width: 24px !important;
  }

  .rora-header-icon__label,
  body:has(.rora-home.rh3) .rora-header-icon__label {
    color: #2b2350 !important;
    display: flex !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }
}

@media (min-width: 1025px) {
  .rora-site-header .rora-header-icon.rora-header-cart,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-icon.rora-header-cart,
  body.woocommerce-shop .rora-site-header .rora-header-icon.rora-header-cart,
  body.tax-product_cat .rora-site-header .rora-header-icon.rora-header-cart,
  body.tax-product_tag .rora-site-header .rora-header-icon.rora-header-cart,
  body.post-type-archive-product .rora-site-header .rora-header-icon.rora-header-cart,
  body.single-product .rora-site-header .rora-header-icon.rora-header-cart,
  body.page .rora-site-header .rora-header-icon.rora-header-cart,
  body.search .rora-site-header .rora-header-icon.rora-header-cart,
  body.error404 .rora-site-header .rora-header-icon.rora-header-cart {
    min-width: 75.375px !important;
  }

  .rora-site-header .rora-header-cart .rora-header-icon__glyph svg,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-cart .rora-header-icon__glyph svg,
  body.woocommerce-shop .rora-site-header .rora-header-cart .rora-header-icon__glyph svg,
  body.tax-product_cat .rora-site-header .rora-header-cart .rora-header-icon__glyph svg,
  body.tax-product_tag .rora-site-header .rora-header-cart .rora-header-icon__glyph svg,
  body.post-type-archive-product .rora-site-header .rora-header-cart .rora-header-icon__glyph svg,
  body.single-product .rora-site-header .rora-header-cart .rora-header-icon__glyph svg,
  body.page .rora-site-header .rora-header-cart .rora-header-icon__glyph svg,
  body.search .rora-site-header .rora-header-cart .rora-header-icon__glyph svg,
  body.error404 .rora-site-header .rora-header-cart .rora-header-icon__glyph svg {
    height: 24px !important;
    max-width: none !important;
    min-width: 24px !important;
    width: 24px !important;
  }
}

body.woocommerce-shop.woocommerce ul.products,
body.tax-product_cat.woocommerce ul.products,
body.tax-product_tag.woocommerce ul.products,
body.post-type-archive-product.woocommerce ul.products {
  gap: clamp(0.9rem, 1.5vw, 1.25rem) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.woocommerce-shop.woocommerce ul.products li.product,
body.tax-product_cat.woocommerce ul.products li.product,
body.tax-product_tag.woocommerce ul.products li.product,
body.post-type-archive-product.woocommerce ul.products li.product {
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(74, 59, 82, 0.07) !important;
  border-radius: 24px !important;
  box-shadow: 0 22px 44px -36px rgba(31, 26, 74, 0.42) !important;
  color: var(--rora-ink-2, var(--rora-ink)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: relative !important;
  text-decoration: none !important;
  transition: box-shadow 0.2s var(--rora-ease), transform 0.2s var(--rora-ease) !important;
}

body.woocommerce-shop.woocommerce ul.products li.product:hover,
body.tax-product_cat.woocommerce ul.products li.product:hover,
body.tax-product_tag.woocommerce ul.products li.product:hover,
body.post-type-archive-product.woocommerce ul.products li.product:hover {
  border-color: rgba(74, 59, 82, 0.07) !important;
  box-shadow: 0 28px 54px -34px rgba(31, 26, 74, 0.5) !important;
  transform: translateY(-3px) !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
body.tax-product_cat.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
body.tax-product_tag.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  color: inherit !important;
  display: contents !important;
  gap: 0.65rem !important;
  padding-bottom: 0 !important;
  text-decoration: none !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
body.woocommerce-shop.woocommerce ul.products li.product img,
body.tax-product_cat.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
body.tax-product_cat.woocommerce ul.products li.product img,
body.tax-product_tag.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
body.tax-product_tag.woocommerce ul.products li.product img,
body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
body.post-type-archive-product.woocommerce ul.products li.product img {
  aspect-ratio: auto !important;
  background:
    radial-gradient(circle at 78% 22%, rgba(255, 213, 41, 0.18) 0 19%, transparent 20%),
    linear-gradient(180deg, #fff, #fbf8ff) !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
  filter: drop-shadow(0 18px 18px rgba(74, 59, 82, 0.11));
  height: 250px !important;
  margin: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
  padding: 1.4rem !important;
  transition: transform 0.22s var(--rora-ease) !important;
  width: 100% !important;
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
}

body.woocommerce-shop.woocommerce ul.products li.product:hover img,
body.tax-product_cat.woocommerce ul.products li.product:hover img,
body.tax-product_tag.woocommerce ul.products li.product:hover img,
body.post-type-archive-product.woocommerce ul.products li.product:hover img {
  transform: scale(1.035) !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--rora-ink-2, var(--rora-ink)) !important;
  display: -webkit-box !important;
  font-family: var(--rora-sans) !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  min-height: 2.7em !important;
  overflow: hidden !important;
  padding: 0 1rem !important;
  text-decoration: none !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .rora-loop-category-label,
body.tax-product_cat.woocommerce ul.products li.product .rora-loop-category-label,
body.tax-product_tag.woocommerce ul.products li.product .rora-loop-category-label,
body.post-type-archive-product.woocommerce ul.products li.product .rora-loop-category-label {
  color: #7048f1 !important;
  display: block !important;
  font-family: var(--rora-rounded) !important;
  font-size: 0.78rem !important;
  font-weight: 1000 !important;
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  letter-spacing: 0.08em !important;
  line-height: 1 !important;
  margin: 1rem 0 0.72rem !important;
  padding: 0 1rem !important;
  text-transform: uppercase !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-loop-product__title::before,
body.tax-product_cat.woocommerce ul.products li.product .woocommerce-loop-product__title::before,
body.tax-product_tag.woocommerce ul.products li.product .woocommerce-loop-product__title::before,
body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title::before {
  content: none !important;
  display: none !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .price,
body.tax-product_cat.woocommerce ul.products li.product .price,
body.tax-product_tag.woocommerce ul.products li.product .price,
body.post-type-archive-product.woocommerce ul.products li.product .price {
  align-items: baseline !important;
  color: #2ec981 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  font-family: var(--rora-rounded) !important;
  font-size: 1.08rem !important;
  font-weight: 1000 !important;
  gap: 0.42rem !important;
  line-height: 1 !important;
  margin: 0 0 1rem !important;
  padding: 0 0 0 1rem !important;
  grid-column: 1 !important;
  grid-row: 4 !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .price del,
body.tax-product_cat.woocommerce ul.products li.product .price del,
body.tax-product_tag.woocommerce ul.products li.product .price del,
body.post-type-archive-product.woocommerce ul.products li.product .price del {
  color: #9c95b5 !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .price ins,
body.tax-product_cat.woocommerce ul.products li.product .price ins,
body.tax-product_tag.woocommerce ul.products li.product .price ins,
body.post-type-archive-product.woocommerce ul.products li.product .price ins {
  color: #2ec981 !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .rora-loop-sale-pill,
body.tax-product_cat.woocommerce ul.products li.product .rora-loop-sale-pill,
body.tax-product_tag.woocommerce ul.products li.product .rora-loop-sale-pill,
body.post-type-archive-product.woocommerce ul.products li.product .rora-loop-sale-pill {
  background: linear-gradient(180deg, #ffe69a 0%, #ffd764 100%) !important;
  border: 1px solid #ffd05a !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 24px -18px rgba(149, 95, 0, 0.54) !important;
  color: #8a661c !important;
  font-family: var(--rora-rounded);
  font-size: 0.78rem !important;
  font-weight: 1000 !important;
  left: 1rem !important;
  letter-spacing: 0.06em !important;
  line-height: 1 !important;
  margin: 0 !important;
  min-height: 44px !important;
  padding: 0.82rem 1rem !important;
  position: absolute !important;
  text-transform: uppercase;
  top: 1rem !important;
  z-index: 2 !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .button,
body.tax-product_cat.woocommerce ul.products li.product .button,
body.tax-product_tag.woocommerce ul.products li.product .button,
body.post-type-archive-product.woocommerce ul.products li.product .button {
  align-items: center !important;
  align-self: center !important;
  background: var(--collection-accent, #7048f1) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #fff !important;
  display: inline-flex !important;
  font-family: var(--rora-rounded) !important;
  font-size: 0.88rem !important;
  font-weight: 1000 !important;
  gap: 0.48rem !important;
  justify-content: center !important;
  justify-self: end !important;
  line-height: 1 !important;
  margin: 0 !important;
  min-height: 44px !important;
  min-width: 140px !important;
  padding: 0 1.05rem !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  width: auto !important;
  grid-column: 2 !important;
  grid-row: 4 !important;
}

body.woocommerce-shop.woocommerce ul.products li.product .button::before,
body.tax-product_cat.woocommerce ul.products li.product .button::before,
body.tax-product_tag.woocommerce ul.products li.product .button::before,
body.post-type-archive-product.woocommerce ul.products li.product .button::before {
  background: currentColor;
  content: "";
  display: inline-flex;
  flex: 0 0 auto;
  height: 1rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 1rem;
}

@media (max-width: 900px) {
  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
  body.woocommerce-shop.woocommerce ul.products li.product img,
  body.tax-product_cat.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
  body.tax-product_cat.woocommerce ul.products li.product img,
  body.tax-product_tag.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
  body.tax-product_tag.woocommerce ul.products li.product img,
  body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
  body.post-type-archive-product.woocommerce ul.products li.product img {
    height: 178px !important;
    padding: 0.85rem !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_tag.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.84rem !important;
    padding-left: 0.78rem !important;
    padding-right: 0.78rem !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product .price,
  body.tax-product_cat.woocommerce ul.products li.product .price,
  body.tax-product_tag.woocommerce ul.products li.product .price,
  body.post-type-archive-product.woocommerce ul.products li.product .price {
    padding-left: 0.78rem !important;
    padding-right: 0.78rem !important;
  }

  body.woocommerce-shop.woocommerce ul.products li.product .button,
  body.tax-product_cat.woocommerce ul.products li.product .button,
  body.tax-product_tag.woocommerce ul.products li.product .button,
  body.post-type-archive-product.woocommerce ul.products li.product .button {
    margin: 0.62rem 0.78rem 0.78rem !important;
    min-width: 0 !important;
    width: calc(100% - 1.56rem) !important;
  }
}

@media (max-width: 359px) {
  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   Shop / archive / search product card — match Best Sellers card exactly
   The loop now renders the same `.rora-collection-card` markup as the curated
   collection pages (see woocommerce/content-product.php). These rules strip
   the legacy `li.product` chrome so the inner card is the only visible shell,
   and re-assert the collection card values (scoped + !important) so they win
   over the older layered `li.product` rules earlier in this file.
   ========================================================================== */
.woocommerce ul.products li.product {
  --collection-accent: #7048f1;
}

/* li becomes a transparent grid cell — the article carries the card look.
   Selectors mirror the legacy high-specificity body-scoped blocks above so
   these (being later in the file) win. */
body .woocommerce ul.products li.product,
body .woocommerce-page ul.products li.product,
body.woocommerce-shop.woocommerce ul.products li.product,
body.tax-product_cat.woocommerce ul.products li.product,
body.tax-product_tag.woocommerce ul.products li.product,
body.post-type-archive-product.woocommerce ul.products li.product {
  align-self: stretch;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  transform: none !important;
  transition: none !important;
}

body .woocommerce ul.products li.product:hover,
body .woocommerce-page ul.products li.product:hover,
body.woocommerce-shop.woocommerce ul.products li.product:hover,
body.tax-product_cat.woocommerce ul.products li.product:hover,
body.tax-product_tag.woocommerce ul.products li.product:hover,
body.post-type-archive-product.woocommerce ul.products li.product:hover {
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* The card shell */
.woocommerce ul.products li.product .rora-collection-card {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(126, 93, 224, 0.09);
  border-radius: 24px;
  box-shadow: 0 22px 44px -36px rgba(31, 26, 74, 0.42);
  color: var(--rora-ink-2, var(--rora-ink));
  display: grid;
  height: 100%;
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow 0.2s var(--rora-ease), transform 0.2s var(--rora-ease);
}

.woocommerce ul.products li.product:hover .rora-collection-card {
  box-shadow: 0 28px 54px -34px rgba(31, 26, 74, 0.5);
  transform: translateY(-3px);
}

/* Media frame — fixed height, padded, gradient, contained image */
.woocommerce ul.products li.product .rora-collection-card__media {
  align-items: center;
  background:
    radial-gradient(circle at 78% 22%, rgba(255, 213, 41, 0.18) 0 19%, transparent 20%),
    linear-gradient(180deg, #fff, #fbf8ff);
  display: flex;
  height: 250px;
  justify-content: center;
  margin: 0 !important;
  overflow: hidden;
  padding: 1.4rem !important;
  position: relative;
  width: auto !important;
}

.woocommerce ul.products li.product .rora-collection-card__media img,
.woocommerce ul.products li.product a.rora-collection-card__media > img {
  aspect-ratio: auto !important;
  background: none !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 18px 18px rgba(74, 59, 82, 0.11));
  flex: 0 1 auto !important;
  height: auto !important;
  margin: 0 !important;
  max-height: 222px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  transition: transform 0.22s var(--rora-ease);
  width: auto !important;
}

.woocommerce ul.products li.product:hover .rora-collection-card__media img {
  transform: scale(1.035) !important;
}

/* Badge */
.woocommerce ul.products li.product .rora-collection-card__badge {
  background: linear-gradient(135deg, #fff1bd, #ffd87a);
  border: 1px solid rgba(161, 112, 21, 0.14);
  border-radius: 12px;
  box-shadow: 0 10px 22px -16px rgba(161, 112, 21, 0.65);
  color: #896319;
  font-size: 0.78rem;
  font-weight: 900;
  left: 0.85rem;
  letter-spacing: 0.04em;
  margin: 0 !important;
  padding: 0.55rem 0.75rem;
  position: absolute;
  text-transform: uppercase;
  top: 0.85rem;
  width: auto !important;
  z-index: 2;
}

/* Body */
.woocommerce ul.products li.product .rora-collection-card__body {
  align-content: start;
  display: grid;
  gap: 0.65rem;
  padding: 1rem !important;
}

.woocommerce ul.products li.product .rora-collection-card__body small {
  color: var(--collection-accent);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: uppercase;
}

.woocommerce ul.products li.product .rora-collection-card__title {
  color: var(--rora-ink-2, var(--rora-ink));
  display: -webkit-box;
  font-family: var(--rora-sans);
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.35;
  margin: 0 !important;
  min-height: 2.7em;
  overflow: hidden;
  padding: 0 !important;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.woocommerce ul.products li.product .rora-collection-card__title:hover {
  color: var(--collection-accent);
}

/* Bottom row — price left, add-to-cart pill right */
.woocommerce ul.products li.product .rora-collection-card__bottom {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-top: 0.15rem;
  padding: 0 !important;
  width: auto !important;
}

.woocommerce ul.products li.product .rora-collection-card__price {
  align-items: baseline;
  color: inherit;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 0.42rem;
  line-height: 1;
  margin: 0 !important;
  order: 2;
  padding: 0 !important;
  width: auto !important;
}

.woocommerce ul.products li.product .rora-collection-card__price em {
  color: var(--rora-price);
  font-size: 1.08rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
}

.woocommerce ul.products li.product .rora-collection-card__price s {
  color: var(--rora-old-price);
  font-size: 0.82rem;
  font-weight: 700;
}

.woocommerce ul.products li.product .rora-collection-card__actions {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0.5rem;
  justify-content: flex-end;
  order: 1;
}

/* Add to cart button — pill matching the curated collection pages */
.woocommerce ul.products li.product .rora-collection-card .button {
  align-items: center;
  background: var(--collection-accent) !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--rora-rounded);
  font-size: 0.88rem;
  font-weight: 1000;
  gap: 0.48rem;
  justify-content: center;
  line-height: 1;
  margin: 0 !important;
  min-height: 44px;
  min-width: 140px;
  padding: 0 1.05rem !important;
  text-decoration: none;
  white-space: nowrap;
  width: auto !important;
}

.woocommerce ul.products li.product .rora-collection-card .button:hover,
.woocommerce ul.products li.product .rora-collection-card .button:focus-visible {
  background: #5d39d8 !important;
  color: #fff !important;
}

.woocommerce ul.products li.product .rora-collection-card .button.add_to_cart_button::before {
  background: currentColor;
  content: "";
  display: inline-flex;
  flex: 0 0 auto;
  height: 1rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 1rem;
}

/* Hide the loop sale pill / category label that legacy hooks may inject */
.woocommerce ul.products li.product .rora-collection-card .rora-loop-sale-pill,
.woocommerce ul.products li.product .rora-collection-card .rora-loop-category-label {
  display: none !important;
}

/* Mobile — mirror the Best Sellers card breakpoint (collection CSS uses 620px).
   These beat the legacy ≤600px `li.product` shop rules (equal/higher specificity,
   later in the file). */
@media (max-width: 620px) {
  .woocommerce ul.products li.product .rora-collection-card {
    border-radius: 18px;
  }

  .woocommerce ul.products li.product .rora-collection-card__media {
    height: 178px;
    padding: 0.85rem !important;
  }

  .woocommerce ul.products li.product .rora-collection-card__media img,
  .woocommerce ul.products li.product a.rora-collection-card__media > img {
    max-height: 152px !important;
  }

  .woocommerce ul.products li.product .rora-collection-card__body {
    align-content: start;
    gap: 0.45rem;
    padding: 0.78rem !important;
  }

  .woocommerce ul.products li.product .rora-collection-card__body small {
    font-size: 0.62rem;
  }

  .woocommerce ul.products li.product .rora-collection-card__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
  }

  .woocommerce ul.products li.product .rora-collection-card__price {
    align-self: flex-start;
    order: 1;
  }

  .woocommerce ul.products li.product .rora-collection-card__actions {
    justify-content: flex-start;
    order: 2;
    width: 100%;
  }

  .woocommerce ul.products li.product .rora-collection-card__badge {
    font-size: 0.66rem;
    padding: 0.45rem 0.58rem;
  }

  /* Keep the add-to-cart a 140px pill (legacy mobile rule forces full width) */
  body .woocommerce ul.products li.product .rora-collection-card .button,
  body.woocommerce-shop.woocommerce ul.products li.product .rora-collection-card .button,
  body.tax-product_cat.woocommerce ul.products li.product .rora-collection-card .button,
  body.tax-product_tag.woocommerce ul.products li.product .rora-collection-card .button,
  body.post-type-archive-product.woocommerce ul.products li.product .rora-collection-card .button {
    flex: 1 1 auto !important;
    font-size: 0.76rem !important;
    gap: 0.34rem !important;
    margin: 0 !important;
    min-width: 0 !important;
    padding: 0 0.52rem !important;
    width: auto !important;
  }

  .rora-collection-card__actions .rora-wishlist-toggle,
  .woocommerce ul.products li.product .rora-collection-card__actions .rora-wishlist-toggle {
    flex: 0 0 44px;
    height: 44px;
    min-height: 44px;
    position: static;
    width: 44px;
  }
}

/* ==========================================================================
   RORA homepage mobile banner reference pass — 2026-05-31
   Uses the regenerated reference hero artwork and removes phone-width overflow.
   ========================================================================== */

body:has(.rora-home.rh3) {
  overflow-x: hidden;
}

.rora-home.rh3 .rh3-trust-bar--top {
  margin-top: 0.62rem;
}

@media (max-width: 600px) {
  body:has(.rora-home.rh3),
  body:has(.rora-home.rh3) #page,
  body:has(.rora-home.rh3) .site-content,
  body:has(.rora-home.rh3) .site-content > .col-full,
  body:has(.rora-home.rh3) .rora-home.rh3 {
    max-width: 100% !important;
    overflow-x: hidden !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-welcome-strip {
    border-radius: 0 !important;
    box-sizing: border-box !important;
    font-size: 0.72rem !important;
    line-height: 1.25 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0.42rem 0.72rem !important;
    text-align: center !important;
    white-space: normal !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-welcome-strip__greeting {
    gap: 0.34rem !important;
    justify-content: center !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body:has(.rora-home.rh3) .rora-site-header {
    max-width: calc(100vw - 18px) !important;
    width: calc(100vw - 18px) !important;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
    border-radius: 0 0 22px 22px !important;
    box-sizing: border-box !important;
    gap: 0.34rem !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px 42px !important;
    min-height: 68px !important;
    padding: 0.46rem 0.54rem !important;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-brand__logo {
    height: 48px !important;
    max-width: 132px !important;
  }

  body:has(.rora-home.rh3) .rora-header-icon,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-icon,
  body:has(.rora-home.rh3) .rora-header-search-form button[type="submit"] {
    height: 40px !important;
    min-height: 40px !important;
    width: 40px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top {
    background: #fff !important;
    border: 1px solid rgba(126, 93, 224, 0.1) !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 36px -30px rgba(50, 28, 102, 0.45) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin: 0.72rem auto 0.95rem !important;
    max-width: calc(100vw - 18px) !important;
    overflow: hidden !important;
    width: calc(100vw - 18px) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item:nth-child(4) {
    align-items: center !important;
    border-bottom: 1px solid #f0e8ff !important;
    border-right: 1px solid #f0e8ff !important;
    display: flex !important;
    gap: 0.46rem !important;
    justify-content: flex-start !important;
    padding: 0.72rem 0.58rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item:nth-child(even) {
    border-right: 0 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item:nth-child(n+3) {
    border-bottom: 0 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__icon {
    height: 34px !important;
    width: 34px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top strong {
    font-size: 0.65rem !important;
    line-height: 1.08 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top small {
    font-size: 0.56rem !important;
    line-height: 1.12 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-categories {
    padding-top: 0.7rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-section__inner,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__inner {
    box-sizing: border-box !important;
    max-width: 100% !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-category-grid,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bs-grid,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__cards {
    gap: 0.72rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-cat-card {
    box-sizing: border-box !important;
    min-height: 206px !important;
    min-width: 0 !important;
    width: 100% !important;
  }
}

/* ===========================================================================
   RORA mobile hero exactness pass 2 — contain all top-area pieces in 390px.
   =========================================================================== */
@media (max-width: 600px) {
  html,
  body {
    max-width: 100vw !important;
    overflow-x: hidden !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) #page,
  body:has(.rora-home.rh3) .site,
  body:has(.rora-home.rh3) .site-content,
  body:has(.rora-home.rh3) .site-content > .col-full,
  body:has(.rora-home.rh3) .content-area,
  body:has(.rora-home.rh3) .site-main,
  body:has(.rora-home.rh3) .rora-home.rh3 {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-welcome-strip {
    max-width: 100vw !important;
    overflow: hidden !important;
    padding-left: 0.72rem !important;
    padding-right: 0.72rem !important;
    width: 100vw !important;
  }

  body:has(.rora-home.rh3) .rora-welcome-strip__greeting {
    display: block !important;
    font-size: clamp(0.62rem, 3vw, 0.72rem) !important;
    line-height: 1.2 !important;
    max-width: calc(100vw - 1.44rem) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body:has(.rora-home.rh3) .rora-site-header {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100vw !important;
    width: 100vw !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-section__inner,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__inner {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: calc(100vw - 18px) !important;
    width: calc(100vw - 18px) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item > div {
    box-sizing: border-box !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item {
    gap: 0.42rem !important;
    padding: 0.66rem 0.52rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top strong,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top small {
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top strong {
    font-size: 0.62rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top small {
    font-size: 0.52rem !important;
  }
}

/* ===========================================================================
   RORA mobile hero image fit pass — prevent rounded-frame cut-off.
   =========================================================================== */
/* ===========================================================================
   RORA mobile top trust strip — show only Trusted Quality + Happy Parents.
   =========================================================================== */
@media (max-width: 600px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item:nth-child(2),
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item:nth-child(3) {
    display: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item:nth-child(1),
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item:nth-child(4) {
    border-bottom: 0 !important;
    padding: 0.78rem 0.62rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item:nth-child(1) {
    border-right: 1px solid #f0e8ff !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item:nth-child(4) {
    border-right: 0 !important;
  }
}

/* ===========================================================================
   Mobile header/tabbar final pass — cart lives in bottom nav on phones.
   =========================================================================== */
@media (max-width: 600px) {
  .rora-site-header .rora-header-row,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-row,
  body.woocommerce-shop .rora-site-header .rora-header-row,
  body.tax-product_cat .rora-site-header .rora-header-row,
  body.tax-product_tag .rora-site-header .rora-header-row,
  body.post-type-archive-product .rora-site-header .rora-header-row,
  body.single-product .rora-site-header .rora-header-row,
  body.page .rora-site-header .rora-header-row,
  body.search .rora-site-header .rora-header-row,
  body.error404 .rora-site-header .rora-header-row {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    min-height: 66px !important;
  }

  .rora-site-header .rora-brand,
  body:has(.rora-home.rh3) .rora-site-header .rora-brand {
    grid-column: 2 !important;
    justify-self: center !important;
  }

  .rora-header-search-form,
  body:has(.rora-home.rh3) .rora-header-search-form,
  body.woocommerce-shop .rora-header-search-form,
  body.tax-product_cat .rora-header-search-form,
  body.tax-product_tag .rora-header-search-form,
  body.post-type-archive-product .rora-header-search-form,
  body.single-product .rora-header-search-form,
  body.page .rora-header-search-form,
  body.search .rora-header-search-form,
  body.error404 .rora-header-search-form {
    grid-column: 3 !important;
    justify-self: end !important;
  }

  .rora-header-search-form.is-mobile-open,
  body:has(.rora-home.rh3) .rora-header-search-form.is-mobile-open,
  body.woocommerce-shop .rora-header-search-form.is-mobile-open,
  body.tax-product_cat .rora-header-search-form.is-mobile-open,
  body.tax-product_tag .rora-header-search-form.is-mobile-open,
  body.post-type-archive-product .rora-header-search-form.is-mobile-open,
  body.single-product .rora-header-search-form.is-mobile-open,
  body.page .rora-header-search-form.is-mobile-open,
  body.search .rora-header-search-form.is-mobile-open,
  body.error404 .rora-header-search-form.is-mobile-open {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid rgba(126, 93, 224, 0.13) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 34px -28px rgba(40, 23, 84, 0.4) !important;
    box-sizing: border-box !important;
    display: flex !important;
    gap: 0.5rem !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    height: 50px !important;
    justify-self: center !important;
    margin: 0.42rem auto 0.08rem !important;
    max-width: min(100%, 408px) !important;
    overflow: visible !important;
    padding: 0.28rem 0.34rem 0.28rem 0.82rem !important;
    width: min(100%, 408px) !important;
  }

  .rora-header-search-form.is-mobile-open .rora-header-search-form__icon,
  body:has(.rora-home.rh3) .rora-header-search-form.is-mobile-open .rora-header-search-form__icon {
    color: #8a82a8 !important;
    display: block !important;
    flex: 0 0 auto !important;
    height: 18px !important;
    left: auto !important;
    position: static !important;
    width: 18px !important;
  }

  .rora-header-search-form.is-mobile-open input[type="search"],
  body:has(.rora-home.rh3) .rora-header-search-form.is-mobile-open input[type="search"] {
    display: block !important;
    flex: 1 1 auto !important;
    font-size: 0.86rem !important;
    height: 40px !important;
    min-height: 0 !important;
    min-width: 0 !important;
    opacity: 1 !important;
    padding: 0 !important;
    width: auto !important;
  }

  .rora-header-search-form button[type="submit"],
  body:has(.rora-home.rh3) .rora-header-search-form button[type="submit"],
  body.woocommerce-shop .rora-header-search-form button[type="submit"],
  body.tax-product_cat .rora-header-search-form button[type="submit"],
  body.tax-product_tag .rora-header-search-form button[type="submit"],
  body.post-type-archive-product .rora-header-search-form button[type="submit"],
  body.single-product .rora-header-search-form button[type="submit"],
  body.page .rora-header-search-form button[type="submit"],
  body.search .rora-header-search-form button[type="submit"],
  body.error404 .rora-header-search-form button[type="submit"] {
    height: 40px !important;
    max-width: 40px !important;
    min-height: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
    width: 40px !important;
  }

  .rora-header-search-form.is-mobile-open button[type="submit"],
  body:has(.rora-home.rh3) .rora-header-search-form.is-mobile-open button[type="submit"] {
    background: #7048f1 !important;
    border-radius: 999px !important;
    color: #fff !important;
    flex: 0 0 40px !important;
  }

  .rora-header-cart,
  .rora-site-header .rora-header-cart,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-cart,
  body.woocommerce-shop .rora-site-header .rora-header-cart,
  body.tax-product_cat .rora-site-header .rora-header-cart,
  body.tax-product_tag .rora-site-header .rora-header-cart,
  body.post-type-archive-product .rora-site-header .rora-header-cart,
  body.single-product .rora-site-header .rora-header-cart,
  body.page .rora-site-header .rora-header-cart,
  body.search .rora-site-header .rora-header-cart,
  body.error404 .rora-site-header .rora-header-cart {
    display: none !important;
  }

  .rora-site-header .rora-header-nav.is-open,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open,
  body.woocommerce-shop .rora-site-header .rora-header-nav.is-open,
  body.tax-product_cat .rora-site-header .rora-header-nav.is-open,
  body.tax-product_tag .rora-site-header .rora-header-nav.is-open,
  body.post-type-archive-product .rora-site-header .rora-header-nav.is-open,
  body.single-product .rora-site-header .rora-header-nav.is-open,
  body.page .rora-site-header .rora-header-nav.is-open,
  body.search .rora-site-header .rora-header-nav.is-open,
  body.error404 .rora-site-header .rora-header-nav.is-open {
    background: #fff !important;
    border: 1px solid rgba(126, 93, 224, 0.12) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 34px -28px rgba(40, 23, 84, 0.4) !important;
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin: 0.42rem auto 0.08rem !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0.68rem !important;
    width: min(100%, 408px) !important;
  }

  .rora-site-header .rora-header-nav__menu,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav__menu {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.55rem !important;
    justify-content: stretch !important;
  }

  .rora-site-header .rora-category-menu__toggle,
  body:has(.rora-home.rh3) .rora-category-menu__toggle,
  .rora-site-header .rora-nav-link a,
  body:has(.rora-home.rh3) .rora-site-header .rora-nav-link a,
  .rora-site-header .rora-nav-pill a,
  body:has(.rora-home.rh3) .rora-site-header .rora-nav-pill a {
    border-radius: 18px !important;
    box-sizing: border-box !important;
    font-size: 0.94rem !important;
    min-height: 46px !important;
    padding: 0.56rem 1rem !important;
    width: 100% !important;
  }

  .rora-tabbar {
    gap: 0.12rem;
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
  }

  .rora-tabbar__item {
    border-radius: 14px;
    min-width: 0;
  }

  .rora-tabbar__cart-glyph {
    display: inline-flex;
    line-height: 0;
    position: relative;
  }

  .rora-tabbar__item--cart .rora-tabbar__cart-glyph svg {
    height: 28px !important;
    width: 28px !important;
  }

  .rora-tabbar__item--wishlist .rora-tabbar__cart-glyph svg {
    height: 22px !important;
    width: 22px !important;
  }

  .rora-tabbar__item--cart .rora-header-cart__count {
    align-items: center;
    background: #ffc400;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #080849;
    display: inline-flex;
    font-size: 0.56rem;
    font-weight: 1000;
    height: 17px;
    justify-content: center;
    line-height: 1;
    min-width: 17px;
    padding: 0 0.22rem;
    position: absolute;
    right: -10px;
    top: -8px;
  }

  .rora-tabbar__item--cart .rora-header-cart__count.is-empty {
    display: none !important;
  }

  .rora-tabbar__item--cart.is-bumping .rora-header-cart__count {
    animation: rora-bump 0.5s var(--rora-ease);
  }

  body:has(.rora-home.rh3) .rh3-deals,
  body:has(.rora-home.rh3) .rh3-trust-section,
  body:has(.rora-home.rh3) .rh3-bestsellers,
  body:has(.rora-home.rh3) .rh3-testimonials {
    display: block !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-section {
    padding-bottom: 1.35rem !important;
    padding-top: 1.35rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-section__inner,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__inner {
    max-width: calc(100vw - 18px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: calc(100vw - 18px) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item:nth-child(1),
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item:nth-child(4) {
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.36rem !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__item > div {
    display: grid !important;
    justify-items: center !important;
    text-align: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top small {
    display: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top .rh3-trust-bar__icon {
    height: 36px !important;
    width: 36px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals {
    background: #fff !important;
    padding-top: 1.1rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__inner,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-testimonials__layout,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__head,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bestsellers__head {
    align-items: center !important;
    display: flex !important;
    gap: 0.7rem !important;
    justify-content: space-between !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__promo {
    min-height: 0 !important;
    padding: 1.05rem !important;
    text-align: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__heading {
    font-size: 1.28rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__pct {
    font-size: 2.08rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__cards,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bs-grid {
    gap: 0.72rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section {
    margin: 0.8rem auto !important;
    max-width: calc(100vw - 18px) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__photo {
    height: 150px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__content {
    padding: 1rem 0.85rem !important;
    text-align: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__title,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bestsellers__title,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-testimonials__title {
    font-size: 1.28rem !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__pillars {
    display: grid !important;
    gap: 0.7rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-items: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar {
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-testimonials {
    margin: 0.8rem auto 1.1rem !important;
    max-width: calc(100vw - 18px) !important;
    padding: 1rem 0 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-testimonials__cards {
    display: grid !important;
    gap: 0.72rem !important;
    grid-template-columns: 1fr !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-testimonial-card {
    min-height: 0 !important;
    padding: 0.85rem !important;
  }
}

/* =====================================================================
   Homepage mobile-first artwork refresh — deals image + trust badges
   ===================================================================== */
.rora-home.rh3 .rh3-deals__mobile-art {
  display: none;
}

.rora-home.rh3 .rh3-trust-section__photo {
  background:
    radial-gradient(circle at 12% 22%, rgba(255,255,255,0.64) 0 3.5rem, transparent 3.7rem),
    linear-gradient(145deg, #e5f7ff 0%, #f8edff 100%);
}

.rora-home.rh3 .rh3-trust-section__photo img {
  object-fit: contain;
  padding: clamp(0.75rem, 2vw, 1.1rem);
}

@media (max-width: 760px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__head {
    display: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__promo {
    align-items: flex-start !important;
    background:
      radial-gradient(circle at 91% 23%, rgba(255,255,255,0.16) 0 3.6rem, transparent 3.75rem),
      linear-gradient(150deg, #7150f4 0%, #4027bf 100%) !important;
    border-radius: 24px !important;
    min-height: 190px !important;
    overflow: hidden !important;
    padding: 1.18rem 1rem 1rem !important;
    text-align: left !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__deco,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__wa-icon,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__heading,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__on-text {
    display: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__heading,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__off-label,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__btn {
    max-width: 56% !important;
    position: relative !important;
    z-index: 2 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__heading {
    font-size: clamp(1.15rem, 6vw, 1.5rem) !important;
    line-height: 1.02 !important;
    margin-bottom: 0.8rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__pct {
    color: #ffe35f !important;
    font-size: clamp(2.18rem, 11vw, 2.8rem) !important;
    letter-spacing: -0.04em !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__off-label {
    gap: 0.16rem !important;
    margin-bottom: 1rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__up-to {
    color: rgba(255,255,255,0.78) !important;
    font-size: 0.72rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__btn {
    box-shadow: 0 10px 22px -15px rgba(0,0,0,0.45) !important;
    font-size: 0.94rem !important;
    justify-content: center !important;
    min-height: 48px !important;
    min-width: 180px !important;
    padding: 0.78rem 1.28rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__mobile-art {
    bottom: -1.28rem !important;
    display: block !important;
    height: auto !important;
    max-width: none !important;
    pointer-events: none !important;
    position: absolute !important;
    right: -1.1rem !important;
    transform: rotate(3deg) !important;
    width: min(45vw, 174px) !important;
    z-index: 1 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section {
    background: linear-gradient(150deg, #e6f7ff 0%, #fbf0ff 100%) !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__photo {
    align-items: center !important;
    background:
      radial-gradient(circle at 8% 12%, rgba(255,255,255,0.7) 0 3.3rem, transparent 3.5rem),
      linear-gradient(145deg, #e5f7ff 0%, #f8edff 100%) !important;
    display: flex !important;
    height: auto !important;
    justify-content: center !important;
    padding: 0.85rem 0.75rem 0 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__photo img {
    aspect-ratio: 43 / 30 !important;
    border-radius: 22px !important;
    height: auto !important;
    max-height: 205px !important;
    object-fit: contain !important;
    padding: 0 !important;
    width: min(100%, 430px) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__content {
    gap: 0.82rem !important;
    padding: 0.85rem 0.78rem 1rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__pillars {
    gap: 0.65rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar {
    align-items: center !important;
    background: rgba(255,255,255,0.86) !important;
    border: 1px solid rgba(126, 93, 224, 0.1) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 24px -22px rgba(43, 23, 107, 0.48) !important;
    display: grid !important;
    gap: 0.58rem !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    justify-items: start !important;
    min-height: 72px !important;
    padding: 0.62rem !important;
    text-align: left !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar__icon {
    border-radius: 15px !important;
    box-shadow: none !important;
    height: 42px !important;
    width: 42px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar__icon svg {
    height: 22px !important;
    width: 22px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar small {
    font-size: 0.64rem !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 380px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__mobile-art {
    right: -1.35rem !important;
    width: 176px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__heading,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__off-label,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__btn {
    max-width: 58% !important;
  }
}

/* Final mobile deal banner: simple, centered, no competing illustration. */
@media (max-width: 760px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__promo {
    align-items: center !important;
    background:
      radial-gradient(circle at 50% -18%, rgba(255,255,255,0.2) 0 5rem, transparent 5.2rem),
      linear-gradient(150deg, #7350f4 0%, #4328c5 100%) !important;
    justify-content: center !important;
    min-height: 178px !important;
    padding: 1.25rem 1.05rem !important;
    text-align: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__mobile-art {
    display: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__off-label,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__btn {
    max-width: none !important;
    position: relative !important;
    z-index: 2 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__off-label {
    align-items: center !important;
    justify-items: center !important;
    margin: 0 0 1.02rem !important;
    text-align: center !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__up-to {
    color: rgba(255,255,255,0.82) !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.11em !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__pct {
    color: #ffe35f !important;
    font-size: clamp(2.65rem, 14vw, 3.35rem) !important;
    letter-spacing: -0.055em !important;
    line-height: 0.98 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__btn {
    align-self: center !important;
    box-shadow: 0 13px 26px -18px rgba(0,0,0,0.48) !important;
    font-size: 0.98rem !important;
    justify-content: center !important;
    min-height: 52px !important;
    min-width: 0 !important;
    padding: 0.82rem 1.35rem !important;
    width: min(78%, 238px) !important;
  }
}

/* Keep only the four real trust badges; remove the decorative top artwork lane. */
.rora-home.rh3 .rh3-trust-section__inner {
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
}

.rora-home.rh3 .rh3-trust-section__content {
  grid-column: 1 / -1 !important;
}

.rora-home.rh3 .rh3-trust-section__pillars {
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
  width: 100%;
}

@media (min-width: 761px) {
  .rora-home.rh3 .rh3-trust-section__content {
    padding: 1.55rem clamp(1.35rem, 3vw, 2rem) 1.7rem !important;
  }
}

/* Trust section pill-shape polish — softer capsule badges. */
body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__pillars {
  display: grid !important;
  gap: clamp(0.82rem, 2vw, 1.15rem) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 940px !important;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar {
  align-items: center !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(126, 93, 224, 0.08) !important;
  border-radius: 999px !important;
  box-shadow: 0 16px 28px -24px rgba(43, 23, 107, 0.45) !important;
  display: flex !important;
  flex-direction: row !important;
  gap: clamp(0.72rem, 2.2vw, 1rem) !important;
  justify-content: flex-start !important;
  justify-items: initial !important;
  min-height: clamp(64px, 7.2vw, 74px) !important;
  padding: 0.48rem clamp(0.72rem, 2.2vw, 1.05rem) !important;
  text-align: left !important;
  width: 100% !important;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar__icon {
  border-radius: 999px !important;
  box-shadow: none !important;
  flex: 0 0 clamp(48px, 6vw, 58px) !important;
  height: clamp(48px, 6vw, 58px) !important;
  width: clamp(48px, 6vw, 58px) !important;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar > span:last-child {
  display: block !important;
  min-width: 0 !important;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar small {
  margin-top: 0.1rem !important;
}

@media (max-width: 420px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__pillars {
    gap: 0.62rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar {
    gap: 0.52rem !important;
    min-height: 62px !important;
    padding: 0.42rem 0.52rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar__icon {
    flex-basis: 42px !important;
    height: 42px !important;
    width: 42px !important;
  }
}

/* Final desktop deal/trust layout to match the wide reference composition. */
@media (min-width: 1180px) {
  body:has(.rora-home.rh3) .rora-home.rh3 {
    max-width: min(1900px, calc(100vw - 40px)) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals {
    overflow: hidden !important;
    padding-bottom: 1.7rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__inner {
    gap: clamp(1rem, 1.4vw, 1.45rem) !important;
    grid-template-columns: clamp(210px, 13.5vw, 260px) minmax(0, 1fr) !important;
    max-width: min(1720px, calc(100vw - 9vw)) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__head {
    grid-column: 1 / -1 !important;
    padding-right: 0.4rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__promo {
    align-self: start !important;
    border-radius: 20px !important;
    justify-content: center !important;
    min-height: clamp(235px, 14vw, 270px) !important;
    padding: clamp(1rem, 1.5vw, 1.6rem) clamp(0.9rem, 1.35vw, 1.18rem) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__heading {
    font-size: clamp(1.08rem, 1.28vw, 1.43rem) !important;
    line-height: 1.1 !important;
    margin-bottom: clamp(0.85rem, 1vw, 1.1rem) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__pct {
    font-size: clamp(1.85rem, 2.2vw, 2.55rem) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__up-to,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__subcopy {
    font-size: clamp(0.62rem, 0.75vw, 0.78rem) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__btn {
    border-radius: 999px !important;
    font-size: clamp(0.68rem, 0.82vw, 0.82rem) !important;
    gap: 0.38rem !important;
    min-height: 36px !important;
    padding: 0.52rem 0.9rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__cards {
    display: flex !important;
    gap: clamp(1.35rem, 2vw, 1.9rem) !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding-bottom: 0.35rem !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__cards::-webkit-scrollbar {
    display: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__cards > * {
    flex: 0 0 clamp(330px, 19vw, 365px) !important;
    min-width: clamp(330px, 19vw, 365px) !important;
    scroll-snap-align: start !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section {
    margin-top: 0.7rem !important;
    max-width: min(890px, calc(100vw - 7vw)) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__inner {
    display: grid !important;
    grid-template-columns: minmax(220px, 34%) minmax(0, 1fr) !important;
    min-height: 144px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__photo {
    display: block !important;
    grid-column: 1 !important;
    height: auto !important;
    min-height: 144px !important;
    overflow: hidden !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__photo img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__content {
    align-content: center !important;
    grid-column: 2 !important;
    justify-items: center !important;
    padding: 1rem clamp(1.2rem, 2vw, 2.1rem) !important;
    text-align: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__title {
    font-size: clamp(1rem, 1.05vw, 1.22rem) !important;
    margin-bottom: clamp(0.65rem, 1vw, 0.95rem) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__pillars {
    display: grid !important;
    gap: clamp(0.7rem, 1.4vw, 1.6rem) !important;
    grid-template-columns: repeat(4, minmax(70px, 1fr)) !important;
    max-width: 490px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    flex-direction: column !important;
    gap: 0.42rem !important;
    justify-content: center !important;
    justify-items: center !important;
    min-height: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar__icon {
    flex-basis: clamp(38px, 3vw, 46px) !important;
    height: clamp(38px, 3vw, 46px) !important;
    width: clamp(38px, 3vw, 46px) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar > span:last-child {
    font-size: 0.72rem !important;
    line-height: 1.15 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar small {
    display: block !important;
    font-size: 0.72rem !important;
    margin-top: 0.12rem !important;
  }
}

@media (max-width: 760px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__photo {
    display: none !important;
  }
}

/* =====================================================================
   Phone + SMS OTP sign-in (RORA override of WooCommerce login)
   ===================================================================== */
.rora-otp {
  max-width: 460px;
  margin: 0 auto;
  padding: 28px 22px 32px;
  background: #fff;
  border: 1px solid #eee1d0;
  border-radius: 16px;
  box-shadow: 0 18px 40px -28px rgba(60, 40, 120, 0.45);
}
.rora-otp__title {
  margin: 0 0 6px;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: clamp(1.6rem, 4vw, 2.1rem);
  color: #2a1b4e;
}
.rora-otp__lead {
  margin: 0 0 18px;
  color: #6b6275;
  font-size: 0.95rem;
  line-height: 1.5;
}
.rora-otp__label {
  display: block;
  margin: 14px 0 6px;
  font-weight: 700;
  font-size: 0.85rem;
  color: #2a1b4e;
}
.rora-otp__input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 13px 14px;
  border: 1px solid #d9d1c7;
  border-radius: 10px;
  font-size: 1rem;
  background: #fffdf9;
}
.rora-otp__input:focus {
  outline: none;
  border-color: #5b3fd6;
  box-shadow: 0 0 0 3px rgba(91, 63, 214, 0.15);
}
.rora-otp__input--code {
  letter-spacing: 0.4em;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
}
.rora-otp__hint {
  margin: 6px 0 0;
  font-size: 0.78rem;
  color: #8a8294;
}
.rora-otp__submit.button,
.rora-otp__submit {
  width: 100%;
  margin-top: 18px;
  padding: 14px 18px;
  border: 0;
  border-radius: 10px;
  background: #5b3fd6;
  color: #fff;
  font-weight: 800;
  font-size: 1rem;
  cursor: pointer;
}
.rora-otp__submit:hover { background: #4c33bd; }
.rora-otp__submit:disabled { opacity: 0.6; cursor: default; }
.rora-otp__sent {
  margin: 0 0 6px;
  padding: 10px 12px;
  background: #f3effe;
  border-radius: 8px;
  color: #33206e;
  font-size: 0.88rem;
}
.rora-otp__resend {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
}
.rora-otp__link {
  background: none;
  border: 0;
  padding: 0;
  color: #5b3fd6;
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
}
.rora-otp__link:disabled { color: #b3acc4; cursor: default; }
.rora-otp__alert {
  margin: 0 0 16px;
  padding: 11px 13px;
  border-radius: 8px;
  font-size: 0.88rem;
}
.rora-otp__alert--error { background: #fff4f4; border: 1px solid #efb6b6; color: #8a1f1f; }
.rora-otp__alert--success { background: #f1fbf3; border: 1px solid #b6e4c2; color: #1f6b34; }
.rora-otp__alert--info { background: #f3effe; border: 1px solid #d6caf6; color: #33206e; }

/* Homepage shell alignment: keep the header and page wrapper on the same grid. */
@media (min-width: 601px) {
  body:has(.rora-home.rh3) {
    --rora-home-shell: min(var(--rora-width-shell), calc(100vw - 40px));
  }

  body:has(.rora-home.rh3) .rora-welcome-strip,
  body:has(.rora-home.rh3) .rora-site-header,
  body:has(.rora-home.rh3) .rora-home.rh3,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-testimonials {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--rora-home-shell) !important;
    width: var(--rora-home-shell) !important;
  }

  body:has(.rora-home.rh3) .rora-site-header .rora-header-row {
    box-sizing: border-box !important;
    max-width: none !important;
    width: 100% !important;
  }
}

@media (min-width: 1025px) {
  body:has(.rora-home.rh3) {
    --rora-home-inner: min(1210px, calc(var(--rora-home-shell) - clamp(2rem, 4vw, 3.2rem)));
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-section__inner,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__inner,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-testimonials__layout,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__inner {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--rora-home-inner) !important;
    width: 100% !important;
  }
}

@media (max-width: 600px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-bar--top {
    display: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bestsellers__head {
    justify-content: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bestsellers__title {
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bestsellers__see-all {
    display: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bestsellers__mobile-view-all {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid rgba(112, 72, 241, 0.22) !important;
    border-radius: 999px !important;
    box-shadow: 0 18px 34px -26px rgba(79, 48, 191, 0.62) !important;
    color: #7048f1 !important;
    display: flex !important;
    font-family: "Nunito", "Inter", system-ui, sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 1000 !important;
    gap: 0.44rem !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 1rem auto 0 !important;
    min-height: 46px !important;
    min-width: 132px !important;
    padding: 0 1.18rem !important;
    text-decoration: none !important;
    width: fit-content !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bestsellers__mobile-view-all svg {
    flex: 0 0 auto !important;
    height: 16px !important;
    width: 16px !important;
  }
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bestsellers__mobile-view-all {
  display: none;
}

/* Desktop homepage density pass — four deal cards beside the promo, six best sellers per row. */
@media (min-width: 1025px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals {
    padding-top: 1.45rem !important;
    padding-bottom: 1.45rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__inner {
    align-items: stretch !important;
    gap: clamp(0.7rem, 1vw, 0.95rem) !important;
    grid-template-columns: clamp(176px, 16vw, 220px) minmax(0, 1fr) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__promo {
    align-self: stretch !important;
    border-radius: 16px !important;
    min-height: 0 !important;
    padding: clamp(0.85rem, 1.2vw, 1.15rem) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__heading {
    font-size: clamp(0.98rem, 1.15vw, 1.24rem) !important;
    margin-bottom: 0.72rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__off-label {
    margin-bottom: 0.95rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__pct {
    font-size: clamp(1.6rem, 2vw, 2.18rem) !important;
    white-space: nowrap !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__btn {
    font-size: 0.72rem !important;
    min-height: 34px !important;
    padding: 0.46rem 0.76rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__cards {
    display: grid !important;
    gap: clamp(0.6rem, 0.95vw, 0.85rem) !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    scroll-snap-type: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__cards > * {
    flex: initial !important;
    min-width: 0 !important;
    scroll-snap-align: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bs-grid {
    gap: clamp(0.55rem, 0.9vw, 0.78rem) !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card {
    border-radius: 16px !important;
    box-shadow: 0 16px 30px -28px rgba(31, 26, 74, 0.42) !important;
    min-height: 0 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__media {
    height: clamp(122px, 11vw, 164px) !important;
    padding: clamp(0.58rem, 0.9vw, 0.86rem) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__cards .rora-home-product-card .rora-collection-card__media {
    height: clamp(132px, 11.8vw, 172px) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__media img {
    max-height: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__badge {
    font-size: 0.58rem !important;
    left: 0.52rem !important;
    padding: 0.22rem 0.46rem !important;
    top: 0.52rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__body {
    gap: 0.44rem !important;
    padding: 0.72rem 0.7rem 0.78rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__body small {
    font-size: 0.62rem !important;
    line-height: 1.1 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__title {
    font-size: clamp(0.72rem, 0.78vw, 0.88rem) !important;
    line-height: 1.18 !important;
    min-height: 2.36em !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__bottom {
    gap: 0.35rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__price {
    gap: 0.26rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__price em {
    font-size: clamp(0.84rem, 0.9vw, 1rem) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__price s {
    font-size: 0.66rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .button {
    font-size: clamp(0.66rem, 0.7vw, 0.78rem) !important;
    min-height: 34px !important;
    min-width: clamp(94px, 8.2vw, 114px) !important;
    padding: 0 0.68rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .button.add_to_cart_button::before {
    height: 0.82rem !important;
    width: 0.82rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section {
    background: linear-gradient(90deg, #fbf8ff 0%, #ffffff 100%) !important;
    border: 1px solid rgba(126, 93, 224, 0.1) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 34px -30px rgba(43, 23, 107, 0.36) !important;
    margin-top: 0.85rem !important;
    margin-bottom: 0.55rem !important;
    max-width: var(--rora-home-inner) !important;
    overflow: hidden !important;
    width: min(var(--rora-home-inner), 100%) !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__photo {
    display: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__inner {
    display: block !important;
    min-height: 0 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__content {
    align-items: center !important;
    display: grid !important;
    gap: clamp(0.8rem, 1.4vw, 1.2rem) !important;
    grid-column: 1 / -1 !important;
    grid-template-columns: minmax(170px, 0.22fr) minmax(0, 1fr) !important;
    padding: 0.78rem clamp(0.9rem, 1.5vw, 1.25rem) !important;
    text-align: left !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__title {
    font-size: clamp(0.98rem, 1.08vw, 1.18rem) !important;
    line-height: 1.12 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-section__pillars {
    display: grid !important;
    gap: clamp(0.48rem, 0.75vw, 0.7rem) !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    max-width: none !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar {
    align-items: center !important;
    background: rgba(255, 255, 255, 0.82) !important;
    border: 1px solid rgba(126, 93, 224, 0.08) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 0.42rem !important;
    justify-content: flex-start !important;
    min-height: 48px !important;
    padding: 0.34rem 0.5rem !important;
    text-align: left !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar__icon {
    flex: 0 0 34px !important;
    height: 34px !important;
    width: 34px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar__icon svg {
    height: 18px !important;
    width: 18px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar > span:last-child {
    font-size: clamp(0.58rem, 0.62vw, 0.68rem) !important;
    line-height: 1.08 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-trust-pillar small {
    font-size: 0.58rem !important;
    line-height: 1.05 !important;
    margin-top: 0.05rem !important;
  }
}

/* Stacked card footer on all desktop widths: the 6-up grid leaves too little
   room for button + price side by side, so prices clipped past the card edge. */
@media (min-width: 1025px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bs-grid .rora-collection-card__bottom {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 0.34rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bs-grid .rora-collection-card__price {
    justify-content: center !important;
    order: 1 !important;
    text-align: center !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bs-grid .rora-home-product-card .button {
    justify-content: center !important;
    min-width: 0 !important;
    width: 100% !important;
  }
}

/* ==========================================================================
   Mobile shop reference pass — larger categories + pill filters
   ========================================================================== */
.rora-shop-mobile-intro,
.rora-shop-filter-chip,
.rora-shop-mobile-filter-panel,
.rora-shop-browse-all {
  display: none;
}

@media (max-width: 600px) {
  body.woocommerce-shop .site-content > .col-full,
  body.tax-product_cat .site-content > .col-full,
  body.tax-product_tag .site-content > .col-full,
  body.post-type-archive-product .site-content > .col-full {
    max-width: 100% !important;
    overflow-x: hidden !important;
    padding-left: 1.32rem !important;
    padding-right: 1.32rem !important;
  }

  .rora-shop-crumbs {
    margin-bottom: 1.6rem !important;
    margin-left: -1.05rem !important;
    margin-right: -1.05rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .rora-shop-mobile-intro {
    display: block;
    margin: -0.3rem -1.05rem 1.15rem;
  }

  .rora-shop-mobile-intro h1 {
    color: #080849;
    font-family: var(--rora-rounded);
    font-size: clamp(2rem, 9.4vw, 2.55rem);
    font-weight: 1000;
    letter-spacing: 0;
    line-height: 1.02;
    margin: 0 0 0.46rem;
  }

  .rora-shop-mobile-intro p {
    color: #767092;
    font-family: var(--rora-sans);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
  }

  body.woocommerce-shop .rora-shop-layout,
  body.tax-product_cat .rora-shop-layout,
  body.tax-product_tag .rora-shop-layout,
  body.post-type-archive-product .rora-shop-layout {
    box-sizing: border-box !important;
    gap: 1.05rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    padding-bottom: calc(var(--rora-mobile-tabbar-height, 72px) + 1.2rem) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  body.woocommerce-shop .rora-shop-aside,
  body.tax-product_cat .rora-shop-aside,
  body.tax-product_tag .rora-shop-aside,
  body.post-type-archive-product .rora-shop-aside {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-top: 0 !important;
    overflow: visible !important;
  }

  .rora-shop-aside__header {
    display: none !important;
  }

  .rora-shop-aside__group--categories {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .rora-shop-aside__group--categories::after,
  .rora-shop-aside__group--categories h3 {
    display: none !important;
  }

  .rora-shop-side-categories {
    display: flex !important;
    gap: 0.74rem !important;
    margin: 0 -1.32rem !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding: 0.1rem 0.78rem 1.05rem !important;
    scroll-padding-left: 0.78rem;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .rora-shop-side-categories::-webkit-scrollbar {
    display: none;
  }

  .rora-shop-category-card--aside,
  .rora-shop-category-card--aside:hover,
  .rora-shop-category-card--aside.is-current {
    align-content: center !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(126, 93, 224, 0.06) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 46px -38px rgba(31, 26, 74, 0.45) !important;
    color: #080849 !important;
    display: grid !important;
    flex: 0 0 108px !important;
    gap: 0.34rem !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    min-height: 154px !important;
    min-width: 108px !important;
    padding: 0.76rem 0.5rem 0.7rem !important;
    scroll-snap-align: start;
    text-align: center !important;
  }

  .rora-shop-category-card--aside.is-current {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 246, 255, 0.98)) !important;
    border: 2px solid #7048f1 !important;
    box-shadow: 0 26px 50px -34px rgba(112, 72, 241, 0.58) !important;
  }

  .rora-shop-category-card--aside .rora-shop-category-card__icon,
  .rora-shop-category-card--aside span.rora-shop-category-card__icon {
    background-color: #f1e8ff !important;
    background-image: var(--cat-icon) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 83% !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #7048f1 !important;
    grid-row: auto !important;
    height: 70px !important;
    min-height: 70px !important;
    width: 70px !important;
  }

  .rora-shop-category-card--aside .rora-shop-category-card__icon--all {
    background: linear-gradient(160deg, #eadcff 0%, #f7f1ff 100%) !important;
  }

  .rora-shop-category-card--aside .rora-shop-category-card__icon svg {
    height: 30px !important;
    width: 30px !important;
  }

  .rora-shop-category-card--aside strong {
    color: #080849 !important;
    display: -webkit-box;
    font-family: var(--rora-rounded);
    font-size: 0.78rem !important;
    font-weight: 1000 !important;
    letter-spacing: 0 !important;
    line-height: 1.12 !important;
    margin-top: 0.15rem;
    min-height: 1.96em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .rora-shop-category-card--aside small,
  .rora-shop-category-card--aside.is-current small {
    color: #756f91 !important;
    font-family: var(--rora-rounded);
    font-size: 0.7rem !important;
    font-weight: 1000 !important;
    line-height: 1.1 !important;
  }

  .rora-shop-category-card--aside.is-current small {
    color: #7048f1 !important;
  }

  .rora-shop-aside__details {
    display: none !important;
  }

  body.woocommerce-shop .rora-shop-main,
  body.tax-product_cat .rora-shop-main,
  body.tax-product_tag .rora-shop-main,
  body.post-type-archive-product .rora-shop-main {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  body.woocommerce-shop .rora-shop-toolbar,
  body.tax-product_cat .rora-shop-toolbar,
  body.tax-product_tag .rora-shop-toolbar,
  body.post-type-archive-product .rora-shop-toolbar {
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(126, 93, 224, 0.08) !important;
    border-radius: 20px !important;
    box-shadow: 0 24px 48px -38px rgba(31, 26, 74, 0.42) !important;
    display: grid !important;
    gap: 0.58rem !important;
    margin: 0 -1.32rem 1.05rem !important;
    overflow: visible !important;
    padding: 0.36rem !important;
    width: calc(100% + 2.64rem) !important;
  }

  .rora-shop-toolbar__controls {
    align-items: center;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.2rem !important;
    justify-content: flex-start !important;
    overflow: visible;
    padding-bottom: 0.02rem;
    width: 100%;
    -webkit-overflow-scrolling: touch;
  }

  .rora-shop-toolbar__controls::-webkit-scrollbar {
    display: none;
  }

  .rora-shop-toolbar__sort,
  .rora-shop-toolbar__sort form {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  .rora-shop-toolbar__sort select {
    box-shadow: none !important;
    font-size: 0.68rem !important;
    min-height: 34px !important;
    min-width: 86px !important;
    overflow: hidden !important;
    padding-left: 0.48rem !important;
    padding-right: 0.2rem !important;
    text-overflow: ellipsis !important;
    width: 86px !important;
  }

  .rora-shop-filter-chip {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(126, 93, 224, 0.12);
    border-radius: 999px;
    color: #756f91;
    display: inline-flex;
    flex: 0 0 auto;
    font-family: var(--rora-rounded);
    font-size: 0.68rem;
    font-weight: 1000;
    gap: 0.22rem;
    justify-content: center;
    line-height: 1;
    min-height: 34px;
    padding: 0 0.38rem;
    white-space: nowrap;
  }

  .rora-shop-filter-chip[data-rora-mobile-filter-target="price"]::after,
  .rora-shop-filter-chip[data-rora-mobile-filter-target="availability"]::after {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
    height: 0.3rem;
    margin-top: -0.16rem;
    transform: rotate(45deg);
    width: 0.3rem;
  }

  .rora-shop-filter-chip svg {
    height: 13px;
    width: 13px;
  }

  .rora-shop-filter-chip.is-active,
  .rora-shop-filter-chip.is-open {
    border-color: rgba(112, 72, 241, 0.32);
    color: #7048f1;
  }

  .rora-shop-view {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
    min-height: 34px !important;
    padding: 0.14rem !important;
  }

  .rora-shop-view > span {
    display: none !important;
  }

  .rora-shop-view button {
    height: 28px !important;
    width: 28px !important;
  }

  .rora-shop-view button svg {
    height: 15px !important;
    width: 15px !important;
  }

  .rora-shop-mobile-filter-panel {
    background: #fff;
    border: 1px solid rgba(126, 93, 224, 0.1);
    border-radius: 16px;
    display: grid;
    gap: 0.7rem;
    padding: 0.72rem;
  }

  .rora-shop-mobile-filter-panel[hidden],
  .rora-shop-mobile-filter-panel [hidden] {
    display: none !important;
  }

  .rora-shop-price--mobile,
  .rora-stock-toggle--mobile {
    padding: 0 !important;
  }

  .rora-shop-price--mobile .rora-shop-price__inputs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rora-shop-price--mobile input {
    min-height: 40px !important;
  }

  .rora-shop-price--mobile button {
    min-height: 40px !important;
  }

  .rora-stock-toggle--mobile {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
  }

  .rora-stock-toggle--mobile a {
    min-height: 40px !important;
  }

  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products {
    gap: 0.9rem !important;
  }
}

/* Mobile shop v2 — rounded category shelf and simplified filter row. */
@media (max-width: 600px) {
  body.woocommerce-shop .rora-site-header .rora-header-row,
  body.tax-product_cat .rora-site-header .rora-header-row,
  body.tax-product_tag .rora-site-header .rora-header-row,
  body.post-type-archive-product .rora-site-header .rora-header-row {
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  }

  body.woocommerce-shop .rora-site-header .rora-header-cart,
  body.tax-product_cat .rora-site-header .rora-header-cart,
  body.tax-product_tag .rora-site-header .rora-header-cart,
  body.post-type-archive-product .rora-site-header .rora-header-cart {
    display: none !important;
  }

  body.woocommerce-shop .rora-shop-layout,
  body.tax-product_cat .rora-shop-layout,
  body.tax-product_tag .rora-shop-layout,
  body.post-type-archive-product .rora-shop-layout {
    gap: 1rem !important;
  }

  .rora-shop-aside__group--categories {
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid rgba(126, 93, 224, 0.07) !important;
    border-radius: 20px !important;
    box-shadow: 0 24px 54px -42px rgba(31, 26, 74, 0.42) !important;
    margin-left: -1.32rem !important;
    margin-right: -1.32rem !important;
    overflow: hidden !important;
    padding: 0.88rem 0 0.86rem !important;
    width: calc(100% + 2.64rem) !important;
  }

  .rora-shop-side-categories {
    gap: 0.86rem !important;
    margin: 0 !important;
    padding: 0 0.78rem 0.82rem !important;
    scroll-padding-left: 0.78rem;
  }

  .rora-shop-category-card--aside,
  .rora-shop-category-card--aside:hover,
  .rora-shop-category-card--aside.is-current {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    flex: 0 0 72px !important;
    gap: 0.4rem !important;
    min-height: 126px !important;
    min-width: 72px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .rora-shop-category-card--aside.is-current {
    border: 2px solid #7048f1 !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 34px -26px rgba(112, 72, 241, 0.55) !important;
    flex-basis: 76px !important;
    padding: 0.58rem 0.3rem 0.52rem !important;
  }

  .rora-shop-category-card--aside .rora-shop-category-card__icon,
  .rora-shop-category-card--aside span.rora-shop-category-card__icon {
    background-color: #fbf9ff !important;
    background-size: 78% !important;
    border: 1px solid rgba(126, 93, 224, 0.1) !important;
    box-shadow: 0 14px 28px -24px rgba(31, 26, 74, 0.42) !important;
    height: 58px !important;
    min-height: 58px !important;
    width: 58px !important;
  }

  .rora-shop-category-card--aside.is-current .rora-shop-category-card__icon,
  .rora-shop-category-card--aside.is-current span.rora-shop-category-card__icon {
    background-color: #efe6ff !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }

  .rora-shop-category-card--aside .rora-shop-category-card__icon svg {
    height: 28px !important;
    width: 28px !important;
  }

  .rora-shop-category-card--aside strong {
    font-size: 0.62rem !important;
    line-height: 1.08 !important;
    min-height: 2.12em;
    text-overflow: clip !important;
    white-space: normal !important;
    width: 94px;
  }

  .rora-shop-category-card--aside.is-current strong {
    width: auto;
  }

  .rora-shop-category-card--aside small,
  .rora-shop-category-card--aside.is-current small {
    font-size: 0.68rem !important;
  }

  .rora-shop-browse-all {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(112, 72, 241, 0.22);
    border-radius: 999px;
    color: #7048f1;
    display: flex;
    font-family: var(--rora-rounded);
    font-size: 0.9rem;
    font-weight: 1000;
    gap: 0.36rem;
    justify-content: center;
    line-height: 1;
    margin: 0 auto;
    min-height: 44px;
    text-decoration: none;
    width: min(100% - 5.6rem, 260px);
  }

  body.woocommerce-shop .rora-shop-toolbar,
  body.tax-product_cat .rora-shop-toolbar,
  body.tax-product_tag .rora-shop-toolbar,
  body.post-type-archive-product .rora-shop-toolbar {
    border-radius: 18px !important;
    margin: 0 -0.52rem 1rem !important;
    padding: 0.48rem 0.58rem !important;
    width: calc(100% + 1.04rem) !important;
  }

  .rora-shop-toolbar__controls {
    gap: 0.7rem !important;
    justify-content: space-between !important;
  }

  .rora-shop-toolbar__sort {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  .rora-shop-toolbar__sort form {
    width: 100% !important;
  }

  .rora-shop-toolbar__sort select {
    font-size: 0.82rem !important;
    min-height: 42px !important;
    min-width: 0 !important;
    padding-left: 0.85rem !important;
    width: 100% !important;
  }

  .rora-shop-filter-chip[data-rora-mobile-filter-target="price"],
  .rora-shop-filter-chip[data-rora-mobile-filter-target="availability"] {
    display: none !important;
  }

  .rora-shop-filter-chip[data-rora-mobile-filter-target="all"] {
    flex: 0 0 94px;
    font-size: 0.86rem;
    min-height: 42px;
    padding: 0 0.92rem;
  }

  .rora-shop-filter-chip[data-rora-mobile-filter-target="all"] svg {
    height: 17px;
    width: 17px;
  }

  .rora-shop-view {
    flex: 0 0 auto !important;
    min-height: 42px !important;
    padding: 0.22rem !important;
  }

  .rora-shop-view button {
    height: 32px !important;
    width: 32px !important;
  }

  .rora-shop-view button svg {
    height: 19px !important;
    width: 19px !important;
  }

  .rora-shop-mobile-filter-panel {
    margin-top: 0.1rem;
  }
}

/* Mobile shop v3 — compact category-only shelf. */
@media (max-width: 600px) {
  .rora-shop-mobile-intro {
    display: none !important;
  }

  .rora-shop-crumbs {
    margin-bottom: 0.95rem !important;
  }

  body.woocommerce-shop .rora-shop-layout,
  body.tax-product_cat .rora-shop-layout,
  body.tax-product_tag .rora-shop-layout,
  body.post-type-archive-product .rora-shop-layout {
    gap: 0.86rem !important;
  }

  .rora-shop-aside__group--categories {
    border-radius: 18px !important;
    max-height: 158px;
    min-height: 158px;
    overflow: hidden !important;
    padding: 0.72rem 0 4.15rem !important;
    position: relative;
    transition: max-height 0.34s cubic-bezier(0.22, 1, 0.36, 1), padding-bottom 0.28s var(--rora-ease), box-shadow 0.28s var(--rora-ease);
    will-change: max-height;
  }

  .rora-shop-side-categories {
    align-items: flex-start;
    gap: 0.92rem !important;
    padding: 0 0.78rem !important;
  }

  .rora-shop-category-card--aside,
  .rora-shop-category-card--aside:hover,
  .rora-shop-category-card--aside.is-current {
    flex: 0 0 76px !important;
    gap: 0.38rem !important;
    min-height: 86px !important;
    min-width: 76px !important;
  }

  .rora-shop-category-card--aside.is-current {
    flex-basis: 82px !important;
    min-height: 104px !important;
    padding: 0.48rem 0.28rem !important;
  }

  .rora-shop-category-card--aside .rora-shop-category-card__icon,
  .rora-shop-category-card--aside span.rora-shop-category-card__icon {
    height: 56px !important;
    min-height: 56px !important;
    width: 56px !important;
  }

  .rora-shop-category-card--aside.is-current .rora-shop-category-card__icon,
  .rora-shop-category-card--aside.is-current span.rora-shop-category-card__icon {
    height: 62px !important;
    min-height: 62px !important;
    width: 62px !important;
  }

  .rora-shop-category-card--aside strong {
    font-size: 0.66rem !important;
    line-height: 1.08 !important;
    min-height: 0 !important;
    width: 86px;
  }

  .rora-shop-category-card--aside small,
  .rora-shop-category-card--aside.is-current small {
    display: none !important;
  }

  .rora-shop-browse-all {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(112, 72, 241, 0.16);
    border-radius: 999px;
    bottom: 0.7rem;
    box-shadow: none;
    color: #756f91;
    display: inline-flex;
    font-size: 0.72rem;
    gap: 0.22rem;
    min-height: 34px; /* A14: was 28px — raise "Show more" toggle hit height to >=32px */
    padding: 0 0.68rem;
    position: absolute;
    right: 0.72rem;
    width: auto;
  }

  button.rora-shop-browse-all {
    appearance: none;
    cursor: pointer;
  }

  .rora-shop-browse-all span:last-child {
    color: #7048f1;
    font-size: 1rem;
    line-height: 0.7;
    transition: transform 0.24s var(--rora-ease);
  }

  .rora-shop-aside__group--categories.is-expanded {
    max-height: 520px;
    padding-bottom: 0.92rem !important;
  }

  .rora-shop-aside__group--categories.is-expanded .rora-shop-side-categories {
    display: grid !important;
    column-gap: 0.55rem !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    justify-items: stretch;
    overflow: visible !important;
    padding-bottom: 1.05rem !important;
    row-gap: 1rem !important;
  }

  /* Uniform cells — the active tile is marked on its icon (ring) instead of
     an outline box, so every row keeps the same height and rhythm. */
  .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside,
  .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside:hover,
  .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside.is-current {
    animation: rora-shop-category-reveal 0.24s var(--rora-ease) both;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    flex: none !important;
    gap: 0.42rem !important;
    min-height: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    width: 100% !important;
  }

  .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside .rora-shop-category-card__icon,
  .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside span.rora-shop-category-card__icon {
    height: 52px !important;
    min-height: 52px !important;
    width: 52px !important;
  }

  .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside.is-current .rora-shop-category-card__icon,
  .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside.is-current span.rora-shop-category-card__icon {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #7048f1 !important;
  }

  .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside strong {
    display: -webkit-box !important;
    font-size: 0.6rem !important;
    line-height: 1.16 !important;
    min-height: calc(2 * 1.16em);
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    width: 100% !important;
  }

  .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside.is-current strong {
    color: #7048f1 !important;
  }

  /* Expanded: the floating chip becomes a centered control under the grid. */
  .rora-shop-aside__group--categories.is-expanded .rora-shop-browse-all {
    background: #fff;
    border: 1px solid rgba(112, 72, 241, 0.2);
    bottom: auto;
    box-shadow: 0 10px 22px -18px rgba(72, 44, 176, 0.55);
    color: #7048f1;
    display: flex;
    font-size: 0.76rem;
    font-weight: 1000;
    margin: 0 auto;
    min-height: 36px;
    padding: 0 1.1rem;
    position: static;
    right: auto;
    width: fit-content;
  }

  .rora-shop-aside__group--categories.is-expanded .rora-shop-browse-all span:last-child {
    transform: rotate(-90deg);
  }

  @keyframes rora-shop-category-reveal {
    from {
      opacity: 0.72;
      transform: translateY(-4px);
    }

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

  @media (prefers-reduced-motion: reduce) {
    .rora-shop-aside__group--categories,
    .rora-shop-browse-all span:last-child {
      transition: none !important;
    }

    .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside,
    .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside:hover,
    .rora-shop-aside__group--categories.is-expanded .rora-shop-category-card--aside.is-current {
      animation: none !important;
    }
  }
}

/* =====================================================================
   Cart page (RORA custom cart/cart.php override)
   ===================================================================== */

.rora-content-page--cart .rora-content-page__article {
  max-width: 880px;
  margin: 0 auto;
}

/* Cart sections are individual cards on the page background, so the generic
   white content-card wrapper is neutralised for the cart route. */
.rora-content-page--cart .entry-content {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

/* ---- Hero ---------------------------------------------------------- */
.rora-cart-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 0.32fr);
  align-items: center;
  gap: clamp(0.6rem, 1.5vw, 1rem);
  overflow: hidden;
  border: 1px solid rgba(112, 72, 241, 0.1);
  border-radius: var(--rora-radius-2xl);
  padding: clamp(0.8rem, 2vw, 1.3rem);
  margin-bottom: clamp(1rem, 2.4vw, 1.5rem);
  background:
    radial-gradient(120% 130% at 78% 18%, rgba(121, 222, 235, 0.34), transparent 46%),
    radial-gradient(130% 120% at 92% 96%, rgba(255, 181, 167, 0.45), transparent 52%),
    linear-gradient(135deg, #efe7fc 0%, #f4ecfb 42%, #fdeede 100%);
}

.rora-cart-hero__copy .rora-kicker {
  color: #7048f1;
  margin-bottom: 0.25rem;
}

.rora-cart-hero__copy h1 {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: clamp(2.1rem, 5vw, 3rem);
  font-weight: 1000;
  letter-spacing: -0.05em;
  line-height: 0.92;
  margin: 0 0 0.35rem;
}

.rora-cart-hero__copy p {
  color: var(--rora-soft-ink);
  font-size: clamp(0.85rem, 1.1vw, 0.95rem);
  font-weight: 650;
  line-height: 1.35;
  margin: 0;
  max-width: 32ch;
}

.rora-cart-hero__copy p.rora-cart-hero__promo {
  background: linear-gradient(95deg, #7048f1, #9b59e8);
  border-radius: 999px;
  box-shadow: 0 14px 26px -18px rgba(112, 72, 241, 0.7);
  color: #fff;
  display: inline-block;
  font-size: clamp(0.78rem, 1vw, 0.88rem);
  font-weight: 800;
  margin-top: 0.6rem;
  max-width: none;
  padding: 0.5rem 0.95rem;
}

.rora-cart-hero__art {
  display: flex;
  justify-content: center;
  align-items: center;
}

.rora-cart-bag {
  width: 100%;
  max-width: 130px;
  height: auto;
  filter: drop-shadow(0 22px 30px rgba(112, 72, 241, 0.28));
}

.rora-cart-bag__heart { transform-box: fill-box; transform-origin: center; animation: rora-cart-float 3.6s ease-in-out infinite; }
.rora-cart-bag__heart--2 { animation-delay: 0.4s; }
.rora-cart-bag__heart--3 { animation-delay: 0.8s; }
.rora-cart-bag__heart--4 { animation-delay: 1.1s; }
.rora-cart-bag__heart--5 { animation-delay: 0.6s; }
.rora-cart-bag__heart--6 { animation-delay: 1.4s; }

@keyframes rora-cart-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@media (prefers-reduced-motion: reduce) {
  .rora-cart-bag__heart { animation: none; }
}

/* ---- Generic card shell for cart sections ------------------------- */
.rora-cart-trust,
.rora-cart-items,
.rora-cart-summary {
  background: #fff;
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius-xl);
  box-shadow: 0 22px 48px -38px rgba(31, 26, 74, 0.4);
}

.rora-cart-items {
  margin-bottom: clamp(0.85rem, 2vw, 1.25rem);
}

/* Trust strip now sits at the very bottom, below the checkout button. */
.rora-cart-trust {
  margin-top: clamp(1rem, 2.4vw, 1.5rem);
}

/* ---- Desktop two-column layout ------------------------------------- */
.rora-cart-layout {
  display: block;
}

.rora-cart-aside {
  display: block;
}

@media (min-width: 1024px) {
  .rora-content-page--cart .rora-content-page__article {
    max-width: 1160px;
  }
  .rora-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: clamp(1.25rem, 2.2vw, 2rem);
    align-items: start;
  }
  .rora-cart-main { min-width: 0; }
  .rora-cart-items { margin-bottom: 0; }
  .rora-cart-aside {
    position: sticky;
    top: clamp(1rem, 2vw, 1.5rem);
    display: grid;
    gap: clamp(0.85rem, 1.5vw, 1.1rem);
  }
  .rora-cart-aside .rora-cart-checkout { margin-top: 0; }
  .rora-cart-bag { max-width: 150px; }
}

/* ---- Trust strip --------------------------------------------------- */
.rora-cart-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(0.6rem, 2vw, 1.5rem);
  padding: clamp(1rem, 2.4vw, 1.5rem);
}

.rora-cart-trust__item {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
}

.rora-cart-trust__item + .rora-cart-trust__item {
  border-left: 1px solid var(--rora-line);
  padding-left: clamp(0.6rem, 2vw, 1.5rem);
}

.rora-cart-trust__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 13px;
  background: var(--rora-primary-soft);
  color: #7048f1;
}

.rora-cart-trust__icon svg { width: 20px; height: 20px; }

.rora-cart-trust__copy strong {
  display: block;
  color: #080849;
  font-family: var(--rora-rounded);
  font-weight: 900;
  font-size: 0.97rem;
  line-height: 1.2;
  margin-bottom: 0.2rem;
}

.rora-cart-trust__copy small {
  color: var(--rora-soft-ink);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.4;
}

/* ---- Item list ----------------------------------------------------- */
.rora-cart-items {
  padding: clamp(0.5rem, 1.5vw, 1rem) clamp(0.9rem, 2.4vw, 1.6rem);
}

.rora-cart-item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: clamp(0.8rem, 2vw, 1.25rem);
  padding: clamp(1rem, 2.4vw, 1.4rem) 0;
}

.rora-cart-item + .rora-cart-item {
  border-top: 1px solid var(--rora-line);
}

.rora-cart-item__thumb {
  display: block;
  width: 88px;
  height: 88px;
  border-radius: var(--rora-radius);
  overflow: hidden;
  background: var(--rora-surface-soft);
  border: 1px solid var(--rora-line);
}

.rora-cart-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rora-cart-item__main { min-width: 0; }

.rora-cart-item__head {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  align-items: flex-start;
}

.rora-cart-item__info { min-width: 0; }

.rora-cart-item__name {
  display: block;
  color: #7048f1;
  font-family: var(--rora-rounded);
  font-weight: 800;
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.25;
  text-decoration: none;
}

.rora-cart-item__name:hover { color: #5a32d6; }

.rora-cart-item__price {
  margin-top: 0.3rem;
  color: #080849;
  font-weight: 800;
  font-size: 0.95rem;
}

.rora-cart-item__price del,
.rora-cart-item__price del .amount {
  color: var(--rora-muted);
  font-weight: 600;
  text-decoration: line-through;
  margin-right: 0.3rem;
}

.rora-cart-item__price ins,
.rora-cart-item__price ins .amount { text-decoration: none; }

.rora-cart-item__variant {
  margin-top: 0.35rem;
  color: var(--rora-soft-ink);
  font-size: 0.88rem;
  font-weight: 600;
}

.rora-cart-item__variant .variation,
.rora-cart-item__variant dl {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.4rem;
}

.rora-cart-item__variant dt {
  margin: 0;
  font-weight: 700;
  color: var(--rora-ink);
}

.rora-cart-item__variant dd { margin: 0; }
.rora-cart-item__variant dd p { margin: 0; display: inline; }

.rora-cart-item__desc {
  margin: 0.35rem 0 0;
  color: var(--rora-soft-ink);
  font-size: 0.86rem;
  font-weight: 550;
  line-height: 1.45;
}

.rora-cart-item__line {
  flex-shrink: 0;
  color: #080849;
  font-weight: 850;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  white-space: nowrap;
}

.rora-cart-item__line del { display: none; }

.rora-cart-item__controls {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.85rem;
  flex-wrap: wrap;
}

/* Quantity stepper */
.rora-cart-qty {
  display: inline-flex;
  align-items: stretch;
  height: 40px;
  border: 1px solid var(--rora-line-strong);
  border-radius: 11px;
  background: #fff;
  overflow: hidden;
}

.rora-cart-qty .rora-qty-button {
  width: 40px;
  height: auto;
  padding: 0;
  font-size: 1.2rem;
  color: var(--rora-soft-ink);
}

.rora-cart-qty .rora-qty-button:hover { color: #7048f1; }

.rora-cart-qty__input {
  width: 44px;
  border: 0;
  border-left: 1px solid var(--rora-line);
  border-right: 1px solid var(--rora-line);
  text-align: center;
  font-weight: 800;
  font-size: 0.98rem;
  color: #080849;
  background: transparent;
  -moz-appearance: textfield;
  appearance: textfield;
}

.rora-cart-qty__input::-webkit-outer-spin-button,
.rora-cart-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.rora-cart-item__remove {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--rora-soft-ink);
  font-weight: 750;
  font-size: 0.92rem;
  text-decoration: none;
  background: none;
}

.rora-cart-item__remove svg { width: 18px; height: 18px; }
.rora-cart-item__remove span { color: #7048f1; }
.rora-cart-item__remove:hover { color: #ff4f90; }
.rora-cart-item__remove:hover svg { color: #ff4f90; }
.rora-cart-item__remove:hover span { color: #ff4f90; }

/* ---- Summary (coupon + totals) ------------------------------------ */
.rora-cart-summary {
  padding: clamp(1rem, 2.6vw, 1.6rem) clamp(1.1rem, 2.8vw, 1.75rem);
}

.rora-cart-coupon {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.rora-cart-coupon__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: var(--rora-primary-soft);
  color: #7048f1;
}

.rora-cart-coupon__icon svg { width: 20px; height: 20px; }

.rora-cart-coupon__copy { flex: 1 1 auto; min-width: 0; }

.rora-cart-coupon__copy strong {
  display: block;
  color: #080849;
  font-family: var(--rora-rounded);
  font-weight: 900;
  font-size: 1rem;
  line-height: 1.2;
}

.rora-cart-coupon__copy small {
  color: var(--rora-soft-ink);
  font-size: 0.85rem;
  font-weight: 600;
}

.rora-cart-coupon__toggle {
  flex-shrink: 0;
  cursor: pointer;
  background: #fff;
  color: #7048f1;
  border: 1.5px solid rgba(112, 72, 241, 0.4);
  border-radius: 11px;
  padding: 0.6rem 1.1rem;
  font-family: var(--rora-rounded);
  font-weight: 800;
  font-size: 0.92rem;
  transition: background 0.18s ease, border-color 0.18s ease;
}

.rora-cart-coupon__toggle:hover { background: var(--rora-primary-soft); border-color: #7048f1; }

.rora-cart-coupon__field {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.85rem;
}

.rora-cart-coupon__field[hidden] { display: none; }

.rora-cart-coupon__field .input-text {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
  border: 1px solid var(--rora-line-strong);
  border-radius: 11px;
  padding: 0 0.9rem;
  font-size: 0.95rem;
}

.rora-cart-coupon__apply.button {
  flex-shrink: 0;
  border-radius: 11px;
  min-height: 44px;
}

.rora-cart-applied-coupons {
  list-style: none;
  margin: 0.85rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.rora-cart-applied-coupons__item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--rora-primary-soft);
  color: #5a32d6;
  border-radius: 999px;
  padding: 0.35rem 0.85rem;
  font-weight: 750;
  font-size: 0.85rem;
}

.rora-cart-applied-coupons__remove {
  color: #ff4f90;
  font-weight: 800;
  text-decoration: none;
}

/* Totals */
.rora-cart-totals {
  margin: 1.1rem 0 0;
  padding-top: 1.1rem;
  border-top: 1px dashed var(--rora-line-strong);
}

.rora-cart-totals__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.4rem 0;
}

.rora-cart-totals__row dt {
  margin: 0;
  color: #080849;
  font-weight: 800;
  font-size: 0.98rem;
}

.rora-cart-totals__row dt span {
  color: var(--rora-muted);
  font-weight: 650;
}

.rora-cart-totals__row dd {
  margin: 0;
  color: #080849;
  font-weight: 800;
  font-size: 0.98rem;
}

.rora-cart-totals__row--savings dt { color: #7048f1; font-weight: 800; }
.rora-cart-totals__row--savings dd { color: #ff4f90; font-weight: 800; }

.rora-cart-totals__row--total {
  margin-top: 0.3rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--rora-line);
}

.rora-cart-totals__row--total dt {
  font-family: var(--rora-rounded);
  font-weight: 1000;
  font-size: 1.45rem;
}

.rora-cart-totals__row--total dd {
  font-family: var(--rora-rounded);
  color: #7048f1;
  font-weight: 1000;
  font-size: 1.55rem;
}

/* ---- Proceed to checkout ------------------------------------------ */
.rora-cart-checkout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  width: 100%;
  margin-top: clamp(1rem, 2.4vw, 1.4rem);
  padding: 1.15rem 1.5rem;
  border-radius: var(--rora-radius-lg);
  background: linear-gradient(135deg, #7c52f3, #6a3df0);
  color: #fff;
  font-family: var(--rora-rounded);
  font-weight: 900;
  font-size: 1.18rem;
  text-decoration: none !important;
  box-shadow: 0 22px 40px -20px rgba(112, 72, 241, 0.7);
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.rora-cart-checkout svg { width: 22px; height: 22px; }
.rora-cart-checkout:hover,
.rora-cart-checkout:focus {
  color: #fff;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 28px 48px -20px rgba(112, 72, 241, 0.8);
}

.rora-cart-footnote {
  margin: clamp(0.9rem, 2vw, 1.25rem) 0 0;
  text-align: center;
  color: var(--rora-soft-ink);
  font-weight: 650;
  font-size: 0.96rem;
}

/* ---- Empty cart ---------------------------------------------------- */
.rora-cart-empty {
  text-align: center;
  background: #fff;
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius-2xl);
  box-shadow: 0 22px 48px -38px rgba(31, 26, 74, 0.4);
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3rem);
}

.rora-cart-empty__art { display: flex; justify-content: center; margin-bottom: 1.25rem; }
.rora-cart-empty__art .rora-cart-bag { max-width: 180px; }

.rora-cart-empty__title {
  color: #080849;
  font-family: var(--rora-rounded);
  font-weight: 1000;
  font-size: clamp(1.5rem, 3vw, 2rem);
  margin: 0 0 0.5rem;
}

.rora-cart-empty__text {
  color: var(--rora-soft-ink);
  font-weight: 600;
  margin: 0 auto 1.5rem;
  max-width: 38ch;
}

.rora-cart-empty__cta { max-width: 320px; margin-left: auto; margin-right: auto; }

/* ---- Responsive ---------------------------------------------------- */
@media (max-width: 720px) {
  .rora-cart-hero {
    grid-template-columns: minmax(0, 1fr) minmax(78px, 0.36fr);
    gap: 0.6rem;
    padding: clamp(0.75rem, 4vw, 1.05rem);
  }
  .rora-cart-hero__copy p { max-width: 24ch; }
  .rora-cart-bag { max-width: 96px; }
}

@media (max-width: 600px) {
  .rora-cart-trust {
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }
  .rora-cart-trust__item + .rora-cart-trust__item {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid var(--rora-line);
    padding-top: 0.9rem;
  }
  .rora-cart-item {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 0.8rem;
  }
  .rora-cart-item__thumb { width: 72px; height: 72px; }
  .rora-cart-item__price,
  .rora-cart-item__line {
    text-align: center;
  }
  .rora-cart-item__price {
    justify-self: center;
  }
}

@media (max-width: 460px) {
  .rora-cart-hero__copy h1 { font-size: clamp(1.9rem, 10vw, 2.5rem); }
  .rora-cart-bag { max-width: 82px; }
  .rora-cart-item__controls { gap: 0.75rem; }
}

/* =====================================================================
   Checkout page — aligned with the custom cart experience
   ===================================================================== */

.rora-content-page--checkout .rora-content-page__article {
  margin: 0 auto;
  max-width: 880px;
}

.rora-content-page--checkout .entry-content {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.rora-cart-hero--checkout .rora-cart-hero__copy p {
  max-width: 48ch;
}

.rora-cart-hero--checkout .rora-cart-bag {
  max-width: 130px;
}

.woocommerce-checkout form.checkout {
  display: block;
  margin: 0;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: #fff;
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius-xl);
  box-shadow: 0 18px 42px -36px rgba(31, 26, 74, 0.4);
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: 0.94rem;
  font-weight: 850;
  margin: 0 0 clamp(0.9rem, 2vw, 1.2rem);
  padding: 0.95rem 1.1rem;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info button {
  color: #7048f1;
  font-weight: 950;
}

.woocommerce-checkout form.checkout_coupon {
  background: #fff;
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius-xl);
  box-shadow: 0 18px 42px -36px rgba(31, 26, 74, 0.4);
  margin: 0 0 clamp(0.9rem, 2vw, 1.2rem);
  padding: clamp(1rem, 2vw, 1.25rem);
}

.woocommerce-checkout .rora-checkout-layout {
  align-items: start;
  display: block;
}

.woocommerce-checkout .rora-checkout-layout__details {
  display: grid;
  gap: clamp(0.85rem, 1.5vw, 1.1rem);
  min-width: 0;
}

.woocommerce-checkout .rora-checkout-customer-details,
.woocommerce-checkout .rora-checkout-details-column {
  display: grid;
  gap: clamp(0.85rem, 1.5vw, 1.1rem);
  grid-template-columns: 1fr;
  margin: 0;
  width: 100%;
}

.woocommerce-checkout .rora-checkout-shipping-details,
.woocommerce-checkout .rora-checkout-order-notes,
.woocommerce-checkout .woocommerce-account-fields {
  background: #fff;
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius-xl);
  box-shadow: 0 22px 48px -38px rgba(31, 26, 74, 0.4);
  margin: 0;
  padding: clamp(1rem, 2.6vw, 1.6rem) clamp(1.1rem, 2.8vw, 1.75rem);
}

.woocommerce-checkout .rora-checkout-shipping-details h3 {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: clamp(1.55rem, 2.5vw, 2rem);
  font-weight: 1000;
  letter-spacing: -0.04em;
  line-height: 1.05;
  margin: 0 0 1rem;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid;
  gap: 0.85rem;
}

.woocommerce-checkout form .form-row {
  margin: 0;
  padding: 0;
}

.woocommerce-checkout form .form-row-first,
.woocommerce-checkout form .form-row-last {
  float: none;
  width: 100%;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce-checkout #billing_phone_field,
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #billing_address_1_field {
  grid-column: 1 / -1;
}

.woocommerce-checkout #billing_rora_district_field select,
.woocommerce-checkout #billing_rora_area_field select {
  width: 100%;
}

/* June promo: struck-through regular fee + green FREE in shipping totals. */
del.rora-ship-was,
del.rora-ship-was .woocommerce-Price-amount {
  color: #9a93b8;
  font-weight: 600;
  opacity: 1;
}

ins.rora-ship-free {
  background: none;
  color: #1db86a;
  font-weight: 800;
  margin-left: 0.2rem;
  text-decoration: none;
}

.woocommerce-checkout #billing_rora_area_field .description {
  color: var(--rora-muted, #6b6694);
  display: block;
  font-size: 0.8rem;
  margin-top: 0.3rem;
}

/* Optional checkout fields read cleaner without the "(optional)" suffix:
   the area helper text covers it and the alt phone/email pair is visually secondary. */
.woocommerce-checkout #billing_rora_district_field label .optional,
.woocommerce-checkout #billing_rora_area_field label .optional,
.woocommerce-checkout #billing_rora_alt_phone_field label .optional,
.woocommerce-checkout #billing_email_field label .optional {
  display: none;
}

.woocommerce-checkout .rora-checkout-layout__summary {
  background: #fff;
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius-xl);
  box-shadow: 0 22px 48px -38px rgba(31, 26, 74, 0.4);
  box-sizing: border-box;
  display: grid;
  gap: 1rem;
  margin-top: clamp(0.9rem, 2vw, 1.25rem);
  min-width: 0;
  padding: clamp(1rem, 2.6vw, 1.6rem) clamp(1.1rem, 2.8vw, 1.75rem);
  width: 100%;
}

.woocommerce-checkout #order_review_heading {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: 1rem;
  font-weight: 1000;
  letter-spacing: -0.01em;
  margin: 0;
}

.woocommerce-checkout #order_review {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  clear: none !important;
  float: none !important;
  margin: 0 !important;
  min-width: 0;
  overflow: visible !important;
  padding: 0 !important;
  width: 100% !important;
}

.woocommerce-checkout .rora-order-review-table {
  background: transparent !important;
  border: 0 !important;
  border-collapse: separate;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  margin: 0 !important;
  min-width: 0;
  overflow: visible !important;
  table-layout: auto;
  width: 100% !important;
}

.woocommerce-checkout .rora-order-review-table tbody,
.woocommerce-checkout .rora-order-review-table tfoot {
  display: block;
  width: 100%;
}

.woocommerce-checkout .rora-order-review-table tr {
  align-items: center;
  display: flex;
  gap: 0.85rem;
  justify-content: space-between;
  width: 100%;
}

.woocommerce-checkout .rora-order-item {
  border-bottom: 1px solid var(--rora-line);
  padding-bottom: 0.9rem;
}

.woocommerce-checkout .rora-order-item__cell {
  align-items: center;
  border: 0 !important;
  display: flex !important;
  flex: 1 1 auto;
  gap: 0.9rem;
  min-width: 0;
  padding: 0 !important;
  text-align: left !important;
}

.woocommerce-checkout .rora-order-item__media {
  flex: 0 0 auto;
  position: relative;
}

.woocommerce-checkout .rora-order-item__thumb {
  background: var(--rora-surface-soft);
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius);
  display: block;
  height: 64px;
  overflow: hidden;
  width: 64px;
}

.woocommerce-checkout .rora-order-item__thumb img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.woocommerce-checkout .rora-order-item__qty-badge {
  background: linear-gradient(135deg, #ff6b9d, #ff8c42);
  border-radius: 999px;
  box-shadow: 0 6px 14px -8px rgba(255, 107, 157, 0.65);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 950;
  line-height: 1;
  min-width: 1.35rem;
  padding: 0.28rem 0.42rem;
  position: absolute;
  right: -0.45rem;
  text-align: center;
  top: -0.45rem;
}

.woocommerce-checkout .rora-order-item__text {
  display: grid;
  flex: 1 1 auto;
  gap: 0.18rem;
  line-height: 1.25;
  min-width: 0;
  width: auto;
}

.woocommerce-checkout .rora-order-item__name {
  color: #7048f1;
  display: -webkit-box;
  font-family: var(--rora-rounded);
  font-size: 0.98rem;
  font-weight: 900;
  line-height: 1.25;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.woocommerce-checkout .rora-order-item__text .variation,
.woocommerce-checkout .rora-order-item__text dl {
  color: var(--rora-soft-ink);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.78rem;
  gap: 0.18rem 0.35rem;
  margin: 0.1rem 0 0;
}

.woocommerce-checkout .rora-order-item__total {
  border: 0 !important;
  color: #080849;
  display: block !important;
  flex: 0 0 auto;
  font-family: var(--rora-rounded);
  font-size: 1rem;
  font-weight: 1000 !important;
  padding: 0 !important;
  text-align: right !important;
  white-space: nowrap;
  width: auto !important;
}

.woocommerce-checkout .rora-order-totals {
  border-top: 1px dashed var(--rora-line-strong);
  display: block;
  margin-top: 0.95rem;
  padding-top: 0.8rem;
  width: 100%;
}

.woocommerce-checkout .rora-order-totals tr {
  align-items: baseline;
  display: flex !important;
  justify-content: space-between;
  padding: 0.42rem 0;
}

.woocommerce-checkout .rora-order-totals th,
.woocommerce-checkout .rora-order-totals td {
  background: transparent !important;
  border: 0 !important;
  display: block !important;
  padding: 0 !important;
  width: auto !important;
}

.woocommerce-checkout .rora-order-totals th {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
}

.woocommerce-checkout .rora-order-totals td {
  color: #080849;
  font-family: var(--rora-rounded);
  font-size: 0.95rem;
  font-weight: 900;
  text-align: right;
}

.woocommerce-checkout .rora-order-totals .shipping,
.woocommerce-checkout .rora-order-totals .woocommerce-shipping-totals {
  align-items: flex-start;
}

.woocommerce-checkout .rora-order-totals .shipping ul,
.woocommerce-checkout .rora-order-totals .woocommerce-shipping-totals ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-checkout .rora-order-totals .shipping li,
.woocommerce-checkout .rora-order-totals .woocommerce-shipping-totals li {
  margin: 0;
}

.woocommerce-checkout .rora-order-totals .shipping label,
.woocommerce-checkout .rora-order-totals .woocommerce-shipping-totals label {
  color: var(--rora-soft-ink);
  display: block;
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1.35;
  max-width: 15ch;
  text-align: right;
}

.woocommerce-checkout .rora-order-totals .order-total {
  border-top: 1px solid var(--rora-line);
  margin-top: 0.35rem;
  padding-top: 0.75rem;
}

.woocommerce-checkout .rora-order-totals .order-total th {
  font-size: 1.28rem;
  font-weight: 1000;
}

.woocommerce-checkout .rora-order-totals .order-total td {
  color: #7048f1;
  font-size: 1.38rem;
  font-weight: 1000;
}

.woocommerce-checkout #payment {
  background: transparent !important;
  border-radius: 0 !important;
  box-sizing: border-box;
  float: none !important;
  margin: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  width: 100% !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  border: 0 !important;
  display: grid !important;
  gap: 0.7rem;
  list-style: none;
  margin: 1rem 0 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  background: #fbf8ff;
  border: 1px solid rgba(112, 72, 241, 0.14);
  border-radius: 14px;
  box-sizing: border-box;
  color: #080849;
  display: block;
  font-family: var(--rora-rounded);
  font-size: 0.94rem;
  font-weight: 850;
  margin: 0;
  padding: 0.9rem 1rem;
  width: 100% !important;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  accent-color: #7048f1;
  margin-right: 0.45rem;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  color: #080849;
  display: inline-flex;
  font-weight: 950;
  margin: 0;
  vertical-align: middle;
}

.woocommerce-checkout #payment div.payment_box {
  background: #fff;
  border: 1px solid var(--rora-line);
  border-radius: 12px;
  box-sizing: border-box;
  color: var(--rora-soft-ink);
  font-size: 0.86rem;
  line-height: 1.5;
  margin: 0.75rem 0 0;
  padding: 0.9rem 1rem;
  width: 100%;
}

.woocommerce-checkout #payment div.payment_box::before {
  display: none;
}

.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
  color: var(--rora-soft-ink);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.5;
  margin: 0.85rem 0 1rem;
  width: 100% !important;
}

.woocommerce-checkout #payment .form-row.place-order {
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.woocommerce-checkout #place_order {
  align-items: center;
  background: linear-gradient(135deg, #7c52f3, #6a3df0) !important;
  border: 0 !important;
  border-radius: var(--rora-radius-lg);
  box-shadow: 0 22px 40px -20px rgba(112, 72, 241, 0.7);
  color: #fff !important;
  display: flex !important;
  font-family: var(--rora-rounded);
  font-size: 1.08rem;
  font-weight: 1000;
  justify-content: center;
  line-height: 1.1;
  min-height: 58px;
  padding: 1rem 1.35rem;
  text-align: center;
  width: 100% !important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus-visible {
  background: linear-gradient(135deg, #7048f1, #5d32d8) !important;
  box-shadow: 0 28px 48px -20px rgba(112, 72, 241, 0.8);
  color: #fff !important;
  transform: translateY(-2px);
}

.woocommerce-checkout .rora-checkout-trust {
  margin-top: clamp(1rem, 2.4vw, 1.5rem);
}

@media (min-width: 1024px) {
  .rora-content-page--checkout .rora-content-page__article {
    max-width: 1160px;
  }

  .woocommerce-checkout .rora-checkout-layout {
    display: grid;
    gap: clamp(1.25rem, 2.2vw, 2rem);
    grid-template-columns: minmax(0, 1fr) 380px;
  }

  .woocommerce-checkout .rora-checkout-layout__summary {
    margin-top: 0;
    position: sticky;
    top: clamp(1rem, 2vw, 1.5rem);
  }
}

@media (max-width: 600px) {
  .woocommerce-checkout .rora-order-item__thumb {
    height: 56px;
    width: 56px;
  }

  .woocommerce-checkout .rora-order-review-table tr {
    gap: 0.65rem;
  }

  .woocommerce-checkout .rora-order-totals .shipping label,
  .woocommerce-checkout .rora-order-totals .woocommerce-shipping-totals label {
    max-width: 12ch;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SITE FOOTER (rh3) — dark footer shown on every page at every breakpoint.
   Desktop = 3-column grid; mobile restyles into a stacked app-style layout
   (see the ≤768px block below). The bottom tab bar sits beneath it on mobile.
   ═══════════════════════════════════════════════════════════════════════════ */
.rh3-footer {
  background:
    radial-gradient(circle at 8% 0%, rgba(245, 110, 160, 0.12), transparent 42%),
    radial-gradient(circle at 92% 100%, rgba(155, 89, 232, 0.16), transparent 46%),
    linear-gradient(135deg, #2a1a4e 0%, #211541 100%);
  color: #fff;
  margin-top: 2.4rem;
}

.rh3-footer__inner {
  align-items: center;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 0.78fr) minmax(0, 1.5fr);
  margin: 0 auto;
  max-width: 1280px;
  padding: 3.4rem 2rem;
}

.rh3-footer__links,
.rh3-footer__contact { position: relative; }

/* vertical separators before the links and contact blocks */
.rh3-footer__links::before,
.rh3-footer__contact::before {
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.16) 18%, rgba(255, 255, 255, 0.16) 82%, transparent);
  content: "";
  height: 150px;
  left: -1.25rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
}

/* ── Brand block ── */
.rh3-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.rh3-footer__logo { display: inline-flex; }

.rh3-footer__logo img {
  display: block;
  height: auto;
  width: 190px;
}

.rh3-footer__divider-h {
  align-items: center;
  display: flex;
  gap: 0.6rem;
  max-width: 220px;
}

.rh3-footer__divider-h::before,
.rh3-footer__divider-h::after {
  background: rgba(255, 255, 255, 0.14);
  content: "";
  flex: 1;
  height: 1px;
}

.rh3-footer__copy {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.95rem;
  margin: 0;
}

/* ── Links block ── */
.rh3-footer__links {
  display: grid;
  gap: 1.35rem;
}

.rh3-footer__link {
  align-items: center;
  color: rgba(255, 255, 255, 0.82) !important;
  display: inline-flex;
  font-size: 1.15rem;
  font-weight: 600;
  gap: 0.95rem;
  text-decoration: none;
  transition: color 0.15s ease, transform 0.15s ease;
  width: fit-content;
}

.rh3-footer__link:hover,
.rh3-footer__link:focus-visible {
  color: #fff !important;
  transform: translateX(2px);
}

.rh3-footer__link-icon {
  color: #f06fa0;
  display: inline-flex;
  flex: none;
  transition: color 0.15s ease;
}

.rh3-footer__link:hover .rh3-footer__link-icon { color: #ff8fbb; }

/* ── Contact block ── */
.rh3-footer__contact {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: 1fr 1fr;
}

.rh3-footer__chip {
  align-items: center;
  border-radius: 16px;
  box-sizing: border-box;
  color: #fff !important;
  display: inline-flex;
  font-size: clamp(0.92rem, 0.9vw, 1rem);
  font-weight: 700;
  gap: 0.55rem;
  justify-content: flex-start;
  min-width: 0;
  padding: 0.95rem 1rem;
  text-decoration: none;
  transition: transform 0.15s ease, filter 0.15s ease, background 0.15s ease;
  width: 100%;
}

.rh3-footer__chip:hover,
.rh3-footer__chip:focus-visible {
  transform: translateY(-2px);
}

.rh3-footer__chip-icon {
  align-items: center;
  display: inline-flex;
  flex: none;
  justify-content: center;
}

.rh3-footer__chip--whatsapp {
  background: #25d366;
  color: #fff !important;
}

.rh3-footer__chip--whatsapp .rh3-footer__chip-icon { color: #fff; }
.rh3-footer__chip--whatsapp:hover { filter: brightness(0.95); }

.rh3-footer__chip--messenger {
  background: linear-gradient(135deg, #6a3df0 0%, #8b5cf6 100%);
}

.rh3-footer__chip--messenger:hover { filter: brightness(1.08); }

.rh3-footer__chip--ghost {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.92) !important;
}

.rh3-footer__chip--ghost .rh3-footer__chip-icon { color: #c79bff; }
.rh3-footer__chip--ghost:hover { background: rgba(255, 255, 255, 0.09); }

/* Email chip label: full address on desktop, short "Email" on mobile. */
.rh3-footer__chip-text--short { display: none; }

.rh3-footer__chip[href^="mailto:"] {
  grid-column: 1 / -1;
  justify-content: center;
}

/* Legacy storefront footer is retired — the rh3 footer is canonical everywhere. */
.site-footer.rora-site-footer { display: none; }

/* Desktop: centre the redesigned footer inside the page shell. */
@media (min-width: 769px) {
  .rh3-footer {
    box-sizing: border-box;
    max-width: none;
    overflow: visible;
    width: 100%;
  }

  .rh3-footer__inner {
    box-sizing: border-box;
    max-width: min(var(--rora-width-shell), calc(100vw - 40px));
    width: 100%;
  }
}

/* ── Mobile: app-style stacked footer (logo · links · contact icons) ──────── */
@media (max-width: 768px) {
  .rh3-footer {
    display: block;
    margin-top: clamp(28px, 8vw, 52px);
    padding: clamp(28px, 8vw, 44px) 0 0;
  }

  .rh3-footer__inner {
    grid-template-columns: 1fr;
    gap: clamp(24px, 7vw, 36px);
    padding: 0 20px clamp(26px, 7vw, 40px);
    justify-items: center;
    text-align: center;
  }

  /* drop the desktop column dividers */
  .rh3-footer__links::before,
  .rh3-footer__contact::before { content: none; }

  /* brand — full-colour logo, centred; heart + copyright handled by the app UI */
  .rh3-footer__brand { align-items: center; gap: 10px; }
  .rh3-footer__logo img {
    width: clamp(150px, 46vw, 200px);
    filter: none;
    opacity: 1;
  }
  .rh3-footer__divider-h,
  .rh3-footer__copy { display: none; }

  /* page links → single inline row separated by thin dividers, no icons */
  .rh3-footer__links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 100%;
  }
  .rh3-footer__link {
    padding: 0 clamp(10px, 4vw, 22px);
    font-size: 15px;
    font-weight: 600;
    position: relative;
  }
  .rh3-footer__link + .rh3-footer__link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 16px;
    background: rgba(255, 255, 255, 0.2);
  }
  .rh3-footer__link-icon { display: none; }

  /* contact → row of circular icon buttons with the label beneath, with dividers */
  .rh3-footer__contact {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    gap: 0;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-top: clamp(20px, 6vw, 28px);
  }
  .rh3-footer__chip {
    flex: 1 1 0;
    max-width: 9rem;
    min-width: 0;
    flex-direction: column;
    gap: 10px;
    padding: 0 clamp(4px, 2vw, 14px);
    background: none !important;
    border: 0 !important;
    border-radius: 0;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 12.5px;
    font-weight: 600;
    text-align: center;
    overflow-wrap: anywhere;
    position: relative;
  }
  .rh3-footer__chip + .rh3-footer__chip::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    height: 56px;
    width: 1px;
    background: rgba(255, 255, 255, 0.12);
  }
  .rh3-footer__chip:hover,
  .rh3-footer__chip:focus-visible { filter: none; transform: none; }

  .rh3-footer__chip-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 1.5px solid currentColor;
    background: rgba(255, 255, 255, 0.04);
  }
  /* per-channel accent colours */
  .rh3-footer__chip--whatsapp .rh3-footer__chip-icon {
    background: #25d366;
    border-color: #25d366;
    color: #fff;
  }
  .rh3-footer__chip--messenger .rh3-footer__chip-icon { color: #a855f7; }
  .rh3-footer__chip[href^="mailto:"] .rh3-footer__chip-icon { color: #f06fa0; }

  /* the full address would wrap mid-string under a 9rem column */
  .rh3-footer__chip-text--full { display: none; }
  .rh3-footer__chip-text--short { display: inline; }
}

/* ===========================================================================
   Wishlist
   =========================================================================== */
.rora-header-wishlist .rora-header-icon__glyph,
.rora-tabbar__item--wishlist .rora-tabbar__cart-glyph {
  position: relative;
}

.rora-header-wishlist .rora-header-wishlist__count,
.rora-tabbar__item--wishlist .rora-header-wishlist__count {
  align-items: center !important;
  background: #ff6fa8 !important;
  border: 2px solid #fff !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-size: 0.58rem !important;
  font-weight: 1000 !important;
  height: 17px !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-width: 17px !important;
  padding: 0 0.22rem !important;
  position: absolute !important;
  right: -10px !important;
  top: -8px !important;
}

.rora-header-wishlist .rora-header-wishlist__count.is-empty,
.rora-tabbar__item--wishlist .rora-header-wishlist__count.is-empty {
  display: none !important;
}

/* B8: hide the header cart badge when empty (mirrors the wishlist rule above
   and the tabbar cart rule ~L19464). The mobile-header badge is forced
   visible via display:inline-flex !important elsewhere, so it needs its own
   is-empty override to kill the red "0". */
.rora-header-cart .rora-header-cart__count.is-empty,
.rora-site-header .rora-header-cart__count.is-empty {
  display: none !important;
}

.rora-collection-card {
  position: relative;
}

.rora-wishlist-toggle {
  align-items: center;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(31,26,74,0.1);
  border-radius: 999px;
  box-shadow: 0 12px 24px -18px rgba(31,26,74,0.48);
  color: #665a82;
  cursor: pointer;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  min-height: 38px;
  padding: 0;
  position: absolute;
  right: 0.85rem;
  top: 0.85rem;
  transition: background 0.18s var(--rora-ease), color 0.18s var(--rora-ease), transform 0.18s var(--rora-ease);
  width: 38px;
  z-index: 4;
}

.rora-wishlist-toggle svg {
  height: 19px;
  pointer-events: none;
  width: 19px;
}

.rora-wishlist-toggle:hover,
.rora-wishlist-toggle:focus-visible {
  background: #fff;
  color: #e74786;
  transform: translateY(-1px);
}

.rora-wishlist-toggle.is-saved {
  background: #fff0f6;
  border-color: rgba(231,71,134,0.26);
  color: #e74786;
}

.rora-wishlist-toggle.is-saved svg {
  fill: currentColor;
}

.rora-wishlist-toggle.is-loading {
  opacity: 0.68;
  pointer-events: none;
}

.rora-wishlist-page {
  display: grid;
  gap: clamp(1.1rem, 2vw, 1.7rem);
  padding: clamp(1rem, 2.4vw, 2rem) 0 4rem;
}

.rora-wishlist-hero {
  align-items: center;
  background:
    radial-gradient(circle at 90% 12%, rgba(255,111,168,0.18) 0 18%, transparent 19%),
    linear-gradient(135deg, #fff 0%, #f8f4ff 48%, #eef9ff 100%);
  border: 1px solid rgba(126,93,224,0.13);
  border-radius: 22px;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(1.1rem, 3vw, 2rem);
}

.rora-wishlist-hero__copy h1 {
  color: #17113d;
  font-family: var(--rora-serif);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.02;
  margin: 0.25rem 0 0.6rem;
}

.rora-wishlist-hero__copy p:last-child {
  color: #675f7d;
  margin: 0;
  max-width: 680px;
}

.rora-wishlist-hero__summary {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(31,26,74,0.08);
  border-radius: 18px;
  box-shadow: 0 24px 48px -38px rgba(31,26,74,0.45);
  display: grid;
  justify-items: center;
  min-width: 132px;
  padding: 1rem;
}

.rora-wishlist-hero__summary span {
  color: #e74786;
  display: inline-flex;
}

.rora-wishlist-hero__summary svg {
  fill: currentColor;
  height: 24px;
  width: 24px;
}

.rora-wishlist-hero__summary strong {
  color: #17113d;
  font-size: 2rem;
  line-height: 1;
}

.rora-wishlist-hero__summary small {
  color: #706783;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.rora-wishlist-list {
  display: grid;
  gap: 0.85rem;
}

.rora-wishlist-item {
  align-items: center;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(31,26,74,0.08);
  border-radius: 18px;
  box-shadow: 0 22px 44px -38px rgba(31,26,74,0.42);
  display: grid;
  gap: 1rem;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  padding: 0.75rem;
}

.rora-wishlist-item__media {
  align-items: center;
  background: linear-gradient(180deg, #fff, #fbf8ff);
  border-radius: 14px;
  display: flex;
  height: 112px;
  justify-content: center;
  overflow: hidden;
  padding: 0.65rem;
}

.rora-wishlist-item__media img {
  max-height: 94px;
  object-fit: contain;
}

.rora-wishlist-item__body {
  display: grid;
  gap: 0.35rem;
}

.rora-wishlist-item__body small {
  color: #7c7194;
  font-size: 0.75rem;
  font-weight: 850;
  text-transform: uppercase;
}

.rora-wishlist-item__title {
  color: #17113d;
  font-size: 1.02rem;
  font-weight: 900;
  line-height: 1.25;
  text-decoration: none;
}

.rora-wishlist-item__title:hover {
  color: var(--rora-purple);
}

.rora-wishlist-item__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.rora-wishlist-item__price {
  align-items: baseline;
  display: inline-flex;
  gap: 0.42rem;
}

.rora-wishlist-item__price em {
  color: #e74786;
  font-style: normal;
  font-weight: 950;
}

.rora-wishlist-item__price s {
  color: #978ea8;
  font-size: 0.84rem;
}

.rora-wishlist-item__stock {
  background: #eaf8f0;
  border-radius: 999px;
  color: #247c45;
  font-size: 0.72rem;
  font-weight: 850;
  padding: 0.22rem 0.58rem;
}

.rora-wishlist-item__actions {
  align-items: center;
  display: flex;
  gap: 0.55rem;
  justify-content: flex-end;
}

.rora-wishlist-item__actions .button {
  align-items: center;
  background: var(--rora-purple) !important;
  border: 0 !important;
  border-radius: 999px;
  color: #fff !important;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 900;
  justify-content: center;
  min-height: 40px;
  padding: 0 1rem;
  text-decoration: none;
  white-space: nowrap;
}

.rora-wishlist-item__actions .rora-wishlist-toggle {
  flex: 0 0 40px;
  height: 40px;
  position: static;
  width: 40px;
}

.rora-wishlist-empty {
  display: none;
}

.rora-wishlist-page.is-empty .rora-wishlist-empty {
  background: #fff;
  border: 1px solid rgba(31,26,74,0.08);
  border-radius: 18px;
  display: grid;
  justify-items: center;
  padding: clamp(2rem, 6vw, 4rem) 1rem;
  text-align: center;
}

.rora-wishlist-page.is-empty .rora-wishlist-empty > div {
  display: grid;
  gap: 0.75rem;
  justify-items: center;
  max-width: 440px;
}

.rora-wishlist-empty span {
  align-items: center;
  background: #fff0f6;
  border-radius: 999px;
  color: #e74786;
  display: inline-flex;
  height: 58px;
  justify-content: center;
  width: 58px;
}

.rora-wishlist-empty svg {
  fill: currentColor;
  height: 26px;
  width: 26px;
}

.rora-wishlist-empty h2 {
  color: #17113d;
  font-family: var(--rora-serif);
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  margin: 0;
}

.rora-wishlist-empty p {
  color: #675f7d;
  margin: 0 0 0.35rem;
}

@media (min-width: 1025px) {
  .rora-header-icon.rora-header-wishlist,
  .rora-site-header .rora-header-icon.rora-header-wishlist {
    align-items: center !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #080849 !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 0.38rem !important;
    height: 32px !important;
    justify-content: center !important;
    min-height: 32px !important;
    padding: 0 !important;
    width: auto !important;
  }
}

@media (max-width: 760px) {
  .rora-wishlist-hero {
    grid-template-columns: 1fr;
  }

  .rora-wishlist-hero__summary {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    min-width: 0;
  }

  .rora-wishlist-item {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .rora-wishlist-item__media {
    height: 88px;
  }

  .rora-wishlist-item__media img {
    max-height: 74px;
  }

  .rora-wishlist-item__actions {
    grid-column: 1 / -1;
    flex-direction: row-reverse;
    justify-content: flex-end;
  }
}

@media (max-width: 600px) {
  .rora-header-icon.rora-header-wishlist {
    display: none !important;
  }
}

.rora-site-header .rora-header-wishlist .rora-header-icon__glyph {
  background: none !important;
  border-radius: 0 !important;
  color: #080849 !important;
  height: 24px !important;
  min-width: 24px !important;
  padding: 0 !important;
  width: 24px !important;
}

.rora-site-header .rora-header-wishlist .rora-header-icon__glyph svg {
  fill: none !important;
  height: 24px !important;
  width: 24px !important;
}

.rora-site-header .rora-header-wishlist .rora-header-icon__label {
  background: none !important;
  border-radius: 0 !important;
  color: #2b2350 !important;
  display: inline-flex !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  height: auto !important;
  line-height: 1 !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

/* Wishlist page final layout. */
.rora-wishlist-page {
  background:
    radial-gradient(circle at 8% 24%, rgba(255, 216, 207, 0.48), transparent 27%),
    radial-gradient(circle at 92% 54%, rgba(222, 242, 255, 0.56), transparent 28%),
    linear-gradient(135deg, #fff7f1 0%, #fbf8ff 48%, #eefaff 100%);
  box-sizing: border-box;
  gap: clamp(1rem, 2vw, 1.4rem);
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: 70vh;
  padding: clamp(1.05rem, 3vw, 2.35rem) max(1rem, calc((100vw - 1180px) / 2)) clamp(2rem, 4vw, 4rem);
}

.rora-wishlist-page .rora-wishlist-hero {
  background:
    radial-gradient(ellipse at 84% 28%, rgba(255, 219, 235, 0.9) 0 22%, transparent 23%),
    radial-gradient(circle at 61% 44%, rgba(222, 240, 255, 0.78) 0 5%, transparent 6%),
    linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.9) 56%, rgba(255,239,247,0.9) 100%);
  border: 1px solid rgba(126,93,224,0.14);
  border-radius: clamp(24px, 4vw, 34px);
  box-shadow: 0 28px 72px -54px rgba(70, 43, 138, 0.42);
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.42fr);
  margin: 0 auto;
  max-width: 1180px;
  min-height: 316px;
  overflow: hidden;
  padding: clamp(1.55rem, 4vw, 3.05rem);
  position: relative;
  width: 100%;
}

.rora-wishlist-page .rora-wishlist-hero::before,
.rora-wishlist-page .rora-wishlist-hero::after {
  border-radius: 999px;
  content: "";
  pointer-events: none;
  position: absolute;
}

.rora-wishlist-page .rora-wishlist-hero::before {
  background: rgba(245, 126, 179, 0.16);
  height: 220px;
  right: -46px;
  top: 42px;
  transform: rotate(18deg);
  width: 260px;
}

.rora-wishlist-page .rora-wishlist-hero::after {
  background: rgba(183, 156, 240, 0.12);
  bottom: -72px;
  height: 160px;
  right: 190px;
  width: 160px;
}

.rora-wishlist-page .rora-wishlist-hero__copy {
  display: grid;
  gap: 0.9rem;
  position: relative;
  z-index: 2;
}

.rora-wishlist-page .rora-wishlist-hero__pill {
  align-items: center;
  background: rgba(255,255,255,0.74);
  border: 1px solid rgba(112, 72, 241, 0.26);
  border-radius: 999px;
  color: #7048f1;
  display: inline-flex;
  font-size: clamp(0.82rem, 2vw, 1rem);
  font-weight: 950;
  gap: 0.45rem;
  justify-self: start;
  letter-spacing: 0.04em;
  margin: 0;
  padding: 0.45rem 0.82rem;
  text-transform: uppercase;
}

.rora-wishlist-page .rora-wishlist-hero__pill svg {
  height: 1rem;
  width: 1rem;
}

.rora-wishlist-page .rora-wishlist-hero__copy h1 {
  color: #100942;
  font-size: clamp(3.2rem, 10vw, 5.65rem);
  letter-spacing: 0;
  margin: 0;
  text-shadow: 0 8px 16px rgba(31, 26, 74, 0.08);
}

.rora-wishlist-page .rora-wishlist-hero__copy h1 span {
  color: #f06fa0;
  display: inline-block;
  font-family: var(--rora-rounded);
  font-size: 0.48em;
  font-weight: 900;
  margin-left: 0.22em;
  transform: rotate(-11deg) translateY(-0.18em);
}

.rora-wishlist-page .rora-wishlist-hero__copy p:not(.rora-wishlist-hero__pill) {
  color: #575382;
  font-size: clamp(1rem, 2.5vw, 1.22rem);
  line-height: 1.62;
  margin: 0;
  max-width: 610px;
}

.rora-wishlist-page .rora-wishlist-hero__summary {
  align-items: center;
  align-self: end;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(31,26,74,0.08);
  border-radius: 18px;
  box-shadow: 0 24px 50px -42px rgba(31,26,74,0.55);
  display: flex;
  gap: 1rem;
  justify-items: initial;
  margin-top: clamp(0.6rem, 2vw, 1rem);
  max-width: 640px;
  min-width: 0;
  padding: clamp(0.7rem, 2vw, 1rem);
}

.rora-wishlist-page .rora-wishlist-hero__summary span {
  align-items: center;
  background: #fff0f6;
  border-radius: 16px;
  box-shadow: 0 16px 28px -24px rgba(231,71,134,0.58);
  color: #e74786;
  flex: 0 0 clamp(52px, 12vw, 72px);
  height: clamp(52px, 12vw, 72px);
  justify-content: center;
}

.rora-wishlist-page .rora-wishlist-hero__summary svg {
  height: clamp(25px, 5vw, 34px);
  width: clamp(25px, 5vw, 34px);
}

.rora-wishlist-page .rora-wishlist-hero__summary strong {
  color: #100942;
  font-family: var(--rora-rounded);
  font-size: clamp(2.15rem, 8vw, 4rem);
  font-weight: 1000;
  letter-spacing: 0;
}

.rora-wishlist-page .rora-wishlist-hero__summary small {
  color: #575382;
  font-size: clamp(0.86rem, 2.4vw, 1rem);
  font-weight: 950;
  letter-spacing: 0.03em;
}

.rora-wishlist-page .rora-wishlist-hero__art {
  align-items: center;
  align-self: stretch;
  display: flex;
  justify-content: center;
  min-width: 0;
  position: relative;
  z-index: 2;
}

.rora-wishlist-bag-art {
  height: auto;
  max-height: 260px;
  max-width: 100%;
  transform: translateY(0.2rem);
  width: min(300px, 100%);
}

.rora-wishlist-page .rora-wishlist-list {
  gap: clamp(1rem, 2.3vw, 1.35rem);
  margin: 0 auto;
  max-width: 1180px;
  width: 100%;
}

.rora-wishlist-page .rora-wishlist-item {
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(126,93,224,0.08);
  border-radius: clamp(24px, 4vw, 32px);
  box-shadow: 0 28px 62px -54px rgba(31,26,74,0.46);
  grid-template-columns: clamp(118px, 20vw, 180px) minmax(0, 1fr) auto;
  min-height: clamp(160px, 17vw, 190px);
  padding: clamp(0.85rem, 2vw, 1.35rem);
}

.rora-wishlist-page .rora-wishlist-item__media {
  background:
    radial-gradient(circle at 78% 50%, rgba(183,156,240,0.13), transparent 32%),
    #fff;
  border-radius: 22px;
  height: clamp(118px, 18vw, 166px);
  padding: clamp(0.8rem, 2vw, 1rem);
}

.rora-wishlist-page .rora-wishlist-item__media img {
  filter: drop-shadow(0 16px 16px rgba(74,59,82,0.1));
  max-height: 100%;
}

.rora-wishlist-page .rora-wishlist-item__body {
  gap: clamp(0.42rem, 1vw, 0.65rem);
}

.rora-wishlist-page .rora-wishlist-item__body small {
  color: #7048f1;
  font-size: clamp(0.78rem, 1.6vw, 0.9rem);
  letter-spacing: 0.02em;
}

.rora-wishlist-page .rora-wishlist-item__title {
  color: #100942;
  font-family: var(--rora-sans);
  font-size: clamp(1.08rem, 2.5vw, 1.6rem);
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.18;
  max-width: 820px;
}

.rora-wishlist-page .rora-wishlist-item__meta {
  gap: 0.75rem;
}

.rora-wishlist-page .rora-wishlist-item__price em {
  color: #19ad65;
  font-size: clamp(1.1rem, 2.8vw, 1.55rem);
  font-weight: 1000;
}

.rora-wishlist-page .rora-wishlist-item__price s {
  color: #e74786;
  font-size: clamp(0.9rem, 2vw, 1.12rem);
  font-weight: 800;
}

.rora-wishlist-page .rora-wishlist-item__stock {
  background: #e8f8ef;
  color: #18834c;
  font-size: clamp(0.78rem, 1.8vw, 0.95rem);
  padding: 0.35rem 0.8rem;
}

.rora-wishlist-page .rora-wishlist-item__actions {
  align-self: end;
  flex-wrap: wrap;
  min-width: min-content;
}

.rora-wishlist-page .rora-wishlist-item__actions .button {
  align-items: center;
  background: linear-gradient(135deg, #7b4ef4 0%, #6038d8 100%) !important;
  box-shadow: 0 16px 26px -22px rgba(96,56,216,0.9);
  display: inline-flex;
  font-size: clamp(0.9rem, 2vw, 1rem);
  gap: 0.48rem;
  min-height: 48px;
  padding: 0 1.35rem;
}

.rora-wishlist-page .rora-wishlist-item__actions .button::before {
  background: currentColor;
  content: "";
  display: inline-flex;
  flex: 0 0 auto;
  height: 1.05rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 1.05rem;
}

.rora-wishlist-page .rora-wishlist-item__actions .rora-wishlist-toggle {
  background: #fff0f6;
  border-color: rgba(231,71,134,0.16);
  box-shadow: 0 18px 30px -24px rgba(231,71,134,0.56);
  color: #e74786;
  flex-basis: 56px;
  height: 56px;
  width: 56px;
}

.rora-wishlist-page .rora-wishlist-item__actions .rora-wishlist-toggle svg {
  fill: currentColor;
  height: 27px;
  width: 27px;
}

.rora-wishlist-page .rora-wishlist-empty {
  margin: 0 auto;
  max-width: 1180px;
  width: 100%;
}

.rora-wishlist-page.is-empty .rora-wishlist-empty {
  border: 1px solid rgba(126,93,224,0.08);
  border-radius: 28px;
  box-shadow: 0 24px 58px -48px rgba(31,26,74,0.38);
}

.rora-wishlist-trust {
  align-items: center;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(126,93,224,0.09);
  border-radius: 999px;
  box-shadow: 0 18px 45px -42px rgba(31,26,74,0.4);
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: clamp(0.2rem, 1vw, 0.6rem) auto 0;
  max-width: 1180px;
  padding: 0.72rem 1rem;
  width: 100%;
}

.rora-wishlist-trust span {
  align-items: center;
  color: #100942;
  display: grid;
  gap: 0.12rem;
  justify-items: center;
  min-width: 0;
  text-align: center;
}

.rora-wishlist-trust strong {
  font-size: clamp(0.78rem, 1.5vw, 0.92rem);
  font-weight: 900;
  line-height: 1.15;
}

.rora-wishlist-trust small {
  color: #746a9e;
  font-size: clamp(0.68rem, 1.4vw, 0.8rem);
  line-height: 1.2;
}

@media (max-width: 760px) {
  .rora-wishlist-page {
    gap: 1.25rem;
    padding: 1.55rem 1.05rem 2rem;
  }

  .rora-wishlist-page .rora-wishlist-hero {
    grid-template-columns: minmax(0, 1fr) minmax(116px, 34%);
    min-height: 0;
    padding: 1.45rem;
  }

  .rora-wishlist-page .rora-wishlist-hero__copy {
    gap: 0.76rem;
  }

  .rora-wishlist-page .rora-wishlist-hero__copy p:not(.rora-wishlist-hero__pill) {
    max-width: 24ch;
  }

  .rora-wishlist-page .rora-wishlist-hero__summary {
    grid-column: 1 / -1;
    width: 100%;
  }

  .rora-wishlist-bag-art {
    margin-right: -1.1rem;
    width: 170px;
  }

  .rora-wishlist-page .rora-wishlist-item {
    align-items: center;
    gap: 0.9rem;
    grid-template-columns: 108px minmax(0, 1fr);
    padding: 1rem;
  }

  .rora-wishlist-page .rora-wishlist-item__actions {
    align-items: center;
    display: grid;
    gap: 0.7rem;
    grid-column: 2;
    grid-template-columns: minmax(0, max-content) 56px;
    justify-content: space-between;
    width: 100%;
  }

  .rora-wishlist-page .rora-wishlist-item__actions .button {
    min-width: 0;
  }

  .rora-wishlist-trust {
    border-radius: 26px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 1rem;
  }

  .rora-wishlist-page .rora-wishlist-item__actions {
    grid-template-columns: 56px minmax(0, max-content);
    justify-content: flex-start;
  }

  .rora-wishlist-page .rora-wishlist-item__actions .rora-wishlist-toggle {
    grid-column: 1;
    grid-row: 1;
  }

  .rora-wishlist-page .rora-wishlist-item__actions .button {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (min-width: 761px) {
  .rora-wishlist-page .rora-wishlist-hero {
    min-height: 168px;
    padding: clamp(1.15rem, 2.2vw, 1.7rem) clamp(1.6rem, 3vw, 2.5rem);
  }

  .rora-wishlist-page .rora-wishlist-hero__copy {
    gap: 0.48rem;
  }

  .rora-wishlist-page .rora-wishlist-hero__pill {
    font-size: 0.78rem;
    padding: 0.32rem 0.68rem;
  }

  .rora-wishlist-page .rora-wishlist-hero__copy h1 {
    font-size: clamp(2.8rem, 5.2vw, 4.1rem);
  }

  .rora-wishlist-page .rora-wishlist-hero__copy p:not(.rora-wishlist-hero__pill) {
    font-size: clamp(0.95rem, 1.45vw, 1.08rem);
    line-height: 1.45;
    max-width: 660px;
  }

  .rora-wishlist-page .rora-wishlist-hero__summary {
    margin-top: 0.45rem;
    max-width: 520px;
    padding: 0.55rem 0.75rem;
  }

  .rora-wishlist-page .rora-wishlist-hero__summary span {
    flex-basis: 46px;
    height: 46px;
  }

  .rora-wishlist-page .rora-wishlist-hero__summary svg {
    height: 23px;
    width: 23px;
  }

  .rora-wishlist-page .rora-wishlist-hero__summary strong {
    font-size: 2.4rem;
  }

  .rora-wishlist-page .rora-wishlist-hero__summary small {
    font-size: 0.82rem;
  }

  .rora-wishlist-bag-art {
    max-height: 150px;
    width: min(190px, 100%);
  }
}

@media (max-width: 430px) {
  .rora-wishlist-page {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
  }

  .rora-wishlist-page .rora-wishlist-hero {
    padding: 1.2rem;
  }

  .rora-wishlist-page .rora-wishlist-hero__copy h1 {
    font-size: clamp(2.85rem, 17vw, 4rem);
  }

  .rora-wishlist-page .rora-wishlist-hero__copy p:not(.rora-wishlist-hero__pill) {
    font-size: 0.96rem;
  }

  .rora-wishlist-bag-art {
    opacity: 0.96;
    width: 138px;
  }

  .rora-wishlist-page .rora-wishlist-item {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .rora-wishlist-page .rora-wishlist-item__media {
    height: 102px;
  }

  .rora-wishlist-page .rora-wishlist-item__actions {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, max-content) 56px;
  }
}

/* Product gallery fit and single-row thumbnail rail. */
.single-product div.product.rora-product .rora-product__price-now,
.single-product div.product.rora-product .woocommerce-variation-price .price,
.single-product div.product.rora-product .woocommerce-variation-price .price .amount {
  background: none !important;
  color: var(--rora-price) !important;
  -webkit-text-fill-color: var(--rora-price) !important;
}

.single-product .woocommerce-product-gallery .flex-viewport {
  align-items: center !important;
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  justify-content: center !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  width: 100% !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image.flex-active-slide,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
  align-items: center !important;
  display: flex !important;
  justify-content: center !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
  width: 100% !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery .flexslider img {
  height: auto !important;
  max-height: min(500px, 58vh) !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  width: auto !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0.52rem !important;
  grid-template-columns: none !important;
  margin-top: 0.7rem !important;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.08rem 0.08rem 0.48rem !important;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
  height: 6px;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar-thumb {
  background: rgba(112, 72, 241, 0.22);
  border-radius: 999px;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 clamp(72px, 11vw, 92px) !important;
  max-width: clamp(72px, 11vw, 92px) !important;
  scroll-snap-align: start;
  width: clamp(72px, 11vw, 92px) !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  aspect-ratio: 1 / 1 !important;
  border-radius: 12px !important;
  height: auto !important;
  min-width: 0;
  width: 100% !important;
}

/* Storefront sticky product bar: shop-style price and add-to-cart treatment. */
body.single-product .storefront-sticky-add-to-cart {
  background: rgba(255, 255, 255, 0.98) !important;
  border-bottom: 1px solid rgba(74, 59, 82, 0.1);
  box-shadow: 0 10px 28px -24px rgba(31, 26, 74, 0.38) !important;
  color: var(--rora-ink);
  font-family: var(--rora-rounded);
  overflow: visible;
  padding: 0.56rem 0 !important;
}

body.single-product .storefront-sticky-add-to-cart .col-full {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: min(var(--rora-width-shell), calc(100vw - 48px));
  padding: 0;
}

body.single-product .storefront-sticky-add-to-cart__content {
  align-items: center;
  display: grid !important;
  gap: 0.9rem;
  grid-template-columns: 62px minmax(0, 1fr) auto;
  justify-content: stretch;
  min-height: 70px;
}

body.single-product .storefront-sticky-add-to-cart img {
  background: #fff;
  border: 1px solid rgba(74, 59, 82, 0.1) !important;
  border-radius: 8px;
  box-sizing: border-box;
  height: 62px;
  margin: 0 !important;
  max-height: 62px;
  max-width: 62px !important;
  object-fit: contain;
  padding: 4px !important;
  width: 62px;
}

body.single-product .storefront-sticky-add-to-cart__content-product-info {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

body.single-product .storefront-sticky-add-to-cart__content-title {
  color: #5f5967;
  display: block;
  font-size: clamp(0.94rem, 1.1vw, 1.04rem);
  font-weight: 650;
  line-height: 1.25;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.single-product .storefront-sticky-add-to-cart__content-title strong {
  color: #393240;
  font-weight: 800;
}

body.single-product .storefront-sticky-add-to-cart__content-price {
  align-items: baseline;
  color: var(--rora-price) !important;
  display: flex !important;
  flex-wrap: wrap;
  font-size: 1rem;
  font-weight: 900;
  gap: 0.48rem;
  line-height: 1.1;
  margin: 0 !important;
  opacity: 1 !important;
}

body.single-product .storefront-sticky-add-to-cart__content-price del {
  color: #9b95a3 !important;
  font-size: 0.94rem;
  font-weight: 700;
  opacity: 1 !important;
  text-decoration-thickness: 1.5px;
}

body.single-product .storefront-sticky-add-to-cart__content-price del .amount {
  color: #9b95a3 !important;
}

body.single-product .storefront-sticky-add-to-cart__content-price ins {
  background: none !important;
  color: var(--rora-price) !important;
  font-size: 1.12rem;
  font-weight: 1000;
  margin: 0 !important;
  text-decoration: none;
}

body.single-product .storefront-sticky-add-to-cart__content-price ins .amount,
body.single-product .storefront-sticky-add-to-cart__content-price > .amount {
  color: var(--rora-price) !important;
}

body.single-product .storefront-sticky-add-to-cart__content-button.button,
body.single-product .storefront-sticky-add-to-cart__content-button.button.alt {
  align-items: center;
  background: var(--rora-cart) !important;
  border: 1px solid var(--rora-cart) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #fff !important;
  display: inline-flex;
  font-size: 0.95rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1;
  margin: 0 0 0 auto !important;
  min-height: 44px;
  min-width: 142px;
  padding: 0.78rem 1.15rem !important;
  text-decoration: none !important;
  white-space: nowrap;
}

body.single-product .storefront-sticky-add-to-cart__content-button.button:hover,
body.single-product .storefront-sticky-add-to-cart__content-button.button.alt:hover {
  background: var(--rora-cart-hover) !important;
  border-color: var(--rora-cart-hover) !important;
  color: #fff !important;
}

body.single-product .storefront-sticky-add-to-cart__content-button .rora-add-to-cart__check {
  display: none;
}

@media (max-width: 700px) {
  body.single-product .storefront-sticky-add-to-cart {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
    min-height: 0;
  }

  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
  .single-product .woocommerce-product-gallery .flexslider img {
    max-height: min(390px, 66vh) !important;
  }

  .single-product .woocommerce-product-gallery .flex-control-thumbs {
    gap: 0.45rem !important;
    margin-top: 0.58rem !important;
  }

  .single-product .woocommerce-product-gallery .flex-control-thumbs li {
    flex-basis: 68px !important;
    max-width: 68px !important;
    width: 68px !important;
  }
}

/* Mobile app drawer: the top-left menu opens all options from the left. */
@media (max-width: 600px) {
  body.is-rora-mobile-menu-open {
    overflow: hidden;
    touch-action: none;
  }

  body.is-rora-mobile-menu-open::before {
    background: rgba(18, 13, 47, 0.34);
    content: "";
    inset: 0;
    pointer-events: auto;
    position: fixed;
    z-index: 100000;
  }

  body.is-rora-mobile-menu-open .rora-site-header {
    isolation: isolate;
    position: relative;
    z-index: 100001 !important;
  }

  .rora-site-header .rora-header-nav,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav,
  body.woocommerce-shop .rora-site-header .rora-header-nav,
  body.tax-product_cat .rora-site-header .rora-header-nav,
  body.tax-product_tag .rora-site-header .rora-header-nav,
  body.post-type-archive-product .rora-site-header .rora-header-nav,
  body.single-product .rora-site-header .rora-header-nav,
  body.page .rora-site-header .rora-header-nav,
  body.search .rora-site-header .rora-header-nav,
  body.error404 .rora-site-header .rora-header-nav {
    background: #fff !important;
    border: 1px solid rgba(126, 93, 224, 0.12) !important;
    border-radius: 0 24px 24px 0 !important;
    box-shadow: 28px 0 52px -34px rgba(31, 20, 74, 0.52) !important;
    box-sizing: border-box !important;
    display: block !important;
    height: auto !important; /* A1: size drawer to content, not full viewport */
    left: 0 !important;
    margin: 0 !important;
    max-height: 100dvh !important; /* A1: cap at viewport, scroll if taller */
    max-width: min(86vw, 336px) !important;
    opacity: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: calc(0.72rem + env(safe-area-inset-top, 0px)) 0.82rem calc(1rem + env(safe-area-inset-bottom, 0px)) !important;
    pointer-events: none !important;
    position: fixed !important;
    top: 0 !important;
    transform: translateX(-104%) !important;
    transition: transform 240ms ease, opacity 180ms ease, visibility 180ms ease !important;
    visibility: hidden !important;
    width: min(86vw, 336px) !important;
    z-index: 100002 !important;
  }

  .rora-site-header .rora-header-nav.is-open,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open,
  body.woocommerce-shop .rora-site-header .rora-header-nav.is-open,
  body.tax-product_cat .rora-site-header .rora-header-nav.is-open,
  body.tax-product_tag .rora-site-header .rora-header-nav.is-open,
  body.post-type-archive-product .rora-site-header .rora-header-nav.is-open,
  body.single-product .rora-site-header .rora-header-nav.is-open,
  body.page .rora-site-header .rora-header-nav.is-open,
  body.search .rora-site-header .rora-header-nav.is-open,
  body.error404 .rora-site-header .rora-header-nav.is-open {
    grid-column: auto !important;
    grid-row: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
    visibility: visible !important;
  }

  .rora-site-header .rora-header-nav.is-open .rora-header-nav__menu,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-header-nav__menu {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.62rem !important;
    justify-content: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .rora-site-header .rora-header-nav.is-open .rora-category-menu__toggle,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-category-menu__toggle,
  .rora-site-header .rora-header-nav.is-open .rora-nav-link a,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-nav-link a,
  .rora-site-header .rora-header-nav.is-open .rora-nav-pill a,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-nav-pill a {
    align-items: center !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    font-size: 0.94rem !important;
    justify-content: space-between !important;
    min-height: 46px !important;
    padding: 0.62rem 0.9rem !important;
    width: 100% !important;
  }

  .rora-site-header .rora-header-nav.is-open .rora-nav-pill a,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-nav-pill a {
    gap: 0.56rem !important;
    justify-content: flex-start !important;
  }

  .rora-site-header .rora-header-nav.is-open .rora-nav-pill a svg,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-nav-pill a svg {
    color: #ff7a1a !important;
    flex: 0 0 17px !important;
    height: 17px !important;
    width: 17px !important;
  }

  .rora-site-header .rora-header-nav.is-open .rora-mobile-account-menu,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-mobile-account-menu {
    background: #fff !important;
    border: 1px solid rgba(126, 93, 224, 0.12) !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 34px -28px rgba(31, 20, 74, 0.42) !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 0.38rem !important;
    margin-top: 1.05rem !important;
    padding: 0.54rem !important;
    width: 100% !important;
  }

  .rora-site-header .rora-header-nav.is-open .rora-mobile-account-menu__toggle,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-mobile-account-menu__toggle {
    align-items: center !important;
    appearance: none !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    color: #7048f1 !important;
    cursor: pointer;
    display: grid !important;
    font-family: "Nunito", "Inter", system-ui, sans-serif !important;
    gap: 0.68rem !important;
    grid-template-columns: 42px minmax(0, 1fr) 24px !important;
    min-height: 54px !important;
    padding: 0.36rem 0.52rem !important;
    text-align: left !important;
    width: 100% !important;
  }

  .rora-mobile-account-menu__avatar {
    align-items: center;
    background: #f0eaff;
    border-radius: 999px;
    color: #7048f1;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
  }

  .rora-mobile-account-menu__avatar svg {
    height: 24px;
    width: 24px;
  }

  .rora-site-header .rora-header-nav.is-open .rora-mobile-account-menu__hello,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-mobile-account-menu__hello {
    color: #7048f1 !important;
    display: block !important;
    font-size: 0.98rem !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  .rora-mobile-account-menu__chevron {
    color: #7048f1;
    height: 18px;
    justify-self: end;
    transition: transform 180ms ease;
    width: 18px;
  }

  .rora-mobile-account-menu__toggle[aria-expanded="true"] .rora-mobile-account-menu__chevron {
    transform: rotate(180deg);
  }

  .rora-mobile-account-menu__panel {
    display: grid;
    gap: 0;
  }

  .rora-mobile-account-menu__panel[hidden] {
    display: none !important;
  }

  .rora-site-header .rora-header-nav.is-open .rora-mobile-account-menu a,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-mobile-account-menu a {
    align-items: center !important;
    background: #fbf9ff !important;
    border: 1px solid rgba(126, 93, 224, 0.1) !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    color: #7048f1 !important;
    display: flex !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    gap: 0.68rem !important;
    justify-content: flex-start !important;
    min-height: 43px !important;
    padding: 0.48rem 0.72rem !important;
    text-decoration: none !important;
    width: 100% !important;
  }

  .rora-mobile-account-menu__row-icon {
    align-items: center;
    color: #7048f1;
    display: inline-flex;
    flex: 0 0 24px;
    height: 24px;
    justify-content: center;
    width: 24px;
  }

  .rora-mobile-account-menu__row-icon svg {
    height: 20px;
    width: 20px;
  }

  .rora-site-header .rora-header-nav.is-open .rora-mobile-account-menu__signin,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-mobile-account-menu__signin {
    background: linear-gradient(180deg, #fff7d7 0%, #ffe889 100%) !important;
    border-color: rgba(151, 113, 12, 0.12) !important;
    color: #231744 !important;
    font-size: 0.98rem !important;
    min-height: 42px !important;
  }

  .rora-site-header .rora-header-nav.is-open .rora-category-menu__dropdown,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-category-menu__dropdown {
    background: #fbf9ff !important;
    border: 1px solid rgba(126, 93, 224, 0.1) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 0.16rem !important;
    margin-top: 0.34rem !important;
    min-width: 0 !important;
    opacity: 1 !important;
    padding: 0.34rem !important;
    pointer-events: auto !important;
    position: static !important;
    transform: none !important;
    visibility: visible !important;
    width: 100% !important;
  }

  .rora-site-header .rora-header-nav.is-open .rora-category-menu__dropdown::before,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-category-menu__dropdown::before {
    content: none !important;
  }

  .rora-site-header .rora-header-nav.is-open .rora-category-menu__dropdown a,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-category-menu__dropdown a {
    font-size: 0.8rem !important;
    min-height: 31px !important;
    padding: 0.28rem 0.52rem !important;
  }

  .rora-site-header .rora-header-nav.is-open .rora-category-menu__dropdown a.rora-category-menu__all,
  body:has(.rora-home.rh3) .rora-site-header .rora-header-nav.is-open .rora-category-menu__dropdown a.rora-category-menu__all {
    min-height: 35px !important;
  }
}

/* Account dashboard final cascade pass. */
body.woocommerce-account .rora-content-page,
body.woocommerce-account .site-main {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: none !important;
  padding: 0 0 calc(6.5rem + env(safe-area-inset-bottom, 0px)) !important;
}

body.woocommerce-account .site-content > .col-full {
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

body.woocommerce-account .rora-content-page__body,
body.woocommerce-account .entry-content {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.woocommerce-account .woocommerce:has(.rora-account-dashboard) {
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
}

body.woocommerce-account .rora-account-dashboard a {
  text-decoration: none !important;
}

body.woocommerce-account .rora-account-dashboard {
  padding-left: 1.05rem !important;
  padding-right: 1.05rem !important;
}

body.woocommerce-account .rora-account-dashboard__hero {
  margin-left: -1.05rem !important;
  margin-right: -1.05rem !important;
  min-height: 9.15rem !important;
  padding: 2.2rem 1.45rem 0.85rem !important;
}

body.woocommerce-account .rora-account-dashboard__hero h1 {
  font-size: clamp(2.25rem, 8.8vw, 2.72rem) !important;
  font-weight: 780 !important;
  line-height: 1.03 !important;
  max-width: none !important;
  white-space: nowrap !important;
}

body.woocommerce-account .rora-account-dashboard__art {
  right: -0.85rem !important;
  top: -0.6rem !important;
  width: min(36vw, 10rem) !important;
}

body.woocommerce-account .rora-account-dashboard__stack {
  gap: 1rem !important;
  margin-top: -2.62rem !important;
}

body.woocommerce-account .rora-account-card {
  border-color: rgba(126, 93, 224, 0.055) !important;
  border-radius: 18px !important;
  box-shadow: 0 20px 48px -40px rgba(31, 26, 74, 0.42) !important;
}

body.woocommerce-account .rora-account-card__icon,
body.woocommerce-account .rora-account-menu__icon {
  border-radius: 16px !important;
  height: 2.72rem !important;
  width: 2.72rem !important;
}

body.woocommerce-account .rora-account-card__icon--round {
  border-radius: 50% !important;
}

body.woocommerce-account .rora-account-last-order {
  gap: 0.78rem !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  min-height: 5.65rem !important;
  padding: 0.85rem 0.95rem !important;
}

body.woocommerce-account .rora-account-last-order .rora-account-card__chevron {
  display: none !important;
}

@media (max-width: 379px) {
  body.woocommerce-account .rora-account-last-order__thumb:nth-child(3) {
    display: none !important;
  }
}

body.woocommerce-account .rora-account-last-order__label,
body.woocommerce-account .rora-account-last-order__copy strong {
  font-size: 0.92rem !important;
  font-weight: 760 !important;
}

body.woocommerce-account .rora-account-last-order__meta,
body.woocommerce-account .rora-account-last-order__total {
  font-size: 0.72rem !important;
  font-weight: 620 !important;
  line-height: 1.45 !important;
}

body.woocommerce-account .rora-account-last-order__thumb {
  height: 2.28rem !important;
  width: 2.28rem !important;
}

body.woocommerce-account .rora-account-support {
  gap: 0.72rem !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  min-height: 4.8rem !important;
  padding: 0.82rem 0.95rem !important;
}

body.woocommerce-account .rora-account-support strong {
  font-size: 0.72rem !important;
  font-weight: 620 !important;
  line-height: 1.32 !important;
  white-space: normal !important;
}

body.woocommerce-account .rora-account-button {
  font-size: 0.64rem !important;
  font-weight: 680 !important;
  min-height: 2.48rem !important;
  padding-left: 0.48rem !important;
  padding-right: 0.48rem !important;
}

body.woocommerce-account .rora-account-button svg {
  height: 0.78rem !important;
  width: 0.78rem !important;
}

body.woocommerce-account .rora-account-menu {
  padding: 0.7rem 0.95rem !important;
}

body.woocommerce-account .rora-account-menu__item {
  min-height: 3.85rem !important;
}

body.woocommerce-account .rora-account-menu__copy strong {
  font-size: 0.96rem !important;
  font-weight: 680 !important;
  line-height: 1.28 !important;
}

body.woocommerce-account .rora-account-menu__copy small {
  font-size: 0.8rem !important;
  font-weight: 520 !important;
  line-height: 1.35 !important;
}

body.woocommerce-account .rora-account-refer {
  gap: 0.72rem !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  min-height: 4.75rem !important;
  padding: 0.85rem 0.95rem !important;
}

/* Account endpoint pages: orders, account details, and order detail screens. */
body.woocommerce-account .woocommerce:has(.rora-account-page) {
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
}

body.woocommerce-account .rora-account-page {
  box-sizing: border-box;
  display: grid;
  gap: clamp(1rem, 2vw, 1.35rem);
  margin: 0 auto;
  max-width: none;
  padding: clamp(1rem, 3vw, 2.25rem) max(1rem, calc((100vw - 1180px) / 2)) clamp(2rem, 4vw, 4rem);
  width: 100%;
}

body.woocommerce-account .rora-account-page a {
  text-decoration: none !important;
}

.rora-account-page__hero {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(250,246,255,0.94) 54%, rgba(239,250,255,0.95)),
    repeating-linear-gradient(135deg, rgba(124,77,242,0.08) 0 1px, transparent 1px 18px);
  border: 1px solid rgba(126,93,224,0.13);
  border-radius: clamp(24px, 4vw, 34px);
  box-shadow: 0 28px 72px -54px rgba(70, 43, 138, 0.42);
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
  grid-template-columns: minmax(0, 1fr) minmax(130px, 0.26fr);
  min-height: clamp(172px, 24vw, 250px);
  overflow: hidden;
  padding: clamp(1.45rem, 4vw, 2.6rem);
  position: relative;
}

.rora-account-page__hero::before {
  background: linear-gradient(90deg, #7c4df2, #ff6fa8, #ffd55e, #57c7dc);
  content: "";
  height: 7px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.rora-account-page--orders .rora-account-page__hero {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.99), rgba(246,242,255,0.95) 55%, rgba(237,249,252,0.96)),
    repeating-linear-gradient(135deg, rgba(87,199,220,0.12) 0 1px, transparent 1px 18px);
}

.rora-account-page--details .rora-account-page__hero {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.99), rgba(255,248,252,0.95) 55%, rgba(250,246,255,0.96)),
    repeating-linear-gradient(135deg, rgba(255,111,168,0.1) 0 1px, transparent 1px 18px);
}

.rora-account-page__copy {
  display: grid;
  gap: 0.55rem;
  position: relative;
  z-index: 2;
}

.rora-account-page__pill {
  align-items: center;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(112,72,241,0.2);
  border-radius: 999px;
  color: #7048f1;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 950;
  justify-self: start;
  letter-spacing: 0.04em;
  margin: 0;
  padding: 0.35rem 0.72rem;
  text-transform: uppercase;
}

.rora-account-page__copy h1 {
  color: #100942;
  font-family: var(--rora-rounded);
  font-size: clamp(2.5rem, 6vw, 4.7rem);
  font-weight: 1000;
  letter-spacing: 0;
  line-height: 0.98;
  margin: 0;
}

.rora-account-page__copy p:not(.rora-account-page__pill) {
  color: #575382;
  font-size: clamp(0.98rem, 1.6vw, 1.12rem);
  font-weight: 650;
  line-height: 1.55;
  margin: 0;
  max-width: 620px;
}

.rora-account-page__art {
  align-items: center;
  background: rgba(255,255,255,0.66);
  border: 1px solid rgba(126,93,224,0.1);
  border-radius: 28px;
  display: flex;
  justify-content: center;
  min-height: 120px;
  position: relative;
  z-index: 2;
}

.rora-account-page__art svg {
  filter: drop-shadow(0 18px 18px rgba(74,59,82,0.12));
  height: clamp(92px, 16vw, 144px);
  width: clamp(92px, 16vw, 144px);
}

.rora-account-page__toolbar,
.rora-wishlist-toolbar {
  display: flex;
  justify-content: flex-start;
  margin: 0 auto;
  max-width: 1180px;
  width: 100%;
}

.rora-account-back {
  align-items: center;
  background: linear-gradient(135deg, #7c4df2, #6038d8);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 18px 30px -22px rgba(96,56,216,0.92);
  color: #fff !important;
  display: inline-flex;
  font-family: var(--rora-rounded);
  font-size: clamp(0.9rem, 1.6vw, 1rem);
  font-weight: 950;
  gap: 0.48rem;
  justify-content: center;
  min-height: 48px;
  padding: 0 1.15rem;
  transition: transform 0.18s var(--rora-ease), box-shadow 0.18s var(--rora-ease);
}

.rora-account-back:hover,
.rora-account-back:focus-visible {
  box-shadow: 0 22px 34px -22px rgba(96,56,216,0.98);
  transform: translateY(-1px);
}

.rora-account-back svg {
  height: 1.05rem;
  width: 1.05rem;
}

body.woocommerce-account .rora-account-page__content {
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(126,93,224,0.09) !important;
  border-radius: clamp(22px, 4vw, 30px) !important;
  box-shadow: 0 26px 64px -52px rgba(31,26,74,0.42) !important;
  float: none !important;
  overflow: hidden;
  padding: clamp(1rem, 2.4vw, 1.6rem) !important;
  width: 100% !important;
}

.rora-orders-panel {
  display: grid;
  gap: 1rem;
}

.rora-orders-list {
  display: grid;
  gap: clamp(0.75rem, 1.8vw, 0.9rem);
}

.rora-order-card {
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(126,93,224,0.1);
  border-radius: 24px;
  box-shadow: 0 22px 54px -46px rgba(31,26,74,0.5);
  display: grid;
  overflow: hidden;
  padding: clamp(1rem, 2.2vw, 1.35rem) clamp(1rem, 2.5vw, 1.5rem) 0;
}

.rora-order-card__head {
  align-items: center;
  display: flex;
  gap: clamp(0.65rem, 2vw, 1rem);
  min-width: 0;
}

.rora-order-card__id-label {
  background: #f2ecff;
  border-radius: 999px;
  color: #7048f1;
  flex: 0 0 auto;
  font-size: 0.8rem;
  font-weight: 950;
  line-height: 1;
  padding: 0.48rem 0.72rem;
}

.rora-order-card__number {
  color: #100942 !important;
  flex: 1 1 auto;
  font-size: clamp(0.95rem, 2vw, 1.05rem);
  font-weight: 950;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rora-order-card__status {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.86rem;
  font-weight: 950;
  gap: 0.42rem;
  line-height: 1;
  padding: 0.58rem 0.78rem;
}

.rora-order-card__status svg {
  height: 1rem;
  width: 1rem;
}

.rora-order-card__status--delivered {
  background: #e9f8ee;
  border-color: #d4efd8;
  color: #13a946;
}

.rora-order-card__status--shipped {
  background: #eef6ff;
  border-color: #d8eaff;
  color: #1482ee;
}

.rora-order-card__status--processing {
  background: #fff3e4;
  border-color: #ffe2bd;
  color: #f47b13;
}

.rora-order-card__status--cancelled {
  background: #f2f1f4;
  border-color: #e5e1ea;
  color: #776f8c;
}

.rora-order-card__body {
  align-items: center;
  display: grid;
  gap: clamp(0.9rem, 2.5vw, 1.4rem);
  grid-template-columns: clamp(100px, 14vw, 132px) minmax(0, 1fr) auto;
  padding: clamp(0.85rem, 2.5vw, 1.25rem) 0 clamp(0.95rem, 2.5vw, 1.35rem);
}

.rora-order-card__media {
  align-items: center;
  aspect-ratio: 1 / 1;
  background:
    radial-gradient(circle at 70% 38%, rgba(124,77,242,0.09), transparent 35%),
    linear-gradient(135deg, #fff, #f8f4ff);
  border-radius: 18px;
  color: #7048f1;
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding: 0.58rem;
}

.rora-order-card__media img {
  display: block;
  filter: drop-shadow(0 12px 14px rgba(74,59,82,0.1));
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.rora-order-card__media svg {
  height: 42px;
  width: 42px;
}

.rora-order-card__product {
  display: grid;
  gap: 0.38rem;
  min-width: 0;
}

.rora-order-card__product > a {
  color: #100942 !important;
  font-size: clamp(1.08rem, 2.4vw, 1.35rem);
  font-weight: 950;
  line-height: 1.22;
}

.rora-order-card__product > span,
.rora-order-card__product > small,
.rora-order-card__product > em {
  color: #635b80;
  font-size: 0.94rem;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}

.rora-order-card__product > small {
  align-items: center;
  display: inline-flex;
  gap: 0.48rem;
  margin-top: 0.34rem;
}

.rora-order-card__product > small svg {
  color: #776f8c;
  flex: 0 0 auto;
  height: 1.08rem;
  width: 1.08rem;
}

.rora-order-card__product > em {
  color: #7048f1;
  font-size: 0.86rem;
  font-weight: 900;
}

.rora-order-card__side {
  align-self: stretch;
  display: grid;
  gap: 0.8rem;
  justify-items: end;
  min-width: 142px;
}

.rora-order-card__side strong {
  color: #100942;
  font-family: var(--rora-rounded);
  font-size: clamp(1.35rem, 3vw, 1.72rem);
  font-weight: 1000;
  line-height: 1;
}

.rora-order-card__side a {
  align-items: center;
  align-self: end;
  color: #7048f1 !important;
  display: inline-flex;
  font-size: 0.96rem;
  font-weight: 950;
  gap: 0.35rem;
  white-space: nowrap;
}

.rora-order-card__side a svg {
  height: 1rem;
  width: 1rem;
}

.rora-order-card__foot {
  align-items: center;
  border-top: 1px solid rgba(126,93,224,0.1);
  display: grid;
  gap: 0.85rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  margin-left: calc(clamp(1rem, 2.5vw, 1.5rem) * -1);
  margin-right: calc(clamp(1rem, 2.5vw, 1.5rem) * -1);
  padding: 0.95rem clamp(1rem, 2.5vw, 1.5rem);
}

.rora-order-card__foot-icon {
  align-items: center;
  color: #776f8c;
  display: inline-flex;
  justify-content: center;
}

.rora-order-card__foot-icon svg {
  height: 2rem;
  width: 2rem;
}

.rora-order-card__foot > span:nth-child(2) {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.rora-order-card__foot strong {
  color: #100942;
  font-size: 1rem;
  font-weight: 950;
  line-height: 1.22;
}

.rora-order-card__foot small {
  color: #635b80;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.25;
}

.rora-order-card__cta {
  align-items: center;
  border: 1px solid #8f57ff;
  border-radius: 14px;
  color: #7048f1 !important;
  display: inline-flex;
  font-weight: 950;
  gap: 0.48rem;
  justify-content: center;
  min-height: 46px;
  min-width: 158px;
  padding: 0 1rem;
  white-space: nowrap;
}

.rora-order-card__cta svg {
  height: 1.12rem;
  width: 1.12rem;
}

.rora-orders-empty {
  align-items: center;
  background:
    linear-gradient(135deg, #fff, #fbf8ff),
    repeating-linear-gradient(135deg, rgba(124,77,242,0.08) 0 1px, transparent 1px 18px);
  border: 1px solid rgba(126,93,224,0.09);
  border-radius: 24px;
  display: grid;
  justify-items: center;
  min-height: 260px;
  padding: clamp(2rem, 5vw, 3.4rem) 1rem;
  text-align: center;
}

.rora-orders-empty > span {
  align-items: center;
  background: #f1eaff;
  border-radius: 18px;
  color: #7048f1;
  display: inline-flex;
  font-family: var(--rora-rounded);
  font-size: 2rem;
  font-weight: 1000;
  height: 64px;
  justify-content: center;
  margin-bottom: 0.8rem;
  width: 64px;
}

.rora-orders-empty h2 {
  color: #100942;
  font-family: var(--rora-rounded);
  font-size: clamp(1.55rem, 4vw, 2.3rem);
  font-weight: 1000;
  letter-spacing: 0;
  margin: 0;
}

.rora-orders-empty p {
  color: #575382;
  font-weight: 650;
  line-height: 1.55;
  margin: 0.55rem 0 0;
  max-width: 560px;
}

.rora-orders-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  justify-content: flex-end;
}

.rora-orders-pagination__link {
  color: #7048f1 !important;
  font-family: var(--rora-rounded);
  font-weight: 950;
}

body.woocommerce-account .rora-account-page__content form.edit-account {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0 !important;
}

body.woocommerce-account .rora-account-page__content form.edit-account > .clear {
  display: none;
}

body.woocommerce-account .rora-account-page__content form.edit-account .form-row-wide,
body.woocommerce-account .rora-account-page__content form.edit-account fieldset,
body.woocommerce-account .rora-account-page__content form.edit-account > p:last-child {
  grid-column: 1 / -1;
}

body.woocommerce-account .rora-account-page__content form.edit-account .form-row {
  margin: 0;
}

body.woocommerce-account .rora-account-page__content form.edit-account label {
  color: #100942;
  font-family: var(--rora-rounded);
  font-size: 0.82rem;
  font-weight: 950;
}

body.woocommerce-account .rora-account-page__content form.edit-account input.input-text,
body.woocommerce-account .rora-account-page__content form.edit-account textarea.input-text {
  background: #fff;
  border: 1px solid rgba(126,93,224,0.13);
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.75);
  min-height: 50px;
}

body.woocommerce-account .rora-account-page__content form.edit-account textarea.input-text {
  line-height: 1.45;
  min-height: 104px;
  resize: vertical;
}

body.woocommerce-account .rora-account-page__content form.edit-account em {
  color: #746a9e;
  display: inline-block;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 650;
  line-height: 1.45;
  margin-top: 0.38rem;
}

body.woocommerce-account .rora-account-page__content form.edit-account fieldset {
  background: linear-gradient(135deg, #fff, #fbf8ff);
  border: 1px solid rgba(126,93,224,0.09);
  border-radius: 22px;
  display: grid;
  gap: 1rem;
  margin: 0.3rem 0 0;
  padding: clamp(1rem, 2vw, 1.25rem);
}

body.woocommerce-account .rora-account-page__content form.edit-account legend {
  color: #7048f1;
  font-family: var(--rora-rounded);
  font-weight: 1000;
  padding: 0 0.45rem;
}

body.woocommerce-account .rora-account-page__content form.edit-account button.button {
  background: linear-gradient(135deg, #19ad65, #11844d) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 18px 30px -24px rgba(17,132,77,0.9);
  color: #fff !important;
  min-height: 48px;
  padding: 0 1.35rem !important;
}

@media (max-width: 600px) {
  body.woocommerce-account .rora-welcome-strip {
    font-size: 0.68rem !important;
    line-height: 1.15 !important;
    min-height: 0 !important;
    padding-bottom: 0.22rem !important;
    padding-top: 0.22rem !important;
  }

  body.woocommerce-account .rora-site-header,
  body.page.woocommerce-account .rora-site-header {
    border-bottom: 1px solid rgba(8, 8, 73, 0.08) !important;
    border-radius: 0 !important;
    max-width: 100vw !important;
    width: 100vw !important;
  }

  body.woocommerce-account .rora-site-header .rora-header-row,
  body.page.woocommerce-account .rora-site-header .rora-header-row {
    border-radius: 0 !important;
    min-height: 3.6rem !important;
    padding-bottom: 0.26rem !important;
    padding-top: 0.26rem !important;
  }

  body.woocommerce-account .rora-site-header .rora-brand__logo,
  body.page.woocommerce-account .rora-site-header .rora-brand__logo {
    height: 2.9rem !important;
    max-width: 8.1rem !important;
    width: auto !important;
  }

  body.woocommerce-account .rora-tabbar__item.is-active > svg {
    fill: currentColor !important;
    stroke: none !important;
  }

  body.woocommerce-account .rora-account-last-order__items {
    display: flex !important;
  }

  body.woocommerce-account .rora-account-support .rora-account-button,
  body.woocommerce-account .rora-account-refer .rora-account-button {
    grid-column: auto !important;
    justify-self: auto !important;
  }

  body.woocommerce-account .rora-account-page {
    padding: 1rem 1rem calc(6.5rem + env(safe-area-inset-bottom, 0px));
  }

  .rora-account-page__hero {
    grid-template-columns: minmax(0, 1fr) 96px;
    min-height: 150px;
    padding: 1.25rem;
  }

  .rora-account-page__copy h1 {
    font-size: clamp(2.15rem, 11vw, 3rem);
  }

  .rora-account-page__copy p:not(.rora-account-page__pill) {
    font-size: 0.92rem;
    max-width: 26ch;
  }

  .rora-account-page__art {
    border-radius: 20px;
    min-height: 96px;
  }

  .rora-account-page__art svg {
    height: 82px;
    width: 82px;
  }

  .rora-order-card {
    border-radius: 22px;
    padding: 0.9rem 0.9rem 0;
  }

  .rora-order-card__head {
    align-items: flex-start;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .rora-order-card__status {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .rora-order-card__body {
    align-items: start;
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .rora-order-card__side {
    align-items: center;
    display: flex;
    grid-column: 1 / -1;
    justify-content: space-between;
    min-width: 0;
  }

  .rora-order-card__foot {
    align-items: start;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .rora-order-card__cta {
    grid-column: 1 / -1;
    justify-self: stretch;
    width: 100%;
  }

  body.woocommerce-account .rora-account-page__content form.edit-account {
    grid-template-columns: 1fr;
  }
}

/* Final COD modal visual pass — reference-style order form. */
.rora-modal .rora-modal__panel {
  background:
    radial-gradient(circle at 22% 0%, rgba(255, 255, 255, 0.82), transparent 16rem),
    linear-gradient(135deg, #bca5f7 0%, #e5dafa 56%, #f6f0ff 100%) !important;
  border: 0 !important;
  border-radius: 26px !important;
  max-height: min(94vh, 980px) !important;
  max-width: min(94vw, 660px) !important;
  overflow-y: auto;
}

.rora-modal .rora-cod-form__head h3,
.rora-modal .rora-cod-form__head h3 span {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
}

.rora-modal .rora-cod-form__head h3 {
  color: #40334f !important;
}

.rora-modal .rora-cod-form__head h3 span {
  color: #665574 !important;
}

.rora-modal .rora-cod-form__product,
.rora-modal .rora-cod-form__body {
  background: #fff !important;
}

.rora-modal .rora-cod-form__submit,
.rora-modal .rora-cod-form__submit:hover {
  background: linear-gradient(135deg, #7048f1 0%, #6843dc 100%) !important;
  border-color: transparent !important;
  color: #fff !important;
}

@media (max-width: 560px) {
  .rora-modal .rora-modal__panel {
    border-radius: 18px !important;
    max-height: calc(100dvh - 0.7rem) !important;
    max-width: calc(100vw - 0.7rem) !important;
  }

  .rora-modal .rora-modal__close-x {
    height: 38px !important;
    right: 0.72rem !important;
    top: 0.72rem !important;
    width: 38px !important;
  }

  .rora-modal .rora-modal__close-x svg {
    height: 20px !important;
    width: 20px !important;
  }

  .rora-modal .rora-cod-form__head {
    gap: 0.58rem !important;
    padding: 0.62rem 3.75rem 0.55rem 0.8rem !important;
  }

  .rora-modal .rora-cod-form__head-icon {
    flex-basis: 38px !important;
    height: 38px !important;
    width: 38px !important;
  }

  .rora-modal .rora-cod-form__head-icon svg {
    height: 22px !important;
    width: 22px !important;
  }

  .rora-modal .rora-cod-form__head h3 {
    font-size: 1.08rem !important;
    line-height: 1.02 !important;
  }

  .rora-modal .rora-cod-form__head h3 span {
    font-size: 0.82rem !important;
    margin-top: 0.14rem !important;
  }

  .rora-modal .rora-cod-form__product,
  .rora-modal .rora-cod-form__body {
    margin-left: 0.48rem !important;
    margin-right: 0.48rem !important;
  }

  .rora-modal .rora-cod-form__product {
    border-radius: 15px 15px 0 0 !important;
    gap: 0.72rem !important;
    padding: 0.58rem 0.8rem !important;
  }

  .rora-modal .rora-cod-form__product img {
    border-radius: 10px !important;
    height: 54px !important;
    width: 54px !important;
  }

  .rora-modal .rora-cod-form__product-info strong {
    font-size: 0.88rem !important;
    line-height: 1.12 !important;
  }

  .rora-modal .rora-cod-form__product-info span {
    font-size: 0.9rem !important;
    margin-top: 0.22rem !important;
  }

  .rora-modal .rora-cod-form__body {
    border-radius: 0 0 15px 15px !important;
    padding: 0.62rem 0.8rem 0.72rem !important;
  }

  .rora-modal .rora-cod-form__row,
  .rora-modal .rora-cod-form__row--full {
    gap: 0.48rem !important;
    margin-bottom: 0.48rem !important;
  }

  .rora-modal .rora-cod-form label {
    font-size: 0.76rem !important;
    line-height: 1.05 !important;
    margin-bottom: 0.24rem !important;
  }

  .rora-modal .rora-cod-field__control {
    border-radius: 10px !important;
    gap: 0.55rem !important;
    grid-template-columns: 25px minmax(0, 1fr) !important;
    min-height: 41px !important;
    padding: 0 0.72rem !important;
  }

  .rora-modal .rora-cod-field__icon,
  .rora-modal .rora-cod-field__icon svg {
    height: 20px !important;
    width: 20px !important;
  }

  .rora-modal .rora-cod-field__control input,
  .rora-modal .rora-cod-field__control select,
  .rora-modal .rora-cod-field__control textarea {
    font-size: 0.84rem !important;
    min-height: 40px !important;
  }

  .rora-modal .rora-cod-field__control--textarea {
    padding-bottom: 0.34rem !important;
    padding-top: 0.34rem !important;
  }

  .rora-modal .rora-cod-field__control--textarea .rora-cod-field__icon {
    padding-top: 0.18rem !important;
  }

  .rora-modal .rora-cod-field__control textarea {
    line-height: 1.25 !important;
    min-height: 46px !important;
  }

  .rora-modal .rora-cod-field__control--select::after {
    height: 8px !important;
    right: 0.86rem !important;
    top: calc(50% - 6px) !important;
    width: 8px !important;
  }

  .rora-modal .rora-cod-form__qty {
    border-radius: 10px !important;
    height: 41px !important;
  }

  .rora-modal .rora-cod-form__qty button {
    font-size: 1.45rem !important;
    width: 47px !important;
  }

  .rora-modal .rora-cod-form__qty input {
    font-size: 0.96rem !important;
  }

  .rora-modal .rora-cod-summary {
    border-radius: 12px !important;
    font-size: 0.82rem !important;
    gap: 0.32rem !important;
    margin: 0.62rem 0 0.58rem !important;
    padding: 0.62rem 0.78rem !important;
  }

  .rora-modal .rora-cod-summary__line span:last-child {
    font-size: 0.86rem !important;
  }

  .rora-modal .rora-cod-summary__total {
    font-size: 0.94rem !important;
    padding-top: 0.42rem !important;
  }

  .rora-modal .rora-cod-summary__total span:last-child {
    font-size: 1.28rem !important;
  }

  .rora-modal .rora-cod-form__submit {
    border-radius: 9px !important;
    font-size: 0.98rem !important;
    min-height: 45px !important;
  }

  .rora-modal .rora-cod-form__submit svg {
    height: 21px !important;
    width: 21px !important;
  }

  .rora-modal .rora-cod-form__alt {
    font-size: 0.72rem !important;
    gap: 0.42rem !important;
    line-height: 1.2 !important;
    margin-top: 0.44rem !important;
    text-align: center !important;
  }

  .rora-modal .rora-cod-form__alt::before {
    flex-basis: 16px !important;
    height: 16px !important;
    width: 16px !important;
  }
}

@media (max-width: 560px) {
  .rora-modal .rora-modal__panel {
    max-width: calc(100vw - 0.45rem) !important;
  }

  .rora-modal .rora-modal__close-x {
    height: 44px !important;
    width: 44px !important;
  }

  .rora-modal .rora-cod-form__head {
    padding: 0.8rem 4.2rem 0.72rem 0.92rem !important;
  }

  .rora-modal .rora-cod-form__head-icon {
    flex-basis: 44px !important;
    height: 44px !important;
    width: 44px !important;
  }

  .rora-modal .rora-cod-form__head h3 {
    font-size: 1.22rem !important;
  }

  .rora-modal .rora-cod-form__head h3 span {
    font-size: 0.9rem !important;
  }

  .rora-modal .rora-cod-form__product {
    gap: 0.85rem !important;
    padding: 0.76rem 0.95rem !important;
  }

  .rora-modal .rora-cod-form__product img {
    height: 64px !important;
    width: 64px !important;
  }

  .rora-modal .rora-cod-form__product-info strong {
    font-size: 0.98rem !important;
  }

  .rora-modal .rora-cod-form__product-info span {
    font-size: 1rem !important;
    margin-top: 0.3rem !important;
  }

  .rora-modal .rora-cod-form__body {
    padding: 0.78rem 0.95rem 0.86rem !important;
  }

  .rora-modal .rora-cod-form__row,
  .rora-modal .rora-cod-form__row--full {
    gap: 0.58rem !important;
    margin-bottom: 0.58rem !important;
  }

  .rora-modal .rora-cod-form label {
    font-size: 0.84rem !important;
    margin-bottom: 0.28rem !important;
  }

  .rora-modal .rora-cod-field__control {
    grid-template-columns: 28px minmax(0, 1fr) !important;
    min-height: 48px !important;
    padding: 0 0.82rem !important;
  }

  .rora-modal .rora-cod-field__icon,
  .rora-modal .rora-cod-field__icon svg {
    height: 23px !important;
    width: 23px !important;
  }

  .rora-modal .rora-cod-field__control input,
  .rora-modal .rora-cod-field__control select,
  .rora-modal .rora-cod-field__control textarea {
    font-size: 0.92rem !important;
    min-height: 47px !important;
  }

  .rora-modal .rora-cod-field__control textarea {
    min-height: 58px !important;
  }

  .rora-modal .rora-cod-form__qty {
    height: 48px !important;
  }

  .rora-modal .rora-cod-form__qty button {
    font-size: 1.6rem !important;
    width: 54px !important;
  }

  .rora-modal .rora-cod-form__qty input {
    font-size: 1.04rem !important;
  }

  .rora-modal .rora-cod-summary {
    font-size: 0.9rem !important;
    gap: 0.42rem !important;
    margin: 0.74rem 0 0.7rem !important;
    padding: 0.78rem 0.9rem !important;
  }

  .rora-modal .rora-cod-summary__line span:last-child {
    font-size: 0.94rem !important;
  }

  .rora-modal .rora-cod-summary__total {
    font-size: 1.04rem !important;
    padding-top: 0.52rem !important;
  }

  .rora-modal .rora-cod-summary__total span:last-child {
    font-size: 1.45rem !important;
  }

  .rora-modal .rora-cod-form__submit {
    font-size: 1.06rem !important;
    min-height: 52px !important;
  }

  .rora-modal .rora-cod-form__alt {
    font-size: 0.78rem !important;
    margin-top: 0.5rem !important;
  }
}

@media (max-width: 560px) {
  .rora-modal .rora-modal__panel {
    box-shadow:
      0 28px 70px -42px rgba(23, 17, 43, 0.7),
      0 0 0 1px rgba(255, 255, 255, 0.36) !important;
  }

  .rora-modal .rora-cod-form__head {
    align-items: center !important;
    gap: 0.7rem !important;
  }

  .rora-modal .rora-cod-form__head-icon {
    background: rgba(255, 255, 255, 0.78) !important;
    box-shadow: inset 0 0 0 1px rgba(112, 72, 241, 0.08);
  }

  .rora-modal .rora-cod-form__head h3 {
    letter-spacing: 0 !important;
  }

  .rora-modal .rora-cod-form__head h3 span {
    opacity: 0.88;
  }

  .rora-modal .rora-cod-form__product {
    align-items: center !important;
    box-shadow: inset 0 -1px 0 #ece7f2;
  }

  .rora-modal .rora-cod-form__product img {
    background: #fbf8ff !important;
    box-shadow:
      0 10px 24px -20px rgba(31, 26, 74, 0.55),
      0 0 0 1px rgba(112, 72, 241, 0.06);
    object-fit: contain !important;
    padding: 0.16rem;
  }

  .rora-modal .rora-cod-form__product-info {
    display: grid !important;
    gap: 0.28rem !important;
    min-width: 0;
  }

  .rora-modal .rora-cod-form__product-info strong {
    letter-spacing: 0 !important;
    max-width: 100%;
  }

  .rora-modal .rora-cod-form__product-info span {
    line-height: 1 !important;
  }

  .rora-modal .rora-cod-form__body {
    box-shadow: 0 18px 36px -34px rgba(31, 26, 74, 0.52);
  }

  .rora-modal .rora-cod-form label {
    color: #584b68 !important;
    letter-spacing: 0 !important;
  }

  .rora-modal .rora-cod-field__control {
    background: linear-gradient(180deg, #fff 0%, #fffefd 100%) !important;
    border-color: #ded9e5 !important;
    box-shadow:
      0 10px 22px -22px rgba(31, 26, 74, 0.62),
      inset 0 0 0 1px rgba(255, 255, 255, 0.55) !important;
    gap: 0.68rem !important;
  }

  .rora-modal .rora-cod-field__control:focus-within {
    border-color: #a88cf4 !important;
    box-shadow:
      0 0 0 3px rgba(112, 72, 241, 0.12),
      0 12px 24px -22px rgba(31, 26, 74, 0.62) !important;
  }

  .rora-modal .rora-cod-field__icon {
    background: #f2ecff !important;
    border-radius: 9px !important;
    color: #7048f1 !important;
  }

  .rora-modal .rora-cod-field__icon svg {
    height: 16px !important;
    width: 16px !important;
  }

  .rora-modal .rora-cod-field__control input,
  .rora-modal .rora-cod-field__control select,
  .rora-modal .rora-cod-field__control textarea {
    color: #302b38 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  .rora-modal .rora-cod-field__control input::placeholder,
  .rora-modal .rora-cod-field__control textarea::placeholder {
    color: #8f8799 !important;
    opacity: 1 !important;
  }

  .rora-modal .rora-cod-field__control--textarea {
    align-items: start !important;
  }

  .rora-modal .rora-cod-field__control--textarea .rora-cod-field__icon {
    margin-top: 0.34rem !important;
    padding-top: 0 !important;
  }

  .rora-modal .rora-cod-field__control textarea {
    padding-top: 0.36rem !important;
  }

  .rora-modal .rora-cod-field__control--select::after {
    border-color: #5d5268 !important;
    opacity: 0.88;
  }

  .rora-modal .rora-cod-form__qty {
    background: #fff !important;
    border-color: #ded9e5 !important;
    box-shadow: 0 10px 22px -22px rgba(31, 26, 74, 0.62);
  }

  .rora-modal .rora-cod-form__qty button {
    color: #7048f1 !important;
    line-height: 1 !important;
  }

  .rora-modal .rora-cod-form__qty button:hover {
    background: #f2ecff !important;
  }

  .rora-modal .rora-cod-form__qty input {
    color: #302b38 !important;
    font-weight: 900 !important;
  }

  .rora-modal .rora-cod-summary {
    background:
      radial-gradient(circle at 95% 0%, rgba(255, 255, 255, 0.8), transparent 6rem),
      linear-gradient(135deg, #f5efff 0%, #fbf8ff 100%) !important;
    box-shadow:
      inset 0 0 0 1px rgba(112, 72, 241, 0.06),
      0 14px 28px -28px rgba(31, 26, 74, 0.54) !important;
  }

  .rora-modal .rora-cod-summary__line {
    line-height: 1.25 !important;
  }

  .rora-modal .rora-cod-summary__line span:first-child {
    color: #655973 !important;
    font-weight: 700 !important;
  }

  .rora-modal .rora-cod-summary__line span:last-child {
    color: #4a4056 !important;
    font-weight: 850 !important;
  }

  .rora-modal .rora-cod-summary__total {
    align-items: end !important;
    border-top-color: #e2dbea !important;
  }

  .rora-modal .rora-cod-summary__total span:first-child {
    color: #292532 !important;
  }

  .rora-modal .rora-cod-summary__total span:last-child {
    color: #20b86a !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
  }

  .rora-modal .rora-cod-form__submit {
    box-shadow: 0 16px 32px -24px rgba(86, 52, 206, 0.88) !important;
    gap: 0.58rem !important;
    letter-spacing: 0 !important;
  }

  .rora-modal .rora-cod-form__alt {
    align-items: center !important;
    color: #6f647a !important;
    justify-content: center !important;
  }

  .rora-modal .rora-cod-form__alt::before {
    background: #7048f1 !important;
  }
}

@media (max-width: 560px) {
  .rora-modal .rora-cod-form__row--split {
    gap: 0.52rem !important;
    grid-template-columns: minmax(0, 1.28fr) minmax(94px, 0.72fr) !important;
  }

  .rora-modal .rora-cod-field--district .rora-cod-field__control,
  .rora-modal .rora-cod-field--postcode .rora-cod-field__control {
    gap: 0.48rem !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    padding: 0 0.58rem !important;
  }

  .rora-modal .rora-cod-field--district .rora-cod-field__icon,
  .rora-modal .rora-cod-field--postcode .rora-cod-field__icon {
    border-radius: 8px !important;
    height: 22px !important;
    width: 22px !important;
  }

  .rora-modal .rora-cod-field--district .rora-cod-field__icon svg,
  .rora-modal .rora-cod-field--postcode .rora-cod-field__icon svg {
    height: 14px !important;
    width: 14px !important;
  }

  .rora-modal .rora-cod-field--district select,
  .rora-modal .rora-cod-field--postcode input {
    font-size: 0.84rem !important;
  }

  .rora-modal .rora-cod-field--district .rora-cod-field__control--select::after {
    right: 0.55rem !important;
  }

  .rora-modal .rora-cod-field--district select {
    padding-right: 1.25rem !important;
  }
}

/* Product detail mobile price row: keep the offer badge beside the current price. */
@media (max-width: 640px) {
  .single-product div.product.rora-product .rora-product__price {
    align-items: center !important;
    display: grid !important;
    flex-direction: initial !important;
    grid-template-columns: minmax(0, max-content) max-content !important;
    justify-content: start !important;
    column-gap: 0.72rem !important;
    row-gap: 0.34rem !important;
  }

  .single-product div.product.rora-product .rora-product__price-now {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .single-product div.product.rora-product .rora-product__price-off {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    white-space: nowrap !important;
  }

  .single-product div.product.rora-product .rora-product__price-was {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: start !important;
  }
}

/* Product-card variant modal. */
.rora-variant-modal {
  align-items: center;
  background: rgba(18, 16, 36, 0.42);
  display: none;
  inset: 0;
  justify-content: center;
  padding: clamp(0.9rem, 3vw, 1.5rem);
  position: fixed;
  z-index: 99999;
}

.rora-variant-modal.is-open {
  display: flex;
}

.rora-variant-modal__panel {
  background: #fff;
  border: 1px solid rgba(112, 72, 241, 0.12);
  border-radius: 18px;
  box-shadow: 0 26px 70px -34px rgba(18, 16, 36, 0.58);
  max-height: min(720px, calc(100vh - 32px));
  overflow: auto;
  padding: clamp(1rem, 3vw, 1.35rem);
  position: relative;
  width: min(100%, 520px);
}

.rora-variant-modal__close {
  align-items: center;
  background: #f8f5ff;
  border: 1px solid rgba(112, 72, 241, 0.12);
  border-radius: 10px;
  color: #241847;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 0.85rem;
  top: 0.85rem;
  width: 36px;
}

.rora-variant-modal__close svg {
  height: 18px;
  width: 18px;
}

.rora-variant-modal__status {
  color: #5d5372;
  font-family: var(--rora-rounded);
  font-weight: 800;
  min-height: 120px;
  padding: 3.2rem 1rem 2rem;
  text-align: center;
}

.rora-variant-modal__content[hidden],
.rora-variant-modal__status[hidden] {
  display: none !important;
}

.rora-variant-modal__product {
  align-items: center;
  display: grid;
  gap: 0.95rem;
  grid-template-columns: 94px minmax(0, 1fr);
  padding-right: 2.35rem;
}

.rora-variant-modal__image {
  aspect-ratio: 1;
  background: #f9f5ff;
  border: 1px solid rgba(112, 72, 241, 0.1);
  border-radius: 14px;
  display: block;
  height: 94px;
  object-fit: contain;
  padding: 0.35rem;
  width: 94px;
}

.rora-variant-modal__summary {
  min-width: 0;
}

.rora-variant-modal__summary h3 {
  color: #171243;
  font-family: var(--rora-rounded);
  font-size: clamp(1.08rem, 4.5vw, 1.32rem);
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0 0 0.35rem;
}

.rora-variant-modal__price {
  color: var(--rora-price);
  font-family: var(--rora-rounded);
  font-size: 1rem;
  font-weight: 950;
  margin-bottom: 0.34rem;
}

.rora-variant-modal__price del {
  color: #8d839b;
  font-size: 0.86rem;
  font-weight: 700;
}

.rora-variant-modal__description {
  color: #7048f1;
  display: inline-flex;
  font-family: var(--rora-rounded);
  font-size: 0.88rem;
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.rora-variant-modal__field {
  display: grid;
  gap: 0.45rem;
  margin-top: 1rem;
}

.rora-variant-modal__field > span:first-child {
  color: #453957;
  font-family: var(--rora-rounded);
  font-size: 0.86rem;
  font-weight: 900;
}

.rora-variant-modal__field select,
.rora-variant-modal__qty {
  background: #fff;
  border: 1px solid rgba(112, 72, 241, 0.16);
  border-radius: 12px;
  box-shadow: 0 10px 26px -22px rgba(18, 16, 36, 0.36);
  min-height: 48px;
}

.rora-variant-modal__field select {
  color: #1f163d;
  font-family: var(--rora-rounded);
  font-size: 0.95rem;
  font-weight: 800;
  padding: 0 0.9rem;
  width: 100%;
}

.rora-variant-modal__qty {
  align-items: center;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  overflow: hidden;
}

.rora-variant-modal__qty button {
  align-items: center;
  background: #f8f5ff;
  border: 0;
  color: #7048f1;
  display: inline-flex;
  font-family: var(--rora-rounded);
  font-size: 1.2rem;
  font-weight: 950;
  height: 48px;
  justify-content: center;
  padding: 0;
}

.rora-variant-modal__qty input {
  border: 0;
  color: #171243;
  font-family: var(--rora-rounded);
  font-size: 1rem;
  font-weight: 950;
  height: 48px;
  min-width: 0;
  padding: 0;
  text-align: center;
}

.rora-variant-modal__error {
  background: #fff3f5;
  border: 1px solid rgba(216, 69, 93, 0.18);
  border-radius: 12px;
  color: #9e2639;
  display: none;
  font-weight: 760;
  margin: 0.9rem 0 0;
  padding: 0.72rem 0.82rem;
}

.rora-variant-modal__error.is-visible {
  display: block;
}

.rora-variant-modal__actions {
  display: grid;
  gap: 0.72rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1rem;
}

.rora-variant-modal__actions .button {
  align-items: center;
  border-radius: 12px !important;
  display: inline-flex;
  font-family: var(--rora-rounded);
  font-size: 0.96rem;
  font-weight: 950;
  justify-content: center;
  min-height: 48px;
  text-align: center;
  width: 100%;
}

.rora-variant-modal__add {
  background: var(--rora-cart) !important;
  border-color: var(--rora-cart) !important;
  color: #fff !important;
}

.rora-variant-modal__buy {
  background: var(--rora-buy-now) !important;
  border-color: var(--rora-buy-now) !important;
  color: #fff !important;
}

.rora-variant-modal.is-submitting .rora-variant-modal__actions .button {
  opacity: 0.68;
  pointer-events: none;
}

@media (max-width: 520px) {
  .rora-variant-modal {
    align-items: flex-end;
    padding: 0.65rem;
  }

  .rora-variant-modal__panel {
    border-radius: 16px;
    max-height: calc(100vh - 20px);
    padding: 0.95rem;
  }

  .rora-variant-modal__product {
    gap: 0.75rem;
    grid-template-columns: 78px minmax(0, 1fr);
    padding-right: 2.2rem;
  }

  .rora-variant-modal__image {
    height: 78px;
    width: 78px;
  }

  .rora-variant-modal__actions {
    grid-template-columns: 1fr;
  }
}

/* iPhone product-card density pass: keep home/shop cards inside their columns. */
@media (max-width: 620px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__cards,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bs-grid,
  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products {
    gap: 0.72rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card,
  body.woocommerce ul.products li.product .rora-collection-card {
    border-radius: 17px !important;
    min-width: 0 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card,
  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card *,
  body.woocommerce ul.products li.product .rora-collection-card,
  body.woocommerce ul.products li.product .rora-collection-card * {
    box-sizing: border-box;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__media,
  body.woocommerce ul.products li.product .rora-collection-card__media {
    height: 148px !important;
    max-width: 100% !important;
    padding: 0.62rem !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__media img,
  body.woocommerce ul.products li.product .rora-collection-card__media img,
  body.woocommerce ul.products li.product a.rora-collection-card__media > img {
    max-height: 128px !important;
    max-width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__badge,
  body.woocommerce ul.products li.product .rora-collection-card__badge {
    border-radius: 10px !important;
    font-size: 0.58rem !important;
    left: 0.56rem !important;
    padding: 0.34rem 0.5rem !important;
    top: 0.56rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__body,
  body.woocommerce ul.products li.product .rora-collection-card__body {
    gap: 0.34rem !important;
    max-width: 100% !important;
    padding: 0.62rem 0.64rem 0.68rem !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__body small,
  body.woocommerce ul.products li.product .rora-collection-card__body small {
    font-size: 0.56rem !important;
    letter-spacing: 0.065em !important;
    line-height: 1.1 !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__title,
  body.woocommerce ul.products li.product .rora-collection-card__title {
    font-size: clamp(0.78rem, 3.25vw, 0.86rem) !important;
    line-height: 1.22 !important;
    min-height: 2.44em !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__bottom,
  body.woocommerce ul.products li.product .rora-collection-card__bottom {
    gap: 0.38rem !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__price,
  body.woocommerce ul.products li.product .rora-collection-card__price {
    gap: 0.3rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__price em,
  body.woocommerce ul.products li.product .rora-collection-card__price em {
    font-size: 0.98rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__price s,
  body.woocommerce ul.products li.product .rora-collection-card__price s {
    font-size: 0.72rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__actions,
  body.woocommerce ul.products li.product .rora-collection-card__actions {
    gap: 0.34rem !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-wishlist-toggle,
  body.woocommerce ul.products li.product .rora-collection-card__actions .rora-wishlist-toggle {
    flex: 0 0 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    width: 38px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .button,
  body .woocommerce ul.products li.product .rora-collection-card .button,
  body.woocommerce-shop.woocommerce ul.products li.product .rora-collection-card .button,
  body.tax-product_cat.woocommerce ul.products li.product .rora-collection-card .button,
  body.tax-product_tag.woocommerce ul.products li.product .rora-collection-card .button,
  body.post-type-archive-product.woocommerce ul.products li.product .rora-collection-card .button {
    flex: 1 1 0 !important;
    font-size: 0.68rem !important;
    gap: 0.24rem !important;
    min-height: 38px !important;
    min-width: 0 !important;
    padding: 0 0.36rem !important;
    width: auto !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .button.add_to_cart_button::before,
  body.woocommerce ul.products li.product .rora-collection-card .button.add_to_cart_button::before {
    height: 0.84rem !important;
    width: 0.84rem !important;
  }
}

@media (max-width: 380px) {
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-deals__cards,
  body:has(.rora-home.rh3) .rora-home.rh3 .rh3-bs-grid,
  body.woocommerce-shop.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_tag.woocommerce ul.products,
  body.post-type-archive-product.woocommerce ul.products {
    gap: 0.58rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__media,
  body.woocommerce ul.products li.product .rora-collection-card__media {
    height: 136px !important;
    padding: 0.56rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__media img,
  body.woocommerce ul.products li.product .rora-collection-card__media img,
  body.woocommerce ul.products li.product a.rora-collection-card__media > img {
    max-height: 116px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__body,
  body.woocommerce ul.products li.product .rora-collection-card__body {
    padding: 0.56rem 0.58rem 0.62rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-collection-card__title,
  body.woocommerce ul.products li.product .rora-collection-card__title {
    font-size: 0.76rem !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .rora-wishlist-toggle,
  body.woocommerce ul.products li.product .rora-collection-card__actions .rora-wishlist-toggle {
    flex-basis: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    width: 36px !important;
  }

  body:has(.rora-home.rh3) .rora-home.rh3 .rora-home-product-card .button,
  body .woocommerce ul.products li.product .rora-collection-card .button,
  body.woocommerce-shop.woocommerce ul.products li.product .rora-collection-card .button,
  body.tax-product_cat.woocommerce ul.products li.product .rora-collection-card .button,
  body.tax-product_tag.woocommerce ul.products li.product .rora-collection-card .button,
  body.post-type-archive-product.woocommerce ul.products li.product .rora-collection-card .button {
    font-size: 0.64rem !important;
    min-height: 36px !important;
  }
}

/* Collection pages use the same product-card component outside WooCommerce ul.products. */
@media (max-width: 620px) {
  body .rora-collection-grid .rora-collection-card,
  body .rora-collection-grid .rora-collection-card * {
    box-sizing: border-box;
  }

  body .rora-collection-grid .rora-collection-card {
    border-radius: 17px !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body .rora-collection-grid .rora-collection-card__media {
    height: 148px !important;
    max-width: 100% !important;
    padding: 0.62rem !important;
    width: 100% !important;
  }

  body .rora-collection-grid .rora-collection-card__media img {
    max-height: 128px !important;
    max-width: 100% !important;
  }

  body .rora-collection-grid .rora-collection-card__badge {
    border-radius: 10px !important;
    font-size: 0.58rem !important;
    left: 0.56rem !important;
    padding: 0.34rem 0.5rem !important;
    top: 0.56rem !important;
  }

  body .rora-collection-grid .rora-collection-card__body {
    gap: 0.34rem !important;
    max-width: 100% !important;
    padding: 0.62rem 0.64rem 0.68rem !important;
    width: 100% !important;
  }

  body .rora-collection-grid .rora-collection-card__body small {
    font-size: 0.56rem !important;
    letter-spacing: 0.065em !important;
    line-height: 1.1 !important;
  }

  body .rora-collection-grid .rora-collection-card__title,
  body .rora-collection-grid .rora-collection-card__body strong {
    font-size: clamp(0.78rem, 3.25vw, 0.86rem) !important;
    line-height: 1.22 !important;
    min-height: 2.44em !important;
  }

  body .rora-collection-grid .rora-collection-card__bottom {
    gap: 0.38rem !important;
    width: 100% !important;
  }

  body .rora-collection-grid .rora-collection-card__price {
    gap: 0.3rem !important;
  }

  body .rora-collection-grid .rora-collection-card__price em {
    font-size: 0.98rem !important;
  }

  body .rora-collection-grid .rora-collection-card__price s {
    font-size: 0.72rem !important;
  }

  body .rora-collection-grid .rora-collection-card__actions {
    gap: 0.34rem !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body .rora-collection-grid .rora-collection-card__actions .rora-wishlist-toggle {
    flex: 0 0 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    width: 38px !important;
  }

  body .rora-collection-grid .rora-collection-card .button {
    flex: 1 1 0 !important;
    font-size: 0.68rem !important;
    gap: 0.24rem !important;
    min-height: 38px !important;
    min-width: 0 !important;
    padding: 0 0.36rem !important;
    width: auto !important;
  }

  body .rora-collection-grid .rora-collection-card .button.add_to_cart_button::before {
    height: 0.84rem !important;
    width: 0.84rem !important;
  }
}

@media (max-width: 380px) {
  body .rora-collection-grid {
    gap: 0.58rem !important;
  }

  body .rora-collection-grid .rora-collection-card__media {
    height: 136px !important;
    padding: 0.56rem !important;
  }

  body .rora-collection-grid .rora-collection-card__media img {
    max-height: 116px !important;
  }

  body .rora-collection-grid .rora-collection-card__body {
    padding: 0.56rem 0.58rem 0.62rem !important;
  }

  body .rora-collection-grid .rora-collection-card__title,
  body .rora-collection-grid .rora-collection-card__body strong {
    font-size: 0.76rem !important;
  }

  body .rora-collection-grid .rora-collection-card__actions .rora-wishlist-toggle {
    flex-basis: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    width: 36px !important;
  }

  body .rora-collection-grid .rora-collection-card .button {
    font-size: 0.64rem !important;
    min-height: 36px !important;
  }
}

/* Final loop safeguard: related products and any other WooCommerce product loop. */
@media (max-width: 620px) {
  body ul.products li.product .rora-collection-card,
  body ul.products li.product .rora-collection-card * {
    box-sizing: border-box;
  }

  body ul.products li.product .rora-collection-card {
    border-radius: 17px !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body ul.products li.product .rora-collection-card__media {
    height: 148px !important;
    max-width: 100% !important;
    padding: 0.62rem !important;
    width: 100% !important;
  }

  body ul.products li.product .rora-collection-card__media img,
  body ul.products li.product a.rora-collection-card__media > img {
    max-height: 128px !important;
    max-width: 100% !important;
  }

  body ul.products li.product .rora-collection-card__body {
    max-width: 100% !important;
    width: 100% !important;
  }
}

@media (max-width: 380px) {
  body ul.products li.product .rora-collection-card__media {
    height: 136px !important;
    padding: 0.56rem !important;
  }

  body ul.products li.product .rora-collection-card__media img,
  body ul.products li.product a.rora-collection-card__media > img {
    max-height: 116px !important;
  }
}

/* Final mobile product-card shrink guard: prevent grid min-content overflow. */
@media (max-width: 620px) {
  body .rora-collection-grid .rora-collection-card,
  body ul.products li.product .rora-collection-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .rora-collection-grid .rora-collection-card__media,
  body .rora-collection-grid .rora-collection-card__body,
  body ul.products li.product .rora-collection-card__media,
  body ul.products li.product .rora-collection-card__body {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* -----------------------------------------------------------------
   Order received / thank-you confirmation
   ----------------------------------------------------------------- */
.woocommerce-thankyou-order-received .rora-thankyou__headline,
.woocommerce-thankyou-order-received .rora-thankyou__next {
  display: block;
}

.woocommerce-thankyou-order-received .rora-thankyou__headline {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.4;
}

.woocommerce-thankyou-order-received .rora-thankyou__next {
  margin-top: 0.4rem;
  font-weight: 400;
  opacity: 0.9;
}

/* (The old sticky-order-bar stacking fix lived here; both fixed product
   bars are gone now — 2026-06-12 — so the global tab-bar body padding
   is all the clearance product pages need.) */

/* Keep product-card text inside the card on narrow phones: long category
   labels were rendering wider than the card and bleeding past the right
   edge of related / upsell cards. */
.rora-collection-card__body small {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Compact product cards (shop, archive, related & upsell) must never grow wider
   than their grid cell on narrow phones. The single-column card body grid was
   sizing its track to the max-content of the action row (140px add-to-cart pill
   + 44px wishlist), pushing the whole card ~20px past its container and bleeding
   past the right edge — most visibly on single-product related cards, where the
   existing shop-scoped shrink rules didn't reach. Pin the track to the card
   width and let the add-to-cart button shrink to fit beside the wishlist. */
@media (max-width: 620px) {
  .rora-collection-card__body {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .rora-collection-card__body > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .rora-collection-card__actions {
    min-width: 0 !important;
    width: 100% !important;
  }

  .rora-collection-card__actions .button {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    font-size: 0.74rem !important;
    padding: 0 0.6rem !important;
    gap: 0 !important;
  }

  /* Drop the cart glyph on the narrowest cards so the "Add to cart" label has
     room to show in full instead of clipping to "Add to c…". */
  .rora-collection-card__actions .button.add_to_cart_button::before {
    display: none !important;
  }
}

/* ------------------------------------------------------------------ */
/* Related products shelf (single product) + free-delivery cart nudge  */
/* ------------------------------------------------------------------ */

.rora-related {
  margin-top: clamp(2rem, 4vw, 3rem);
}

.rora-related__head {
  margin-bottom: 1.1rem;
}

.rora-related__head span {
  color: var(--rora-primary-strong);
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin-bottom: 0.2rem;
  text-transform: uppercase;
}

.rora-related__head h2 {
  color: var(--rora-ink);
  font-size: clamp(1.25rem, 2.4vw, 1.6rem);
  margin: 0;
}

.rora-freeship {
  align-items: center;
  background: var(--rora-primary-soft);
  border: 1px solid var(--rora-line);
  border-radius: var(--rora-radius, 16px);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin: 0 0 1.1rem;
  padding: 0.85rem 1.1rem;
}

.rora-freeship.is-unlocked {
  background: var(--rora-sky-soft);
}

.rora-freeship p {
  color: var(--rora-ink);
  font-size: 0.92rem;
  font-weight: 600;
  margin: 0;
}

.rora-freeship__bar {
  background: rgba(255, 255, 255, 0.85);
  border-radius: 999px;
  display: block;
  flex: 1 1 160px;
  height: 8px;
  min-width: 120px;
  overflow: hidden;
}

.rora-freeship__bar i {
  background: var(--rora-primary-strong);
  border-radius: inherit;
  display: block;
  height: 100%;
  transition: width 0.3s ease;
}

.rora-freeship.is-unlocked .rora-freeship__bar i {
  background: var(--rora-sky);
}

.rora-preorder-eta {
  align-items: center;
  background: var(--rora-peach-soft);
  border-radius: 10px;
  color: var(--rora-ink);
  display: flex;
  font-size: 0.86rem;
  font-weight: 600;
  gap: 0.45rem;
  margin: 0 0 0.9rem;
  padding: 0.55rem 0.8rem;
}

.rora-preorder-eta svg {
  flex-shrink: 0;
}

/* ------------------------------------------------------------------ */
/* Mobile product page v2: symmetric gutters, compact pills, buy bar   */
/* ------------------------------------------------------------------ */

.rora-buybar { display: none; }

@media (max-width: 768px) {
  /* Symmetric gutters. The old overflow guard sized these with
     calc(100vw - 20px), which ignores the parent's position and spills
     past the right edge (21px left gap, ~0 right gap on iPhone).
     Percentage widths + zero margins keep both gutters equal. */
  body.single-product .site-content > .col-full,
  body.single-product .site-main,
  body.single-product .content-area {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  body.single-product .site-content > .col-full {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* The old two-button sticky bar stays gone; the floating buy bar that
     replaced it was removed too (2026-06-12, Arman) — the inline summary
     CTAs are the only purchase buttons, and the global body padding
     already clears the bottom tab bar. */
  body.single-product .rora-sticky-order { display: none !important; }

  /* Compact feature pills: two-column chip grid instead of a tall
     single-column list of full-width rows. */
  .rora-product__features {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem !important;
  }

  .rora-product__feature {
    font-size: 0.8rem !important;
    line-height: 1.25;
    padding: 0.5rem 0.6rem !important;
    border-radius: 12px;
    gap: 0.45rem !important;
  }

  .rora-product__feature .rora-product__feature-icon {
    flex-shrink: 0;
    transform: scale(0.85);
  }

  /* Related shelf: two cards per row on phones. */
  ul.rora-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

}

@media (max-width: 768px) {
  /* Chips wrap at word boundaries only — no "supervisio / n" splits. */
  .rora-product__feature,
  .rora-product__feature span {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
}

/* ------------------------------------------------------------------ */
/* Mobile v3: calm product title, one-row segmented qty stepper,       */
/* drawer scroll containment, shop/collection polish                   */
/* ------------------------------------------------------------------ */

@media (max-width: 768px) {
  /* Title: the earlier clamp(…, 9vw, …) at weight 1000 rendered ~34px
     over three lines. Calmer scale, balanced wrapping. */
  .single-product .product .product_title,
  .single-product div.product.rora-product .product_title {
    font-size: 1.42rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.015em !important;
    line-height: 1.24 !important;
    text-wrap: balance;
  }

  /* Price reads as one row again, number sized to match the new title. */
  .rora-product__price {
    align-items: center !important;
    flex-direction: row !important;
  }
  .rora-product__price-now { font-size: 1.6rem !important; }

  /* Purchase row: [ − 1 + ][ Add to cart ] as one symmetric line.
     The stepper is a single segmented pill: square buttons fused to the
     number box, rounded only on the outer corners. */
  .single-product div.product.rora-product form.cart:not(.variations_form) {
    align-items: stretch !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin-bottom: 0.6rem !important;
  }

  .single-product div.product.rora-product form.cart .rora-qty-label { display: none !important; }

  .single-product div.product.rora-product form.cart .rora-qty-button {
    align-items: center !important;
    background: #fff !important;
    border: 1.5px solid var(--rora-line-strong) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--rora-ink) !important;
    display: inline-flex !important;
    flex: 0 0 44px !important;
    font-size: 1.2rem !important;
    height: 48px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    min-width: 44px !important;
    padding: 0 !important;
    width: 44px !important;
  }

  .single-product div.product.rora-product form.cart .rora-qty-button:first-of-type {
    border-radius: 12px 0 0 12px !important;
    border-right: 0 !important;
  }

  .single-product div.product.rora-product form.cart .quantity + .rora-qty-button {
    border-left: 0 !important;
    border-radius: 0 12px 12px 0 !important;
  }

  .single-product div.product.rora-product form.cart .quantity {
    border: 1.5px solid var(--rora-line-strong) !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    border-right: 0 !important;
    height: 48px !important;
    margin: 0 !important;
    max-width: 46px !important;
    min-width: 46px !important;
    width: 46px !important;
  }

  .single-product div.product.rora-product form.cart .quantity .qty {
    font-size: 1.02rem !important;
  }

  .single-product div.product.rora-product form.cart .single_add_to_cart_button {
    border-radius: 12px !important;
    flex: 1 1 auto !important;
    font-size: 0.92rem !important;
    height: 48px !important;
    margin: 0 0 0 0.6rem !important;
    min-height: 48px !important;
    min-width: 0 !important;
  }

  /* Gallery thumbnails: swipeable, but no grey scrollbar strip. */
  .single-product .woocommerce-product-gallery .flex-control-thumbs {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }
}

/* Drawer: scroll its own content, never the page behind it (the page is
   pinned by the JS scroll lock; overscroll-behavior stops chain-scrolling). */
@media (max-width: 600px) {
  .rora-site-header .rora-header-nav {
    -webkit-overflow-scrolling: touch;
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

/* Collection/shop cards: clamp titles to two clean lines. */
@media (max-width: 640px) {
  .rora-collection-card__title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    font-size: 0.92rem;
    line-height: 1.3;
    min-height: calc(0.92rem * 1.3 * 2);
    overflow: hidden;
  }
}

@media (max-width: 768px) {
  .single-product div.product.rora-product form.cart:not(.variations_form) {
    flex-direction: row !important;
  }
}

@media (max-width: 600px) {
  /* backdrop-filter on the header creates a containing block that re-anchors
     the fixed drawer to the header — scrolled pages then open the drawer
     above the viewport. The dim overlay hides the blur anyway while open. */
  body.is-rora-mobile-menu-open .rora-site-header,
  body.is-rora-mobile-menu-open .rora-site-header .rora-header-row {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* Footer mobile fixes: the link row used per-item left dividers that orphan
   into a leading "|" when the row wraps, and the full-width email chip kept
   its left divider hanging at the row edge. Deterministic 2×2 link grid with
   dividers only between columns; no dividers between the circular chips. */
@media (max-width: 768px) {
  .rh3-footer__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, max-content));
    justify-content: center;
    row-gap: 12px;
  }

  .rh3-footer__link + .rh3-footer__link::before {
    content: none;
  }

  .rh3-footer__link:nth-child(even)::before {
    background: rgba(255, 255, 255, 0.2);
    content: "";
    height: 16px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
  }
}

@media (max-width: 640px) {
  .rh3-footer__chip + .rh3-footer__chip::before {
    content: none;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   Shop list view (toolbar grid/list toggle) — must outrank the
   body.woocommerce-shop.woocommerce ul.products !important grid rules.
   ═══════════════════════════════════════════════════════════════════════ */

.rora-shop-main.is-list-view ul.products,
body.woocommerce-shop.woocommerce .rora-shop-main.is-list-view ul.products,
body.tax-product_cat.woocommerce .rora-shop-main.is-list-view ul.products,
body.tax-product_tag.woocommerce .rora-shop-main.is-list-view ul.products,
body.post-type-archive-product.woocommerce .rora-shop-main.is-list-view ul.products {
  gap: 0.85rem !important;
  grid-template-columns: 1fr !important;
}

.rora-shop-main.is-list-view ul.products li.product .rora-collection-card {
  align-items: stretch;
  display: grid !important;
  grid-template-columns: clamp(108px, 24vw, 200px) minmax(0, 1fr) !important;
}

.rora-shop-main.is-list-view .rora-collection-card__media {
  height: 100% !important;
  min-height: 148px;
  padding: 0.85rem !important;
}

.rora-shop-main.is-list-view .rora-collection-card__media img {
  max-height: 148px;
}

.rora-shop-main.is-list-view .rora-collection-card__body {
  align-content: center;
  gap: 0.45rem;
}

.rora-shop-main.is-list-view .rora-collection-card__title {
  min-height: 0;
}

@media (max-width: 640px) {
  .rora-shop-main.is-list-view .rora-collection-card__media {
    min-height: 120px;
    padding: 0.6rem !important;
  }

  .rora-shop-main.is-list-view .rora-collection-card__media img {
    max-height: 116px;
  }

  .rora-shop-main.is-list-view .rora-collection-card__body {
    padding: 0.7rem 0.85rem 0.8rem 0.2rem;
  }

  body.woocommerce-shop.woocommerce .rora-shop-main.is-list-view ul.products li.product .button,
  body.tax-product_cat.woocommerce .rora-shop-main.is-list-view ul.products li.product .button,
  body.tax-product_tag.woocommerce .rora-shop-main.is-list-view ul.products li.product .button,
  body.post-type-archive-product.woocommerce .rora-shop-main.is-list-view ul.products li.product .button {
    margin-left: 0 !important;
    width: auto !important;
  }
}

/* Free shipping value in cart totals — green when shipping costs nothing. */
.rora-cart-totals__row dd.rora-cart-totals__free { color: #11a935; }

/* June launch banner — celebratory animated gradient with a FREE DELIVERY badge. */
.rora-freeship--launch {
  background: linear-gradient(120deg, var(--rora-primary-soft), var(--rora-sky-soft), var(--rora-yellow-soft), var(--rora-peach-soft), var(--rora-primary-soft));
  background-size: 340% 340%;
  animation: rora-freeship-party 10s ease infinite;
  border: 1px solid var(--rora-line-strong);
  box-shadow: var(--rora-shadow);
}

.rora-freeship--launch p {
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.55;
}

.rora-freeship__shout {
  color: #7c4df2;
  font-weight: 800;
}

.rora-freeship__free {
  background: #ef3f93;
  border-radius: var(--rora-radius-pill, 999px);
  box-shadow: 0 2px 8px rgba(239, 63, 147, 0.35);
  color: #fff;
  display: inline-block;
  font-weight: 800;
  letter-spacing: 0.03em;
  padding: 0.08em 0.6em;
  white-space: nowrap;
}

@keyframes rora-freeship-party {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@media (prefers-reduced-motion: reduce) {
  .rora-freeship--launch { animation: none; }
}

/* ============================================================
   Variable product buy area — variation layout + stock states.
   The mobile stepper grid shapes form.cart tracks for the simple-
   product DOM (qty controls as direct children); the variations
   form nests them inside .woocommerce-variation-add-to-cart, so
   they collapsed into a 44px column (stacked stepper, crushed
   button). Lay the variations form out as a stacked card and give
   the availability message a proper notice treatment.
   ============================================================ */

.single-product div.product.rora-product form.variations_form.cart {
  display: block !important;
}

.single-product div.product.rora-product form.variations_form table.variations {
  width: 100% !important;
}

.single-product div.product.rora-product form.variations_form .single_variation_wrap {
  display: block !important;
}

.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart {
  align-items: center !important;
  display: grid !important;
  gap: 0.6rem !important;
  grid-template-columns: 1fr 44px 56px 44px 1fr !important;
  margin-top: 0.72rem !important;
}

.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart .rora-qty-button:first-of-type {
  grid-column: 2 !important;
}

.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart .rora-qty-button:last-of-type {
  grid-column: 4 !important;
}

/* WooCommerce's clearfix pseudo-elements would become grid items and
   shift the stepper out of its tracks. */
.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart::before,
.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart::after {
  content: none !important;
  display: none !important;
}

.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart .rora-qty-label {
  display: none !important;
}

.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart .quantity {
  align-items: center !important;
  display: flex !important;
  grid-column: 3 !important;
  justify-content: center !important;
  justify-self: center !important;
  min-width: 0 !important;
}

.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* Availability message → friendly full-width notice. */
.single-product div.product.rora-product .woocommerce-variation-availability p.stock {
  border-radius: 14px !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  margin: 0 !important;
  padding: 0.62rem 0.9rem !important;
  text-align: center !important;
}

.single-product div.product.rora-product .woocommerce-variation-availability p.stock.out-of-stock {
  background: #fde8e0 !important;
  color: #c2370f !important;
}

.single-product div.product.rora-product .woocommerce-variation-availability p.stock.in-stock {
  background: #e6f7eb !important;
  color: #0f8c2e !important;
}

/* Grey the buy button whenever WooCommerce disables it (no variant
   chosen yet, or the chosen one is unavailable). */
.single-product div.product.rora-product form.cart .single_add_to_cart_button.disabled,
.single-product div.product.rora-product form.cart .single_add_to_cart_button:disabled {
  background: #d9d2ea !important;
  box-shadow: none !important;
  color: #fff !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* Out-of-stock variation: a quantity stepper is pointless — hide it. */
.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart:has(.wc-variation-is-unavailable) .rora-qty-button,
.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart:has(.wc-variation-is-unavailable) .quantity {
  display: none !important;
}

/* =====================================================================
   Mobile launch fixes — 2026-06-12 audit
   (iOS input zoom, COD area select, cart title clamp, tap targets, dvh)
   ===================================================================== */

/* iOS Safari zooms the whole page when a focused form control is under
   16px. Force >=16px on everything a customer can focus — including the
   COD order modal (primary conversion form) and checkout. */
.rora-cod-form input,
.rora-cod-form select,
.rora-cod-form textarea,
.rora-modal .rora-cod-field__control input,
.rora-modal .rora-cod-field__control select,
.rora-modal .rora-cod-field__control textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.select2-container--default .select2-selection--single .select2-selection__rendered,
.rora-search-card input[type="search"],
.rora-header-search-form input[type="search"],
.comment-form input[type="text"],
.comment-form input[type="tel"],
.comment-form textarea,
.rora-shop-price input[type="number"] {
  font-size: 1rem !important;
}

@media (max-width: 560px) {
  .rora-modal .rora-cod-field--district select,
  .rora-modal .rora-cod-field--area select,
  .rora-modal .rora-cod-field--postcode input {
    font-size: 1rem !important;
  }

  /* The 2-column District/Area split left the Area (Thana) select ~38px
     wide — the chosen value was unreadable. Stack the split rows. */
  .rora-modal .rora-cod-form__row--split {
    grid-template-columns: 1fr !important;
  }
  .rora-modal .rora-cod-field--qty-spacer { display: none !important; }
}

/* Cart line items: long SEO-style product names wrapped one word per
   line in the narrow title column. Clamp to two lines. */
.rora-cart-item__name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* Tap targets >=44px (Apple HIG / WCAG 2.5.5). */
.rora-modal__close-x {
  height: 44px;
  width: 44px;
}

.rora-cod-form__qty button {
  min-width: 44px;
  width: 44px;
}

/* Header icons keep their 30px visual size at <=640px but get an
   invisible 44px hit area. */
@media (max-width: 640px) {
  .rora-header-icon::after {
    content: "";
    inset: -7px;
    position: absolute;
  }
}

/* Visible viewport height for the modal everywhere (the <=560px layer
   already uses dvh; this covers landscape phones and tablets too).
   Browsers without dvh keep the earlier vh rule. */
.rora-modal .rora-modal__panel {
  max-height: min(94dvh, 980px) !important;
}

@media (max-width: 560px) {
  .rora-modal .rora-modal__panel {
    max-height: calc(100dvh - 0.7rem) !important;
  }
}

/* Hero: "Shop Now" is the primary CTA; chat buttons stay secondary.
   Sizing comes from the existing .rh3-hero__actions .rh3-btn layers — the
   has()-scoped mobile layer controls height/wrapping, so no flex override. */
body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--shop,
.rora-home.rh3 .rh3-btn--shop {
  background: linear-gradient(180deg, #8458f7 0%, #6842e7 100%);
  box-shadow: 0 14px 28px -18px rgba(104, 66, 231, 0.7);
  color: #fff;
}

/* Cart item short description: cap at 3 lines in the narrow column. */
.rora-cart-item__desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

/* ==========================================================================
   Hero chat buttons — Messenger + WhatsApp 2-up row (2026-06-12)
   On phones the two chat buttons share one row under Shop Now, half width
   each; on desktop the pair wraps as one unit so WhatsApp never strands
   alone. Messenger recolored to its real brand blue.
   ========================================================================== */
body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--messenger {
  background: linear-gradient(180deg, #00b2ff 0%, #006aff 100%) !important;
  box-shadow: 0 19px 34px -22px rgba(0, 106, 255, 0.9) !important;
}

body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--messenger:hover {
  background: linear-gradient(180deg, #009dee 0%, #005ae0 100%) !important;
}

/* Labels are short now ("Messenger"/"WhatsApp") — drop the old wide
   min-widths and let the pills size naturally on desktop. */
body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--messenger,
body:has(.rora-home.rh3) .rora-home.rh3 .rh3-btn--whatsapp {
  min-width: 0 !important;
}

/* Slightly smaller labels than the other pills — keeps comfortable air
   inside the half-width buttons. */
/* ============================================================
   Variations-form quantity stepper — joined segmented control.
   The buy-area grid's 0.6rem gap split minus / qty / plus into
   three floating boxes with mismatched heights (50 vs 48px) and
   stray shadows (card shadow on .quantity + Storefront's inset
   input shadow). Re-join them at every viewport width.
   ============================================================ */
.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart {
  gap: 0.7rem 0 !important;
  grid-template-columns: 1fr 44px 56px 44px 1fr !important;
}

.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart .rora-qty-button {
  align-items: center !important;
  background: #fff !important;
  border: 1.5px solid var(--rora-line-strong) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--rora-ink) !important;
  display: inline-flex !important;
  font-size: 1.2rem !important;
  height: 48px !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  min-height: 48px !important;
  min-width: 44px !important;
  padding: 0 !important;
  transform: none !important;
  width: 44px !important;
}

.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart .rora-qty-button[data-rora-qty="-1"] {
  border-radius: 14px 0 0 14px !important;
  border-right: 0 !important;
}

.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart .rora-qty-button[data-rora-qty="+1"] {
  border-left: 0 !important;
  border-radius: 0 14px 14px 0 !important;
}

.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart .quantity {
  align-items: stretch !important;
  background: #fff !important;
  border: 1.5px solid var(--rora-line-strong) !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  height: 48px !important;
  justify-self: stretch !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  width: auto !important;
}

.single-product div.product.rora-product form.variations_form .woocommerce-variation-add-to-cart .quantity .qty {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  height: 100% !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  width: 100% !important;
}

/* COD modal: chosen-variant line under the product name. */
.rora-cod-form__product-info .rora-cod-form__variant {
  color: var(--rora-ink-soft, #6f6395);
  display: block;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 600;
  margin-top: 2px;
}

/* ==========================================================================
   Shop category circles — sharper, more saturated icon art (0.9.220)
   ========================================================================== */
.rora-shop-category-card__icon--image {
  filter: saturate(1.32) contrast(1.12);
}

/* ==========================================================================
   PRE-LAUNCH UX FIX PASS — 2026-07-10 (Agent A, CSS-only)
   Scoped override blocks placed last so they win the cascade at equal
   specificity. Each block is tagged with its fix id (A2..A15). See FIXSPEC.
   ========================================================================== */

/* --- A2: checkout validation errors must READ as errors -------------------
   The generic .woocommerce-error card is near-white with purple underlined
   "link" messages and grey invalid-field borders. On checkout, give the
   summary a crimson accent + red text, render its anchors as red non-link
   text (still clickable), and flag invalid fields red. */
body.woocommerce-checkout ul.woocommerce-error,
body.woocommerce-checkout .woocommerce-error {
  border-color: rgba(209, 26, 90, 0.5);
  border-left: 4px solid #d11a5a;
}
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-error li,
body.woocommerce-checkout .woocommerce-error strong {
  color: #b3123f;
}
body.woocommerce-checkout .woocommerce-error::before {
  background: #ffd7e2;
  color: #d11a5a;
}
body.woocommerce-checkout .woocommerce-error a {
  color: #b3123f;
  font-weight: 900;
  text-decoration: none;
}
body.woocommerce-checkout .woocommerce-error a:hover,
body.woocommerce-checkout .woocommerce-error a:focus-visible {
  text-decoration: underline;
}
body.woocommerce-checkout .woocommerce-invalid input.input-text,
body.woocommerce-checkout .woocommerce-invalid textarea,
body.woocommerce-checkout .woocommerce-invalid select,
body.woocommerce-checkout .woocommerce-invalid .select2-selection {
  border-color: #d11a5a !important;
  box-shadow: 0 0 0 1px rgba(209, 26, 90, 0.28) !important;
}
body.woocommerce-checkout .woocommerce-invalid > label,
body.woocommerce-checkout .woocommerce-invalid-required-field > label {
  color: #b3123f;
}

/* --- A5: OTP login CTA on-brand ------------------------------------------
   .rora-otp__submit hardcodes #5b3fd6 and loses to a darker account-scoped
   .button override. Match the Place-order brand CTA gradient and win. */
body .rora-otp .rora-otp__submit,
body .rora-otp .rora-otp__submit.button {
  background: linear-gradient(135deg, #7c52f3, #6a3df0) !important;
  border: 0 !important;
  color: #fff !important;
}
body .rora-otp .rora-otp__submit:hover,
body .rora-otp .rora-otp__submit.button:hover,
body .rora-otp .rora-otp__submit:focus-visible,
body .rora-otp .rora-otp__submit.button:focus-visible {
  background: linear-gradient(135deg, #7048f1, #5d32d8) !important;
  color: #fff !important;
}

/* --- A6: iOS zoom-on-focus — form controls >=16px on phones --------------
   Base control font-size is 0.96rem (15.36px); Safari zooms the page on any
   input <16px focus. Raise to 16px under the phone breakpoint. */
@media (max-width: 600px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  input[type="search"],
  input[type="password"],
  textarea,
  select,
  .rora-cart-qty__input {
    font-size: 16px;
  }
}

/* --- A8: sticky add-to-cart ENABLED on mobile ----------------------------
   The bar markup + Storefront sticky-add-to-cart.min.js already ship on prod
   product pages; the JS toggles `--slideInDown` (show) / `--slideOutUp` (hide)
   — there is no `--active` class. Show the bar as a compact fixed bottom bar
   above the tabbar. `animation: none` kills Storefront core's slideInDown/
   slideOutUp keyframes (animation-fill-mode:both) which would otherwise fight
   this bottom-sheet transform transition on mobile. Desktop skin (L23848+)
   and core's top slide-in are left untouched. */
@media (max-width: 700px) {
  body.single-product .storefront-sticky-add-to-cart {
    animation: none !important;
    border-bottom: 0 !important;
    border-top: 1px solid rgba(74, 59, 82, 0.12) !important;
    bottom: calc(var(--rora-mobile-tabbar-height, 72px) + env(safe-area-inset-bottom, 0px)) !important;
    box-shadow: 0 -10px 26px -20px rgba(31, 26, 74, 0.42) !important;
    display: block !important;
    left: 0 !important;
    margin: 0 !important;
    padding: 0.4rem 0 !important;
    position: fixed !important;
    right: 0 !important;
    top: auto !important;
    /* Hidden state must clear its own bottom offset (tabbar + safe area) plus
       its own height, or the "parked" bar squats on top of the tabbar and
       swallows its taps. 12px extra hides the upward box-shadow bleed. */
    pointer-events: none;
    transform: translateY(calc(100% + var(--rora-mobile-tabbar-height, 72px) + env(safe-area-inset-bottom, 0px) + 12px));
    transition: transform 240ms ease, visibility 0s linear 240ms;
    visibility: hidden;
    width: 100% !important;
    z-index: 99990;
  }

  body.single-product .storefront-sticky-add-to-cart.storefront-sticky-add-to-cart--slideInDown {
    pointer-events: auto;
    transform: translateY(0);
    transition: transform 240ms ease, visibility 0s;
    visibility: visible;
  }

  body.single-product .storefront-sticky-add-to-cart__content {
    gap: 0.6rem !important;
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
    min-height: 56px !important;
  }

  body.single-product .storefront-sticky-add-to-cart img {
    height: 44px !important;
    max-height: 44px !important;
    max-width: 44px !important;
    width: 44px !important;
  }

  body.single-product .storefront-sticky-add-to-cart__content-button.button,
  body.single-product .storefront-sticky-add-to-cart__content-button.button.alt {
    min-height: 40px !important;
    min-width: 118px !important;
    padding: 0.5rem 0.9rem !important;
  }
}

/* --- A9: cart Remove control -------------------------------------------
   Storefront core styles a.remove as an icon-button: `a.remove` uses the
   text-indent:-9999px + overflow:hidden trick to hide its text, is sized as a
   1.618em square, and paints its glyph via a Font Awesome `::before` — which
   lands as the grey circle-X badge on top of the theme's trash SVG, while the
   template's <span>Remove</span> stays text-indented off-screen. Undo the whole
   icon-button pattern (reset sizing + text-indent + overflow, kill the ::before)
   so the intended trash-icon + "Remove" text shows, with a >=40px hit area. */
.woocommerce a.remove.rora-cart-item__remove {
  align-items: center;
  background: none !important;
  border-radius: 0 !important;
  color: var(--rora-soft-ink) !important;
  display: inline-flex !important;
  font-size: 0.92rem !important;
  font-weight: 750 !important;
  gap: 0.45rem;
  height: auto !important;
  line-height: 1.2 !important;
  min-height: 40px;
  overflow: visible !important;
  padding: 0.35rem 0.2rem;
  text-align: left;
  text-indent: 0 !important;
  width: auto !important;
}
.woocommerce a.remove.rora-cart-item__remove::before {
  content: none !important;
}
.woocommerce a.remove.rora-cart-item__remove:hover {
  background: none !important;
  color: #ff4f90 !important;
}

/* --- A10: cart line-item — stack price under title on narrow phones ------- */
@media (max-width: 560px) {
  .rora-cart-item__head {
    align-items: stretch;
    flex-direction: column;
    gap: 0.3rem;
  }
  .rora-cart-item__info {
    width: 100%;
  }
}

/* --- A11: product-card titles — allow 3 lines on mobile grids -------------
   The archive rule (body.woocommerce-shop... , 0,4,3) out-specifies the
   generic mobile clamp, so re-state the full selector list here to win. */
@media (max-width: 600px) {
  body.woocommerce-shop.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_tag.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .rora-collection-card__title {
    -webkit-line-clamp: 3;
  }
}

/* --- A12: desktop gallery thumb rail — right-edge fade scroll cue ---------
   The rail (L23794) is a horizontal overflow-x:auto flex strip; with >6
   thumbs the last one clips at the right with no affordance. A right-edge
   mask fade signals "scroll for more". */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 26px), transparent 100%);
  mask-image: linear-gradient(to right, #000 calc(100% - 26px), transparent 100%);
}

/* --- A13: home mobile hero — show the child's head uncropped --------------
   Root cause: the final mobile rule shoved the hero image downward
   (object-position:center 58% + transform:translateY(0.28rem)) inside the
   overflow-hidden rounded hero card, tucking the top of the collage (child's
   head) under the card's rounded top edge — reading as a "dome" white mask.
   Reset to a fully-contained, centered, untranslated image. */
/* --- A14: small tap targets — raise hit height to >=32px ------------------
   (Shop "Show more" toggle handled in place at its own rule.) */
.rora-footer__nav a,
.rh3-footer__links a {
  /* footer.php ships two footers: the classic .rora-footer__nav and the rh3
     variant .rh3-footer__links (the one visible on live pages) — pad both. */
  padding-bottom: 0.3rem;
  padding-top: 0.3rem;
}
.rh3-deals__view-all {
  padding-bottom: 0.6rem;
  padding-top: 0.6rem;
}
.rh3-testimonials__source {
  padding-bottom: 0.42rem;
  padding-top: 0.42rem;
}

/* --- B4 (support): empty-state "Popular right now" picks row --------------
   The .rora-collection-card cards are already themed, but this ul.products
   lives outside the shop archive so it misses the archive grid rules. Give
   the section a tidy centered grid + heading so it doesn't fall back to a
   floated/unaligned default. */
.rora-empty-state-picks {
  margin: 1.4rem auto 0;
  max-width: 760px;
}
.rora-empty-state-picks__title {
  font-family: var(--rora-rounded);
  font-size: 1.05rem;
  font-weight: 900;
  margin: 0 0 0.9rem;
  text-align: center;
}
.rora-empty-state-picks__grid.products {
  display: grid !important;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.rora-empty-state-picks__grid.products::before,
.rora-empty-state-picks__grid.products::after {
  content: none !important;
}
.rora-empty-state-picks__grid > li.product {
  float: none !important;
  margin: 0 !important;
  width: auto !important;
}
@media (max-width: 560px) {
  .rora-empty-state-picks__grid.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ==========================================================================
   POST-LAUNCH FEEDBACK ROUND — 2026-07-10
   ========================================================================== */

/* --- P1: hero CTA symmetry (desktop only) --------------------------------
   The "Shop Now" pill should be exactly as wide as the Messenger+WhatsApp
   chat row beneath it. The winning desktop layout layer is the base
   `.rh3-hero__actions` (L8173: display:flex; flex-wrap:wrap) refined by the
   base body:has()-scoped rule at L16231 — NOT the ≤640/≤600 mobile layers.
   Make the actions a stretch column sized to its widest child (the chat row):
   .rh3-hero__chat-row defines max-content width, and align-items:stretch
   grows Shop Now to match. Scoped to >=1181px (the true two-column desktop
   hero; below that the ≤1180 rules stack/center the hero) so mobile and the
   stacked/tablet layouts are untouched. Selector matches L16231's specificity
   (0,4,1) and, placed last, wins at desktop widths. */
/* --- P2: added-to-cart card state (CSS half; JS is Agent B) ---------------
   a. WooCommerce's stock ajax injects <a class="added_to_cart wc-forward">
      as a sibling of the card button; it renders as a broken black block in
      the card grid. The theme toast already provides the View-cart affordance,
      so hide the injected link wherever product cards render (shop grid =
      ul.products, homepage/best-seller/empty-state cards = .rora-collection-card). */
ul.products a.added_to_cart,
.rora-collection-card a.added_to_cart {
  display: none !important;
}

/* b. Alias WooCommerce's transient `.loading` class to the theme's designed
      `.is-loading` treatment (mirrors L775-776) so the stock ajax path looks
      right. NOTE: `.added` is deliberately NOT aliased to `.is-added` here —
      WC never removes `.added`, so the success morph would stick forever;
      Agent B toggles `.is-added` temporally in JS. */
.rora-add-to-cart.loading { pointer-events: none; }
.rora-add-to-cart.loading .rora-add-to-cart__label { opacity: 0.55; }

/* --- Floating contact buttons (WhatsApp + Messenger) ----------------------
   Fixed right-edge stack, mobile-first. Sits one z-index step below the
   fixed bottom tabbar (z-index 300, L16533) so it never covers nav taps.
   Mobile bottom offset mirrors the tabbar's own height + safe-area padding;
   the tabbar is display:none above 600px, so the desktop rule drops it to
   the viewport bottom. */
.rora-float-contact {
  bottom: calc(var(--rora-mobile-tabbar-height, 72px) + env(safe-area-inset-bottom, 0px) + 14px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: fixed;
  right: 14px;
  z-index: 299;
}

.rora-float-contact__btn {
  align-items: center;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(31, 27, 77, 0.22);
  color: #fff;
  display: flex;
  height: 52px;
  justify-content: center;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  width: 52px;
}

.rora-float-contact__btn:hover,
.rora-float-contact__btn:focus-visible {
  color: #fff;
  transform: scale(1.06);
}

.rora-float-contact__btn--whatsapp {
  background: #25d366;
}

.rora-float-contact__btn--messenger {
  background: linear-gradient(135deg, #00b2ff, #006aff);
}

@media (prefers-reduced-motion: reduce) {
  .rora-float-contact__btn {
    transition: none;
  }

  .rora-float-contact__btn:hover,
  .rora-float-contact__btn:focus-visible {
    transform: none;
  }
}

/* Desktop: tabbar is hidden above 600px, so sit near the viewport bottom. */
@media (min-width: 601px) {
  .rora-float-contact {
    bottom: 24px;
  }
}

/* Single product: the mobile sticky add-to-cart bar (<= 700px) is a fixed
   bottom sheet sitting directly on top of the tabbar. Its height is not fixed
   (min-height 56px + padding, and it grows when a long product title wraps),
   so lift the buttons a generous 116px clear of it, and raise them above the
   bar's own z-index (99990) so a taller-than-expected bar can never bury them.
   The 116px offset keeps them clear of the tabbar (z-index 300) geometrically,
   so out-ranking it here costs no nav taps. */
@media (max-width: 700px) {
  body.single-product .rora-float-contact {
    z-index: 99991;
  }
}

@media (max-width: 600px) {
  body.single-product .rora-float-contact {
    bottom: calc(var(--rora-mobile-tabbar-height, 72px) + env(safe-area-inset-bottom, 0px) + 116px);
  }
}

@media (min-width: 601px) and (max-width: 700px) {
  body.single-product .rora-float-contact {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 116px);
  }
}

/* ==========================================================================
   Single product: variation swatch picker (mobile-first)
   Markup comes from rora_variation_swatches_html() in functions.php and is
   driven by rora.js. The native WooCommerce <select> stays in the DOM but is
   visually hidden (kept focusable/screen-reader reachable is unnecessary here
   — the swatch group is the labelled radiogroup — but it must stay in the
   layout flow-free so Woo's own JS keeps working).
   Two modes: .rora-swatches--tiles (variation photos) and
   .rora-swatches--pills (sizes and other unphotographed options).
   ========================================================================== */

.rora-swatches {
  display: block;
  /* Anchors the absolutely positioned hidden select to this group, so the
     existing "choose an option" nudge (focus + scrollIntoView on the select
     in rora.js) still lands on the swatches instead of jumping the page. */
  position: relative;
  width: 100%;
}

.rora-swatches__native {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.rora-swatches__options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}

.rora-swatch {
  -webkit-tap-highlight-color: transparent;
  appearance: none;
  background: #fff;
  border: 1px solid rgba(112, 72, 241, 0.16);
  color: #080849;
  cursor: pointer;
  font-family: var(--rora-rounded);
  margin: 0;
  transition: background-color 0.18s ease, border-color 0.18s ease,
    box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.rora-swatch:active {
  transform: scale(0.97);
}

.rora-swatch:focus {
  outline: none;
}

.rora-swatch:focus-visible {
  box-shadow: 0 0 0 3px rgba(112, 72, 241, 0.45);
  outline: none;
}

.rora-swatch.is-disabled {
  cursor: not-allowed;
  opacity: 0.38;
}

/* --- Pills: sizes and other text-only options --------------------------- */

.rora-swatch--pill {
  align-items: center;
  border-radius: var(--rora-radius-pill);
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 900;
  justify-content: center;
  line-height: 1.15;
  min-height: 46px;
  padding: 0.66rem 1.15rem;
  text-align: center;
}

.rora-swatch--pill:hover:not(.is-disabled):not(.is-selected) {
  border-color: rgba(112, 72, 241, 0.45);
  box-shadow: 0 10px 22px -18px rgba(31, 26, 74, 0.6);
}

.rora-swatch--pill.is-selected {
  background: #7048f1;
  border-color: #7048f1;
  box-shadow: 0 12px 26px -18px rgba(112, 72, 241, 0.95);
  color: #fff;
}

.rora-swatch--pill.is-disabled {
  text-decoration: line-through;
}

/* --- Tiles: options that each have their own variation photo ------------- */

.rora-swatch--tile {
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-height: 44px;
  padding: 5px 5px 0.4rem;
  width: 68px;
}

.rora-swatch__media {
  aspect-ratio: 1 / 1;
  background: linear-gradient(160deg, #f8f2ff 0%, #fff 60%);
  border-radius: 13px;
  display: block;
  overflow: hidden;
  width: 100%;
}

.rora-swatch__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.rora-swatch--tile .rora-swatch__label {
  display: block;
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: -0.01em;
  line-height: 1.2;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rora-swatch--tile:hover:not(.is-disabled):not(.is-selected) {
  border-color: rgba(112, 72, 241, 0.45);
}

.rora-swatch--tile.is-selected {
  border-color: #7048f1;
  box-shadow: 0 0 0 2px rgba(112, 72, 241, 0.85), 0 14px 26px -20px rgba(112, 72, 241, 0.9);
}

.rora-swatch--tile.is-selected .rora-swatch__label {
  color: #7048f1;
}

/* "Please pick a variant" nudge. rora.js toggles .rora-swatches--nudge on the
   wrapper — a plain class rather than :has(), which older Android/iOS WebViews
   do not support. */
.rora-swatches--nudge .rora-swatches__options {
  border-radius: 20px;
  box-shadow: 0 0 0 3px rgba(255, 79, 144, 0.45);
}

@media (min-width: 768px) {
  .rora-swatch--tile {
    width: 76px;
  }

  .rora-swatch--tile .rora-swatch__label {
    font-size: 0.68rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rora-swatch {
    transition: none;
  }

  .rora-swatch:active {
    transform: none;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   HOMEPAGE PROMO SLIDER  (§1 — replaces the static .rh3-hero)
   Swipeable, autoplaying banner carousel. Markup: inc/home-slider.php,
   behaviour: assets/js/rora.js (§ homepage promo slider).
   ═══════════════════════════════════════════════════════════════════════ */

.rh3-slider {
  background: #fff;
  padding-bottom: 0.15rem;
  position: relative;
}

.rh3-slider__viewport {
  /* aspect-ratio reserves the height before any image loads → no CLS. */
  aspect-ratio: 360 / 358;
  max-height: 470px;
  min-height: 310px;
  overflow: hidden;
  position: relative;
  touch-action: pan-y;
}

.rh3-slider__track {
  display: flex;
  height: 100%;
  transition: transform 0.55s cubic-bezier(0.4, 0.02, 0.2, 1);
  width: 100%;
  will-change: transform;
}

.rh3-slider.is-dragging .rh3-slider__track,
.rh3-slider.is-snapping .rh3-slider__track {
  transition: none;
}

/* — Slide — */

.rh3-slide {
  color: var(--rh3-ink, #080849);
  display: block;
  flex: 0 0 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
}

.rh3-slide:hover,
.rh3-slide:focus {
  text-decoration: none;
}

.rh3-slide:focus-visible {
  outline: 3px solid var(--rh3-purple, #7048f1);
  outline-offset: -4px;
}

.rh3-slide img {
  pointer-events: none;
  -webkit-user-drag: none;
}

.rh3-slide--lilac {
  background:
    radial-gradient(circle at 22% 22%, rgba(255, 255, 255, 0.85) 0 6.5rem, transparent 6.8rem),
    linear-gradient(135deg, #f2ebff 0%, #efe7ff 46%, #ffe9f4 100%);
}

.rh3-slide--peach {
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.8) 0 6.5rem, transparent 6.8rem),
    linear-gradient(135deg, #fff1e3 0%, #ffe6ec 54%, #ffd9e8 100%);
}

.rh3-slide--sky {
  background:
    radial-gradient(circle at 20% 24%, rgba(255, 255, 255, 0.85) 0 6.5rem, transparent 6.8rem),
    linear-gradient(135deg, #e6f4ff 0%, #eef8ff 48%, #e2eeff 100%);
}

.rh3-slide--mint {
  background:
    radial-gradient(circle at 20% 24%, rgba(255, 255, 255, 0.85) 0 6.5rem, transparent 6.8rem),
    linear-gradient(135deg, #e2f7ec 0%, #f2fbf6 50%, #ddf1ff 100%);
}

/* — Playful decoration (carried over from the old hero) — */

.rh3-slide__decor {
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.rh3-slide__blob {
  position: absolute;
}

.rh3-slide__blob--circle {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  height: 190px;
  right: -50px;
  top: -60px;
  width: 190px;
}

.rh3-slide__blob--sun {
  background: radial-gradient(circle, #fceb6b 0%, rgba(252, 235, 107, 0) 70%);
  border-radius: 50%;
  bottom: -70px;
  height: 210px;
  left: -70px;
  opacity: 0.65;
  width: 210px;
}

.rh3-slide__blob--star1,
.rh3-slide__blob--star2 {
  animation: rh3-slide-twinkle 2.8s ease-in-out infinite;
  color: rgba(112, 72, 241, 0.4);
  font-size: 18px;
  line-height: 1;
}

.rh3-slide__blob--star1 { right: 16%; top: 18%; }
.rh3-slide__blob--star2 { animation-delay: 1.1s; bottom: 22%; right: 8%; font-size: 13px; }

.rh3-slide__blob--cloud {
  color: rgba(255, 255, 255, 0.9);
  font-size: 30px;
  line-height: 1;
  right: 26%;
  top: 8%;
}

@keyframes rh3-slide-twinkle {
  0%, 100% { opacity: 0.35; transform: scale(0.9); }
  50%      { opacity: 0.9;  transform: scale(1.12); }
}

/* — Slide content — */

.rh3-slide__inner {
  display: grid;
  gap: 0.3rem;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  margin: 0 auto;
  max-width: var(--rora-width-section, 1210px);
  padding: 0.95rem 1.15rem 0;
  position: relative;
  z-index: 2;
}

.rh3-slide__copy {
  align-content: center;
  display: grid;
  gap: 0.45rem;
  justify-items: start;
}

.rh3-slide__heading {
  color: var(--rh3-ink, #080849);
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: clamp(1.42rem, 5.2vw, 1.9rem);
  font-weight: 1000;
  letter-spacing: -0.04em;
  line-height: 1.04;
  margin: 0;
  max-width: 15ch;
}

.rh3-slide__subline {
  color: var(--rora-soft-ink, #6e5e77);
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
  max-width: 34ch;
}

.rh3-slide__cta {
  align-items: center;
  background: var(--rh3-purple, #7048f1);
  border-radius: 999px;
  box-shadow: 0 12px 24px -14px rgba(112, 72, 241, 0.9);
  color: #fff;
  display: inline-flex;
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.85rem;
  font-weight: 800;
  gap: 0.4rem;
  margin-top: 0.15rem;
  padding: 0.52rem 1.05rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.rh3-slide:hover .rh3-slide__cta {
  box-shadow: 0 16px 28px -14px rgba(112, 72, 241, 0.95);
  transform: translateY(-1px);
}

/* Mobile: the media bleeds past the inner padding so the artwork spans the
   full slide width instead of sitting in an inset white block. */
.rh3-slide__media {
  align-items: flex-end;
  display: flex;
  justify-content: center;
  margin-inline: -1.15rem;
  min-height: 0;
  overflow: hidden;
}

.rh3-slide__media picture {
  display: block;
  height: 100%;
  width: 100%;
}

.rh3-slide__img {
  display: block;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
}

/* Text-only slides read as a centred promo banner. */
.rh3-slide--no-media .rh3-slide__inner {
  grid-template-rows: minmax(0, 1fr);
  padding-bottom: 1.6rem;
  place-items: center;
}

.rh3-slide--no-media .rh3-slide__copy {
  justify-items: center;
  text-align: center;
}

.rh3-slide--no-media .rh3-slide__heading {
  font-size: clamp(1.75rem, 6.4vw, 2.4rem);
  max-width: 18ch;
}

/* — Dots — */

/* The dots sit in their own band below the viewport (not absolutely
   positioned over it) so they can never cover slide art or copy, and so the
   tap targets can grow without eating into the banner. */
.rh3-slider__dots {
  display: flex;
  gap: 0.1rem;
  justify-content: center;
  position: relative;
  z-index: 5;
}

.rh3-slider__dot {
  appearance: none;
  background: none;
  border: 0;
  box-shadow: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  min-height: 40px;
  min-width: 40px;
  padding: 0.7rem 0.55rem;
}

.rh3-slider__dot > span {
  background: rgba(8, 8, 73, 0.22);
  border-radius: 999px;
  display: block;
  height: 7px;
  transition: width 0.25s ease, background 0.25s ease;
  width: 7px;
}

.rh3-slider__dot.is-active > span {
  background: var(--rh3-purple, #7048f1);
  width: 22px;
}

.rh3-slider__dot:focus-visible {
  border-radius: 999px;
  outline: 2px solid var(--rh3-purple, #7048f1);
  outline-offset: 1px;
}

/* — Tablet / desktop: wide banner — */

@media (min-width: 761px) {
  .rh3-slider__viewport {
    aspect-ratio: 1268 / 400;
    max-height: 420px;
    min-height: 316px;
  }

  .rh3-slide__inner {
    align-items: center;
    gap: clamp(0.8rem, 2.4vw, 2rem);
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    grid-template-rows: none;
    padding: 1.3rem clamp(1.4rem, 3.4vw, 3.2rem);
  }

  .rh3-slide__heading {
    font-size: clamp(2.1rem, 3.6vw, 3.3rem);
  }

  .rh3-slide__subline {
    font-size: clamp(0.98rem, 1.15vw, 1.12rem);
  }

  .rh3-slide__cta {
    font-size: 1rem;
    padding: 0.72rem 1.5rem;
  }

  .rh3-slide__media {
    height: 100%;
    margin-inline: 0;
  }

  .rh3-slide--no-media .rh3-slide__inner {
    grid-template-columns: minmax(0, 1fr);
    padding-bottom: 2.2rem;
  }

  .rh3-slide--no-media .rh3-slide__heading {
    font-size: clamp(2.3rem, 4vw, 3.5rem);
  }

  .rh3-slide__blob--circle { height: 260px; right: -70px; top: -90px; width: 260px; }
  .rh3-slide__blob--sun { height: 300px; width: 300px; }
  .rh3-slide__blob--star1 { font-size: 24px; }
  .rh3-slide__blob--cloud { font-size: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .rh3-slider__track {
    transition: none;
  }

  .rh3-slide__blob--star1,
  .rh3-slide__blob--star2 {
    animation: none;
  }

  .rh3-slide__cta {
    transition: none;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   SCHOOLSTORE-STYLE PASS (v0.9.228)
   Reference: theschoolstore.pk — compact image-led banner slider + flat
   category tiles (image above, bold uppercase name below, no cards).
   ═══════════════════════════════════════════════════════════════════════ */

/* — Category tiles — */

.rora-home.rh3 .rh3-cat-tiles {
  display: grid;
  gap: 1.6rem 1rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.rora-home.rh3 .rh3-cat-tile {
  align-content: start;
  display: grid;
  gap: 0.6rem;
  justify-items: center;
  text-decoration: none;
  transition: transform 0.22s ease;
}

.rora-home.rh3 .rh3-cat-tile:hover,
.rora-home.rh3 .rh3-cat-tile:focus {
  text-decoration: none;
  transform: translateY(-4px);
}

.rora-home.rh3 .rh3-cat-tile:focus-visible {
  border-radius: 12px;
  outline: 3px solid var(--rh3-purple, #7048f1);
  outline-offset: 4px;
}

.rora-home.rh3 .rh3-cat-tile__img {
  aspect-ratio: 1 / 1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  width: min(100%, 148px);
}

.rora-home.rh3 .rh3-cat-tile__img--shop {
  align-items: center;
  aspect-ratio: 1 / 1;
  background: #f3edff;
  border-radius: 50%;
  color: var(--rh3-purple, #7048f1);
  display: flex;
  justify-content: center;
  transition: background 0.2s ease, color 0.2s ease;
  width: min(72%, 116px);
  margin: auto 0;
}

.rora-home.rh3 .rh3-cat-tile--shop:hover .rh3-cat-tile__img--shop {
  background: var(--rh3-purple, #7048f1);
  color: #fff;
}

.rora-home.rh3 .rh3-cat-tile__name {
  color: var(--rh3-ink, #080849);
  font-family: "Nunito", "Inter", system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .rora-home.rh3 .rh3-cat-tiles {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .rora-home.rh3 .rh3-cat-tiles {
    gap: 1.15rem 0.65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .rora-home.rh3 .rh3-cat-tile {
    gap: 0.45rem;
  }

  .rora-home.rh3 .rh3-cat-tile__img {
    width: min(100%, 106px);
  }

  .rora-home.rh3 .rh3-cat-tile__name {
    font-size: 0.68rem;
    letter-spacing: 0.04em;
  }
}

/* — Slider: compact full-width banner on mobile — */

@media (max-width: 760px) {
  .rora-home.rh3 .rh3-slider {
    padding-bottom: 0;
  }

  .rora-home.rh3 .rh3-slider__viewport {
    aspect-ratio: 36 / 19;
    max-height: 260px;
    min-height: 0;
  }

  /* Image slides: the artwork IS the banner (schoolstore-style). */
  .rora-home.rh3 .rh3-slide:not(.rh3-slide--no-media) .rh3-slide__inner {
    display: block;
    max-width: none;
    padding: 0;
  }

  /* Copy stays for assistive tech / crawlers but the banner shows art only. */
  .rora-home.rh3 .rh3-slide:not(.rh3-slide--no-media) .rh3-slide__copy {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .rora-home.rh3 .rh3-slide:not(.rh3-slide--no-media) .rh3-slide__decor {
    display: none;
  }

  .rora-home.rh3 .rh3-slide:not(.rh3-slide--no-media) .rh3-slide__media {
    height: 100%;
    margin-inline: 0;
  }

  .rora-home.rh3 .rh3-slide:not(.rh3-slide--no-media) .rh3-slide__img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
  }

  /* Text-only slides: compact centred promo banner. */
  .rora-home.rh3 .rh3-slide--no-media .rh3-slide__inner {
    padding: 0.8rem 1.1rem 2.1rem;
  }

  .rora-home.rh3 .rh3-slide--no-media .rh3-slide__copy {
    gap: 0.3rem;
  }

  .rora-home.rh3 .rh3-slide--no-media .rh3-slide__heading {
    font-size: clamp(1.22rem, 5vw, 1.6rem);
  }

  .rora-home.rh3 .rh3-slide--no-media .rh3-slide__subline {
    font-size: 0.78rem;
  }

  .rora-home.rh3 .rh3-slide--no-media .rh3-slide__cta {
    font-size: 0.78rem;
    padding: 0.42rem 0.95rem;
  }

  /* Dots overlay the banner bottom like the reference carousel. */
  .rora-home.rh3 .rh3-slider__dots {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
  }

  .rora-home.rh3 .rh3-slider__dot {
    min-height: 34px;
    min-width: 34px;
    padding: 0.45rem 0.4rem;
  }

  .rora-home.rh3 .rh3-slider__dot > span {
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 1px 4px rgba(8, 8, 73, 0.4);
    height: 6px;
    width: 6px;
  }

  .rora-home.rh3 .rh3-slider__dot.is-active > span {
    background: var(--rh3-purple, #7048f1);
    width: 18px;
  }
}
