:root {
  --mim-charcoal: oklch(0.18 0.01 285);
  --mim-blush: oklch(0.88 0.04 10);
  --mim-blush-mist: oklch(0.965 0.018 22);
  --mim-cocoa: oklch(0.25 0.035 30);
  --mim-rose-gold: oklch(0.62 0.09 15);
  --mim-gold: oklch(0.72 0.1 65);
  --mim-deep-rose: oklch(0.52 0.12 15);
  --mim-foreground: oklch(0.19 0.018 30);
  --mim-muted: oklch(0.48 0.018 35);
  --mim-border: oklch(0.9 0.006 286);
  --mim-soft: oklch(0.985 0.006 48);
  --mim-ease: cubic-bezier(0.23, 1, 0.32, 1);

  /* Accent color (matches MIM Beauty logo pink). Override via theme panel. */
  --mim-accent: var(--mim-deep-rose);
  --mim-accent-dark: oklch(0.42 0.13 15);
  --mim-accent-soft: var(--mim-blush-mist);
  --mim-accent-rgb: 158, 47, 73; /* fallback rgba helpers */
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.mim-theme {
  margin: 0;
  background: #fff;
  color: var(--mim-foreground);
  font-family: "Outfit", Arial, sans-serif;
  font-size: 15px;
  letter-spacing: 0.005em;
  -webkit-font-smoothing: antialiased;
}
body.mim-theme a { color: inherit; text-decoration: none; }
body.mim-theme img { display: block; max-width: 100%; height: auto; }
body.mim-theme button,
body.mim-theme input,
body.mim-theme select,
body.mim-theme textarea { font: inherit; }
body.mim-theme h1,
body.mim-theme h2,
body.mim-theme h3,
body.mim-theme h4,
body.mim-theme h5,
body.mim-theme h6 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.015em;
  margin: 0;
}
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.mim-container {
  width: 100%;
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px) { .mim-container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .mim-container { padding: 0 2rem; } }

.announcement-bar {
  overflow: hidden;
  background: var(--mim-charcoal);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.announcement-marquee {
  display: flex;
  width: max-content;
  min-width: 100%;
  padding-block: .625rem;
  animation: mim-marquee 78s linear infinite;
}
.announcement-marquee-group { display: flex; flex: 0 0 auto; }
.announcement-marquee-item { flex: 0 0 auto; padding-inline: clamp(1.75rem, 5vw, 4.5rem); }
@keyframes mim-marquee { to { transform: translate3d(-50%, 0, 0); } }
@media (max-width: 639px) {
  .announcement-bar { font-size: 9px; letter-spacing: .08em; }
  .announcement-marquee { padding-block: .5rem; }
  .announcement-marquee-item { padding-inline: 1.25rem; }
}

.mim-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid var(--mim-border);
  transition: box-shadow .3s var(--mim-ease), background .3s var(--mim-ease);
}
.mim-site-header.is-scrolled { background: rgb(255 255 255 / .95); box-shadow: 0 4px 22px rgb(30 20 18 / .06); backdrop-filter: blur(12px); }
.mim-header-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  min-height: 72px;
}
.mim-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-self: center;
}
.mim-logo--image {
  line-height: 0;
}
.mim-logo-image {
  display: block;
  width: auto;
  max-width: min(220px, 42vw);
  max-height: 64px;
  object-fit: contain;
}
.mim-footer-brand .mim-logo-image {
  max-width: 180px;
  max-height: 60px;
}
.mim-mobile-drawer .mim-logo-image {
  max-width: 160px;
  max-height: 56px;
}
.mim-logo-main {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.02em;
}
.mim-logo-sub {
  display: block;
  margin-top: .15rem;
  color: var(--mim-muted);
  font-size: 9px;
  line-height: 1;
  letter-spacing: .34em;
  text-transform: uppercase;
}
.mim-desktop-nav { display: none; }
.mim-menu {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mim-menu a {
  display: inline-flex;
  align-items: center;
  padding: .72rem 1rem;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--mim-foreground);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: color .18s var(--mim-ease), background .18s var(--mim-ease), border-color .18s var(--mim-ease), transform .18s var(--mim-ease);
}
.mim-menu a:hover,
.mim-menu a:focus {
  border-color: rgba(139, 92, 246, .18);
  background: rgba(139, 92, 246, .08);
  color: var(--mim-deep-rose);
  transform: translateY(-1px);
}
.mim-header-actions {
  display: flex;
  justify-self: end;
  align-items: center;
  gap: .1rem;
}
.mim-icon-button {
  position: relative;
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--mim-foreground);
  cursor: pointer;
  transition: color .18s var(--mim-ease), transform .18s var(--mim-ease);
}
.mim-icon-button:hover { color: var(--mim-deep-rose); }
.mim-icon-button:active { transform: scale(.92); }
.mim-cart-count {
  position: absolute;
  top: 3px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--mim-deep-rose);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}
