/* =====================================================
   RR Mini Cart — v1.5.2
   Brand: A Radiator Boutique / Radox S.R.L.
   v1.6.0: Lottie removed; empty cart now supports static images.
        (bodymovin) init în openDrawer() — rezolvă problema
        de timing când drawer-ul e în DOM dar ascuns CSS.
   ===================================================== */

:root {
  --rr-red:        #800020;
  --rr-red-dark:   #6b001a;
  --rr-gold:       #D9B382;
  --rr-text:       #1A1A1A;
  --rr-muted:      #777777;   /* was #888888 — slightly darker for contrast */
  --rr-muted2:     #999999;   /* secondary muted — was #bbb inline */
  --rr-border:     rgba(0, 0, 0, .10);  /* was .08, slightly more visible */
  --rr-bg:         #ffffff;
  --rr-bg2:        #F9F9F9;
  --rr-dark:       #0f0c09;
  --rr-drawer-w:   440px;
  --rr-ease:       cubic-bezier(.25, .46, .45, .94);
  --rr-f-display:  'Cormorant Garamond', Georgia, serif;
  --rr-f-body:     'Inter', system-ui, sans-serif;
}

/* ── Trigger button ──────────────────────────────────── */

.rr-mc-trigger {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: none !important;
  border: none !important;
  padding: 6px !important;
  margin: 0 !important;
  cursor: pointer !important;
  color: var(--rr-text);
  transition: opacity .2s !important;
  flex-shrink: 0;
  box-shadow: none !important;
  border-radius: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.rr-mc-trigger:hover { opacity: .65 !important; }
.rr-mc-trigger:focus { outline: none !important; }

.rr-mc-icon {
  display: block !important;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

/* Badge */
.rr-mc-badge {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  min-width: 17px !important;
  height: 17px !important;
  padding: 0 3px !important;
  border-radius: 50% !important;
  background: var(--rr-red) !important;
  color: #fff !important;
  font-family: var(--rr-f-body) !important;
  font-size: .67rem !important;   /* was .58rem (~9.3px) → .67rem (~10.7px) */
  font-weight: 600 !important;
  line-height: 17px !important;
  text-align: center !important;
  border: 1.5px solid #fff !important;
  transform: scale(0);
  transition: transform .3s var(--rr-ease);
  pointer-events: none;
  display: block !important;
  box-sizing: border-box !important;
}
.rr-mc-badge--on { transform: scale(1); }

@keyframes rr-badge-pop {
  0%   { box-shadow: 0 0 0 0 rgba(128, 0, 32, .45); }
  100% { box-shadow: 0 0 0 8px rgba(128, 0, 32, 0); }
}
.rr-mc-badge--pop { animation: rr-badge-pop .5s ease-out; }

/* ── Backdrop ────────────────────────────────────────── */

.rr-mc-backdrop {
  position: fixed !important;
  inset: 0;
  z-index: 9998;
  background: rgba(15, 12, 9, 0);
  backdrop-filter: blur(0px);
  pointer-events: none;
  transition: background .45s var(--rr-ease), backdrop-filter .45s var(--rr-ease);
}
.rr-mc-backdrop.is-open {
  background: rgba(15, 12, 9, .5);
  backdrop-filter: blur(2px);
  pointer-events: all;
}

/* ── Drawer ──────────────────────────────────────────── */

.rr-mc-drawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  z-index: 9999;
  width: var(--rr-drawer-w) !important;
  max-width: 100vw !important;
  height: 100% !important;
  background: var(--rr-bg) !important;
  display: flex !important;
  flex-direction: column !important;
  transform: translateX(100%);
  transition: transform .5s var(--rr-ease);
  box-shadow: -20px 0 70px rgba(0, 0, 0, .12);
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}
.rr-mc-drawer.is-open {
  transform: translateX(0) !important;
}

/* ── Head ────────────────────────────────────────────── */

.rr-mc-head {
  flex-shrink: 0 !important;
  background: var(--rr-dark) !important;
  padding: 22px 26px !important;
  position: relative;
  overflow: hidden;
}

.rr-mc-head__bar {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--rr-red), var(--rr-gold));
  pointer-events: none;
  z-index: 2;
}

.rr-mc-head::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 18px,
    rgba(255, 255, 255, .018) 18px,
    rgba(255, 255, 255, .018) 19px
  );
  pointer-events: none;
}

.rr-mc-head__row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative;
  z-index: 1;
  gap: 12px;
}

