/** Shopify CDN: Minification failed

Line 1033:42 Unexpected "*"

**/
/* ============================================================
   EF PD2 — Contact block + Sticky ATC bar (CRO 2026-04-29)
   Scope: .ef-pd2-* (does NOT collide with .ef-pd-* or .ef-cfg-*)
   Reversible: removing this file + the snippet render line + the
   sticky markup restores the previous state in <5 minutes.
   ============================================================ */

/* ---------- Contact block v2 (under gallery) — Round 2 (2026-04-29) ----------
   2 options (Call now + Schedule a call) in vertical stack with circular icons +
   chevron. Premium feel, lower decision fatigue than the 3-option grid. */
/* Card frame matching .ef-pd2-confidence (luxury trust card) — ID-prefixed
   selector + !important defeats `.ef-cfg *` reset. Cream bg #FEFCF9 (matches
   tabs), 1.5px hairline border, 12px radius, 24px padding. Defense-in-depth
   via inline style on the snippet markup. */
#efCfg .ef-pd2-contact,
.ef-pd-info .ef-pd2-contact,
.ef-pd2-contact {
  display: block !important;
  position: relative !important;
  margin: 12px 0 0 !important;
  padding: 20px !important;
  background: #FEFCF9 !important;
  background-color: #FEFCF9 !important;
  border: 1.5px solid #D5CCC0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Shimmer sweep — same spec as trust card (synchronized luxury feel) */
#efCfg .ef-pd2-contact::after,
.ef-pd-info .ef-pd2-contact::after,
.ef-pd2-contact::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: -50% !important;
  width: 50% !important;
  height: 3px !important;
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(184,149,95,0.6) 25%,
    rgba(232,200,140,1) 50%,
    rgba(184,149,95,0.6) 75%,
    rgba(255,255,255,0) 100%) !important;
  pointer-events: none !important;
  animation: efPd2Shimmer 8s ease-in-out 3.5s infinite !important;  /* offset 1s after trust card so they don't sweep at same instant */
  will-change: transform, opacity;
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  #efCfg .ef-pd2-contact::after,
  .ef-pd2-contact::after { animation: none !important; opacity: 0 !important; }
}

/* Typography exactly mirrors .ef-pd2-confidence (trust card) — same hierarchy,
   same weights, same letter-spacing. Buyers read both cards as one luxury system. */
.ef-pd2-contact__head {
  margin: 0 !important;
  padding: 0 !important;
}
.ef-pd2-contact__head-row {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 6px !important;
  flex-wrap: wrap !important;
}
.ef-pd2-contact__title {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 17px !important;          /* same as .ef-pd2-confidence__title */
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.005em !important;
  color: #1E1E1B !important;
  margin: 0 !important;
  flex: 1 1 auto;
  min-width: 0;
}
.ef-pd2-contact__sub {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 12px !important;          /* same as .ef-pd2-confidence__sub */
  font-weight: 400 !important;
  line-height: 1.55 !important;
  /* Bumped #5C5852 → #3A3732 (2026-05-03) — was reading too gray on mantels
     PDP vs doors (which has explicit #3A3732 override in ef-pdp-doors.css).
     Mantels doesn't load that file so inherited from base. Fix at source. */
  color: #3A3732 !important;
  margin: 0 !important;
  max-width: 60ch;
}
.ef-pd2-contact__badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 3px 8px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #0F6E56 !important;
  background: #E1F5EE !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  flex-shrink: 0;
}
.ef-pd2-contact__badge-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #0F6E56 !important;
  display: inline-block !important;
  flex-shrink: 0;
}

/* Closed state — muted pill outside business hours (Mon-Fri 9-17 PT).
   JS toggles .ef-pd2-contact__badge--closed via PT clock check. */
.ef-pd2-contact__badge--closed {
  color: #8A8579 !important;
  background: #F1EFE8 !important;
}
.ef-pd2-contact__badge--closed .ef-pd2-contact__badge-dot {
  background: #8A8579 !important;
}

/* Hairline divider — same spec as .ef-pd2-confidence__rule */
.ef-pd2-contact__rule {
  border: 0 !important;
  border-top: 1px solid #E8E2D9 !important;
  margin: 18px 0 !important;
  height: 0 !important;
  background: none !important;
}