/* ---- Search overlay ---- */
.mim-search-panel[hidden] { display: none; }
.mim-search-panel {
  position: fixed;
  inset: 0;
  z-index: 120;
}
.mim-search-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  cursor: pointer;
  background: rgb(25 18 14 / .42);
  backdrop-filter: blur(3px);
  animation: mim-fade-in .2s var(--mim-ease) both;
}
.mim-search-sheet {
  position: absolute;
  inset: 0 0 auto 0;
  background: #fff;
  box-shadow: 0 24px 60px rgb(25 18 14 / .16);
  padding: 1.1rem 0 1.6rem;
  animation: mim-soft-drop .28s var(--mim-ease) both;
}
.mim-search-form {
  position: relative;
  display: flex;
  align-items: center;
  gap: .5rem;
  max-width: 46rem;
  margin: 0 auto;
  border-bottom: 1.5px solid var(--mim-charcoal);
  padding: .35rem 0;
}
.mim-search-icon {
  display: inline-flex;
  color: var(--mim-muted);
  flex-shrink: 0;
}
.mim-search-input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  outline: 0;
  padding: .55rem .25rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.35rem, 3.5vw, 1.85rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--mim-foreground);
}
.mim-search-input::placeholder { color: oklch(0.72 0.01 35); opacity: 1; }
.mim-search-clear,
.mim-search-dismiss {
  flex-shrink: 0;
  border: 0;
  background: transparent;
  color: var(--mim-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .35rem;
  border-radius: 999px;
  transition: color .18s var(--mim-ease), background .18s var(--mim-ease);
}
.mim-search-clear:hover,
.mim-search-dismiss:hover { color: var(--mim-deep-rose); background: var(--mim-blush-mist); }
.mim-search-clear[hidden] { display: none; }

.mim-search-results {
  max-width: 46rem;
  margin: 0 auto;
  max-height: min(64vh, 540px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.mim-search-results:empty { display: none; }
.mim-search-status {
  padding: 1.4rem .25rem;
  color: var(--mim-muted);
  font-size: 14px;
  text-align: center;
}
.mim-search-hint {
  display: block;
  margin-top: .9rem;
  text-align: center;
}
.mim-search-hint a {
  display: inline-block;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--mim-deep-rose);
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
.mim-search-item {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: .7rem .25rem;
  border-bottom: 1px solid var(--mim-border);
  transition: background .16s var(--mim-ease);
}
.mim-search-item:hover,
.mim-search-item:focus-visible { background: var(--mim-blush-mist); outline: 0; }
.mim-search-item__media {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--mim-soft);
}
.mim-search-item__media img { width: 100%; height: 100%; object-fit: cover; }
.mim-search-item__body { flex: 1; min-width: 0; }
.mim-search-item__title {
  font-size: 14px;
  font-weight: 500;
  color: var(--mim-foreground);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mim-search-item__price {
  margin-top: .25rem;
  font-size: 13px;
  color: var(--mim-muted);
}
.mim-search-item__price .amount { color: var(--mim-foreground); font-weight: 600; }
.mim-search-item__price del { opacity: .6; margin-right: .35rem; font-weight: 400; }
.mim-search-item__price ins { text-decoration: none; }
.mim-search-item__badge {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  color: #fff;
  background: var(--mim-deep-rose);
  padding: 2px 7px;
  border-radius: 999px;
}
.mim-search-form.is-loading .mim-search-icon { animation: mim-spin .7s linear infinite; }
@keyframes mim-spin { to { transform: rotate(360deg); } }
@keyframes mim-fade-in { from { opacity: 0; } to { opacity: 1; } }
html.mim-search-open, html.mim-search-open body { overflow: hidden; }
@media (min-width: 1024px) {
  .mim-header-grid { display: flex; justify-content: space-between; min-height: 80px; }
  .mim-desktop-nav { display: block; }
  .mim-mobile-toggle { display: none; }
  .mim-logo { justify-self: auto; }
}
@media (max-width: 680px) { .mim-hide-sm { display: none; } }

/* Header lead group (hamburger + inline language pill on mobile) */
.mim-header-lead {
  display: flex;
  align-items: center;
  gap: .35rem;
}
/* The inline mobile pill shows only on mobile/tablet; the desktop pill (in the
   actions cluster) shows only on desktop. Compound selectors beat the base
   .mim-lang-switch{display:inline-flex} specificity. */
.mim-lang-switch.mim-lang-switch--mobile-inline { display: none; }
@media (max-width: 1023px) {
  .mim-lang-switch.mim-lang-switch--mobile-inline {
    display: inline-flex;
    padding: 1px;
    font-size: 0.62rem;
  }
  .mim-lang-switch--mobile-inline .mim-lang-switch__btn {
    min-width: 26px;
    height: 22px;
    padding: 0 6px;
  }
  .mim-lang-switch--mobile-inline .mim-lang-switch__btn[lang="ar"] {
    font-size: 0.72rem;
  }
  /* Hide the desktop actions pill on mobile — the inline one replaces it. */
  .mim-lang-switch.mim-lang-switch--desktop { display: none; }
}
/* Keep the mobile header from crowding: tighter icon buttons + smaller logo cap. */
@media (max-width: 1023px) {
  .mim-header-actions { gap: 0; }
  .mim-header-actions .mim-icon-button { width: 36px; height: 36px; }
  .mim-logo-image { max-width: min(170px, 38vw); }
}
/* On desktop the lead wrapper is just the (hidden) toggle — no effect. */
@media (min-width: 1024px) {
  .mim-header-lead { gap: 0; }
}

.mim-mobile-panel[hidden] { display: none; }
.mim-mobile-panel { position: fixed; inset: 0; z-index: 100; }
.mim-mobile-backdrop { position: absolute; inset: 0; border: 0; background: rgb(0 0 0 / .35); backdrop-filter: blur(2px); }
.mim-mobile-drawer {
  position: absolute;
  inset: 0 auto 0 0;
  width: min(86vw, 360px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-right: 1px solid rgb(0 0 0 / .04);
  border-radius: 0;
  background: #fff;
  box-shadow: 18px 0 60px rgb(25 18 14 / .18);
  animation: mim-drawer-in .28s var(--mim-ease) both;
}
.mim-mobile-close {
  position: absolute;
  top: .85rem;
  right: .85rem;
  z-index: 2;
  background: oklch(0.97 0.005 280);
  border-radius: 999px;
  box-shadow: none;
}
.mim-mobile-drawer__header {
  flex-shrink: 0;
  padding: 1.4rem 1.4rem 1rem;
  border-bottom: 1px solid oklch(0.94 0.005 280);
}
.mim-mobile-drawer__header .mim-logo { width: fit-content; margin: 0; }
.mim-mobile-drawer__header p {
  margin: .65rem 0 0;
  color: var(--mim-muted);
  font-size: .82rem;
  line-height: 1.55;
}
.mim-mobile-drawer__nav {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: .85rem .9rem 1rem;
  -webkit-overflow-scrolling: touch;
}
.mim-mobile-menu {
  display: flex;
  flex-direction: column;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.mim-mobile-menu li { margin: 0; }
.mim-mobile-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .8rem .9rem;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--mim-foreground);
  font-family: "Outfit", Arial, sans-serif;
  font-size: .92rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  box-shadow: none;
  transition: background .15s var(--mim-ease), color .15s var(--mim-ease);
}
.mim-mobile-menu a::after { content: ""; }
.mim-mobile-menu li:not(.is-expandable) > a::after,
.mim-mobile-submenu a::after {
  content: "›";
  color: oklch(0.7 0.02 280);
  font-size: 1.1rem;
  line-height: 1;
  transition: transform .18s ease, color .15s ease;
}
.mim-mobile-menu a:hover,
.mim-mobile-menu a:focus {
  background: oklch(0.97 0.008 280);
  color: var(--mim-deep-rose);
}
.mim-mobile-menu a:hover::after,
.mim-mobile-menu a:focus::after {
  color: var(--mim-deep-rose);
  transform: translateX(2px);
}

/* Expandable categories */
.mim-mobile-menu .is-expandable details {
  border-radius: 10px;
}
.mim-mobile-menu .is-expandable summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
}
.mim-mobile-menu .is-expandable summary::-webkit-details-marker { display: none; }
.mim-mobile-menu .is-expandable summary > a {
  flex: 1;
}
.mim-mobile-menu__caret {
  display: inline-flex;
  width: 32px;
  height: 32px;
  margin-right: .35rem;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: oklch(0.55 0.04 280);
  font-size: 1.2rem;
  line-height: 1;
  transition: transform .2s ease, background .15s ease;
}
.mim-mobile-menu .is-expandable details[open] .mim-mobile-menu__caret {
  transform: rotate(90deg);
  background: oklch(0.96 0.012 280);
}
.mim-mobile-submenu {
  list-style: none;
  margin: .15rem 0 .35rem .55rem;
  padding: .15rem 0;
  border-left: 1px solid oklch(0.93 0.008 280);
}
.mim-mobile-submenu a {
  padding: .55rem .75rem .55rem 1rem;
  font-size: .85rem;
  font-weight: 400;
  color: var(--mim-muted);
}

/* Drawer footer regions */
.mim-mobile-drawer__socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .9rem;
  padding: 1.1rem 1.4rem .35rem;
  margin-top: .35rem;
  border-top: 1px solid oklch(0.94 0.005 280);
}
/* Minimal drawer socials: transparent/blush circle, thin border,
   single brand color glyph. No bright gradients or default brand colors. */
.mim-drawer-social {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--mim-blush-mist);
  border: 1px solid oklch(0.88 0.03 15);
  color: var(--mim-cocoa);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.mim-drawer-social:hover,
.mim-drawer-social:focus {
  transform: translateY(-1px);
  background: #fff;
  border-color: var(--mim-accent);
  color: var(--mim-accent);
  box-shadow: 0 4px 14px rgba(var(--mim-accent-rgb), .15);
}
.mim-drawer-social svg { display: block; }
/* Force all glyphs to inherit our theme color regardless of inline fills. */
.mim-drawer-social svg,
.mim-drawer-social svg path {
  fill: currentColor !important;
}
.mim-mobile-whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  margin: 1rem 1.1rem 1.1rem;
  border-radius: 14px;
  background: var(--mim-blush-mist);
  border: 1px solid var(--mim-accent);
  color: var(--mim-cocoa);
  padding: .8rem 1rem;
  box-shadow: 0 4px 14px rgba(var(--mim-accent-rgb), .12);
  font-size: .88rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  text-align: center;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.mim-mobile-whatsapp:hover {
  transform: translateY(-1px);
  background: #fff;
  color: var(--mim-cocoa);
  box-shadow: 0 8px 22px rgba(var(--mim-accent-rgb), .18);
}
.mim-mobile-whatsapp svg { color: var(--mim-accent); }
@keyframes mim-drawer-in {
  from { transform: translateX(-100%); opacity: .85; }
  to { transform: translateX(0); opacity: 1; }
}
@keyframes mim-drawer-in-rtl {
  from { transform: translateX(100%); opacity: .85; }
  to { transform: translateX(0); opacity: 1; }
}
@keyframes mim-soft-drop { from { opacity: 0; transform: translateY(-6px); } }

.mim-section-title {
  color: var(--mim-foreground);
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  line-height: .95;
  letter-spacing: -.025em;
}
/* Give the WooCommerce page titles (Checkout/Cart/Account) breathing room so the
   heading never overlaps the coupon notice / content below it. */
.woocommerce-checkout .mim-page-article > .mim-section-title,
.woocommerce-cart .mim-page-article > .mim-section-title,
.woocommerce-account .mim-page-article > .mim-section-title {
  line-height: 1.1;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
.mim-section-subtitle {
  margin: 0 0 .75rem;
  color: var(--mim-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.mim-section { padding: clamp(3rem, 7vw, 6rem) 0; background: #fff; }
.mim-section-heading { max-width: 48rem; margin: 0 auto 2.5rem; text-align: center; }
.mim-section-bar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2.5rem;
}
.mim-section-bar > a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: var(--mim-deep-rose);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
.mim-section-bar > a:hover { color: var(--mim-accent-dark); }
@media (min-width: 768px) {
  .mim-section-bar > a { font-size: .75rem; }
}

.mim-btn-primary,
.mim-btn-ghost,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 46px;
  border: 1px solid transparent;
  border-radius: 0;
  padding: .85rem 1.65rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  transition: transform .2s var(--mim-ease), box-shadow .2s var(--mim-ease), opacity .2s var(--mim-ease);
}
.mim-btn-primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--mim-foreground);
  color: #fff;
  border-radius: 14px;
  box-shadow: none;
}
.mim-btn-primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  transform: none;
  background: var(--mim-cocoa);
  box-shadow: none;
}
.mim-btn-ghost {
  border-color: rgb(65 45 38 / .3);
  background: transparent;
  color: var(--mim-foreground);
}
.mim-btn-ghost { border-color: rgb(255 255 255 / .7); color: #fff; }

/* ===== Hero (rewritten v1.0.164 — full-width image + floating luxury card) =====
   Mobile: full-width image, soft card sits just below (slight overlap).
   Desktop: large full-width image, card floats lower-left, overlapping the image. */
.mim-hero {
  position: relative;
  background: #fff;
}
.mim-hero-media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #f3e7e4;
  overflow: hidden;
}
body .mim-hero-media > img,
body.mim-theme .mim-hero-media > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 70% center;
}
/* Positioning container for the card */
.mim-hero-panel {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 0 1.25rem 2.5rem;
  margin-top: -2.5rem;        /* slight overlap onto the image bottom */
  z-index: 2;
}
/* The luxury card itself */
.mim-hero-copy {
  width: 100%;
  max-width: 33rem;
  padding: 2.25rem 1.75rem 2.5rem;
  border-radius: 22px;
  background: rgb(255 255 255 / .94);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgb(176 106 120 / .12);
  box-shadow: 0 22px 60px rgb(60 30 28 / .14);
  text-align: center;
  color: var(--mim-foreground);
}
.mim-hero-copy p {
  margin: 0 0 1rem;
  color: var(--mim-deep-rose, #b06a78);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .26em;
  text-transform: uppercase;
}
.mim-hero-copy h1 {
  margin-bottom: 1.1rem;
  color: var(--mim-foreground);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.3rem, 8.5vw, 2.9rem);
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: -.01em;
  text-wrap: balance;
}
.mim-hero-copy > span {
  display: block;
  max-width: 30rem;
  margin: 0 auto 1.85rem;
  color: rgb(60 42 38 / .76);
  font-size: 14px;
  line-height: 1.62;
}
/* Trailing clause hidden on mobile so the card copy stays short */
.mim-hero-desc-tail { display: none; }
.mim-hero-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .9rem;
  width: 100%;
}
.mim-hero .mim-btn-primary {
  width: 100%;
  max-width: 300px;
  min-height: 54px;
  padding: 1rem 2rem;
  font-size: 12px;
  letter-spacing: .12em;
  border-radius: 14px;
  background: var(--mim-foreground);
  color: #fff;
}
.mim-hero .mim-btn-primary:hover { background: var(--mim-deep-rose, #b06a78); }
/* Mobile secondary = quiet text link under the button */
.mim-hero .mim-btn-ghost {
  display: inline-flex;
  min-height: auto;
  padding: .3rem .25rem;
  font-size: 11px;
  letter-spacing: .14em;
  border: none;
  border-radius: 0;
  color: var(--mim-deep-rose, #b06a78);
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-color: rgb(176 106 120 / .45);
}
.mim-hero .mim-btn-ghost:hover {
  background: transparent;
  color: var(--mim-foreground);
  text-decoration-color: currentColor;
}

@media (min-width: 880px) {
  /* Large full-width image; card floats over its lower-left */
  .mim-hero-media {
    aspect-ratio: auto;
    height: min(760px, calc(100svh - 72px));
    min-height: 560px;
  }
  .mim-hero-panel {
    position: absolute;
    inset: 0;
    margin-top: 0;
    padding: 0;
    display: block;
  }
  .mim-hero-copy {
    position: absolute;
    left: clamp(2.5rem, 6vw, 6rem);
    bottom: clamp(2.5rem, 6vw, 5rem);
    width: min(38rem, 46vw);
    max-width: 40rem;
    padding: 2.75rem 3rem 3rem;
    border-radius: 26px;
    background: rgb(255 255 255 / .92);
    box-shadow: 0 30px 80px rgb(60 30 28 / .20);
    text-align: left;
  }
  .mim-hero-copy p {
    margin-bottom: 1.4rem;
    font-size: 12px;
  }
  .mim-hero-copy h1 {
    font-size: clamp(2.7rem, 3.4vw, 3.6rem);
    margin-bottom: 1.4rem;
  }
  .mim-hero-copy > span {
    margin: 0 0 2.25rem;
    max-width: 32rem;
    font-size: 15px;
  }
  .mim-hero-desc-tail { display: inline; }
  .mim-hero-actions {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 1.25rem;
  }
  .mim-hero .mim-btn-primary {
    width: auto;
    max-width: none;
    min-height: 56px;
    padding: 1rem 2.4rem;
    font-size: .76rem;
  }
  /* Desktop secondary = outline button */
  .mim-hero .mim-btn-ghost {
    min-height: 56px;
    padding: 1rem 2rem;
    font-size: .76rem;
    border: 1px solid var(--mim-deep-rose, #b06a78);
    border-radius: 14px;
    color: var(--mim-deep-rose, #b06a78);
    text-decoration: none;
  }
  .mim-hero .mim-btn-ghost:hover {
    background: var(--mim-deep-rose, #b06a78);
    border-color: var(--mim-deep-rose, #b06a78);
    color: #fff;
  }
}
@media (min-width: 1280px) {
  .mim-hero-media { height: min(800px, calc(100svh - 80px)); }
  .mim-hero-copy {
    width: min(40rem, 42vw);
    padding: 3.25rem 3.5rem 3.5rem;
  }
  .mim-hero-copy h1 { font-size: clamp(3rem, 3vw, 4rem); }
  .mim-hero-copy > span { max-width: 34rem; font-size: 16px; }
}

.mim-category-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 0;
  padding: 0;
}
.mim-category-card {
  position: relative;
  display: block;
  width: auto;
  height: 170px;
  overflow: hidden;
  border-radius: 20px;
  background: #ead2c7;
  box-shadow: 0 10px 24px rgb(69 38 30 / .08);
}
body.mim-theme .mim-category-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--mim-ease); }
.mim-category-card:hover img { transform: scale(1.045); }
.mim-category-card span { position: absolute; inset: 0; background: linear-gradient(to top, rgb(0 0 0 / .72), rgb(0 0 0 / .25) 55%, transparent); }
.mim-category-card strong,
.mim-category-card em { position: absolute; left: 14px; right: 14px; color: #fff; }
.mim-category-card strong { bottom: 30px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.55rem; line-height: 1.05; }
.mim-category-card em { bottom: 12px; font-style: normal; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .82; }
@media (min-width: 768px) {
  .mim-category-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
  .mim-category-card { height: 320px; }
  .mim-category-card strong { bottom: 3rem; font-size: 2.1rem; left: 1.25rem; right: 1.25rem; }
  .mim-category-card em { bottom: 1.5rem; font-size: .72rem; left: 1.25rem; right: 1.25rem; }
}
@media (min-width: 1100px) {
  .mim-category-grid { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
  .mim-category-card { height: 380px; }
  .mim-category-card strong { font-size: 2.25rem; }
}

.mim-editorial-section {
  padding: clamp(3rem, 7vw, 6rem) 0;
  border-block: 1px solid rgb(229 225 224 / .8);
  background: #fff;
}
.mim-product-grid,
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mim-empty-products {
  grid-column: 1 / -1;
  border: 1px dashed var(--mim-border);
  background: var(--mim-soft);
  padding: 2rem;
  color: var(--mim-muted);
  text-align: center;
  line-height: 1.7;
}
.mim-no-products {
  width: 100%;
  border: 1px dashed var(--mim-border) !important;
  background: var(--mim-soft) !important;
  padding: 2rem !important;
  color: var(--mim-muted) !important;
  text-align: center;
}
.mim-no-products p { margin: 0 0 1rem; }
.mim-no-products .mim-btn-primary { color: #fff !important; }
@media (min-width: 768px) { .mim-product-grid, .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); gap: 2.5rem 1.75rem; } }
@media (min-width: 1180px) { .mim-product-grid, .woocommerce ul.products { grid-template-columns: repeat(4, 1fr); } }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none;
  width: auto;
  margin: 0;
}
.mim-product-card {
  position: relative;
  display: flex;
  height: 100%;
  min-width: 0;
  flex-direction: column;
}
.mim-product-card-media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: .88 / 1;
  background: #fff;
  transition: transform .35s var(--mim-ease);
}
.mim-product-card:hover .mim-product-card-media { transform: translateY(-2px); }
.mim-product-card-image-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .7rem;
}
.mim-product-card-image-wrap img {
  width: auto;
  max-width: 112%;
  max-height: 112%;
  object-fit: contain;
  transform: scale(1.04);
  transition: transform .4s var(--mim-ease);
}
.mim-product-card:hover .mim-product-card-image-wrap img { transform: scale(1.08); }

/* ===== Flat cards — no shadows, clean borders only (v1.0.165) =====
   Removes box-shadow on every card in all states and kills hover-lift
   transforms that read as a drop shadow. Borders carry the definition. */
.mim-product-card,
.mim-product-card-media,
.mim-category-card,
.mim-story-card,
.mim-value-card,
.mim-product-card:hover,
.mim-product-card:focus,
.mim-product-card:focus-within,
.mim-product-card:active,
.mim-category-card:hover,
.mim-category-card:focus,
.mim-category-card:active,
.mim-story-card:hover,
.mim-story-card:focus,
.mim-story-card:focus-within,
.mim-story-card:active,
.mim-value-card:hover,
.mim-value-card:focus,
.mim-value-card:active {
  box-shadow: none !important;
}
/* Kill the hover/active lift on the card body itself (image zoom inside stays) */
.mim-product-card:hover .mim-product-card-media,
.mim-story-card:hover,
.mim-value-card:hover {
  transform: none !important;
}
.mim-badge {
  position: absolute;
  top: .55rem;
  left: .55rem;
  z-index: 2;
  display: inline-flex;
  border-radius: 999px;
  padding: .38rem .58rem;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .13em;
  line-height: 1;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 20px rgb(30 24 22 / .08);
}
.mim-badge-sale { border: 1px solid oklch(0.43 0.11 15); background: var(--mim-deep-rose); color: #fff; }
.mim-product-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: .85rem .12rem .2rem;
}
.mim-product-card-body h3 {
  min-height: 2.35rem;
  margin: .25rem 0 .5rem;
  font-size: .98rem;
  line-height: 1.2;
}
.mim-product-card-body h3 a:hover { color: var(--mim-deep-rose); }
.mim-rating {
  display: flex;
  align-items: center;
  gap: .15rem;
  color: var(--mim-gold);
}
.mim-rating .mim-icon { fill: currentColor; }
.mim-rating span {
  margin-left: .25rem;
  color: var(--mim-muted);
  font-size: .68rem;
}
.mim-price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  display: flex;
  align-items: baseline;
  gap: .55rem;
  margin: 0;
  color: var(--mim-foreground);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .08em;
}
.mim-price del,
.woocommerce div.product p.price del,
.woocommerce ul.products li.product .price del { color: var(--mim-muted); opacity: .6; }
.mim-price ins,
.woocommerce div.product p.price ins,
.woocommerce ul.products li.product .price ins { color: oklch(0.42 0.14 18); text-decoration: none; }

/* ---------- Quick add-to-cart icon button (overlaid on product image) ---------- */
.mim-product-card-media { position: relative; }
.mim-card-add {
  position: absolute;
  bottom: .6rem;
  inset-inline-end: .6rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 11px;
  background: #fff;
  color: var(--mim-foreground);
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 2px 8px rgb(0 0 0 / .16);
  transition: background .18s var(--mim-ease), color .18s var(--mim-ease), transform .18s var(--mim-ease), opacity .18s var(--mim-ease);
}
.mim-card-add:hover {
  background: var(--mim-deep-rose);
  color: #fff;
  transform: scale(1.06);
}
.mim-card-add:active { transform: scale(.92); }
.mim-card-add .mim-icon { stroke: currentColor; stroke-width: 2.6; width: 16px; height: 16px; }
.mim-card-add.loading { opacity: .6; pointer-events: none; }
/* Hide WooCommerce's auto-injected "View cart" text link after ajax add */
.mim-card-add + .added_to_cart,
.mim-product-card-media .added_to_cart { display: none !important; }

/* ---------- Promo banner (Hair Care Essentials) ----------
 * Mobile: content is vertically centered over an even, darker overlay so the
 * text never collides with the busy product clusters in the photo. Headline,
 * subtext and button form one balanced, centered column with generous padding.
 * Desktop (>=768px) keeps the editorial left-light / right gradient treatment.
 */
.mim-promo-banner {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  color: #fff;
  text-align: center;
}
body.mim-theme .mim-promo-banner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
}
.mim-promo-banner > div:first-of-type {
  position: absolute;
  inset: 0;
  background: rgb(43 22 19 / .28);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.mim-promo-banner .mim-container {
  position: relative;
  display: flex;
  min-height: 420px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.mim-promo-banner .mim-section-subtitle {
  color: var(--mim-blush);
  font-size: 10px;
  letter-spacing: .22em;
}
.mim-promo-banner h2 {
  margin: .75rem 0 1rem;
  color: #fff;
  font-size: clamp(2rem, 8vw, 2.8rem);
  line-height: 1.08;
  font-weight: 500;
  text-wrap: balance;
  text-shadow: 0 1px 14px rgb(30 15 12 / .35);
}
.mim-promo-banner h2 span {
  color: var(--mim-blush);
  font-style: normal;
  font-weight: 400;
}
.mim-promo-banner p:not(.mim-section-subtitle) {
  max-width: 22rem;
  margin: 0 auto 1.75rem;
  color: rgb(255 255 255 / .9);
  line-height: 1.65;
  font-size: .92rem;
  text-shadow: 0 1px 10px rgb(30 15 12 / .3);
}
.mim-promo-banner .mim-btn-primary {
  margin-top: .25rem;
  background: rgb(255 255 255 / .92);
  color: var(--mim-foreground);
  border-radius: 12px;
}
.mim-promo-banner .mim-btn-primary:hover {
  background: #fff;
}
@media (min-width: 768px) {
  .mim-promo-banner { min-height: 0; padding: 7rem 0; }
  body.mim-theme .mim-promo-banner img { object-position: center; }
  .mim-promo-banner .mim-container {
    min-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .mim-promo-banner > div:first-of-type {
    background: rgb(43 22 19 / .26);
  }
  .mim-promo-banner h2 { font-size: clamp(2.4rem, 5.5vw, 3.8rem); line-height: 1; margin: .5rem 0 .9rem; }
  .mim-promo-banner p:not(.mim-section-subtitle) { max-width: 28rem; font-size: 1rem; margin-bottom: 1.5rem; }
}

.mim-page-header {
  border-bottom: 1px solid rgb(229 225 224 / .8);
  background: #fff;
}
.mim-page-header-inner {
  max-width: 58rem;
  margin: 0 auto;
  padding: 2.25rem 1rem;
  text-align: center;
}
.woocommerce-breadcrumb { color: var(--mim-muted); font-size: .78rem; }
.mim-page-header-inner p { color: var(--mim-muted); font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }
.mim-shop-layout {
  display: flex;
  gap: 2.25rem;
  padding-top: 3rem;
  padding-bottom: 4rem;
}
.mim-shop-sidebar { display: none; width: 14rem; flex-shrink: 0; border-right: 1px solid var(--mim-border); padding-right: 1.5rem; }
.mim-shop-filter-block { border-top: 1px solid var(--mim-border); padding: 1.5rem 0; }
.mim-shop-filter-block h2 {
  margin-bottom: .75rem;
  color: var(--mim-muted);
  font-family: "Outfit", Arial, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.mim-shop-filter-block ul { list-style: none; margin: 0; padding: 0; }
.mim-shop-filter-block a,
.mim-shop-filter-block li a {
  display: block;
  padding: .42rem .5rem;
  color: var(--mim-muted);
  font-size: .92rem;
}
.mim-shop-filter-block a:hover { color: var(--mim-deep-rose); background: oklch(0.52 0.12 15 / .05); }
.mim-shop-products { flex: 1; min-width: 0; }
.mim-shop-toolbar { display: flex; justify-content: flex-end; margin-bottom: 1.5rem; border-bottom: 1px solid var(--mim-border); padding-bottom: 1rem; }
@media (max-width: 1023.98px) {
  .mim-shop-toolbar { display: none; }
  .mim-shop-layout { padding-top: 1.25rem; padding-bottom: 2.5rem; }
}

/* ---------- Mobile shop controls ----------
 * Every row lives inside .mim-container so it shares the exact same left/right
 * gutter as the product grid below. One vertical rhythm (single gap), so the
 * count, chips, filter/sort row and grid all read as one aligned column:
 *
 *   [Showing all N results]              ← one line only (header count hidden on mobile)
 *   [Category chips ............ →]      ← full-width horizontal scroll, bleeds to gutter edges
 *   [Filter & Sort]   [Default sorting]  ← one row; stacks full-width when too narrow
 *   [Product grid]
 */
.mim-mobile-shop-controls {
  display: block;
  padding: 1.1rem 0 1.35rem;
  border-bottom: 1px solid var(--mim-border);
}
.mim-mobile-shop-controls .mim-container {
  --mim-shop-gutter: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 640px) {
  .mim-mobile-shop-controls .mim-container { --mim-shop-gutter: 1.5rem; }
}
.mim-mobile-shop-controls__count {
  margin: 0;
  color: var(--mim-muted);
  font-size: .82rem;
  letter-spacing: .04em;
  text-align: center;
}
.mim-mobile-shop-controls__count .woocommerce-result-count {
  margin: 0;
  color: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  text-align: center;
}

/* Chips: full-bleed horizontal scroll. The wrap breaks out of the container
 * gutter so chips can scroll edge-to-edge, but scroll-padding re-introduces the
 * same gutter inside, so the first chip lines up with the count/grid and the
 * last chip can scroll fully into view (never half-cut at rest). */
.mim-cat-chips-wrap {
  position: relative;
  margin-inline: calc(var(--mim-shop-gutter, 1rem) * -1);
}
.mim-cat-chips-wrap::before,
.mim-cat-chips-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1.25rem;
  pointer-events: none;
  z-index: 1;
}
.mim-cat-chips-wrap::before {
  left: 0;
  background: linear-gradient(to right, #fff, rgba(255,255,255,0));
}
.mim-cat-chips-wrap::after {
  right: 0;
  background: linear-gradient(to left, #fff, rgba(255,255,255,0));
}
.mim-cat-chips {
  display: flex;
  gap: .5rem;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  /* same gutter as .mim-container, applied as scroll padding so first/last chip
   * align to the grid edges and the last chip clears the right fade fully */
  padding-inline: var(--mim-shop-gutter, 1rem);
  scroll-padding-inline: var(--mim-shop-gutter, 1rem);
  padding-block: .15rem;
}
.mim-cat-chips::-webkit-scrollbar { display: none; }
.mim-cat-chip {
  flex-shrink: 0;
  scroll-snap-align: start;
  display: inline-flex;
  align-items: center;
  padding: .55rem 1rem;
  border-radius: 999px;
  border: 1px solid var(--mim-border);
  background: #fff;
  color: var(--mim-foreground);
  font-size: .82rem;
  font-weight: 500;
  letter-spacing: .01em;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.mim-cat-chip:last-child { margin-right: var(--mim-shop-gutter, 1rem); } /* trailing breathing room past the fade */
.mim-cat-chip:hover { border-color: var(--mim-deep-rose); color: var(--mim-deep-rose); }
.mim-cat-chip.is-active {
  background: var(--mim-deep-rose);
  border-color: var(--mim-deep-rose);
  color: #fff;
}

/* Sorting dropdown stands alone on its own row, full width, gutter-aligned. */
.mim-mobile-shop-controls__row {
  display: flex;
  margin: 0;
}
.mim-mobile-shop-controls__sort {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}
.mim-mobile-shop-controls__sort .woocommerce-ordering { margin: 0; width: 100%; }
.mim-mobile-shop-controls__sort .woocommerce-ordering .orderby,
.mim-mobile-shop-controls__sort select.orderby {
  width: 100%;
  height: 44px;
  margin: 0;
  padding: 0 2.5rem 0 1rem;
  border: 1px solid var(--mim-border);
  border-radius: 12px;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1917' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right .85rem center / 14px 14px;
  color: var(--mim-foreground);
  font-size: .9rem;
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.mim-mobile-shop-controls__sort .woocommerce-ordering .orderby:focus,
.mim-mobile-shop-controls__sort select.orderby:focus {
  outline: none;
  border-color: var(--mim-deep-rose);
  box-shadow: 0 0 0 3px rgba(var(--mim-accent-rgb), .12);
}

@media (min-width: 1024px) { .mim-mobile-shop-controls { display: none; } }

/* On mobile the centered page-header result count is redundant with the
 * left-aligned mobile-controls count — show only the controls one. */
@media (max-width: 1023.98px) {
  .mim-page-header-inner p { display: none; }
}

.woocommerce .woocommerce-ordering select {
  border: 1px solid var(--mim-border);
  border-radius: 999px;
  background: #fff;
  padding: .65rem 1rem;
  color: var(--mim-foreground);
}
@media (min-width: 1024px) { .mim-shop-sidebar { display: block; } }

.mim-product-detail-grid {
  display: grid;
  gap: 2rem;
  padding-bottom: 4rem;
}
.mim-breadcrumb-wrap { padding-top: 1.2rem; padding-bottom: 1.2rem; }
.mim-product-gallery { min-width: 0; }
.mim-product-main-image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1.05;
  background: #fff;
}
.mim-product-main-link {
  display: block;
  width: 100%;
  cursor: zoom-in;
}
.mim-product-main-image img { max-width: 100%; max-height: 100%; object-fit: contain; }
.mim-product-lightbox[hidden] { display: none; }
.mim-product-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.mim-product-lightbox__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgb(17 10 9 / .86);
  backdrop-filter: blur(8px);
}
.mim-product-lightbox__dialog {
  position: relative;
  z-index: 1;
  width: min(96vw, 980px);
  max-height: 92vh;
  border-radius: 24px;
  background: linear-gradient(180deg, rgb(255 255 255 / .08), rgb(255 255 255 / .03));
  border: 1px solid rgb(255 255 255 / .14);
  box-shadow: 0 32px 120px rgb(0 0 0 / .38);
  overflow: hidden;
}
.mim-product-lightbox__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem 1rem;
  color: #fff;
}
.mim-product-lightbox__hint {
  margin: 0;
  color: rgb(255 255 255 / .82);
  font-size: .8rem;
  letter-spacing: .04em;
}
.mim-product-lightbox__actions {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}
.mim-product-lightbox__action,
.mim-product-lightbox__close {
  display: inline-flex;
  min-width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(255 255 255 / .16);
  border-radius: 999px;
  background: rgb(255 255 255 / .12);
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.mim-product-lightbox__action:hover,
.mim-product-lightbox__close:hover {
  transform: translateY(-1px);
  background: rgb(255 255 255 / .2);
  border-color: rgb(255 255 255 / .3);
}
.mim-product-lightbox__close {
  font-size: 1.5rem;
}
.mim-product-lightbox__stage {
  position: relative;
  display: flex;
  min-height: min(72vh, 720px);
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 1rem;
  cursor: zoom-in;
  touch-action: none;
}
.mim-product-lightbox__stage.is-zoomed {
  cursor: grab;
}
.mim-product-lightbox__stage.is-dragging {
  cursor: grabbing;
}
.mim-product-lightbox__dialog img {
  display: block;
  max-width: 100%;
  max-height: calc(88vh - 5.8rem);
  object-fit: contain;
  border-radius: 18px;
  background: #fff;
  user-select: none;
  -webkit-user-drag: none;
  transform-origin: center center;
  transition: transform .24s ease, opacity .24s ease;
  will-change: transform;
}
.mim-lightbox-open { overflow: hidden; }
.mim-product-summary { min-width: 0; }
.mim-product-cat {
  margin: 0 0 .75rem;
  color: var(--mim-deep-rose);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.mim-product-summary h1 { margin-bottom: 1rem; font-size: clamp(2.1rem, 5vw, 3.2rem); line-height: 1.03; }
.mim-pdp-rating { margin-bottom: 1.5rem; }
.mim-pdp-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .6rem;
  margin-bottom: 1.6rem;
  font-family: "Outfit", Arial, sans-serif;
  font-size: clamp(2rem, 4vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.05;
  font-variant-numeric: lining-nums tabular-nums;
}
.mim-pdp-price .amount { letter-spacing: -.03em; }
.mim-pdp-price del { color: var(--mim-muted); opacity: .5; font-size: 1.05rem; font-weight: 500; }
.mim-pdp-price ins { color: oklch(0.42 0.14 18); text-decoration: none; }
.mim-pdp-price del .amount,
.mim-pdp-price ins .amount { font: inherit; }
.mim-pdp-excerpt { max-width: 30rem; margin-bottom: 1.7rem; color: var(--mim-muted); line-height: 1.9; }
.mim-pdp-badges { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.8rem; margin-left: 0; }
.mim-pdp-badges span {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  border: 1px solid oklch(0.9 0.035 20);
  border-radius: 999px;
  background: oklch(0.96 0.02 20);
  color: oklch(0.45 0.1 18);
  padding: .35rem .75rem;
  font-size: .68rem;
  font-weight: 700;
}
.mim-pdp-cart {
  border-top: none;
  padding-top: 0;
  margin-bottom: 0;
}
.mim-pdp-cta-row .added_to_cart,
.mim-pdp-cart .added_to_cart,
.mim-pdp-cart form.cart .added_to_cart,
.woocommerce div.product form.cart .added_to_cart {
  display: none !important;
}
.mim-pdp-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
}
@media (max-width: 640px) {
  .mim-pdp-cta-row {
    flex-direction: column;
    align-items: stretch;
  }
  .mim-pdp-cta-row .mim-pdp-cart {
    display: flex;
    width: 100%;
  }
  .mim-pdp-cta-row .mim-pdp-cart form.cart {
    flex: 1;
    width: 100%;
  }
  .mim-pdp-cta-row .mim-pdp-cart form.cart .button {
    flex: 1;
  }
  .mim-pdp-whatsapp {
    width: 100%;
    justify-content: center;
  }
}
.mim-pdp-cart form.cart,
.woocommerce div.product form.cart,
.woocommerce article.product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  margin: 0 !important;
  flex-wrap: nowrap !important;
  flex-shrink: 0;
}
.mim-pdp-cart form.cart::before,
.mim-pdp-cart form.cart::after,
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after {
  display: none !important;
}
.mim-pdp-cart form.cart .quantity,
.woocommerce div.product form.cart .quantity {
  margin: 0 !important;
  float: none !important;
}
.woocommerce .quantity .qty {
  width: 3.2rem;
  height: 46px;
  border: 1.5px solid oklch(0.82 0.04 280);
  border-radius: 10px;
  text-align: center;
  font-size: .9rem;
  font-weight: 600;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 2px 8px rgba(var(--mim-accent-rgb), .06);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.woocommerce .quantity .qty:focus {
  border-color: var(--mim-accent);
  box-shadow: 0 0 0 3px rgba(var(--mim-accent-rgb), .15);
  outline: none;
}
.mim-pdp-cart .single_add_to_cart_button,
.mim-pdp-cart form.cart .button,
.woocommerce div.product form.cart .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--mim-accent) 0%, var(--mim-accent-dark) 100%);
  color: #fff;
  box-shadow: 0 2px 8px rgba(var(--mim-accent-rgb), .2);
  font-weight: 600;
  font-size: .82rem;
  letter-spacing: 0;
  text-transform: none;
  padding: 0 1.4rem !important;
  margin: 0;
  box-sizing: border-box;
  white-space: nowrap;
  line-height: 1;
  border: 1.5px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease;
}
.woocommerce div.product form.cart .button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(var(--mim-accent-rgb), .3);
  background: linear-gradient(135deg, var(--mim-accent-dark) 0%, var(--mim-accent-dark) 100%);
}
.mim-pdp-whatsapp {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .4rem;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  box-sizing: border-box;
  border: 1.5px solid #25d366;
  border-radius: 10px;
  background: #fff;
  color: #128c4e !important;
  padding: 0 1.4rem !important;
  margin: 0;
  font-size: .82rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.mim-pdp-whatsapp:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgb(37 211 102 / .15);
  background: rgb(37 211 102 / .04);
}
.mim-pdp-whatsapp__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #25d366;
  flex-shrink: 0;
}
.mim-pdp-whatsapp__icon svg { width: 18px; height: 18px; }
.mim-pdp-whatsapp__copy { display: inline; }
.mim-delivery-card {
  border: 1px solid oklch(0.94 0.008 48);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, oklch(0.99 0.004 280) 100%);
  padding: 1.25rem 1.4rem 1.4rem;
  margin-bottom: 1.4rem;
  box-shadow: 0 1px 2px rgb(30 24 22 / .02);
}
.mim-delivery-card__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: 1.4rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid oklch(0.95 0.008 48);
}
.mim-delivery-card__head p {
  margin: 0;
  color: var(--mim-foreground);
  font-size: .88rem;
  font-weight: 600;
  letter-spacing: -.005em;
}
.mim-delivery-card__head small {
  color: var(--mim-muted);
  font-size: .72rem;
  font-weight: 500;
  white-space: nowrap;
}
.mim-delivery-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mim-delivery-timeline::before {
  content: "";
  position: absolute;
  top: 18px;
  left: calc(16.67% + 18px);
  right: calc(16.67% + 18px);
  height: 2px;
  background: oklch(0.92 0.012 280);
  border-radius: 1px;
  z-index: 0;
}
.mim-delivery-timeline::after {
  content: "";
  position: absolute;
  top: 18px;
  left: calc(16.67% + 18px);
  right: calc(16.67% + 18px);
  height: 2px;
  border-radius: 1px;
  z-index: 0;
  background: var(--mim-accent);
  transform-origin: left center;
  transform: scaleX(var(--mim-timeline-fill, 0));
  transition: transform .3s ease;
}
body.mim-rtl .mim-delivery-timeline::after {
  transform-origin: right center;
}
.mim-delivery-node {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  text-align: center;
  z-index: 1;
}
.mim-delivery-node__dot {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  border: 2px solid oklch(0.92 0.012 280);
  color: oklch(0.6 0.04 280);
  transition: all .2s ease;
}
.mim-delivery-node.is-done .mim-delivery-node__dot {
  background: linear-gradient(135deg, var(--mim-accent) 0%, var(--mim-accent-dark) 100%);
  border-color: var(--mim-accent);
  color: #fff;
  box-shadow: 0 4px 12px rgba(var(--mim-accent-rgb), .25);
}
.mim-delivery-node__dot svg {
  width: 16px;
  height: 16px;
  stroke-width: 2;
}
.mim-delivery-node__label {
  font-size: .76rem;
  font-weight: 600;
  color: var(--mim-foreground);
  letter-spacing: -.005em;
}
.mim-delivery-node.is-done .mim-delivery-node__label {
  color: var(--mim-accent-dark);
}
.mim-delivery-node__date {
  font-size: .68rem;
  font-weight: 500;
  color: var(--mim-muted);
  letter-spacing: .01em;
}
@media (max-width: 480px) {
  .mim-delivery-card {
    padding: 1rem 1.1rem 1.2rem;
  }
  .mim-delivery-card__head {
    flex-direction: column;
    align-items: flex-start;
    gap: .15rem;
    margin-bottom: 1.2rem;
    padding-bottom: .85rem;
  }
  .mim-delivery-card__head small {
    white-space: normal;
  }
  .mim-delivery-node__dot {
    width: 32px;
    height: 32px;
  }
  .mim-delivery-node__dot svg {
    width: 14px;
    height: 14px;
  }
  .mim-delivery-timeline::before {
    top: 16px;
  }
  .mim-delivery-node__label {
    font-size: .72rem;
  }
  .mim-delivery-node__date {
    font-size: .64rem;
  }
}
.mim-related-wrap { padding-bottom: 5rem; }
.related.products > h2 { margin-bottom: 2rem; text-align: center; font-size: clamp(2rem, 5vw, 3rem); }
@media (min-width: 1024px) {
  .mim-product-detail-grid { grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr); gap: 4rem; padding-top: 1rem; align-items: start; }
  .mim-product-gallery { position: sticky; top: 7rem; align-self: start; }
  .mim-product-summary {
    max-width: 540px;
    padding-right: 1rem;
  }
  .mim-pdp-price {
    margin-bottom: 1.35rem;
  }
  .mim-pdp-excerpt {
    max-width: 34rem;
  }
  .mim-pdp-cta-row {
    flex-wrap: nowrap;
    align-items: center;
    gap: .85rem;
  }
  .mim-pdp-cart {
    padding-top: 0;
    border-top: 0;
    margin-bottom: 0;
  }
  .woocommerce div.product form.cart {
    min-height: 56px;
  }
  .woocommerce .quantity .qty {
    height: 56px;
    width: 3.6rem;
    font-size: 1rem;
    border-radius: 12px;
  }
  .mim-pdp-cart .single_add_to_cart_button,
  .mim-pdp-cart form.cart .button,
  .woocommerce div.product form.cart .button {
    flex: 1 1 auto;
    min-width: 0;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    font-size: .98rem;
    padding: 0 1.9rem !important;
    border-radius: 12px;
  }
  .mim-pdp-whatsapp {
    width: auto;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    margin: 0;
    flex-shrink: 0;
    font-size: .98rem;
    padding: 0 1.9rem !important;
    border-radius: 12px;
    gap: .55rem;
  }
  .mim-pdp-whatsapp__icon svg {
    width: 22px;
    height: 22px;
  }
  .mim-pdp-whatsapp__copy {
    text-align: left;
  }
  .mim-pdp-tabs .panel,
  .mim-pdp-tabs .woocommerce-Tabs-panel {
    font-size: 1.05rem;
    line-height: 1.9;
  }
  .mim-pdp-tabs .mim-tab-content h2,
  .mim-pdp-tabs .mim-tab-content h3,
  .mim-pdp-tabs .mim-tab-content h4 {
    font-size: 1.6rem;
  }
}