.rr-mc-head__title {
  font-family: var(--rr-f-display) !important;
  font-size: 1.45rem !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.rr-mc-head__title em {
  font-style: italic !important;
  color: var(--rr-gold) !important;
}

.rr-mc-head__count {
  font-family: var(--rr-f-body) !important;
  font-size: .69rem !important;   /* was .60rem (~9.6px) → .69rem (~11px) */
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--rr-gold) !important;
  background: rgba(217, 179, 130, .12) !important;
  border: 1px solid rgba(217, 179, 130, .25) !important;
  padding: 3px 10px !important;
  line-height: 1.4 !important;
  border-radius: 0 !important;
  display: inline-block !important;
}

/* Close button — all:unset to beat Elementor button resets */
.rr-mc-drawer button.rr-mc-close {
  all: unset !important;
  box-sizing: border-box !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  background: rgba(255, 255, 255, .07) !important;
  border: 1px solid rgba(255, 255, 255, .15) !important;
  color: rgba(255, 255, 255, .6) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background .2s, color .2s;
  flex-shrink: 0;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
}
.rr-mc-drawer button.rr-mc-close:hover {
  background: rgba(255, 255, 255, .18) !important;
  color: #ffffff !important;
}
.rr-mc-drawer button.rr-mc-close svg {
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  stroke: currentColor !important;
  fill: none !important;
  flex-shrink: 0;
  pointer-events: none;
}

/* ── Body wrapper ────────────────────────────────────── */

.rr-mc-body {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  position: relative !important;
}

/* ── Items list ──────────────────────────────────────── */

.rr-mc-items {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scroll-behavior: smooth;
  position: relative !important;
  /* Flex column: permite .rr-mc-empty să se centreze vertical */
  display: flex !important;
  flex-direction: column !important;
}
.rr-mc-items::-webkit-scrollbar { width: 3px; }
.rr-mc-items::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, .09); }

/* ── Single item ─────────────────────────────────────── */

@keyframes rr-item-in {
  from { opacity: 0; transform: translateX(16px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes rr-item-out {
  0%   { opacity: 1; transform: translateX(0); max-height: 120px; }
  100% { opacity: 0; transform: translateX(50px); max-height: 0; border-width: 0; }
}

.rr-mc-item {
  display: grid !important;
  grid-template-columns: 80px 1fr !important;
  position: relative;
  border-bottom: 1px solid var(--rr-border);
  overflow: hidden;
  animation: rr-item-in .4s var(--rr-ease) both;
}
.rr-mc-item:nth-child(2) { animation-delay: .06s; }
.rr-mc-item:nth-child(3) { animation-delay: .12s; }
.rr-mc-item:nth-child(4) { animation-delay: .18s; }

.rr-mc-item::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: var(--rr-red);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .3s var(--rr-ease);
}
.rr-mc-item:hover::before { transform: scaleY(1); }

.rr-mc-item.is-removing {
  animation: rr-item-out .38s var(--rr-ease) forwards !important;
  pointer-events: none !important;
}

/* Image */
.rr-mc-item__img-link {
  display: block !important;
  width: 80px !important;
  height: 100px !important;
  flex-shrink: 0;
  overflow: hidden;
  background: var(--rr-bg2);
  position: relative;
}
.rr-mc-item__img {
  width: 80px !important;
  height: 100px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .55s var(--rr-ease), filter .3s;
}
.rr-mc-item:hover .rr-mc-item__img {
  transform: scale(1.06);
  filter: brightness(.9);
}

/* Body */
.rr-mc-item__body {
  padding: 13px 32px 13px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px;
  min-width: 0;
}

.rr-mc-item__cat {
  font-family: var(--rr-f-body) !important;
  font-size: .67rem !important;   /* was .58rem (~9.3px) → .67rem (~10.7px) */
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--rr-muted2) !important;  /* was #bbb → #999 */
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

.rr-mc-item__name {
  font-family: var(--rr-f-display) !important;
  font-size: .95rem !important;   /* was .92rem — minor bump */
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--rr-text) !important;
  text-decoration: none !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .2s;
  margin-top: 2px !important;
}
.rr-mc-item__name:hover { color: var(--rr-red) !important; }

.rr-mc-item__meta {
  font-family: var(--rr-f-body) !important;
  font-size: .69rem !important;   /* was .60rem (~9.6px) → .69rem (~11px) */
  color: var(--rr-muted) !important;  /* was #aaa → #777 */
  letter-spacing: .04em !important;
  margin-top: 2px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rr-mc-item__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: auto !important;
  padding-top: 8px !important;
}

.rr-mc-item__qty {
  font-family: var(--rr-f-body) !important;
  font-size: .75rem !important;   /* was .72rem — minor bump */
  color: var(--rr-muted) !important;  /* was #888 → --rr-muted (#777) */
  font-weight: 400 !important;
}

.rr-mc-item__price {
  font-family: var(--rr-f-display) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--rr-red) !important;
}
.rr-mc-item__price .woocommerce-Price-currencySymbol {
  font-size: .69rem !important;
  font-weight: 300 !important;
  font-family: var(--rr-f-body) !important;
  color: var(--rr-muted) !important;  /* was #aaa → #777 */
}