.ef-pd2-contact__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ef-pd2-contact__opt {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px !important;
  background: #FFFFFF !important;
  border: 1px solid #DED6CB !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  transition: border-color 200ms ease, background 200ms ease, transform 80ms ease;
  color: inherit;
}
.ef-pd2-contact__opt:hover { border-color: #8A6A43 !important; background: #FEFCF9 !important; }
.ef-pd2-contact__opt:active { transform: scale(0.995); }

.ef-pd2-contact__icon-wrap {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.ef-pd2-contact__icon-wrap--primary {
  background: #111111 !important;
  color: #FEFCF9 !important;
}
.ef-pd2-contact__icon-wrap--secondary {
  background: #ECE4D6 !important;
  color: #8A6A43 !important;
}

.ef-pd2-contact__body {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}
.ef-pd2-contact__label {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 13px !important;          /* same as .ef-pd2-confidence__value */
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #1E1E1B !important;
}
.ef-pd2-contact__hint {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: #5C5852 !important;
  /* 2026-05-07 v2 — DEFAULT is wrap-normal so longer hints (e.g. "Phone or
     video · 15 min · Pick your time" on Schedule a Call) don't get truncated
     by overflow:hidden on parent. Nowrap re-applied below ONLY for the phone
     option where the hint is short + the line break ("PT" alone) looked broken. */
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
}
.ef-pd2-contact__opt--primary .ef-pd2-contact__hint {
  white-space: nowrap;
}
@media (max-width: 599px) {
  .ef-pd2-contact__hint {
    font-size: 10.5px !important;
    letter-spacing: -0.01em !important;
  }
}

.ef-pd2-contact__chevron {
  color: #8A8579 !important;
  flex-shrink: 0 !important;
}

/* Footer — same style as .ef-pd2-confidence__pay-label */
.ef-pd2-contact__footer {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #5C5852 !important;
  text-align: center !important;
  margin: 0 !important;
}

/* Breakpoint expanded 600 → 1023 to match doors (ef-pdp-doors.css uses 1023).
   600 was firing only on smallest phones; tablets + larger iPhones ended up at
   base 12px = ~3px smaller than doors. User feedback 2026-05-03. */
@media (max-width: 1023px) {
  #efCfg .ef-pd2-contact,
  .ef-pd2-contact { padding: 20px !important; border-radius: 14px !important; }
  /* HARD-LOCKED to match doors typography tier on mobile/tablet. Same values
     as ef-pdp-doors.css ≤1023px overrides. Both PDPs now identical. */
  body .ef-pd2-contact .ef-pd2-contact__title,
  .ef-pd2-contact__title { font-size: 22px !important; font-weight: 600 !important; line-height: 1.25 !important; letter-spacing: -0.015em !important; color: #1E1E1B !important; }
  body .ef-pd2-contact .ef-pd2-contact__sub,
  .ef-pd2-contact__sub { font-size: 15px !important; font-weight: 500 !important; line-height: 1.5 !important; color: #3A3732 !important; }
  .ef-pd2-contact__badge { font-size: 11px !important; padding: 3px 9px !important; letter-spacing: 0.18em !important; }
  .ef-pd2-contact__rule { margin: 16px 0 !important; }
  .ef-pd2-contact__opt { padding: 16px 18px !important; gap: 14px !important; min-height: 72px !important; }
  .ef-pd2-contact__icon-wrap { width: 44px !important; height: 44px !important; }
  .ef-pd2-contact__icon-wrap svg { width: 18px !important; height: 18px !important; }
  body .ef-pd2-contact .ef-pd2-contact__label,
  .ef-pd2-contact__label { font-size: 18px !important; font-weight: 600 !important; line-height: 1.3 !important; color: #1E1E1B !important; }
  /* 2026-05-07 v2 — Default is wrap-normal so multi-fact Schedule hint can
     break to 2 lines instead of overflowing. Phone-row override below
     keeps "(949) 619-7824 · Mon-Fri 9-5 PT" on a single line. */
  body .ef-pd2-contact .ef-pd2-contact__hint,
  .ef-pd2-contact__hint { font-size: 12px !important; font-weight: 500 !important; line-height: 1.4 !important; color: #3A3732 !important; white-space: normal !important; letter-spacing: -0.01em !important; word-break: normal !important; overflow-wrap: anywhere !important; }
  body .ef-pd2-contact .ef-pd2-contact__opt--primary .ef-pd2-contact__hint,
  .ef-pd2-contact__opt--primary .ef-pd2-contact__hint { white-space: nowrap !important; }
  .ef-pd2-contact__chevron { width: 18px !important; height: 18px !important; }
}


/* ============================================================
   Sticky ATC bar — DARK THEME, 3 progressive states
   Round 2 (2026-04-29): switched from light cream to dark charcoal so
   the bar reads as the action zone (cream blended into page bg).
   ATC turns bronze when unlocked → strong "buy now" affordance.
   ============================================================ */
.ef-pd2-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 998;            /* below cart drawer (typ. 999+) */
  background: #111111;
  border-top: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 -8px 24px rgba(0,0,0,0.18);
  /* 2026-05-06 v2 — Reduced from 12px to 8px (CRO panel: target ~64px total height,
     was ~125px). Single-line layout, no progress row visible by default. */
  padding: 8px 24px max(8px, env(safe-area-inset-bottom, 8px)) 24px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  transform: translateY(0);
  transition: transform 280ms cubic-bezier(0.22,1,0.36,1);
}
/* 2026-05-06 v2 — hide "STARTING AT" label always (was only mobile).
   Redundant with "From $X" on next line. Single-line cleaner. */
.ef-pd2-sticky__price-label { display: none !important; }
/* 2026-05-07 — hide "From" prefix everywhere (panel feedback: redundant noise +
   was overlapping CALL US on Samsung 412px viewport because flex-wrap:nowrap
   forced the "From $XXX" group wider than its allotted track). Just show price. */
.ef-pd2-sticky__price-from { display: none !important; }
.ef-pd2-sticky__price-value { flex-wrap: nowrap !important; min-width: 0 !important; overflow: hidden !important; }
#efPd2StickyPriceAmount { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
/* Hide progress row — message text + dots. The disabled lock icon on ATC
   already signals "complete steps to enable". Saves ~30px. */
.ef-pd2-sticky__progress { display: none !important; }

/* 2026-05-06 — Smart Active ATC: button never disabled. Click in locked state
   scrolls to next step + highlights it. Highlight pulse defined here. */
.ef-pd2-sticky__atc {
  opacity: 1 !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
}
.ef-pd2-sticky__atc:disabled { opacity: 1 !important; cursor: pointer !important; }

/* ════════════════════════════════════════════════════════════════════
   LIQUID-FILL ATC v2 (panel rebuild 2026-05-06)
   Pure-CSS gradient fill with soft meniscus. Pill's overflow:hidden +
   border-radius:999px clips the fill to the pill's geometry — no SVG,
   no clip-path, no scaleX distortion. Gradient fade at the leading edge
   IS the meniscus = liquid feel without the "bubble" misalignment bug.
   ════════════════════════════════════════════════════════════════════ */
.ef-pd2-sticky__atc {
  isolation: isolate;
}
.ef-pd2-sticky__atc-fill {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: var(--efp-fill, 0%);
  /* 2026-05-06 — Color shift: muddy #8A6A43 → luminous #B8895A (panel 7/8 vote).
     "Molten metal" gradient: bright top (light catches), darker bottom (depth).
     Horizontal layer fades the rightmost 14px to transparent = meniscus. */
  background:
    linear-gradient(90deg,
      #B8895A 0%,
      #B8895A calc(100% - 14px),
      transparent 100%),
    linear-gradient(180deg, #C8954D 0%, #B8895A 55%, #8A6A43 100%);
  background-blend-mode: multiply;
  box-shadow: inset 0 0 14px rgba(255, 230, 170, 0.28);
  transition: width 800ms cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  z-index: 0;
  border-radius: inherit;
}
.ef-pd2-sticky__atc-shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    transparent 35%,
    rgba(255, 235, 180, 0.18) 50%,
    transparent 65%);
  background-size: 220% 100%;
  background-position: -110% 0;
  pointer-events: none;
  z-index: 1;
  opacity: var(--efp-shimmer-opacity, 0);
  transition: opacity 300ms ease;
  animation: ef-pd2-atc-shimmer 4s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes ef-pd2-atc-shimmer {
  0%   { background-position: -110% 0; }
  60%  { background-position: -110% 0; }
  100% { background-position: 220% 0; }
}
/* Content wrapper — keeps label + arrow inline (was wrapping to 2 lines).
   z-index above fill + shimmer so text never gets hidden behind animation. */
.ef-pd2-sticky__atc-content {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  pointer-events: none;
}
.ef-pd2-sticky__atc-label,
.ef-pd2-sticky__atc-arrow {
  position: relative;
  z-index: 2;
  pointer-events: none;
}
.ef-pd2-sticky__atc-arrow {
  flex-shrink: 0;
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── Hover effects (CRO panel: visual feedback on intent) ── */
.ef-pd2-sticky__atc {
  transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 240ms ease;
}
.ef-pd2-sticky__atc:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(184, 137, 90, 0.42),
              0 2px 6px rgba(0, 0, 0, 0.18);
}
.ef-pd2-sticky__atc:hover .ef-pd2-sticky__atc-arrow {
  transform: translateX(3px);          /* arrow nudges right on hover */
}
.ef-pd2-sticky__atc:hover .ef-pd2-sticky__atc-fill {
  /* Subtly brighten fill on hover */
  filter: brightness(1.08);
}
.ef-pd2-sticky__atc:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(138, 106, 67, 0.20);
}
.ef-pd2-sticky__atc-fill {
  transition: width 800ms cubic-bezier(0.22, 1, 0.36, 1),
              filter 220ms ease;
}

/* Stronger glow + shimmer when fully unlocked AND hovered */
.ef-pd2-sticky[data-state="unlocked"] .ef-pd2-sticky__atc:hover {
  box-shadow: 0 8px 24px rgba(200, 149, 77, 0.55),
              0 2px 6px rgba(0, 0, 0, 0.18);
}

/* "Adding..." spinner inside sticky bar — match cream button text */
.ef-pd2-sticky__atc .ef-cfg-spinner {
  border-color: rgba(254, 252, 249, 0.32);
  border-top-color: #FEFCF9;
  width: 14px;
  height: 14px;
  border-width: 2px;
}

/* State-driven shimmer visibility */
.ef-pd2-sticky[data-state="locked-mid"] .ef-pd2-sticky__atc { --efp-shimmer-opacity: 1; }
.ef-pd2-sticky[data-state="unlocked"]   .ef-pd2-sticky__atc { --efp-shimmer-opacity: 1; }
.ef-pd2-sticky[data-state="locked-0"]   .ef-pd2-sticky__atc { --efp-shimmer-opacity: 0; }

/* Fully filled (unlocked) — soft inner glow pulse signals "ready to fire".
   Solid lighter-bronze (no meniscus needed at 100%). 2026-05-06 colorway. */
.ef-pd2-sticky[data-state="unlocked"] .ef-pd2-sticky__atc-fill {
  background:
    linear-gradient(180deg, #C8954D 0%, #B8895A 55%, #8A6A43 100%);
  animation: ef-pd2-atc-ready 2.4s ease-in-out infinite;
}
@keyframes ef-pd2-atc-ready {
  0%, 100% { box-shadow: inset 0 0 16px rgba(255, 230, 170, 0.28); }
  50%      { box-shadow: inset 0 0 24px rgba(255, 230, 170, 0.50); }
}

/* Reduced motion — keep informative fill, drop anim flourishes */
@media (prefers-reduced-motion: reduce) {
  .ef-pd2-sticky__atc-fill { transition: width 200ms linear !important; animation: none !important; }
  .ef-pd2-sticky__atc-shimmer { animation: none !important; opacity: 0 !important; }
}
@keyframes ef-pd2-step-flash {
  0%   { box-shadow: 0 0 0 0 rgba(212, 175, 85, 0); }
  20%  { box-shadow: 0 0 0 6px rgba(212, 175, 85, 0.45); background-color: rgba(244, 235, 216, 0.6); }
  100% { box-shadow: 0 0 0 0 rgba(212, 175, 85, 0); }
}
.ef-pd2-highlight {
  animation: ef-pd2-step-flash 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  border-radius: 12px;
  transition: background-color 1s ease;
}

.ef-pd2-sticky__inner {
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 1200px;
  margin: 0 auto;
}

.ef-pd2-sticky__thumb {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
}

.ef-pd2-sticky__price { flex: 1; min-width: 0; }
.ef-pd2-sticky__price-label {
  display: block;
  font: 400 10px/1 inherit;
  color: rgba(254,252,249,0.5);
  margin-bottom: 2px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.ef-pd2-sticky__price-value {
  display: flex;
  align-items: baseline;
  gap: 4px;
  flex-wrap: wrap;
}
.ef-pd2-sticky__price-from {
  font: 400 12px/1 inherit;
  color: rgba(254,252,249,0.6);
}
#efPd2StickyPriceAmount {
  font: 700 18px/1 inherit;
  color: #FEFCF9;
}
.ef-pd2-sticky__price-ship {
  font: 400 11px/1 inherit;
  color: rgba(254,252,249,0.6);
  margin-left: 4px;
}

.ef-pd2-sticky__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-right: 12px;
  border-right: 1px solid rgba(255,255,255,0.15);
  font: 400 12px/1 inherit;
  color: rgba(254,252,249,0.7);
  white-space: nowrap;
}
.ef-pd2-sticky__stars { color: #8A6A43; letter-spacing: 1px; font-size: 12px; }
.ef-pd2-sticky__rating-num { font-weight: 600; color: #FEFCF9; }
.ef-pd2-sticky__rating-count { color: rgba(254,252,249,0.5); }

.ef-pd2-sticky__call {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 20px !important;
  min-width: 110px !important;
  min-height: 44px !important;          /* match ATC + matches inline .ef-cfg-btn--primary visual language */
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 12px !important;            /* match inline NEXT CTA */
  font-weight: 700 !important;           /* match inline NEXT CTA */
  letter-spacing: 0.10em !important;     /* match inline NEXT CTA */
  text-transform: uppercase !important;   /* match inline NEXT CTA */
  line-height: 1 !important;
  color: #FFFFFF !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.65) !important;
  border-radius: 100px !important;          /* pill — matches NEXT + ATC pill shape (2026-05-03 panel rec) */
  text-decoration: none !important;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.ef-pd2-sticky__call svg {
  stroke: #FFFFFF !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}
/* Force the label visible — Prestige sometimes injects font-size:0 / visibility tricks
   on link descendants. Override all of those. */
.ef-pd2-sticky__call span {
  display: inline !important;
  color: #FFFFFF !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.ef-pd2-sticky__call:hover {
  border-color: #FFFFFF !important;
  background: rgba(255,255,255,0.10) !important;
}
.ef-pd2-sticky__call:active { transform: scale(0.98); }

/* 2026-05-07 — Desktop shows full phone number, mobile keeps short "Call us"
   to save sticky-bar width. Switchover at 768px (matches Prestige tablet bp).
   Specificity: must beat `.ef-pd2-sticky__call span { display: inline !important }`
   above by qualifying with parent class — same specificity tier but order wins. */
.ef-pd2-sticky__call .ef-pd2-sticky__call-desktop { display: none !important; }
.ef-pd2-sticky__call .ef-pd2-sticky__call-mobile { display: inline !important; }
@media (min-width: 768px) {
  .ef-pd2-sticky__call .ef-pd2-sticky__call-desktop { display: inline !important; letter-spacing: 0.04em !important; }
  .ef-pd2-sticky__call .ef-pd2-sticky__call-mobile { display: none !important; }
}

.ef-pd2-sticky__atc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 24px;
  min-height: 44px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 12px;                     /* match inline .ef-cfg-btn--primary */
  font-weight: 700;                    /* match inline NEXT CTA */
  letter-spacing: 0.10em;              /* match inline NEXT CTA */
  text-transform: uppercase;           /* match inline NEXT CTA */
  line-height: 1;
  color: rgba(254,252,249,0.4);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 100px;                   /* pill — matches NEXT + ATC pill shape (2026-05-03 panel rec) */
  cursor: not-allowed;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease, transform 80ms ease;
  white-space: nowrap;
}

.ef-pd2-sticky[data-state="locked-mid"] .ef-pd2-sticky__atc:disabled {
  background: rgba(255,255,255,0.12);
  color: rgba(254,252,249,0.55);
  border-color: rgba(255,255,255,0.15);
}

/* Unlocked state: canonical brand bronze #8A6A43 — matches inline ATC, no color drift */
.ef-pd2-sticky[data-state="unlocked"] .ef-pd2-sticky__atc {
  background: #8A6A43;
  color: #FEFCF9;
  border-color: #8A6A43;
  cursor: pointer;
}
.ef-pd2-sticky[data-state="unlocked"] .ef-pd2-sticky__atc:hover {
  background: #A07D52;
  border-color: #A07D52;
}
.ef-pd2-sticky[data-state="unlocked"] .ef-pd2-sticky__atc:active {
  transform: scale(0.98);
}

/* Nuke any pseudo-element / background-image artifacts Prestige (or third-party
   apps) try to inject on sticky-bar buttons — known mobile artifact: tiny chevron
   ::after, faint underline, focus ring overlay. */
.ef-pd2-sticky button::before,
.ef-pd2-sticky button::after,
.ef-pd2-sticky a::before,
.ef-pd2-sticky a::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}
.ef-pd2-sticky__atc,
.ef-pd2-sticky__call {
  background-image: none !important;
  text-decoration: none !important;
  outline: none !important;
}
.ef-pd2-sticky__atc:focus,
.ef-pd2-sticky__atc:focus-visible,
.ef-pd2-sticky__call:focus,
.ef-pd2-sticky__call:focus-visible {
  outline: 2px solid rgba(255,255,255,0.4);
  outline-offset: 2px;
  box-shadow: none !important;
}

.ef-pd2-sticky__progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: 1200px;
  margin: 6px auto 0;
  padding-top: 6px;
  border-top: 1px dashed rgba(255,255,255,0.12);
}
.ef-pd2-sticky__progress-msg {
  font: 400 11px/1.3 inherit;
  color: rgba(254,252,249,0.6);
}
.ef-pd2-sticky[data-state="locked-mid"] .ef-pd2-sticky__progress-msg {
  color: #85B7EB;
  font-weight: 500;
}
.ef-pd2-sticky[data-state="unlocked"] .ef-pd2-sticky__progress-msg {
  color: #97C459;
  font-weight: 500;
}

.ef-pd2-sticky__dots { display: flex; gap: 4px; flex-shrink: 0; }
.ef-pd2-sticky__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  transition: background 200ms ease;
}
.ef-pd2-sticky__dot.is-filled-info { background: #85B7EB; }
.ef-pd2-sticky__dot.is-filled-success { background: #97C459; }

/* Padding-bottom only when JS has confirmed sticky bar is in DOM. Was previously
   unconditional, but caused layout offset on mobile doors PDP — reverted. */
body.ef-pd2-sticky-active { padding-bottom: 68px; } /* v2 2026-05-06 — sticky now ~64px tall, was ~125px */
@media (max-width: 600px) {
  body.ef-pd2-sticky-active { padding-bottom: 68px; } /* v2 2026-05-06 — was 120px (progress row gone) */
}

@media (max-width: 768px) {
  .ef-pd2-sticky { padding: 8px 12px max(10px, env(safe-area-inset-bottom, 10px)) 12px; }
  .ef-pd2-sticky__inner { gap: 8px; }
  .ef-pd2-sticky__thumb { width: 40px; height: 40px; border-radius: 6px; }
  .ef-pd2-sticky__rating { display: none; }
  .ef-pd2-sticky__call {
    padding: 0 14px !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    gap: 6px !important;
    min-width: 96px !important;
    min-height: 42px !important;
  }
  .ef-pd2-sticky__call svg { width: 14px !important; height: 14px !important; }
  .ef-pd2-sticky__call span { font-size: 11px !important; letter-spacing: 0.08em !important; display: inline !important; }
  .ef-pd2-sticky__atc {
    padding: 0 18px;
    min-height: 42px;
    font-size: 11px;
    letter-spacing: 0.08em;
  }
  #efPd2StickyPriceAmount { font-size: 16px; }
  .ef-pd2-sticky__price-ship { display: none; }
  .ef-pd2-sticky__price-label { display: none; }
  .ef-pd2-sticky__progress { gap: 6px; }
  .ef-pd2-sticky__progress-msg { font-size: 10px; }
}

@media (max-width: 600px) {
  .ef-pd2-sticky { z-index: 99; }
  /* 2026-05-07 — Samsung Internet 412px hardening: tighter gaps + force every
     flex item to honor `min-width:0` so price never overlaps CALL US pill. */
  .ef-pd2-sticky__inner { gap: 6px !important; }
  .ef-pd2-sticky__price { flex: 1 1 0 !important; min-width: 0 !important; overflow: hidden !important; }
  .ef-pd2-sticky__call {
    min-width: 0 !important;
    padding: 0 10px !important;
    gap: 4px !important;
  }
  .ef-pd2-sticky__atc { padding: 0 12px !important; min-width: 0 !important; }
}
/* 360-411px (Pixel 4a, iPhone SE, smaller Galaxy) — drop the thumbnail to free
   ~50px so price + CALL US + ATC all fit without collision. */
@media (max-width: 411px) {
  .ef-pd2-sticky__thumb { display: none !important; }
  #efPd2StickyPriceAmount { font-size: 14px !important; }
  .ef-pd2-sticky__call { padding: 0 8px !important; }
  .ef-pd2-sticky__call svg { width: 12px !important; height: 12px !important; }
  .ef-pd2-sticky__call span { font-size: 10px !important; letter-spacing: 0.06em !important; }
  .ef-pd2-sticky__atc { padding: 0 10px !important; font-size: 10px !important; letter-spacing: 0.06em !important; }
  .ef-pd2-sticky__atc-arrow { display: none !important; }
}

/* ============================================================
   Hide our sticky bar + thicken its z-index escape when Calendly modal opens.
   Calendly injects .calendly-overlay (full-screen backdrop, z-index: 9999) +
   .calendly-popup (modal, z-index: 9999). Our sticky at z-index:998 was sitting
   ABOVE the backdrop visually because Calendly's overlay render order placed
   the backdrop in a lower stacking context — fix: hide our sticky entirely
   while Calendly is open. :has() supported Chrome 105+, Safari 15.4+, FF 121+.
   ============================================================ */
body:has(.calendly-overlay) .ef-pd2-sticky,
body:has(.calendly-popup) .ef-pd2-sticky,
body:has([class*="calendly-overlay"]) .ef-pd2-sticky,
body.ef-pd2-calendly-open .ef-pd2-sticky {
  display: none !important;
  visibility: hidden !important;
}

/* CRITICAL FIX (2026-04-29) — disable .ef-pd-gallery sticky positioning while
   Calendly popup is open. Without this, on mobile Safari:
     1. Calendly opens, viewport recalculates (URL bar / keyboard)
     2. Sticky gallery tries to track new viewport top:130px
     3. Layout reflow loop = "page się rozjezdza"
   With static positioning during popup, gallery stays fixed in document flow
   = no viewport-tracking conflict. Body is also locked via position:fixed
   (in JS), so page is fully frozen — gallery stays put. */
body.ef-pd2-calendly-open .ef-pd-gallery {
  position: static !important;
  top: auto !important;
}

/* Strip CSS reverted 2026-04-29 — `transform: translateZ(0)` on the strip itself
   was suspected of triggering Webkit fixed-positioning quirks. Original
   .ef-cfg-strip rule in ef-configurator-v2.css already declares position:fixed. */

/* Calendly scroll-lock anti-jump (CRO 2026-04-29):
   When Calendly opens it sets body { overflow: hidden } to disable background
   scroll. On a page where body is the scroll container, this also hides the
   vertical scrollbar → viewport widens by ~17px → ALL elements reflow right
   = "page się rozjezdza". Then closing Calendly restores scrollbar = jump back.

   Fix: force scrollbar gutter on <html>. Modern browsers (Chrome 94+, Safari
   16+, Firefox 97+) honor scrollbar-gutter; older fallback uses overflow-y:scroll
   on html. Scrollbar always reserved → Calendly's body lock has zero visual
   effect on layout width. */
html {
  scrollbar-gutter: stable !important;
  overflow-y: scroll !important;
}

/* ============================================================
   Hide Shopify Inbox / "Message Us" chat bubble on doors + mantels PDP.
   Unconditional selectors — this CSS file only loads on these two PDP
   templates, so the rule scope is implicitly the configurator pages.
   Removed `body.ef-pd2-sticky-active` prefix because some Shopify Inbox
   variants race the body-class JS toggle and render before the class
   lands. !important defeats Inbox's inline styles on its own root nodes.
   ============================================================ */
.shopify-online-store-chat,
#shopify-online-store-chat,
#ShopifyChat,
[data-shopify-chat-button],
[data-testid="chat-button"],
iframe[src*="chat.shopify.com"],
iframe[src*="shopifychat"],
iframe[id*="shopify-chat"],
iframe[name*="shopify_chat"],
div[id^="shopify-chat"],
div[class*="ShopifyChat"],
div[class*="shopify-chat"],
shopify-chat,
shopify-online-store-chat,
.chat-widget,
#chat-widget {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}


/* ============================================================
   ROUND 3 (2026-04-29) — Consolidated Trust + Payment block
   Scope: .ef-pd2-trust-block (does not collide with .ef-trust-strip)
   Replaces: .ef-process (removed in Round 3)
   ============================================================ */

.ef-pd2-trust-block {
  background: #FEFCF9;
  border: 1px solid #DED6CB;
  border-radius: 10px;
  padding: 14px 16px;
  margin: 16px 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.ef-pd2-trust-block__label {
  font: 500 11px/1 inherit;
  color: #5C5852;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0 0 10px;
}

.ef-pd2-trust-block__row {
  display: flex;
  align-items: center;
  gap: 8px;
  font: 400 13px/1.4 inherit;
  color: #1E1E1B;
  margin-bottom: 6px;
}
.ef-pd2-trust-block__row:last-of-type {
  margin-bottom: 0;
}

.ef-pd2-trust-block__check {
  color: #0F6E56;
  flex-shrink: 0;
}

.ef-pd2-trust-block__pay {
  display: flex;
  gap: 4px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed #DED6CB;
}
.ef-pd2-trust-block__pay-badge {
  flex: 1;
  text-align: center;
  padding: 4px 8px;
  background: #F1EFE8;
  color: #5C5852;
  font: 600 9px/1.2 inherit;
  border-radius: 3px;
  letter-spacing: 0.04em;
}

@media (max-width: 600px) {
  .ef-pd2-trust-block { padding: 12px 14px; }
  .ef-pd2-trust-block__row { font-size: 12px; }
  .ef-pd2-trust-block__pay-badge { font-size: 8px; padding: 4px 4px; }
}


/* ============================================================
   ROUND 5 (2026-04-29) — Simple stepbar
   Replaces the hidden .ef-cfg-progress (sr-only via ef-configurator-v2.css).

   Premium segmented bronze track mirrors the existing .ef-cfg-strip pattern
   (luxury sticky strip under header) — buyer counts progress at a glance,
   one segment per visible step, faint bronze unfilled → solid bronze done →
   solid bronze + pulse on active. Final step turns the whole bar green as a
   payoff signal.

   Spacing: generous 28px breathing room below stepbar separates it from the
   price box / next section so the indicator reads as its own zone.
   ============================================================ */

.ef-pd2-stepbar {
  margin: 18px 0 28px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.ef-pd2-stepbar__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.ef-pd2-stepbar__current {
  font: 600 14px/1.2 inherit;
  color: #1E1E1B;
  margin: 0;
  letter-spacing: -0.005em;
}

.ef-pd2-stepbar__pos {
  font-weight: 500;
  color: #5C5852;
}

.ef-pd2-stepbar__sep {
  color: #DED6CB;
  margin: 0 6px;
  font-weight: 400;
}

.ef-pd2-stepbar__name {
  color: #1E1E1B;
}

.ef-pd2-stepbar__next {
  font: 400 12px/1 inherit;
  color: #8A6A43;
  margin: 0;
  white-space: nowrap;
  letter-spacing: 0.01em;
}

.ef-pd2-stepbar__ready {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #0F6E56;
  font-weight: 600;
}

/* ── Segmented bar — mirrors .ef-cfg-strip (1 segment per visible step) ── */
.ef-pd2-stepbar__bar {
  display: flex;
  gap: 2px;
  height: 4px;
  width: 100%;
  background: transparent;
  border-radius: 0;
}

.ef-pd2-stepbar__seg {
  flex: 1 1 0;
  height: 100%;
  background: rgba(138, 106, 67, 0.12);
  transition: background 360ms cubic-bezier(0.22, 1, 0.36, 1);
  border-radius: 1px;
}
.ef-pd2-stepbar__seg.is-done {
  background: #8A6A43;
}
.ef-pd2-stepbar__seg.is-active {
  background: #8A6A43;
  /* Subtle pulse on the current segment — matches .ef-cfg-strip behavior */
  animation: efPd2StepbarPulse 2.4s ease-in-out infinite;
}
@keyframes efPd2StepbarPulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.62; }
}
@media (prefers-reduced-motion: reduce) {
  .ef-pd2-stepbar__seg.is-active { animation: none; }
}

/* ── Final-state — green payoff signal on Step N of N ── */
.ef-pd2-stepbar.is-final .ef-pd2-stepbar__seg.is-done,
.ef-pd2-stepbar.is-final .ef-pd2-stepbar__seg.is-active {
  background: #6B9F3D;
}
.ef-pd2-stepbar.is-final .ef-pd2-stepbar__seg.is-active {
  animation: none; /* steady green at the finish, no pulse */
}

@media (max-width: 600px) {
  .ef-pd2-stepbar { margin: 14px 0 22px; }
  .ef-pd2-stepbar__current { font-size: 13px; }
  .ef-pd2-stepbar__next { font-size: 11px; }
  .ef-pd2-stepbar__row { gap: 8px; }
}

@media (max-width: 380px) {
  .ef-pd2-stepbar__row { flex-direction: column; align-items: flex-start; gap: 4px; }
}


/* ============================================================
   LUXURY CONFIDENCE CARD (CRO 2026-04-29)
   Replaces: .ef-confidence (review strip + 3 pillars + 4-step process +
             help pill + payment row) — fragmented, scattered.
   With:     ONE luxury card matching Apple/B&O/RH editorial style:
             confident headline + 2x2 spec grid + secure-checkout footer.

   Design notes (the "team"):
   - Luxury Brand Designer: restraint, cream-on-cream, 16px radius card,
     1px hairline border, no busy iconography. Bronze ALL CAPS labels carry
     hierarchy; values stay charcoal #1E1E1B for readability.
   - UX/CRO: 2x2 grid scannable in <2s. Secure checkout footer = familiar
     trust pattern from Apple/Stripe.
   - Art Director: 28px padding (luxury whitespace), 24px section dividers
     using 1px hairline (#E8E2D9) — nothing screams "SaaS card".
   - Typography & Color Specialist: Inter 600/22px headline with -0.01em
     tracking, 14px/1.6 body. Labels 10px/600/0.14em uppercase bronze
     #8A6A43 (canonical brand). All bronze in one tone — no drift.
   - Frontend Engineer: scoped .ef-pd2-confidence-* — does not collide
     with .ef-confidence/.ef-pd-*/.ef-cfg-*. Reverts by reverting the
     snippet edit only — CSS file stays.
   ============================================================ */

/* Card frame — !important defeats Prestige's <section> reset which strips
   background/border/padding from semantic landmarks. Cream-on-ivory with a
   hairline border + soft shadow gives the "luxury enclosed object" feel. */
/* The configurator wrapper (#efCfg) at line 24 of ef-configurator-v2.css resets
   `.ef-cfg * { padding: 0; margin: 0; }` on ALL descendants. Specificity 0,1,1
   beats a plain class selector (0,1,0). Prefix with the parent ID #efCfg
   (specificity 1,1,0) to definitively win the cascade. Plus inline style on
   markup as defense-in-depth. */
#efCfg .ef-pd2-confidence,
.ef-pd-info .ef-pd2-confidence,
.ef-pd2-confidence {
  display: block !important;
  position: relative !important;
  margin: 20px 0 8px !important;       /* tight bottom 8px → matches tab-to-tab gap */
  padding: 24px !important;
  background: #FEFCF9 !important;       /* warm cream — matches .ef-pd-acc-trigger tabs */
  background-color: #FEFCF9 !important;
  border: 1.5px solid #D5CCC0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;          /* glow removed per user request */
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: #1E1E1B !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;          /* contain the shimmer sweep ::after element */
}

/* Shimmer sweep — subtle bronze glint moves left→right across the top hairline.
   ~3s sweep + ~5s pause = 8s cycle. Subliminal, not distracting from configurator. */
#efCfg .ef-pd2-confidence::after,
.ef-pd-info .ef-pd2-confidence::after,
.ef-pd2-confidence::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: -50% !important;
  width: 50% !important;
  height: 3px !important;
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(184,149,95,0.6) 25%,
    rgba(232,200,140,1) 50%,
    rgba(184,149,95,0.6) 75%,
    rgba(255,255,255,0) 100%) !important;
  pointer-events: none !important;
  animation: efPd2Shimmer 8s ease-in-out 1.5s infinite !important;
  will-change: transform, opacity;
  z-index: 2;
}

@keyframes efPd2Shimmer {
  0%   { transform: translateX(0);    opacity: 0; }
  5%   { opacity: 1; }
  40%  { transform: translateX(300%); opacity: 1; }
  46%  { transform: translateX(300%); opacity: 0; }
  100% { transform: translateX(0);    opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  #efCfg .ef-pd2-confidence::after,
  .ef-pd2-confidence::after { animation: none !important; opacity: 0 !important; }
}

/* Subtle bronze accent line at the top — luxury "object" signature
   (B&O / RH editorial pattern: a single intentional metallic stroke). */
.ef-pd2-confidence::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    rgba(138,106,67,0) 0%,
    rgba(138,106,67,0.55) 30%,
    rgba(138,106,67,0.55) 70%,
    rgba(138,106,67,0) 100%);
  pointer-events: none;
}

/* Typography matched to product page hierarchy:
   - .ef-pd-title (H1) = 24px
   - .ef-pd-acc-trigger (accordion title) = 15px
   - This card sits at "section card" level → headline 17px (between accordion 15 and section 24)
*/
.ef-pd2-confidence__head {
  margin: 0 !important;
  padding: 0 !important;
}
.ef-pd2-confidence__title {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.005em !important;
  color: #1E1E1B !important;
  margin: 0 0 6px !important;
}
.ef-pd2-confidence__sub {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: #5C5852 !important;
  margin: 0 !important;
  max-width: 60ch;
}

.ef-pd2-confidence__rule {
  border: 0 !important;
  border-top: 1px solid #E8E2D9 !important;
  margin: 18px 0 !important;
  height: 0 !important;
  background: none !important;
}

.ef-pd2-confidence__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px 28px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ef-pd2-confidence__spec {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0;
  margin: 0 !important;
}
.ef-pd2-confidence__label {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #8A6A43 !important;
  margin: 0 !important;
}
.ef-pd2-confidence__value {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #1E1E1B !important;
  margin: 0 !important;
}
/* Reviews spec — star row above the rating text */
.ef-pd2-confidence__value--reviews {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  align-items: flex-start !important;
}
.ef-pd2-confidence__stars {
  display: inline-flex !important;
  gap: 1px !important;
  align-items: center !important;
}
.ef-pd2-confidence__stars svg {
  display: block !important;
  flex-shrink: 0 !important;
}

.ef-pd2-confidence__pay {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  flex-wrap: wrap;
}
.ef-pd2-confidence__pay-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #5C5852 !important;
  white-space: nowrap;
}
.ef-pd2-confidence__pay-icons {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.ef-pd2-confidence__pay-svg {
  height: 18px !important;
  width: auto !important;
  display: block;
}
.ef-pd2-confidence__pay-icons { gap: 4px !important; }

@media (max-width: 1023px) {
  .ef-pd2-confidence { padding: 20px !important; border-radius: 14px !important; }
  /* HARD-LOCKED to match doors typography on mobile + tablet (was 600px breakpoint
     which only fired on smallest phones — tablets ended up at base 12px / lighter
     color). User feedback 2026-05-03. */
  body .ef-pd2-confidence .ef-pd2-confidence__title,
  .ef-pd2-confidence__title { font-size: 22px !important; font-weight: 600 !important; line-height: 1.25 !important; letter-spacing: -0.015em !important; color: #1E1E1B !important; }
  body .ef-pd2-confidence .ef-pd2-confidence__sub,
  .ef-pd2-confidence__sub { font-size: 15px !important; font-weight: 500 !important; line-height: 1.5 !important; color: #3A3732 !important; }
  .ef-pd2-confidence__grid { gap: 14px 18px !important; }
  .ef-pd2-confidence__rule { margin: 16px 0 !important; }
  .ef-pd2-confidence__pay { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
  .ef-pd2-confidence__pay-svg { height: 16px !important; }
}

@media (max-width: 380px) {
  .ef-pd2-confidence__grid { grid-template-columns: 1fr !important; gap: 14px !important; }
}

/* Tighten the gap between trust card and accordion. The accordion wrapper has
   inline `style="margin-top:24px"` (specificity 1,0,0,0). Override with
   attribute selector + !important to win. Plus zero out .ef-pd-details padding
   in case it adds further offset. Scoped to doors PDP — CSS file only loads here. */
.ef-pd-accordion[style],
#efCfg + .ef-pd-accordion,
.ef-pd-accordion {
  margin-top: 8px !important;          /* match tab-to-tab gap */
}
.ef-pd-details {
  padding-top: 4px !important;
}
@media (max-width: 768px) {
  .ef-pd-details { padding-top: 4px !important; }
}