.mim-stories-section {
  padding: clamp(3rem, 7vw, 5.5rem) 0;
  background: linear-gradient(180deg, #fff 0%, oklch(0.985 0.006 48) 100%);
  border-block: 1px solid rgb(229 225 224 / .6);
}
.mim-stories-section .mim-section-heading {
  margin-bottom: 2.5rem;
  text-align: center;
  align-items: center;
  justify-content: center;
}
.mim-stories-section .mim-section-heading .mim-section-subtitle,
.mim-stories-section .mim-section-heading .mim-section-title {
  text-align: center;
  width: 100%;
}
.mim-stories-carousel {
  position: relative;
  width: 100%;
  cursor: grab;
  /* Native horizontal scroll — autoplay drives scrollLeft, finger scrolls natively */
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: auto;
  touch-action: pan-x;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
  user-select: none;
  -webkit-user-select: none;
}
.mim-stories-carousel::-webkit-scrollbar { display: none; }
@media (max-width: 640px) {
  .mim-stories-carousel {
    -webkit-mask-image: none;
    mask-image: none;
  }
}
.mim-stories-carousel.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
}
.mim-stories-track {
  display: flex;
  gap: 1.25rem;
  padding: 1rem clamp(1rem, 4vw, 2rem);
  width: max-content;
}
.mim-story-card {
  flex: 0 0 auto;
  width: clamp(240px, 78vw, 290px);
  border-radius: 20px;
  background: #fff;
  overflow: hidden;
  border: 1px solid oklch(0.93 0.012 48);
  box-shadow: 0 4px 24px rgb(65 35 30 / .06);
  transition: transform .3s var(--mim-ease), box-shadow .3s var(--mim-ease);
  display: flex;
  flex-direction: column;
}
.mim-story-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 48px rgb(65 35 30 / .12);
}
.mim-story-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: oklch(0.96 0.006 48);
  border: 0;
  padding: 0;
  cursor: zoom-in;
  display: block;
}
.mim-story-card__media img,
.mim-story-card__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
  transition: transform .5s var(--mim-ease);
}
.mim-story-card:hover .mim-story-card__media img,
.mim-story-card:hover .mim-story-card__media video {
  transform: scale(1.04);
}
.mim-story-card__zoom {
  position: absolute;
  top: .75rem;
  right: .75rem;
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgb(255 255 255 / .92);
  color: var(--mim-foreground);
  box-shadow: 0 4px 12px rgb(30 24 22 / .12);
  pointer-events: none;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .2s ease, transform .2s ease;
  backdrop-filter: blur(4px);
}
.mim-story-card:hover .mim-story-card__zoom {
  opacity: 1;
  transform: translateY(0);
}
.mim-story-card__body {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: 1.1rem 1.15rem 1.25rem;
  /* Soft blush wash under the image — warms the card without going heavy */
  background: linear-gradient(180deg, #fff 0%, var(--mim-blush-mist) 100%);
}
.mim-story-card__rating {
  display: flex;
  gap: .15rem;
  color: var(--mim-gold);
}
.mim-story-card__rating svg { fill: currentColor; }
.mim-story-card__text {
  position: relative;
  margin: 0;
  color: var(--mim-foreground);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.4;
  letter-spacing: -.005em;
}
/* Branded opening quote mark in deep-rose */
.mim-story-card__text::before {
  content: "\201C";
  font-family: "Cormorant Garamond", Georgia, serif;
  color: var(--mim-deep-rose);
  font-size: 1.6em;
  line-height: 0;
  margin-right: .12em;
  vertical-align: -.28em;
  opacity: .85;
}
.mim-story-card__name {
  margin: 0;
  /* Rose accent on the customer name ties it to the site palette */
  color: var(--mim-deep-rose);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .mim-story-card {
    width: 300px;
  }
  .mim-stories-track { gap: 1.5rem; }
}
@media (min-width: 1100px) {
  .mim-story-card {
    width: 320px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mim-stories-track { transform: none !important; }
  .mim-stories-carousel {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .mim-story-card { scroll-snap-align: start; }
}

.mim-stories-lightbox[hidden] { display: none; }
.mim-stories-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 4vw, 2rem);
  animation: mim-lb-fade .25s ease;
}
@keyframes mim-lb-fade { from { opacity: 0; } to { opacity: 1; } }
.mim-stories-lightbox__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgb(8 5 5 / .82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
}
.mim-stories-lightbox__close {
  position: fixed;
  top: clamp(.85rem, 3vw, 1.25rem);
  right: clamp(.85rem, 3vw, 1.25rem);
  z-index: 2;
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: rgb(255 255 255 / .14);
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.mim-stories-lightbox__close:hover {
  transform: scale(1.06);
  background: rgb(255 255 255 / .26);
}
.mim-stories-lightbox__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(92vw, 1100px);
  max-height: 88vh;
  animation: mim-lb-pop .28s var(--mim-ease) both;
}
@keyframes mim-lb-pop {
  from { opacity: 0; transform: scale(.96); }
  to { opacity: 1; transform: scale(1); }
}
.mim-stories-lightbox__stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-height: 88vh;
  cursor: zoom-in;
  touch-action: none;
}
.mim-stories-lightbox__stage.is-zoomed { cursor: grab; }
.mim-stories-lightbox__stage.is-panning { cursor: grabbing; }
.mim-stories-lightbox__stage img,
.mim-stories-lightbox__stage video {
  display: block;
  max-width: 100%;
  max-height: 88vh;
  object-fit: contain;
  border-radius: 14px;
  background: #000;
  user-select: none;
  -webkit-user-drag: none;
  transform-origin: center center;
  transition: transform .2s ease;
  will-change: transform;
  box-shadow: 0 30px 80px rgb(0 0 0 / .5);
}
body.mim-stories-lightbox-open { overflow: hidden; }
body.mim-stories-lightbox-open .whatsapp-float { display: none; }