/* Remove button — all:unset */
.rr-mc-drawer button.rr-mc-item__remove {
  all: unset !important;
  box-sizing: border-box !important;
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: 20px !important;
  height: 20px !important;
  background: none !important;
  border: none !important;
  color: #bbb !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0;
  transition: color .2s, opacity .2s;
  padding: 0 !important;
  margin: 0 !important;
}
.rr-mc-item:hover button.rr-mc-item__remove { opacity: 1 !important; }
.rr-mc-drawer button.rr-mc-item__remove:hover { color: var(--rr-red) !important; }
.rr-mc-drawer button.rr-mc-item__remove svg {
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  stroke: currentColor !important;
  fill: none !important;
  pointer-events: none;
}

/* ── Empty state ─────────────────────────────────────── */

.rr-mc-empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 48px 32px !important;
  text-align: center !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
}

.rr-mc-empty__icon {
  width: 140px !important;
  height: 140px !important;
  min-height: 140px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  /* border: 1px solid var(--rr-border) !important;*/
  color: #ddd !important;
  background: none !important;
  margin: 0 0 20px !important;
  flex-shrink: 0;
}
.rr-mc-empty__icon svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  stroke: currentColor !important;
  fill: none !important;
}

/* Image variant — larger frame, no border, contains the artwork */
.rr-mc-empty__icon--image {
  width: 140px !important;
  height: 140px !important;
  min-height: 140px !important;
  border: none !important;
  color: inherit !important;
  margin: 0 0 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.rr-mc-empty__icon--image .rr-mc-empty__img {
  display: block !important;
  max-width: 140px !important;
  max-height: 140px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.rr-mc-empty__title {
  font-family: var(--rr-f-display) !important;
  font-size: 1.45rem !important;
  font-weight: 400 !important;
  color: var(--rr-text) !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}
.rr-mc-empty__title em {
  font-style: italic !important;
  color: var(--rr-red) !important;
}

.rr-mc-empty__sub {
  font-family: var(--rr-f-body) !important;
  font-size: .76rem !important;   /* was .73rem — minor bump; color #bbb → #999 */
  color: var(--rr-muted2) !important;
  line-height: 1.6 !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.rr-mc-drawer a.rr-mc-empty__btn {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 42px !important;
  padding: 0 26px !important;
  margin: 0 !important;
  background: var(--rr-red) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-family: var(--rr-f-body) !important;
  font-size: .69rem !important;   /* was .67rem */
  font-weight: 500 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  border-radius: 0 !important;
  line-height: 1 !important;
  transition: background .25s !important;
}
.rr-mc-drawer a.rr-mc-empty__btn:hover {
  background: var(--rr-red-dark) !important;
  color: #ffffff !important;
}

/* ── Footer ──────────────────────────────────────────── */

.rr-mc-foot {
  flex-shrink: 0 !important;
  padding: 20px 24px !important;
  border-top: 1px solid var(--rr-border) !important;
  background: var(--rr-bg) !important;
}

.rr-mc-totals { margin-bottom: 16px !important; }

.rr-mc-grand {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  margin-bottom: 4px !important;
}

.rr-mc-grand__label {
  font-family: var(--rr-f-body) !important;
  font-size: .69rem !important;   /* was .64rem (~10.2px) → .69rem (~11px) */
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  color: var(--rr-muted) !important;
  margin: 0 !important;
}

.rr-mc-grand__amount {
  font-family: var(--rr-f-display) !important;
  font-size: 1.95rem !important;
  font-weight: 600 !important;
  color: var(--rr-red) !important;
  letter-spacing: -.02em !important;
  line-height: 1 !important;
}
.rr-mc-grand__amount .woocommerce-Price-currencySymbol {
  font-size: 1rem !important;
  font-weight: 300 !important;
  font-family: var(--rr-f-body) !important;
  color: var(--rr-muted) !important;  /* was #aaa → #777 */
}

.rr-mc-vat-note {
  font-family: var(--rr-f-body) !important;
  font-size: .69rem !important;   /* was .60rem (~9.6px) → .69rem (~11px); color #bbb → #999 */
  color: var(--rr-muted2) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* CTA */
.rr-mc-cta {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-top: 16px !important;
}

/* Checkout */
.rr-mc-drawer .rr-mc-cta a.rr-mc-btn--checkout {
  all: unset !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: 100% !important;
  height: 50px !important;
  background: var(--rr-red) !important;
  color: #ffffff !important;
  font-family: var(--rr-f-body) !important;
  font-size: .71rem !important;   /* was .68rem */
  font-weight: 500 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  line-height: 1 !important;
  transition: background .25s !important;
}
.rr-mc-drawer .rr-mc-cta a.rr-mc-btn--checkout::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.1), transparent);
  transform: translateX(-100%);
  transition: transform .55s var(--rr-ease);
  pointer-events: none;
}
.rr-mc-drawer .rr-mc-cta a.rr-mc-btn--checkout:hover {
  background: var(--rr-red-dark) !important;
  color: #ffffff !important;
}
.rr-mc-drawer .rr-mc-cta a.rr-mc-btn--checkout:hover::after {
  transform: translateX(100%);
}
.rr-mc-drawer .rr-mc-cta a.rr-mc-btn--checkout svg {
  display: block !important;
  width: 13px !important;
  height: 13px !important;
  stroke: #ffffff !important;
  fill: none !important;
  flex-shrink: 0;
  pointer-events: none;
}

/* View Cart */
.rr-mc-drawer .rr-mc-cta a.rr-mc-btn--cart {
  all: unset !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 42px !important;
  background: transparent !important;
  color: var(--rr-text) !important;
  border: 1px solid rgba(0,0,0,.18) !important;  /* was .10 — more visible border */
  font-family: var(--rr-f-body) !important;
  font-size: .71rem !important;   /* was .67rem */
  font-weight: 400 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  line-height: 1 !important;
  transition: background .25s, color .25s, border-color .25s !important;
}
.rr-mc-drawer .rr-mc-cta a.rr-mc-btn--cart:hover {
  background: var(--rr-text) !important;
  color: #ffffff !important;
  border-color: var(--rr-text) !important;
}

/* Continue Shopping */
.rr-mc-drawer button.rr-mc-btn--continue {
  all: unset !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 42px !important;
  background: var(--rr-bg2) !important;
  color: var(--rr-text) !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  font-family: var(--rr-f-body) !important;
  font-size: .71rem !important;
  font-weight: 400 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background .25s, color .25s, border-color .25s !important;
  padding: 0 !important;
  margin: 0 !important;
}
.rr-mc-drawer button.rr-mc-btn--continue:hover {
  background: var(--rr-text) !important;
  color: #ffffff !important;
  border-color: var(--rr-text) !important;
}

/* ── Loading overlay + spinner ───────────────────────── */

.rr-mc-body::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, .7);
  backdrop-filter: blur(1px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
  z-index: 10;
}
.rr-mc-drawer.is-loading .rr-mc-body::after {
  opacity: 1;
  pointer-events: all;
}

.rr-mc-body::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 28px;
  height: 28px;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(128, 0, 32, .15);
  border-top-color: var(--rr-red);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
  z-index: 11;
  animation: rr-spin .75s linear infinite;
}
.rr-mc-drawer.is-loading .rr-mc-body::before {
  opacity: 1;
}

@keyframes rr-spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

.rr-mc-drawer.is-loading button.rr-mc-item__remove {
  pointer-events: none !important;
  opacity: .2 !important;
}

/* ── Responsive ──────────────────────────────────────── */

@media (max-width: 480px) {
  :root { --rr-drawer-w: 100vw; }
  .rr-mc-head { padding: 18px 20px !important; }
  .rr-mc-foot { padding: 16px 20px !important; }
}

/* ── Custom icon image ───────────────────────────────── */

.rr-mc-trigger img.rr-mc-icon-img {
  display: block !important;
  object-fit: contain !important;
}

/* ── Icon font class (Elementor eicons / Font Awesome) ── */

.rr-mc-trigger i.rr-mc-icon-class {
  line-height: 1 !important;
  display: block !important;
  font-style: normal;
}