@media (max-width: 640px) {
  .mim-stories-lightbox__dialog {
    width: 92vw;
    max-height: 85vh;
  }
  .mim-stories-lightbox__stage,
  .mim-stories-lightbox__stage img,
  .mim-stories-lightbox__stage video {
    max-height: 85vh;
  }
}
.mim-content-page { padding-top: 4rem; padding-bottom: 5rem; }
.mim-entry-content { max-width: 54rem; color: var(--mim-muted); line-height: 1.9; }
.mim-not-found { text-align: center; }
.mim-not-found p { color: var(--mim-muted); }
.mim-about-hero {
  position: relative;
  display: flex;
  min-height: 360px;
  align-items: center;
  overflow: hidden;
  color: #fff;
}
body.mim-theme .mim-about-hero img,
.mim-about-hero > div:first-of-type { position: absolute; inset: 0; width: 100%; height: 100%; }
body.mim-theme .mim-about-hero img { object-fit: cover; object-position: 62% center; }
.mim-about-hero > div:first-of-type { background: linear-gradient(to right, rgb(32 18 16 / .72), rgb(32 18 16 / .34) 48%, rgb(32 18 16 / .08)); }
.mim-about-hero .mim-container { position: relative; }
.mim-about-hero h1 { color: #fff; font-size: clamp(3rem, 8vw, 5.5rem); line-height: .95; }
.mim-about-story { display: grid; gap: 2.5rem; }
.mim-about-story p { color: var(--mim-muted); line-height: 1.9; }
.mim-about-lead { color: var(--mim-foreground) !important; font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.55rem; line-height: 1.35 !important; }
.mim-values-section { border-block: 1px solid var(--mim-border); padding: clamp(3.5rem, 7vw, 5rem) 0; }
.mim-values-grid { display: grid; gap: 1rem; }
.mim-value-card {
  border: 1px solid var(--mim-border);
  background: #fff;
  padding: 1.5rem;
  box-shadow: 0 14px 38px rgb(30 24 22 / .055);
}
.mim-value-card svg { color: var(--mim-deep-rose); margin-bottom: 1rem; }
.mim-value-card h3 { margin-bottom: .4rem; font-size: 1.2rem; }
.mim-value-card p { margin: 0; color: var(--mim-muted); line-height: 1.7; }
.mim-contact-grid { display: grid; gap: 2rem; align-items: start; }
.mim-contact-copy h2 { max-width: 34rem; font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1; }
.mim-contact-copy p { color: var(--mim-muted); line-height: 1.8; }
.mim-contact-copy ul { list-style: none; margin: 2rem 0 0; padding: 0; }
.mim-contact-copy li,
.mim-contact-copy a { display: flex; align-items: center; gap: .7rem; color: var(--mim-muted); margin-bottom: .9rem; }
.mim-contact-form {
  border: 1px solid var(--mim-border);
  background: #fff;
  padding: 1.25rem;
  box-shadow: 0 18px 48px rgb(30 24 22 / .07);
}
.mim-contact-form label { display: block; margin-bottom: 1rem; color: var(--mim-muted); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.mim-contact-form input,
.mim-contact-form textarea {
  display: block;
  width: 100%;
  margin-top: .45rem;
  border: 1px solid var(--mim-border);
  padding: .8rem;
  color: var(--mim-foreground);
  outline-color: var(--mim-deep-rose);
}
.mim-faq-list { max-width: 52rem; }
.mim-faq-item { border-bottom: 1px solid var(--mim-border); padding: 1.25rem 0; }
.mim-faq-item summary { cursor: pointer; font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.35rem; font-weight: 600; }
.mim-faq-item p { color: var(--mim-muted); line-height: 1.8; }
@media (min-width: 900px) {
  .mim-about-hero { min-height: 520px; }
  .mim-about-story { grid-template-columns: .9fr 1.1fr; gap: 4rem; }
  .mim-values-grid { grid-template-columns: repeat(4, 1fr); }
  .mim-contact-grid { grid-template-columns: .9fr 1.1fr; gap: 4rem; }
}
.woocommerce-cart .mim-content-page,
.woocommerce-checkout .mim-content-page,
.woocommerce-account .mim-content-page {
  max-width: 1120px;
}

/* Classic WooCommerce checkout — premium MIM layout */
.woocommerce-checkout .mim-content-page {
  max-width: 1240px;
}
.woocommerce-checkout .mim-entry-content {
  max-width: none;
  width: 100%;
}
.woocommerce-checkout .woocommerce {
  --mim-checkout-card: #fff;
  --mim-checkout-soft: oklch(0.985 0.004 29);
  --mim-checkout-border: rgb(191 170 164 / .55);
  --mim-checkout-shadow: 0 22px 60px rgb(30 24 22 / .08);
}
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon {
  width: 100%;
  max-width: none;
  margin: 0 0 1rem;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .65rem;
  min-height: 58px;
  margin: 0;
  padding: .95rem 1.05rem;
  overflow: hidden;
  border: 1px solid rgb(191 170 164 / .45);
  border-radius: 24px;
  background: linear-gradient(135deg, var(--mim-checkout-soft), #fff 58%, rgb(255 247 249 / .92));
  color: var(--mim-muted);
  box-shadow: 0 16px 42px rgb(30 24 22 / .055);
  font-size: .92rem;
  line-height: 1.45;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
  display: none !important;
  content: none !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  margin-inline-start: .25rem;
  padding: .38rem .82rem;
  border: 1px solid rgb(158 47 73 / .16);
  border-radius: 999px;
  background: rgb(158 47 73 / .08);
  color: var(--mim-accent);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .18s var(--mim-ease), background .18s var(--mim-ease), border-color .18s var(--mim-ease), transform .18s var(--mim-ease), box-shadow .18s var(--mim-ease);
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon:hover,
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon:focus,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a:hover,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a:focus {
  border-color: rgb(158 47 73 / .28);
  background: rgb(158 47 73 / .12);
  color: var(--mim-accent-dark);
  box-shadow: 0 8px 22px rgb(158 47 73 / .12);
  transform: translateY(-1px);
  outline: none;
}
.woocommerce-checkout form.checkout_coupon {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: stretch;
  padding: 1rem;
  border: 1px solid rgb(191 170 164 / .42);
  border-radius: 24px;
  background:
    linear-gradient(135deg, #fff, rgb(255 247 249 / .92)),
    var(--mim-checkout-soft);
  box-shadow: 0 18px 48px rgb(30 24 22 / .06);
  animation: mim-checkout-soft-reveal .22s var(--mim-ease) both;
}
.woocommerce-checkout form.checkout_coupon::before,
.woocommerce-checkout form.checkout_coupon::after,
.woocommerce-checkout form.checkout_coupon .clear {
  display: none !important;
  content: none !important;
}
.woocommerce-checkout form.checkout_coupon .form-row {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout form.checkout_coupon .form-row-first {
  min-width: 0;
}
.woocommerce-checkout form.checkout_coupon input.input-text,
.woocommerce-checkout form.checkout_coupon #coupon_code {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgb(191 170 164 / .58);
  border-radius: 16px;
  background: var(--mim-checkout-soft);
  color: var(--mim-foreground);
  padding: .88rem 1rem;
  box-shadow: inset 0 1px 2px rgb(255 255 255 / .86);
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.woocommerce-checkout form.checkout_coupon input.input-text::placeholder,
.woocommerce-checkout form.checkout_coupon #coupon_code::placeholder {
  color: rgb(94 76 72 / .62);
}
.woocommerce-checkout form.checkout_coupon input.input-text:focus,
.woocommerce-checkout form.checkout_coupon #coupon_code:focus {
  border-color: var(--mim-accent);
  background: #fff;
  box-shadow: 0 0 0 4px rgb(158 47 73 / .11);
}
.woocommerce-checkout form.checkout_coupon .button,
.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"] {
  min-height: 48px;
  white-space: nowrap;
  border: 0;
  border-radius: 999px;
  background: #9e2f49;
  background-image: linear-gradient(135deg, #9e2f49, #c8526d);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  padding: .85rem 1.3rem;
  box-shadow: 0 12px 28px rgb(158 47 73 / .18);
  letter-spacing: .08em;
}
.woocommerce-checkout form.checkout_coupon .button:hover,
.woocommerce-checkout form.checkout_coupon .button:focus,
.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]:hover,
.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]:focus {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgb(158 47 73 / .24);
  outline: none;
}
@keyframes mim-checkout-soft-reveal {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}
.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, 1fr);
  grid-template-areas:
    "customer reviewhead"
    "customer review";
  gap: clamp(1.25rem, 2vw, 2rem);
  align-items: start;
  width: 100%;
  max-width: none;
}
.woocommerce-checkout form.checkout > #customer_details {
  grid-area: customer;
}
.woocommerce-checkout form.checkout > #order_review_heading {
  grid-area: reviewhead;
}
.woocommerce-checkout form.checkout > #order_review {
  grid-area: review;
}
.woocommerce-checkout form.checkout > #customer_details,
.woocommerce-checkout form.checkout > #order_review {
  min-width: 0;
  background: var(--mim-checkout-card);
  border: 1px solid var(--mim-checkout-border);
  border-radius: 28px;
  box-shadow: var(--mim-checkout-shadow);
  padding: clamp(1.2rem, 2vw, 1.75rem);
}
.woocommerce-checkout form.checkout > #order_review_heading {
  margin: .15rem 0 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--mim-foreground);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.7rem, 2.2vw, 2.05rem);
  line-height: 1.05;
  letter-spacing: -.02em;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  float: none;
  width: 100%;
  padding: 0;
  margin: 0;
}
.woocommerce-checkout #customer_details .col-2 {
  margin-top: 1.35rem;
}
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
}
.woocommerce-checkout #customer_details .woocommerce-additional-fields {
  margin-top: 1.35rem;
}
.woocommerce-checkout #customer_details .woocommerce-billing-fields > h3,
.woocommerce-checkout #customer_details .woocommerce-additional-fields > h3 {
  margin: 0 0 1rem;
  color: var(--mim-foreground);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.55rem, 2vw, 1.9rem);
  line-height: 1.08;
  letter-spacing: -.02em;
}
.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout #customer_details .woocommerce-additional-fields__field-wrapper {
  width: 100%;
}
.woocommerce-checkout #customer_details .form-row {
  float: none !important;
  width: 100% !important;
  clear: both;
  margin: 0 0 1rem;
  padding: 0;
}
.woocommerce-checkout #customer_details .form-row-first,
.woocommerce-checkout #customer_details .form-row-last,
.woocommerce-checkout #customer_details .form-row-wide {
  float: none !important;
  width: 100% !important;
}
.woocommerce-checkout #customer_details .form-row label {
  display: block;
  margin-bottom: .45rem;
  color: var(--mim-muted);
  font-size: .88rem;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: .01em;
  text-transform: none;
  word-break: normal;
}
.woocommerce-checkout #customer_details .form-row .required {
  color: var(--mim-deep-rose);
  text-decoration: none;
}
.woocommerce-checkout #customer_details input.input-text,
.woocommerce-checkout #customer_details input.mim-checkout-manual-location,
.woocommerce-checkout #customer_details input[data-mim-city-mode="manual"],
.woocommerce-checkout #customer_details textarea,
.woocommerce-checkout #customer_details select,
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  border: 1px solid rgb(191 170 164 / .6);
  border-radius: 16px;
  background: var(--mim-checkout-soft);
  padding: .95rem 1rem;
  box-shadow: inset 0 1px 2px rgb(255 255 255 / .85);
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.woocommerce-checkout #customer_details textarea {
  min-height: 120px;
  resize: vertical;
}
.woocommerce-checkout #customer_details input.input-text:focus,
.woocommerce-checkout #customer_details input.mim-checkout-manual-location:focus,
.woocommerce-checkout #customer_details input[data-mim-city-mode="manual"]:focus,
.woocommerce-checkout #customer_details textarea:focus,
.woocommerce-checkout #customer_details select:focus,
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single:focus,
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single:focus-within {
  border-color: var(--mim-deep-rose);
  box-shadow: 0 0 0 4px rgb(158 47 73 / .11);
  background: #fff;
  outline: none;
}
.woocommerce-checkout #customer_details .select2-container {
  width: 100% !important;
}
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-left: 0;
  padding-right: 1.5rem;
  color: var(--mim-foreground);
  font-size: .92rem;
  line-height: 1.4;
}
.woocommerce-checkout #customer_details #billing_country,
.woocommerce-checkout #customer_details .country_select,
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__rendered[title*="🇦🇪"],
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__rendered[title*="🇸🇦"],
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__rendered[title*="🇰🇼"],
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__rendered[title*="🇶🇦"],
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__rendered[title*="🇧🇭"],
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__rendered[title*="🇴🇲"] {
  font-size: .9rem;
  letter-spacing: .01em;
}
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px;
  right: .55rem;
}
.woocommerce-checkout #customer_details .mim-area-toggle {
  display: inline-block;
  margin-top: .5rem;
  font-size: .82rem;
  font-weight: 600;
  color: var(--mim-deep-rose);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  transition: opacity .15s ease;
}
.woocommerce-checkout #customer_details .mim-area-toggle:hover {
  opacity: .7;
}
body.mim-rtl .woocommerce-checkout #customer_details .mim-area-toggle {
  text-align: right;
}
/* Make the area dropdown's "no results" row read as a clickable action. */
.select2-container--open .select2-results__message {
  cursor: pointer;
  color: var(--mim-deep-rose);
  font-weight: 600;
  font-size: .9rem;
  padding: .7rem .9rem;
  border-radius: 10px;
  transition: background-color .15s ease;
}
.select2-container--open .select2-results__message:hover {
  background: rgb(158 47 73 / .08);
}
/* Area field locked until a city is chosen. */
.woocommerce-checkout #customer_details .mim-area-locked .select2-selection,
.woocommerce-checkout #customer_details .mim-area-locked select {
  opacity: .55;
  cursor: not-allowed;
  background: #f3f1f2;
}
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-account-fields {
  display: none !important;
}
body.woocommerce-checkout .whatsapp-float {
  display: none !important;
}
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table,
.woocommerce-checkout #order_review .shop_table {
  width: 100%;
  max-width: 100%;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  border-collapse: collapse;
  table-layout: fixed;
  word-break: break-word;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead {
  display: none;
}
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td {
  border: 0;
  padding: .85rem 0;
  vertical-align: middle;
  font-size: .95rem;
  line-height: 1.4;
}
.woocommerce-checkout #order_review tbody tr.cart_item + tr.cart_item td,
.woocommerce-checkout #order_review tbody tr.cart_item td {
  border-top: 1px solid rgb(191 170 164 / .22);
}
.woocommerce-checkout #order_review tbody tr.cart_item:first-child td {
  border-top: 0;
}
.woocommerce-checkout #order_review tbody tr.cart_item td.product-name {
  width: auto;
  text-align: start;
  padding-inline-end: 1rem;
}
.woocommerce-checkout #order_review tbody tr.cart_item td.product-total {
  width: 32%;
  min-width: 110px;
  text-align: right;
  white-space: nowrap;
  font-weight: 600;
}
.woocommerce-checkout #order_review tfoot tr th,
.woocommerce-checkout #order_review tfoot tr td {
  padding: .55rem 0;
  font-size: .95rem;
  line-height: 1.4;
  vertical-align: middle;
  word-break: break-word;
}
.woocommerce-checkout #order_review tfoot tr th {
  width: 60%;
  text-align: start;
  font-weight: 500;
  color: var(--mim-muted, #6b7280);
  white-space: normal;
  min-width: 0;
}
.woocommerce-checkout #order_review tfoot tr td {
  width: 40%;
  text-align: right;
  font-weight: 600;
  color: var(--mim-foreground, #1c1917);
  white-space: nowrap;
  min-width: 0;
  overflow-wrap: anywhere;
}
.woocommerce-checkout #order_review tfoot tr.shipping td,
.woocommerce-checkout #order_review tfoot tr.woocommerce-shipping-totals td {
  text-align: right;
  white-space: nowrap;
  min-width: 0;
}
.woocommerce-checkout #order_review tfoot tr + tr th,
.woocommerce-checkout #order_review tfoot tr + tr td {
  border-top: 1px dashed rgb(191 170 164 / .26);
}
.woocommerce-checkout #order_review tfoot tr.order-total th,
.woocommerce-checkout #order_review tfoot tr.order-total td {
  padding-top: 1rem;
  padding-bottom: .35rem;
  border-top: 1px solid rgb(191 170 164 / .55);
  font-size: 1.08rem;
  font-weight: 700;
  color: var(--mim-foreground, #1c1917);
}
.woocommerce-checkout #order_review .amount,
.woocommerce-checkout #order_review .woocommerce-Price-amount {
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  unicode-bidi: isolate;
  font-variant-numeric: tabular-nums;
}
.woocommerce-checkout #order_review .woocommerce-Price-amount bdi {
  display: inline-block;
  white-space: nowrap;
  unicode-bidi: isolate;
}
.woocommerce-checkout #order_review .woocommerce-Price-currencySymbol {
  margin-inline-start: .3rem;
  font-weight: 600;
  font-size: .9em;
  color: var(--mim-muted, #6b7280);
}
.woocommerce-checkout #order_review tr.order-total .woocommerce-Price-currencySymbol {
  color: inherit;
  font-size: .85em;
}
.woocommerce-checkout #order_review tr.shipping td,
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals td {
  text-align: right;
  white-space: nowrap;
}
.woocommerce-checkout #order_review tr.shipping ul#shipping_method,
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals .woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-checkout #order_review tr.shipping ul#shipping_method li,
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals .woocommerce-shipping-methods li {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
}
.woocommerce-checkout #order_review tr.shipping ul#shipping_method li::before,
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals .woocommerce-shipping-methods li::before {
  content: none !important;
}
.woocommerce-checkout #order_review tr.shipping ul#shipping_method label,
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals .woocommerce-shipping-methods label {
  display: inline;
  margin: 0;
  font-weight: 600;
  white-space: nowrap;
}
.woocommerce-checkout #order_review tr.shipping ul#shipping_method label .woocommerce-Price-amount {
  margin-inline-start: .15rem;
}
.woocommerce-checkout #order_review tr.shipping ul#shipping_method input[type="radio"] {
  margin-inline-end: .35rem;
}

/* Product row: image | name+qty stacked | price */
.woocommerce-checkout-review-order-table .mim-checkout-review-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  text-align: start;
}
.woocommerce-checkout-review-order-table .mim-checkout-review-item__thumb {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 12px;
  overflow: hidden;
  background: #faf6f4;
  border: 1px solid rgb(191 170 164 / .25);
}
.woocommerce-checkout-review-order-table .mim-checkout-review-item__image,
.woocommerce-checkout-review-order-table .mim-checkout-review-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.woocommerce-checkout-review-order-table .mim-checkout-review-item__content {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.woocommerce-checkout-review-order-table .mim-checkout-review-item__title {
  font-weight: 600;
  font-size: .94rem;
  line-height: 1.35;
  color: var(--mim-foreground, #1c1917);
}
.woocommerce-checkout-review-order-table .product-name strong.product-quantity {
  display: inline-block;
  margin-top: .15rem;
  font-size: .82rem;
  font-weight: 500;
  color: var(--mim-muted, #6b7280);
}
@media (max-width: 600px) {
  .woocommerce-checkout #order_review th,
  .woocommerce-checkout #order_review td {
    font-size: .92rem;
  }
  .woocommerce-checkout-review-order-table .mim-checkout-review-item__thumb {
    width: 48px;
    height: 48px;
  }
  .woocommerce-checkout #order_review tbody tr.cart_item td.product-total {
    min-width: 90px;
  }
}
.woocommerce-checkout #order_review #payment {
  margin-top: 1.25rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgb(191 170 164 / .38);
  background: transparent;
}
.woocommerce-checkout #order_review #payment ul.payment_methods {
  display: grid;
  gap: .85rem;
  padding: 0;
  border: 0;
  margin: 0 0 1rem;
  background: transparent;
}
.woocommerce-checkout #order_review #payment ul.payment_methods::before,
.woocommerce-checkout #order_review #payment ul.payment_methods::after {
  display: none !important;
  content: none !important;
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 1rem;
  overflow: hidden;
  border: 1px solid rgb(191 170 164 / .46);
  border-radius: 22px;
  background:
    linear-gradient(135deg, #fff, rgb(255 248 250 / .9)),
    var(--mim-checkout-soft);
  box-shadow: 0 12px 32px rgb(30 24 22 / .045);
  transition: border-color .18s var(--mim-ease), box-shadow .18s var(--mim-ease), background .18s var(--mim-ease), transform .18s var(--mim-ease);
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method:hover {
  border-color: rgb(158 47 73 / .28);
  box-shadow: 0 16px 38px rgb(30 24 22 / .065);
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method:has(input.input-radio:checked) {
  border-color: rgb(158 47 73 / .42);
  background:
    radial-gradient(circle at 100% 0%, rgb(255 226 234 / .8), transparent 32%),
    linear-gradient(135deg, #fff, rgb(255 248 250 / .96));
  box-shadow: 0 18px 44px rgb(158 47 73 / .095);
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method > input.input-radio {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method > label {
  position: relative;
  display: flex;
  min-height: 30px;
  align-items: center;
  gap: .75rem;
  margin: 0;
  padding: 0 0 0 2.2rem;
  color: var(--mim-foreground);
  font-size: .94rem;
  font-weight: 700;
  line-height: 1.35;
  cursor: pointer;
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method > label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 20px;
  height: 20px;
  border: 1px solid rgb(158 47 73 / .34);
  border-radius: 999px;
  background: #fff;
  box-shadow: inset 0 0 0 4px #fff;
  transform: translateY(-50%);
  transition: border-color .18s var(--mim-ease), background .18s var(--mim-ease), box-shadow .18s var(--mim-ease);
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method:has(input.input-radio:checked) > label::before {
  border-color: var(--mim-accent);
  background: var(--mim-accent);
  box-shadow: inset 0 0 0 5px #fff, 0 0 0 4px rgb(158 47 73 / .1);
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method > input.input-radio:focus-visible + label::before {
  box-shadow: inset 0 0 0 4px #fff, 0 0 0 4px rgb(158 47 73 / .16);
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method > label {
  flex-wrap: wrap;
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method label img:not(.mim-pay-icon) {
  max-height: 24px;
  margin-left: .35rem;
  vertical-align: middle;
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method .mim-pay-icons {
  display: inline-flex;
  flex-basis: 100%;
  align-items: center;
  gap: .5rem;
  margin: .35rem 0 0;
  padding: 0;
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method .mim-pay-icon {
  display: inline-block;
  width: auto;
  height: 24px;
  max-height: 24px;
  margin: 0;
  padding: 2px 6px;
  background: #fff;
  border: 1px solid rgb(191 170 164 / .42);
  border-radius: 6px;
  box-shadow: 0 1px 2px rgb(30 24 22 / .04);
  vertical-align: middle;
  object-fit: contain;
}
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method .mim-pay-icon--card {
  padding: 3px 8px;
}
@media (max-width: 480px) {
  .woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method .mim-pay-icon {
    height: 22px;
    max-height: 22px;
  }
}
.woocommerce-checkout #order_review #payment div.payment_box {
  position: relative;
  margin: .85rem 0 0;
  padding: .85rem .95rem .9rem;
  border: 1px solid rgb(158 47 73 / .12);
  border-radius: 16px;
  background: rgb(255 247 249 / .72);
  color: var(--mim-muted);
  box-shadow: none;
  font-size: .88rem;
  line-height: 1.55;
}
.woocommerce-checkout #order_review #payment div.payment_box p {
  margin: 0;
}
.woocommerce-checkout #order_review #payment div.payment_box::before,
.woocommerce-checkout #order_review #payment div.payment_box::after {
  display: none !important;
  content: none !important;
}
.woocommerce-checkout #order_review #payment .woocommerce-terms-and-conditions-wrapper {
  margin: .9rem 0 0;
  color: var(--mim-muted);
  font-size: .82rem;
  line-height: 1.55;
}
.woocommerce-checkout #order_review #payment .woocommerce-privacy-policy-text p {
  margin: 0;
}
.woocommerce-checkout #order_review #payment .woocommerce-privacy-policy-link {
  color: var(--mim-accent);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.woocommerce-checkout #order_review #payment .place-order {
  padding: 0;
  margin: 1rem 0 0;
}
.woocommerce-checkout #place_order,
.woocommerce-checkout .woocommerce-checkout-payment .button.alt {
  width: 100%;
  min-height: 54px;
  border: 0;
  border-radius: 999px;
  background: #9e2f49;
  background-image: linear-gradient(135deg, #9e2f49, #c8526d);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  font-weight: 700;
  letter-spacing: .02em;
  box-shadow: 0 14px 30px rgb(158 47 73 / .2);
}
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout .woocommerce-checkout-payment .button.alt:hover,
.woocommerce-checkout #place_order:focus,
.woocommerce-checkout .woocommerce-checkout-payment .button.alt:focus {
  transform: translateY(-1px);
  box-shadow: 0 16px 36px rgb(158 47 73 / .24);
}
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
  border-radius: 18px;
  border-width: 1px;
  padding: 1rem 1.1rem;
}
@media (max-width: 1024px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "customer"
      "reviewhead"
      "review";
  }
  .woocommerce-checkout form.checkout > #order_review_heading {
    margin-top: .25rem;
  }
}
@media (max-width: 640px) {
  .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
  .woocommerce-checkout form.checkout_coupon,
  .woocommerce-checkout form.checkout > #customer_details,
  .woocommerce-checkout form.checkout > #order_review {
    border-radius: 22px;
    padding: 1rem;
  }
  .woocommerce-checkout #customer_details .col-2 {
    margin-top: 1rem;
  }
  .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    min-height: 0;
    font-size: .88rem;
  }
  .woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon,
  .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
    margin: 0;
  }
  .woocommerce-checkout form.checkout_coupon {
    grid-template-columns: 1fr;
    gap: .7rem;
  }
  .woocommerce-checkout form.checkout_coupon .button,
  .woocommerce-checkout form.checkout_coupon button[name="apply_coupon"] {
    width: 100%;
  }
  .woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method {
    padding: .9rem;
    border-radius: 18px;
  }
  .woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method > label {
    align-items: flex-start;
    padding-left: 2rem;
    font-size: .9rem;
  }
  .woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method > label::before {
    top: .08rem;
    transform: none;
  }
  .woocommerce-checkout #order_review #payment div.payment_box {
    padding: .8rem;
    font-size: .85rem;
  }
}
.woocommerce-checkout .woocommerce table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-checkout form.login,
.woocommerce-checkout form.register {
  border: 1px solid var(--mim-border);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 48px rgb(30 24 22 / .055);
}
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-cart__submit-button:visited,
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:focus,
.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text,
.woocommerce-cart .wc-block-cart__submit-button span,
.woocommerce-cart .wc-block-cart__submit-button div,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:visited,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.mim-footer {
  background: linear-gradient(180deg, oklch(0.18 0.014 285) 0%, oklch(0.14 0.014 285) 100%);
  color: #fff;
}
.mim-footer-newsletter {
  border-bottom: 1px solid rgb(255 255 255 / .08);
}
.mim-footer-newsletter-inner {
  max-width: 48rem;
  padding-top: clamp(2.5rem, 5vw, 3.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
  text-align: center;
}
.mim-footer-newsletter h2 {
  color: #fff;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.05;
  letter-spacing: -.015em;
}
.mim-footer-newsletter p:not(.mim-section-subtitle) {
  max-width: 34rem;
  margin: 1rem auto 1.75rem;
  color: rgb(255 255 255 / .58);
  line-height: 1.7;
  font-size: .92rem;
}
.mim-newsletter-form {
  display: flex;
  max-width: 34rem;
  margin: 0 auto;
  border: 1px solid rgb(255 255 255 / .14);
  border-radius: 999px;
  background: rgb(255 255 255 / .04);
  padding: .35rem;
  transition: border-color .2s ease, background .2s ease;
}
.mim-newsletter-form:focus-within {
  border-color: rgb(255 255 255 / .28);
  background: rgb(255 255 255 / .06);
}
.mim-newsletter-form input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #fff;
  padding: .8rem 1.1rem;
  outline: 0;
  font-size: .88rem;
}
.mim-newsletter-form input::placeholder { color: rgb(255 255 255 / .42); text-align: center; }
.mim-newsletter-form input:placeholder-shown { text-align: center; }
.mim-newsletter-form button {
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--mim-foreground);
  padding: .75rem 1.5rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease;
}
.mim-newsletter-form button:hover {
  background: oklch(0.95 0.01 280);
  transform: translateY(-1px);
}

.mim-footer-main {
  display: grid;
  gap: 2.5rem;
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 3rem);
}
.mim-footer h3 {
  margin: 0 0 1.1rem;
  color: #fff;
  font-family: "Outfit", Arial, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.mim-footer-brand p {
  max-width: 20rem;
  margin: 0 0 1.5rem;
  color: rgb(255 255 255 / .58);
  line-height: 1.75;
  font-size: .9rem;
}
.mim-footer-brand .mim-logo {
  align-items: flex-start;
  justify-self: start;
}

/* Social icons: identical circles, identical glyph box, monochrome → MIM pink on hover. */
.mim-socials {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-top: .25rem;
}
.mim-social-icon {
  display: inline-flex;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(255 255 255 / .16);
  border-radius: 999px;
  background: rgb(255 255 255 / .04);
  color: rgb(255 255 255 / .72);
  transition: transform .18s var(--mim-ease), background .18s var(--mim-ease), border-color .18s var(--mim-ease), color .18s var(--mim-ease);
}
.mim-social-icon:hover,
.mim-social-icon:focus {
  transform: translateY(-2px);
  border-color: var(--mim-deep-rose);
  background: rgb(255 255 255 / .04);
  color: var(--mim-deep-rose);
  outline: none;
}
.mim-socials img,
.mim-socials svg {
  display: block;
  width: 19px;
  height: 19px;
  object-fit: contain;
  fill: currentColor;
}
.mim-socials svg path { fill: currentColor; }

.mim-footer-menu,
.mim-footer-contact {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mim-footer-menu li { margin: 0 0 .7rem; }
.mim-footer-menu li:last-child { margin-bottom: 0; }
.mim-footer-menu a {
  display: inline-block;
  color: rgb(255 255 255 / .62);
  font-size: .9rem;
  font-weight: 400;
  transition: color .18s ease, transform .18s ease;
}
.mim-footer-menu a:hover,
.mim-footer-menu a:focus {
  color: #fff;
  transform: translateX(2px);
}
.mim-footer-contact li {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin: 0 0 .85rem;
  color: rgb(255 255 255 / .62);
  font-size: .9rem;
}
.mim-footer-contact li:last-child { margin-bottom: 0; }
.mim-footer-contact a {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  color: rgb(255 255 255 / .62);
  font-size: .9rem;
  transition: color .18s ease;
}
.mim-footer-contact a:hover,
.mim-footer-contact a:focus { color: #fff; }
.mim-footer-contact svg {
  flex-shrink: 0;
  color: rgb(255 255 255 / .42);
}
/* RTL footer contact: icon on the RIGHT for every row, text to its left.
   Using direction:rtl + row (not row-reverse) so the icon (first DOM child)
   lands on the right consistently for <li> and <a> alike. unicode-bidi:plaintext
   keeps the phone/email (Latin) reading left-to-right so + and @ are correct. */
body.mim-rtl .mim-footer-contact li,
body.mim-rtl .mim-footer-contact a {
  flex-direction: row;
  direction: rtl;
  justify-content: flex-start;
  text-align: right;
  unicode-bidi: plaintext;
}

.mim-footer-bottom {
  border-top: 1px solid rgb(255 255 255 / .08);
}
.mim-footer-bottom .mim-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .8rem 1.5rem;
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
}
.mim-footer-bottom p {
  margin: 0;
  color: rgb(255 255 255 / .42);
  font-size: .78rem;
  font-weight: 400;
}
.mim-footer-legal {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.mim-footer-legal a {
  color: rgb(255 255 255 / .42);
  font-size: .78rem;
  font-weight: 400;
  transition: color .18s ease;
}
.mim-footer-legal a:hover,
.mim-footer-legal a:focus { color: rgb(255 255 255 / .8); }

@media (min-width: 780px) {
  .mim-footer-main {
    grid-template-columns: 1.5fr 1fr 1fr 1.1fr;
    column-gap: 3rem;
    row-gap: 0;
    align-items: start;
  }
  .mim-footer-bottom .mim-container {
    justify-content: space-between;
  }
}
@media (max-width: 779px) {
  .mim-footer-main {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .mim-footer-brand {
    text-align: left;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgb(255 255 255 / .08);
  }
  .mim-footer h3 { margin-bottom: .85rem; }
  /* Bottom bar stacks centered on mobile. */
  .mim-footer-bottom .mim-container {
    flex-direction: column;
    gap: .9rem;
    text-align: center;
  }
}
@media (max-width: 560px) {
  .mim-newsletter-form {
    flex-direction: column;
    border-radius: 18px;
    padding: .5rem;
    gap: .5rem;
  }
  .mim-newsletter-form button {
    width: 100%;
    border-radius: 14px;
  }
  .mim-newsletter-form input { padding: .85rem 1rem; }
  /* Clearance so the floating WhatsApp button never covers footer legal links. */
  .mim-footer-bottom .mim-container { padding-bottom: 5.5rem; }
}

.whatsapp-float {
  position: fixed;
  right: calc(20px + env(safe-area-inset-right));
  bottom: calc(22px + env(safe-area-inset-bottom));
  z-index: 170;
  display: flex;
  width: 54px;
  height: 54px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(var(--mim-accent-rgb) / .35);
  border-radius: 999px;
  background: var(--mim-blush-mist);
  color: var(--mim-deep-rose);
  box-shadow: 0 10px 26px rgb(var(--mim-accent-rgb) / .14), 0 2px 6px rgb(30 24 22 / .06);
  will-change: transform, box-shadow;
  transition: transform .25s var(--mim-ease), box-shadow .25s var(--mim-ease), background .25s var(--mim-ease), color .25s var(--mim-ease), border-color .25s var(--mim-ease);
}
.whatsapp-float:hover,
.whatsapp-float:focus {
  transform: translateY(-2px);
  background: var(--mim-deep-rose);
  color: #fff;
  border-color: var(--mim-deep-rose);
  box-shadow: 0 14px 32px rgb(var(--mim-accent-rgb) / .3);
  outline: none;
}
.whatsapp-float:active {
  transform: translateY(0);
  box-shadow: 0 8px 18px rgb(var(--mim-accent-rgb) / .18);
}
.whatsapp-float svg {
  display: block;
  width: 24px;
  height: 24px;
  margin: 0;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
}
body.mim-cart-open .whatsapp-float,
html.mim-lightbox-open .whatsapp-float,
html.mim-menu-open .whatsapp-float,
body.woocommerce-checkout .whatsapp-float {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px) scale(.9);
}
@media (max-width: 640px) {
  .whatsapp-float {
    right: calc(16px + env(safe-area-inset-right));
    bottom: calc(18px + env(safe-area-inset-bottom));
    width: 46px;
    height: 46px;
    box-shadow: 0 8px 18px rgb(30 24 22 / .1);
  }
  .whatsapp-float svg {
    width: 20px;
    height: 20px;
  }
}

.reveal { opacity: 0; transform: translateY(30px); transition: opacity .7s var(--mim-ease), transform .7s var(--mim-ease); }
.reveal.visible { opacity: 1; transform: translateY(0); }
.mim-page-transition { animation: mim-page-in .28s var(--mim-ease) both; }
@keyframes mim-page-in { from { opacity: 0; transform: translateY(10px); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
}


/* Linked product swatches — slim horizontal strip */
.mim-linked-swatches {
    margin: 18px 0 22px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.mim-linked-swatches__label {
    margin: 0 0 10px;
    color: var(--mim-foreground);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.mim-linked-swatches__list {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 2px 12px;
    margin: 0;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgb(var(--mim-accent-rgb) / .35) transparent;
}
.mim-linked-swatches__list::-webkit-scrollbar { height: 4px; }
.mim-linked-swatches__list::-webkit-scrollbar-track { background: transparent; }
.mim-linked-swatches__list::-webkit-scrollbar-thumb { background: rgb(var(--mim-accent-rgb) / .25); border-radius: 999px; }

.mim-linked-swatch {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 7px 14px;
    border: 1px solid var(--mim-border);
    border-radius: 999px;
    background: #fff;
    color: var(--mim-foreground);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    scroll-snap-align: start;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.mim-linked-swatch:hover,
.mim-linked-swatch:focus {
    border-color: rgb(var(--mim-accent-rgb) / .55);
    color: var(--mim-deep-rose);
    box-shadow: none;
    transform: none;
    outline: none;
}

.mim-linked-swatch.is-current {
    border-color: var(--mim-deep-rose);
    background: #fff;
    color: var(--mim-deep-rose);
}

.mim-linked-swatch__color {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--mim-swatch-color, #ddd);
    border: 1px solid rgb(0 0 0 / .08);
    box-shadow: none;
}

.mim-linked-swatch.is-current .mim-linked-swatch__color {
    box-shadow: 0 0 0 1px var(--mim-deep-rose);
}

.mim-linked-swatches--color .mim-linked-swatch {
    padding-left: 10px;
}

/* Image swatches: slim chip with mini thumb on top of label */
.mim-linked-swatches--image .mim-linked-swatches__list {
    gap: 10px;
}
.mim-linked-swatch.has-image {
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 76px;
    min-height: 0;
    padding: 6px 6px 8px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--mim-border);
    text-align: center;
    overflow: hidden;
    box-shadow: none;
}
.mim-linked-swatch.has-image:hover,
.mim-linked-swatch.has-image:focus {
    border-color: rgb(var(--mim-accent-rgb) / .55);
    color: var(--mim-deep-rose);
    transform: none;
    box-shadow: none;
}
.mim-linked-swatch.has-image.is-current {
    border-color: var(--mim-deep-rose);
    background: #fff;
    color: var(--mim-deep-rose);
    box-shadow: none;
}
.mim-linked-swatch__thumb {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 10px;
    background: var(--mim-blush-mist);
}
.mim-linked-swatch__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mim-linked-swatch__caption {
    display: block;
    padding: 0 2px;
    color: var(--mim-muted);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}
.mim-linked-swatch.has-image.is-current .mim-linked-swatch__caption {
    color: var(--mim-deep-rose);
}

@media (max-width: 640px) {
    .mim-linked-swatches {
        margin: 14px -16px 18px;
    }
    .mim-linked-swatches__label {
        margin-left: 16px;
    }
    .mim-linked-swatches__list {
        padding-left: 16px;
        padding-right: 16px;
    }
    .mim-linked-swatch {
        font-size: 0.78rem;
        padding: 6px 12px;
    }
    .mim-linked-swatch.has-image {
        width: 70px;
        padding: 5px 5px 7px;
    }
    .mim-linked-swatch__caption { font-size: 0.66rem; }
}

/* Two-level (matrix) Size + Scent swatches */
.mim-matrix-swatches {
    margin: 16px 0 20px;
}
.mim-matrix-swatches__group + .mim-matrix-swatches__group {
    margin-top: 16px;
}
.mim-matrix-swatches__row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}
.mim-matrix-swatches__sizes .mim-matrix-swatches__row {
    gap: 8px;
}
.mim-matrix-size {
    appearance: none;
    border: 1.5px solid var(--mim-border);
    background: #fff;
    color: var(--mim-foreground);
    font-weight: 600;
    font-size: 0.9rem;
    padding: 9px 20px;
    border-radius: 999px;
    cursor: pointer;
    transition: border-color .2s var(--mim-ease), background .2s var(--mim-ease), color .2s var(--mim-ease);
}
.mim-matrix-size:hover {
    border-color: var(--mim-accent);
}
.mim-matrix-size.is-current {
    border-color: var(--mim-accent);
    background: var(--mim-accent);
    color: #fff;
}
.mim-matrix-swatches__flavors .mim-matrix-swatches__row {
    overflow-x: auto;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
}
.mim-matrix-swatches__flavors .mim-matrix-swatches__row::-webkit-scrollbar { height: 4px; }
.mim-matrix-swatches__flavors .mim-matrix-swatches__row::-webkit-scrollbar-thumb { background: rgb(var(--mim-accent-rgb) / .25); border-radius: 999px; }

@media (max-width: 640px) {
    .mim-matrix-swatches {
        margin: 14px -16px 18px;
    }
    .mim-matrix-swatches__group .mim-linked-swatches__label {
        margin-left: 16px;
    }
    .mim-matrix-swatches__row {
        padding-left: 16px;
        padding-right: 16px;
    }
    .mim-matrix-size {
        font-size: 0.82rem;
        padding: 8px 16px;
    }
}
.mim-breadcrumb-wrap {
  padding-top: 1.25rem;
  color: var(--mim-muted);
  font-size: .82rem;
}

.mim-product-detail-grid {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
  padding-top: clamp(1.4rem, 3vw, 2.4rem);
  padding-bottom: clamp(2.8rem, 6vw, 5.4rem);
}

.mim-product-gallery {
  min-width: 0;
}

.mim-product-main-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border: none;
  background: #fff;
  border-radius: 20px;
  box-shadow: none;
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
}

.mim-product-main-link {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.mim-product-main-image img,
.mim-product-main-image__img {
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: contain;
  object-position: center;
  transition: opacity .12s linear;
}

.mim-product-main-image .mim-badge-sale {
  position: absolute;
  top: .6rem;
  left: .6rem;
  z-index: 2;
  border-radius: 999px;
  background: var(--mim-deep-rose);
  color: #fff;
  padding: .4rem .7rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Gallery dots (mobile swipe indicator) */
.mim-gallery-dots {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: .4rem;
  z-index: 3;
}

.mim-gallery-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  border: none;
  background: rgb(0 0 0 / .15);
  padding: 0;
  cursor: pointer;
  transition: background .18s var(--mim-ease), width .18s var(--mim-ease);
}

.mim-gallery-dot.is-active {
  background: var(--mim-deep-rose);
  width: 18px;
}

.mim-product-gallery-thumbs {
  display: flex;
  gap: .6rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: .8rem .1rem .15rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.mim-product-gallery-thumbs::-webkit-scrollbar {
  display: none;
}

.mim-product-gallery-thumb {
  flex: 0 0 70px;
  width: 70px;
  height: 70px;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 12px;
  background: var(--mim-blush-mist);
  padding: 0;
  opacity: .55;
  cursor: pointer;
  transition: border-color .18s var(--mim-ease), opacity .18s var(--mim-ease);
}

.mim-product-gallery-thumb:hover,
.mim-product-gallery-thumb:focus-visible,
.mim-product-gallery-thumb.is-active {
  border-color: var(--mim-deep-rose);
  opacity: 1;
  outline: 0;
}

.mim-product-gallery-thumb__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mim-product-summary {
  min-width: 0;
}

.mim-product-cat {
  margin: 0 0 .7rem;
  color: var(--mim-deep-rose);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.mim-product-summary h1 {
  max-width: 620px;
  margin-bottom: .9rem;
  font-size: clamp(1.75rem, 4.5vw, 2.8rem);
  line-height: 1.08;
  letter-spacing: -0.01em;
}

.mim-pdp-rating,
.mim-pdp-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}

.mim-pdp-rating {
  color: var(--mim-gold);
  margin-bottom: 1.1rem;
}

.mim-pdp-rating span {
  color: var(--mim-muted);
  font-size: .84rem;
}

.mim-pdp-price {
  margin-bottom: 1.1rem;
  color: var(--mim-foreground);
  font-size: 1.5rem;
  font-weight: 700;
}

.mim-pdp-price del {
  color: var(--mim-muted);
  font-size: .85em;
  font-weight: 500;
}

.mim-pdp-price ins {
  color: var(--mim-deep-rose);
  text-decoration: none;
}

.mim-pdp-excerpt {
  color: var(--mim-muted);
  line-height: 1.85;
  font-size: .92rem;
}

.mim-pdp-badges {
  margin: 1.1rem 0;
}

.mim-pdp-badges span {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: none;
  border-radius: 999px;
  background: var(--mim-blush-mist);
  padding: .45rem .8rem;
  color: var(--mim-deep-rose);
  font-size: .72rem;
  font-weight: 700;
}


.mim-pdp-tabs {
  margin-top: 1.75rem;
  border: none;
  background: transparent;
  padding: 0;
}
.mim-pdp-tabs .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}
.mim-pdp-tabs .woocommerce-tabs ul.tabs::before,
.mim-pdp-tabs .woocommerce-tabs ul.tabs::after { display: none; }
.mim-pdp-tabs .woocommerce-tabs ul.tabs li {
  margin: 0;
  border: 1px solid oklch(0.9 0.008 30);
  border-radius: 999px;
  background: #fff;
  padding: 0;
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .01em;
  transition: background .18s var(--mim-ease), border-color .18s var(--mim-ease), color .18s var(--mim-ease), transform .18s var(--mim-ease);
}
.mim-pdp-tabs .woocommerce-tabs ul.tabs li::before,
.mim-pdp-tabs .woocommerce-tabs ul.tabs li::after { display: none; }
.mim-pdp-tabs .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: .8rem 1.6rem;
  color: var(--mim-muted);
  text-decoration: none;
}
.mim-pdp-tabs .woocommerce-tabs ul.tabs li:hover {
  border-color: oklch(0.82 0.02 30);
  transform: translateY(-1px);
}
.mim-pdp-tabs .woocommerce-tabs ul.tabs li:hover a { color: var(--mim-foreground); }
.mim-pdp-tabs .woocommerce-tabs ul.tabs li.active {
  background: var(--mim-accent);
  border-color: var(--mim-accent);
}
.mim-pdp-tabs .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.mim-pdp-tabs .panel,
.mim-pdp-tabs .woocommerce-Tabs-panel {
  color: var(--mim-muted);
  line-height: 1.85;
  font-size: .92rem;
}
.mim-pdp-tabs .mim-tab-content > :first-child { margin-top: 0; }
.mim-pdp-tabs .mim-tab-content > :last-child { margin-bottom: 0; }
.mim-pdp-tabs .mim-tab-content h2,
.mim-pdp-tabs .mim-tab-content h3,
.mim-pdp-tabs .mim-tab-content h4 {
  margin: 1.4rem 0 .6rem;
  color: var(--mim-foreground);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.3rem;
}
.mim-pdp-tabs .mim-tab-content ul,
.mim-pdp-tabs .mim-tab-content ol {
  margin: .5rem 0 1rem;
  padding-left: 1.25rem;
}
.mim-pdp-tabs .mim-tab-content li { margin-bottom: .4rem; }
.mim-pdp-tabs .woocommerce-tabs .panel > h2:first-child {
  /* Hide WooCommerce's auto "Description" heading inside the panel */
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.mim-related-wrap {
  padding-bottom: clamp(3rem, 6vw, 5rem);
}

@media (min-width: 980px) {
  .mim-product-detail-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
    gap: 4rem;
  }

  .mim-product-gallery {
    position: sticky;
    top: 110px;
  }

  .mim-product-gallery-thumb {
    flex-basis: 80px;
    width: 80px;
    height: 80px;
  }

  .mim-gallery-dots {
    display: none;
  }
}

@media (max-width: 640px) {
  .mim-product-main-image {
    border-radius: 16px;
  }

  .mim-product-main-image img,
  .mim-product-main-image__img {
    aspect-ratio: 1 / 1;
  }

  .mim-product-gallery-thumbs {
    display: none;
  }

  .mim-gallery-dots {
    display: flex;
  }

  .mim-product-gallery-thumb {
    flex-basis: 64px;
    width: 64px;
    height: 64px;
    border-radius: 10px;
  }

  .mim-pdp-cta-row {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: .6rem;
  }
  .mim-pdp-cta-row .mim-pdp-cart {
    width: 100%;
  }
  .mim-pdp-cta-row .mim-pdp-cart form.cart {
    width: 100%;
    flex-wrap: nowrap;
  }
  .mim-pdp-cta-row .mim-pdp-cart form.cart .quantity {
    flex-shrink: 0;
  }
  .mim-pdp-cta-row .mim-pdp-cart form.cart .quantity .qty {
    width: 3rem;
  }
  .mim-pdp-cart .single_add_to_cart_button,
  .woocommerce div.product form.cart .button {
    flex: 1;
    width: auto;
    min-width: 0;
  }
  .mim-pdp-whatsapp {
    width: 100%;
    justify-content: center;
  }

  .mim-product-lightbox {
    padding: .5rem;
  }

  .mim-product-lightbox__dialog {
    width: 100%;
    max-height: 94vh;
  }

  .mim-product-lightbox__toolbar {
    flex-direction: column;
    align-items: flex-start;
    padding: .75rem .8rem;
  }

  .mim-product-lightbox__stage {
    min-height: 62vh;
    padding: .75rem;
  }

  .mim-product-lightbox__dialog img {
    max-height: calc(86vh - 7rem);
  }

  .mim-product-lightbox__close {
    width: 38px;
    height: 38px;
    font-size: 1.45rem;
  }

  .mim-pdp-price {
    font-size: clamp(1.7rem, 9vw, 2.15rem);
  }

  .mim-pdp-whatsapp {
    padding: 0 .9rem;
    font-size: .8rem;
    gap: .4rem;
    height: 44px;
  }

  .mim-pdp-cta-row {
    flex-direction: column;
    gap: .6rem;
  }

  .mim-pdp-whatsapp__icon {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
  }
}

.mim-delivery-estimate__message {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  margin: 0 0 .65rem;
  color: var(--mim-foreground);
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
.mim-delivery-estimate__message svg {
  flex-shrink: 0;
  color: var(--mim-accent);
}
.mim-delivery-estimate__cutoff {
  margin: 0 0 1rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid oklch(0.95 0.008 48);
  color: var(--mim-muted);
  font-size: .76rem;
}
.mim-delivery-estimate__cutoff strong {
  color: var(--mim-accent);
  font-weight: 700;
}
.mim-delivery-estimate .mim-delivery-timeline { margin-top: .25rem; }

/* ============================================================
   Cart drawer
   ============================================================ */
.mim-cart-drawer[hidden] { display: none; }
.mim-cart-drawer {
  position: fixed;
  inset: 0;
  z-index: 200;
  pointer-events: none;
}
.mim-cart-drawer.is-open { pointer-events: auto; }
body.mim-cart-open { overflow: hidden; }
.mim-cart-drawer__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgb(0 0 0 / .35);
  backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity .28s var(--mim-ease);
  cursor: pointer;
}
.mim-cart-drawer.is-open .mim-cart-drawer__backdrop { opacity: 1; }
.mim-cart-drawer__panel {
  position: absolute;
  inset: 0 0 0 auto;
  width: min(100vw, 420px);
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: -18px 0 60px rgb(25 18 14 / .22);
  transform: translateX(100%);
  transition: transform .3s var(--mim-ease);
  overflow: hidden;
}
.mim-cart-drawer.is-open .mim-cart-drawer__panel { transform: translateX(0); }
.mim-cart-drawer__head {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.4rem;
  border-bottom: 1px solid oklch(0.94 0.005 280);
}
.mim-cart-drawer__head h2 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}
.mim-cart-drawer__head .mim-cart-drawer__count {
  display: inline-flex;
  min-width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--mim-accent);
  color: #fff;
  font-family: "Outfit", Arial, sans-serif;
  font-size: .72rem;
  font-weight: 700;
}
.mim-cart-drawer__close {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: oklch(0.97 0.004 280);
  border-radius: 999px;
  color: var(--mim-foreground);
  cursor: pointer;
}
.mim-cart-drawer__close:hover { background: oklch(0.94 0.008 280); }
.mim-cart-drawer__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.mim-cart-drawer.is-loading .mim-cart-drawer__body { opacity: .6; pointer-events: none; transition: opacity .15s ease; }

.mim-cart-drawer__shipping {
  flex-shrink: 0;
  padding: .9rem 1.4rem;
  background: var(--mim-accent-soft);
  border-bottom: 1px solid oklch(0.94 0.005 280);
}
.mim-cart-drawer__shipping.is-unlocked {
  background: oklch(0.96 0.05 145);
}
.mim-cart-drawer__shipping-msg {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 .55rem;
  color: var(--mim-foreground);
  font-size: .85rem;
  font-weight: 600;
}
.mim-cart-drawer__shipping-msg svg {
  flex-shrink: 0;
  color: var(--mim-accent);
}
.mim-cart-drawer__shipping.is-unlocked .mim-cart-drawer__shipping-msg svg {
  color: oklch(0.55 0.15 145);
}
.mim-cart-drawer__shipping-bar {
  position: relative;
  height: 6px;
  border-radius: 999px;
  background: rgb(0 0 0 / .06);
  overflow: hidden;
}
.mim-cart-drawer__shipping-bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--mim-accent), var(--mim-accent-dark));
  transition: width .35s var(--mim-ease);
  border-radius: 999px;
}
.mim-cart-drawer__shipping.is-unlocked .mim-cart-drawer__shipping-bar span {
  background: linear-gradient(90deg, oklch(0.7 0.15 145), oklch(0.55 0.18 145));
}

.mim-cart-drawer__items {
  flex: 1;
  overflow-y: auto;
  padding: .85rem 1rem;
  margin: 0;
  list-style: none;
  -webkit-overflow-scrolling: touch;
}
.mim-cart-drawer__empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 2rem 1.4rem;
  color: var(--mim-muted);
  text-align: center;
}
.mim-cart-drawer__empty svg { color: oklch(0.78 0.012 280); }
.mim-cart-drawer__empty p { margin: 0; font-size: .95rem; }
/* ============================================================
   WooCommerce Blocks Checkout — premium MIM styling
   ============================================================ */
.wc-block-checkout,
.wc-block-cart {
  --wc-block-color-foreground: var(--mim-foreground);
  --wc-block-color-foreground-accent: var(--mim-accent);
  --wc-block-color-foreground-alt: var(--mim-muted);
  --wc-block-border-radius: 12px;
}
.wp-block-woocommerce-checkout {
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(1rem, 4vw, 2.5rem) clamp(1rem, 4vw, 2rem);
}
.wc-block-checkout__main {
  background: #fff;
  border: 1px solid oklch(0.94 0.005 280);
  border-radius: 16px;
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: 0 1px 2px rgb(17 18 24 / .04);
}
.wc-block-components-checkout-step {
  border: none !important;
  padding: 1.25rem 0 .25rem !important;
  background: transparent !important;
}
.wc-block-components-checkout-step + .wc-block-components-checkout-step {
  border-top: 1px solid oklch(0.95 0.005 280) !important;
  margin-top: 1rem;
}
.wc-block-components-checkout-step__title,
.wc-block-components-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  color: var(--mim-foreground) !important;
}
.wc-block-components-checkout-step__heading-content,
.wc-block-components-checkout-step__description {
  color: var(--mim-muted) !important;
  font-size: .85rem;
}

/* Inputs */
.wc-block-components-text-input input,
.wc-block-components-text-input input.has-value,
.wc-block-components-select select,
.wc-block-components-combobox input {
  border: 1px solid oklch(0.9 0.008 280) !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-size: 16px !important;
  padding: 1.1rem 1rem !important;
  height: auto !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox input:focus {
  border-color: var(--mim-accent) !important;
  box-shadow: 0 0 0 3px rgb(var(--mim-accent-rgb) / .12) !important;
  outline: none !important;
}
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-combobox label {
  color: var(--mim-muted) !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-select.is-active label {
  color: var(--mim-accent) !important;
}

/* Place order button */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
  background: var(--mim-accent) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-family: "Outfit", Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: .04em;
  padding: 1.05rem 1.6rem !important;
  font-size: .95rem !important;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
  box-shadow: 0 6px 20px rgb(var(--mim-accent-rgb) / .25);
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover {
  background: var(--mim-accent-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgb(var(--mim-accent-rgb) / .35);
}

/* Order summary sidebar */
.wc-block-components-sidebar,
.wp-block-woocommerce-checkout-totals-block {
  background: oklch(0.985 0.003 280);
  border: 1px solid oklch(0.94 0.005 280);
  border-radius: 16px;
  padding: 1.25rem 1.4rem;
}
.wc-block-components-totals-wrapper { padding: .65rem 0 !important; }
.wc-block-components-totals-item__label { color: var(--mim-muted) !important; }
.wc-block-components-totals-item__value { color: var(--mim-foreground) !important; font-weight: 600; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.4rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  color: var(--mim-accent);
}

/* Notices */
.wc-block-components-notice-banner {
  border-radius: 12px !important;
  border: 1px solid oklch(0.92 0.012 280) !important;
}

/* Mobile */
@media (max-width: 768px) {
  .wp-block-woocommerce-checkout {
    padding: 1rem;
  }
  .wc-block-checkout__main {
    padding: 1rem;
    border-radius: 12px;
  }
}

/* Classic checkout enhancements */
.woocommerce-checkout .woocommerce-privacy-policy-text {
  display: none !important;
}
.woocommerce-checkout #payment .form-row.place-order {
  margin-top: .9rem;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .mim-checkout-review-item {
  display: flex;
  align-items: center;
  gap: .85rem;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .mim-checkout-review-item__thumb {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 12px;
  overflow: hidden;
  background: oklch(0.97 0.004 280);
  border: 1px solid oklch(0.92 0.008 280);
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .mim-checkout-review-item__image,
.woocommerce-checkout .woocommerce-checkout-review-order-table .mim-checkout-review-item__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .mim-checkout-review-item__content {
  min-width: 0;
  flex: 1 1 auto;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .mim-checkout-review-item__title {
  display: block;
  font-weight: 600;
  line-height: 1.35;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .mim-checkout-review-item__title a {
  color: inherit;
  text-decoration: none;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation {
  margin-top: .25rem;
}
@media (max-width: 640px) {
  .woocommerce-checkout .woocommerce-checkout-review-order-table .mim-checkout-review-item__thumb {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
    border-radius: 10px;
  }
}

/* ============================================================
   Hide checkout fields not needed for MIM Beauty.
   These are CSS toggles. Use a checkout field editor plugin
   for the proper data-layer fix. CSS keeps the fields hidden
   from view but they remain in the form data.
   ============================================================ */
/* ============================================================
   Checkout — let the plugin control field visibility/labels.
   The theme only styles the checkout, never hides specific fields.
   ============================================================ */
.woocommerce-cart-form .product-short-description,
.woocommerce-cart-form .product-description,
.woocommerce-cart-form .product-name p:not(.variation),
.woocommerce-cart-form .cart_item .description,
.woocommerce-checkout-review-order-table .product-short-description,
.woocommerce-checkout-review-order-table .product-description,
.woocommerce-checkout-review-order-table .product-name p:not(.variation),
.mim-cart-item__meta p:not(.variation),
.mim-cart-item .product-short-description,
.mim-cart-item .product-description,
/* WooCommerce block-based cart & checkout */
.wc-block-components-product-metadata__description,
.wc-block-cart-item__product .wc-block-components-product-metadata__description,
.wc-block-checkout__main .wc-block-components-product-metadata__description,
.wc-block-cart .wc-block-components-product-metadata__description {
  display: none !important;
}

.mim-cart-drawer__shop {
  display: inline-flex;
  align-items: center;
  padding: .75rem 1.5rem;
  border-radius: 999px;
  background: var(--mim-foreground);
  color: #fff !important;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform .15s ease, background .15s ease;
}
.mim-cart-drawer__shop:hover,
.mim-cart-drawer__shop:focus {
  transform: translateY(-1px);
  background: var(--mim-cocoa);
  color: #fff !important;
}

.mim-cart-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: .85rem;
  padding: .85rem;
  margin-bottom: .65rem;
  border: 1px solid oklch(0.95 0.006 280);
  border-radius: 14px;
  background: #fff;
  transition: border-color .15s ease;
}
.mim-cart-item:hover { border-color: oklch(0.9 0.01 280); }
.mim-cart-item__media {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  background: oklch(0.97 0.004 280);
}
.mim-cart-item__media img,
.mim-cart-item__media a { display: block; width: 100%; height: 100%; }
.mim-cart-item__media img { object-fit: cover; }
.mim-cart-item__info {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: 0;
}
.mim-cart-item__top {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
}
.mim-cart-item__name {
  margin: 0;
  font-family: "Outfit", Arial, sans-serif;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.3;
}
.mim-cart-item__name a { color: var(--mim-foreground); text-decoration: none; }
.mim-cart-item__name a:hover { color: var(--mim-accent); }
.mim-cart-item__remove {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  border-radius: 999px;
  color: oklch(0.6 0.012 280);
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mim-cart-item__remove:hover { background: oklch(0.95 0.008 280); color: var(--mim-accent); }
.mim-cart-item__meta {
  font-size: .72rem;
  color: var(--mim-muted);
}
.mim-cart-item__meta dl, .mim-cart-item__meta p { margin: 0; }
.mim-cart-item__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-top: auto;
}
.mim-cart-item__qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid oklch(0.92 0.008 280);
  border-radius: 999px;
  overflow: hidden;
}
.mim-cart-item__qty button {
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mim-foreground);
  cursor: pointer;
  transition: background .15s ease;
}
.mim-cart-item__qty button:hover { background: oklch(0.96 0.008 280); color: var(--mim-accent); }
.mim-cart-item__qty-value {
  min-width: 28px;
  text-align: center;
  font-size: .82rem;
  font-weight: 600;
}
.mim-cart-item__price {
  font-size: .88rem;
  font-weight: 700;
  color: var(--mim-foreground);
}

.mim-cart-drawer__foot {
  flex-shrink: 0;
  padding: 1rem 1.4rem 1.25rem;
  border-top: 1px solid oklch(0.94 0.005 280);
  background: #fff;
}
.mim-cart-drawer__subtotal {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: .85rem;
  font-size: .92rem;
}
.mim-cart-drawer__subtotal strong {
  font-size: 1.1rem;
  font-weight: 700;
}
.mim-cart-drawer__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: .55rem;
}
.mim-cart-drawer__view,
.mim-cart-drawer__checkout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .85rem 1rem;
  border-radius: 12px;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease;
}
.mim-cart-drawer__view {
  background: oklch(0.97 0.004 280);
  color: var(--mim-foreground);
  border: 1px solid oklch(0.92 0.008 280);
}
.mim-cart-drawer__view:hover { background: oklch(0.95 0.008 280); }
.mim-cart-drawer__checkout,
.mim-cart-drawer__checkout:link,
.mim-cart-drawer__checkout:visited,
.mim-cart-drawer__checkout:hover,
.mim-cart-drawer__checkout:focus,
.mim-cart-drawer__checkout:active {
  background: var(--mim-accent);
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(var(--mim-accent-rgb), .25);
}
.mim-cart-drawer__checkout:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(var(--mim-accent-rgb), .35);
  color: #fff;
}

@media (max-width: 480px) {
  .mim-cart-drawer__panel {
    width: min(86vw, 380px);
  }
}

/* ============================================================
   Order received / Thank-you page
   ============================================================ */
.woocommerce-order {
  max-width: 760px;
  margin: 2.5rem auto 4rem;
  padding: 0 1.25rem;
}

/* Hide the "Order received" page title (the success heading below already conveys it) */
body.woocommerce-order-received .mim-page-article > .mim-section-title,
body.woocommerce-order-received article > h1.mim-section-title {
  display: none !important;
}

/* Hide the stray single-row custom-fields table (duplicate "City") above the delivery card */
.woocommerce-order table.woocommerce-table--custom-fields,
.woocommerce-order table.custom-fields {
  display: none !important;
}
.woocommerce-order .woocommerce-notice--success,
.woocommerce-order .woocommerce-thankyou-order-received {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.7rem, 5vw, 2.4rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--mim-foreground);
  text-align: center;
  margin: 0 0 1.5rem;
  padding: 0;
  border: 0;
  background: none;
}
.woocommerce-order .woocommerce-notice--success::before,
.woocommerce-order .woocommerce-thankyou-order-received::before {
  content: "";
  display: block;
  width: 56px;
  height: 56px;
  margin: 0 auto 1rem;
  border-radius: 50%;
  background: var(--mim-accent-soft, #fdeef0);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%239e2f49' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 28px 28px, cover;
}

/* Order summary bar (number / date / email / total / payment) */
.woocommerce-order ul.woocommerce-order-overview,
.woocommerce-order ul.order_details {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 2rem;
  padding: 1rem 1.25rem;
  background: var(--mim-soft, #fbfaf9);
  border: 1px solid var(--mim-border, #ece9e5);
  border-radius: 16px;
}
.woocommerce-order ul.woocommerce-order-overview li,
.woocommerce-order ul.order_details li {
  flex: 1 1 auto;
  min-width: 120px;
  border: 0;
  padding: .4rem .75rem;
  margin: 0;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mim-muted, #8a8178);
  text-align: center;
  font-weight: 600;
}
.woocommerce-order ul.woocommerce-order-overview li strong,
.woocommerce-order ul.order_details li strong {
  display: block;
  margin-top: .35rem;
  font-family: "Outfit", Arial, sans-serif;
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--mim-foreground);
  word-break: break-word;
}
.woocommerce-order ul.woocommerce-order-overview li + li,
.woocommerce-order ul.order_details li + li {
  border-inline-start: 1px solid var(--mim-border, #ece9e5);
}

/* Section headings */
.woocommerce-order h2,
.woocommerce-order .woocommerce-column__title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--mim-foreground);
  margin: 2rem 0 .85rem;
}

/* Order details table */
.woocommerce-order .woocommerce-table--order-details,
.woocommerce-order table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--mim-border, #ece9e5);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  margin: 0 0 2rem;
}
.woocommerce-order .woocommerce-table--order-details th,
.woocommerce-order table.shop_table th,
.woocommerce-order .woocommerce-table--order-details td,
.woocommerce-order table.shop_table td {
  padding: .9rem 1.1rem;
  text-align: start;
  font-size: .95rem;
  border-bottom: 1px solid var(--mim-border, #f0ede9);
  vertical-align: top;
}
.woocommerce-order table.shop_table thead th {
  background: var(--mim-soft, #fbfaf9);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mim-muted, #8a8178);
  font-weight: 600;
}
.woocommerce-order table.shop_table td.product-total,
.woocommerce-order table.shop_table th.product-total,
.woocommerce-order table.shop_table td.woocommerce-table__product-total {
  text-align: end;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.woocommerce-order table.shop_table tfoot th {
  text-align: start;
  font-weight: 500;
  color: var(--mim-muted, #8a8178);
  background: var(--mim-soft, #fbfaf9);
}
.woocommerce-order table.shop_table tfoot td {
  text-align: end;
  font-weight: 600;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  background: var(--mim-soft, #fbfaf9);
}
.woocommerce-order table.shop_table tfoot tr.order-total th,
.woocommerce-order table.shop_table tfoot tr.order-total td {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--mim-foreground);
}
.woocommerce-order table.shop_table .amount,
.woocommerce-order table.shop_table .woocommerce-Price-amount {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
  white-space: nowrap;
}

/* Addresses */
.woocommerce-order .woocommerce-customer-details {
  margin-top: 1rem;
}
.woocommerce-order .woocommerce-customer-details .woocommerce-columns,
.woocommerce-order .woocommerce-customer-details .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.woocommerce-order .woocommerce-customer-details address {
  padding: 1.1rem 1.25rem;
  border: 1px solid var(--mim-border, #ece9e5);
  border-radius: 16px;
  background: #fff;
  font-style: normal;
  line-height: 1.7;
  font-size: .95rem;
  color: var(--mim-foreground);
}

/* Delivery details card (City / Area / Phone) */
.mim-delivery-card {
  margin: 0 0 2rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--mim-border, #ece9e5);
  border-radius: 16px;
  background: #fff;
}
.mim-delivery-card__title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--mim-foreground);
  margin: 0 0 .85rem;
}
.mim-delivery-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .55rem;
}
.mim-delivery-card__list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0;
  margin: 0;
}
.mim-delivery-card__list li + li {
  padding-top: .55rem;
  border-top: 1px solid var(--mim-border, #f0ede9);
}
.mim-delivery-card__list span {
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mim-muted, #8a8178);
  font-weight: 600;
}
.mim-delivery-card__list strong {
  font-weight: 600;
  color: var(--mim-foreground);
  text-align: end;
}
.mim-delivery-card__list a {
  color: var(--mim-accent);
}

/* WhatsApp contact-about-order button */
.mim-thankyou-help {
  margin: 2rem 0 0;
  padding: 1.5rem 1.25rem;
  text-align: center;
  background: var(--mim-accent-soft, #fdeef0);
  border-radius: 18px;
}
.mim-thankyou-help__text {
  margin: 0 0 1rem;
  font-size: .98rem;
  color: var(--mim-cocoa, #4a3b35);
}
.mim-thankyou-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  padding: .85rem 1.6rem;
  background: #25d366;
  color: #fff !important;
  font-weight: 600;
  font-size: 1rem;
  border-radius: 999px;
  box-shadow: 0 6px 18px rgba(37, 211, 102, .3);
  transition: transform .2s var(--mim-ease), box-shadow .2s var(--mim-ease);
}
.mim-thankyou-whatsapp:hover,
.mim-thankyou-whatsapp:focus {
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(37, 211, 102, .42);
  color: #fff !important;
}
.mim-thankyou-whatsapp svg {
  flex: 0 0 auto;
}

@media (max-width: 600px) {
  .woocommerce-order {
    margin: 1.5rem auto 3rem;
  }
  .woocommerce-order ul.woocommerce-order-overview,
  .woocommerce-order ul.order_details {
    flex-direction: column;
    gap: 0;
    padding: .5rem .75rem;
  }
  .woocommerce-order ul.woocommerce-order-overview li,
  .woocommerce-order ul.order_details li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: start;
    padding: .7rem .5rem;
    min-width: 0;
  }
  .woocommerce-order ul.woocommerce-order-overview li + li,
  .woocommerce-order ul.order_details li + li {
    border-inline-start: 0;
    border-top: 1px solid var(--mim-border, #ece9e5);
  }
  .woocommerce-order ul.woocommerce-order-overview li strong,
  .woocommerce-order ul.order_details li strong {
    margin-top: 0;
    text-align: end;
  }
  .woocommerce-order .woocommerce-customer-details .woocommerce-columns,
  .woocommerce-order .woocommerce-customer-details .col2-set {
    grid-template-columns: 1fr;
  }
  .mim-thankyou-whatsapp {
    width: 100%;
  }
}

/* Infinite scroll status / pager */
.mim-infinite-status {
  text-align: center;
  padding: 1.2rem 0;
  color: var(--mim-muted, #8a8178);
  font-size: .9rem;
  min-height: 1px;
}
.mim-infinite-sentinel {
  height: 1px;
  width: 100%;
}

/* ============================================================
   Language switcher (EN / AR)
   ============================================================ */
.mim-lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 2px;
  border: 1px solid var(--mim-border, #ece9e5);
  border-radius: 999px;
  background: #fff;
  font-family: "Outfit", Arial, sans-serif;
  font-weight: 600;
  font-size: 0.8rem;
  line-height: 1;
  user-select: none;
}
.mim-lang-switch__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 26px;
  padding: 0 12px;
  border-radius: 999px;
  color: var(--mim-muted, #8a8178);
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s var(--mim-ease), background .2s var(--mim-ease);
}
.mim-lang-switch__btn[lang="ar"] {
  font-size: 0.9rem;
}
.mim-lang-switch__btn:hover {
  color: var(--mim-accent);
}
.mim-lang-switch__btn.is-active {
  color: #fff;
  background: var(--mim-accent);
}
/* Mobile drawer: same pill, slightly larger touch targets */
.mim-lang-switch--mobile {
  display: inline-flex;
  margin: 16px 24px;
}
.mim-lang-switch--mobile .mim-lang-switch__btn {
  min-width: 52px;
  height: 34px;
  font-size: 0.9rem;
}
.mim-lang-switch--mobile .mim-lang-switch__btn[lang="ar"] {
  font-size: 1rem;
}
/* RTL: keep EN first, AR second visually reversed naturally */
body.mim-rtl .mim-lang-switch { direction: rtl; }

/* Arabic typography: clean geometric body (Tajawal) + elegant display
   headings (El Messiri) so Arabic matches the theme's serif/sans pairing
   instead of falling back to an ugly system font. */
body.mim-rtl,
body.mim-rtl input,
body.mim-rtl select,
body.mim-rtl textarea,
body.mim-rtl button {
  font-family: "Tajawal", "Outfit", "Segoe UI", Tahoma, sans-serif;
}
body.mim-rtl h1,
body.mim-rtl h2,
body.mim-rtl h3,
body.mim-rtl .mim-section-title,
body.mim-rtl .mim-logo,
body.mim-rtl .mim-hero h1,
body.mim-rtl .mim-section-subtitle {
  font-family: "El Messiri", "Cormorant Garamond", "Tajawal", serif;
}

/* ============================================================
   RTL (Arabic) layout
   ============================================================ */
body.mim-rtl {
  direction: rtl;
  text-align: right;
}
body.mim-rtl input,
body.mim-rtl textarea,
body.mim-rtl select {
  text-align: right;
}
/* Flip horizontal flex rows that rely on document flow */
body.mim-rtl .mim-header-grid,
body.mim-rtl .mim-header-actions,
body.mim-rtl .mim-menu,
body.mim-rtl .mim-footer-menu,
body.mim-rtl .mim-breadcrumb,
body.mim-rtl .mim-matrix-swatches__row,
body.mim-rtl .mim-linked-swatches__list {
  flex-direction: row-reverse;
}
/* Numbers, prices, currency stay LTR for correct rendering */
body.mim-rtl .woocommerce-Price-amount,
body.mim-rtl .amount,
body.mim-rtl .price,
body.mim-rtl bdi,
body.mim-rtl input[type="tel"],
body.mim-rtl input[type="email"],
body.mim-rtl .mim-cart-count {
  direction: ltr;
  unicode-bidi: isolate;
}
/* Keep price blocks aligned to the start (right in RTL) but digits LTR */
body.mim-rtl .price {
  text-align: right;
}
/* Margins/padding that visually point one direction: use logical props where it matters */
body.mim-rtl .mim-cart-count {
  right: auto;
  left: -6px;
}
/* Announcement marquee keeps moving; just mirror text direction */
body.mim-rtl .announcement-marquee-item {
  direction: rtl;
}
/* Drawer slides from the right in RTL (hamburger is on the right side) */
body.mim-rtl .mim-mobile-drawer {
  left: auto;
  right: 0;
  border-right: 0;
  border-left: 1px solid rgb(0 0 0 / .04);
  box-shadow: -18px 0 60px rgb(25 18 14 / .18);
  animation-name: mim-drawer-in-rtl;
}
body.mim-rtl .mim-mobile-close {
  right: auto;
  left: .85rem;
}
/* Cart drawer opens from the RIGHT in RTL too — the cart icon sits on the right
   side of the header in Arabic, so the drawer should slide in from the right
   (same side as the icon). Inherit the default right-anchored panel. */
body.mim-rtl .mim-cart-drawer__panel {
  inset: 0 0 0 auto;
  box-shadow: -18px 0 60px rgb(25 18 14 / .22);
  transform: translateX(100%);
}
body.mim-rtl .mim-cart-drawer.is-open .mim-cart-drawer__panel {
  transform: translateX(0);
}
/* Swatch label alignment */
body.mim-rtl .mim-linked-swatches__label,
body.mim-rtl .mim-matrix-swatches__group .mim-linked-swatches__label {
  text-align: right;
}
/* Order-received + checkout: keep summary value columns sensible */
body.mim-rtl .woocommerce-order ul.order_details li strong,
body.mim-rtl .mim-delivery-card__list strong {
  text-align: left;
}

/* RTL alignment fixes for sections that hard-code left alignment */
body.mim-rtl .mim-hero__content,
body.mim-rtl .mim-promo__content,
body.mim-rtl .mim-section-head,
body.mim-rtl .mim-section-heading,
body.mim-rtl .mim-footer__col,
body.mim-rtl .mim-newsletter,
body.mim-rtl .mim-hero,
body.mim-rtl .mim-promo {
  text-align: right;
}
/* Customer stories heading stays centered even in RTL (overrides the
   right-align above with matching body.mim-rtl specificity). */
body.mim-rtl .mim-stories-section .mim-section-heading,
body.mim-rtl .mim-stories-section .mim-section-title,
body.mim-rtl .mim-stories-section .mim-section-subtitle {
  text-align: center;
}
/* Hero / promo button rows align to the start (right in RTL) */
body.mim-rtl .mim-hero__actions,
body.mim-rtl .mim-hero-actions,
body.mim-rtl .mim-promo__actions,
body.mim-rtl .mim-hero__buttons {
  justify-content: flex-end;
}
/* Footer columns: list items and contact info to the right */
body.mim-rtl .mim-footer a,
body.mim-rtl .mim-footer li,
body.mim-rtl .mim-footer p,
body.mim-rtl .mim-footer h3 {
  text-align: right;
}
/* Keep phone / email rows icon-on-right in RTL footer; data reads LTR via
   plaintext bidi so + and @ are correct. */
body.mim-rtl .mim-footer a[href^="tel:"],
body.mim-rtl .mim-footer a[href^="mailto:"] {
  direction: rtl;
  unicode-bidi: plaintext;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
