/* ═══════════════════════════════════════════════════════════════
   SUTIL FRAGANCIA — Homepage v3.0
   Brand: Noir var(--sf-text) · Marfil var(--sf-bg) · Dorado var(--sf-accent)
          Piedra var(--sf-secondary) · Ceniza var(--sf-muted)
   ═══════════════════════════════════════════════════════════════ */
.sf-homepage * { box-sizing: border-box; }
.sf-homepage a { text-decoration: none; color: inherit; }
.sf-homepage img { display: block; max-width: 100%; height: auto; }
.sf-homepage h1,.sf-homepage h2,.sf-homepage h3 { margin: 0; font-weight: 500; }
.sf-homepage p { margin: 0; }
.sf-hp-divider { height: 0.5px; background: var(--sf-secondary); }
.sf-hp-sec { padding: 16px 0; }
.sf-hp-sec__inner { padding: 0 16px; }
.sf-hp-sec__title { font-size: 16px; font-weight: 500; color: var(--sf-text); margin-bottom: 14px; font-family: 'Cormorant Garamond', Georgia, serif; }

/* Astra overrides */
body.sf-homepage-active .main-header-bar { padding-top: 8px !important; padding-bottom: 8px !important; min-height: unset !important; }
.sf-hp-sec__title,
.sf-hp-hero__h,
.sf-hp-hero__sub,
.sf-hp-banner__label,
.sf-hp-brand__name,
.sf-hp-prod-card__body h3,
.sf-hp-faq__item summary { text-transform: none !important; }

/* ── SHIPPING BAR ── */
.sf-shipping-bar { background: var(--sf-bg); padding: 7px 16px 4px; border-bottom: 0.5px solid var(--sf-secondary); }
.sf-shipping-bar__text { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--sf-text); margin-bottom: 5px; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-shipping-bar__text strong { font-weight: 500; }
.sf-shipping-bar__amt { font-size: 11px; font-weight: 500; color: var(--sf-accent); }
.sf-shipping-bar__track { height: 4px; background: var(--sf-secondary); border-radius: 99px; overflow: hidden; margin-bottom: 4px; }
.sf-shipping-bar__fill { height: 100%; background: var(--sf-accent); border-radius: 99px; transition: width 0.4s ease; }

/* ── HERO ── */
.sf-hp-hero { background: var(--sf-text); padding: 24px 16px 20px; }
.sf-hp-hero__body { position: relative; z-index: 1; }
.sf-hp-hero__h { font-size: 22px; font-weight: 500; color: var(--sf-bg); line-height: 1.2; margin-bottom: 8px; font-family: 'Cormorant Garamond', Georgia, serif; }
.sf-hp-hero__sub { font-size: 12px; color: #D4CAB8; line-height: 1.5; margin-bottom: 14px; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-hero__actions { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; }
.sf-hp-hero__cta { display: inline-block; background: var(--sf-accent); color: var(--sf-text); font-size: 13px; font-weight: 500; padding: 10px 24px; border-radius: 99px; font-family: 'DM Sans', -apple-system, sans-serif; transition: opacity 0.2s; flex-shrink: 0; margin: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
.sf-hp-hero__cta:hover { opacity: 0.88; }
.sf-hp-hero__sp { display: flex; align-items: center; gap: 5px; }
.sf-hp-hero__stars { color: var(--sf-stars); font-size: 11px; }
.sf-hp-hero__sp span:last-child { font-size: 11px; color: #D4CAB8; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-timer { background: rgba(184,146,74,.12); border: 0.5px solid var(--sf-accent); border-radius: 8px; padding: 8px 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.sf-hp-timer__label { font-size: 11px; color: #D4CAB8; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-timer__val { font-size: 20px; font-weight: 500; color: var(--sf-accent); letter-spacing: 0.06em; font-family: 'DM Sans', -apple-system, sans-serif; line-height: 1; }
.sf-hp-timer__label-wrap { display: flex; flex-direction: column; gap: 2px; flex-shrink: 0; }
.sf-hp-timer__offer { font-size: 11px; color: #D4CAB8; text-align: right; flex: 1; line-height: 1.4; font-family: 'DM Sans', -apple-system, sans-serif; }

/* ── REVIEWS CAROUSEL ── */
.sf-hp-reviews-carousel {
  background: var(--sf-bg);
  padding: 14px 0;
  border-bottom: 0.5px solid var(--sf-secondary);
}
.sf-hp-reviews-carousel__track {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 0 16px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.sf-hp-reviews-carousel__track::-webkit-scrollbar { display: none; }

.sf-hp-review-card {
  flex: 0 0 260px;
  scroll-snap-align: start;
  background: var(--sf-card-bg, var(--sf-bg)) !important;
  border-radius: 10px;
  border: 0.5px solid var(--sf-secondary);
  padding: 12px 14px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.sf-hp-review-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--sf-text);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.sf-hp-review-card__avatar span {
  font-size: 12px;
  font-weight: 500;
  color: var(--sf-bg);
  font-family: 'DM Sans', -apple-system, sans-serif;
}
.sf-hp-review-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sf-hp-review-card__body {
  min-width: 0;
  flex: 1;
}
.sf-hp-review-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3px;
}
.sf-hp-review-card__name {
  font-size: 12px;
  font-weight: 500;
  color: var(--sf-text);
  font-family: 'DM Sans', -apple-system, sans-serif;
}
.sf-hp-review-card__stars {
  flex-shrink: 0;
  font-size: 10px;
  line-height: 1;
}
.sf-hp-review-star--full { color: var(--sf-stars); }
.sf-hp-review-star--empty { color: var(--sf-secondary); }
.sf-hp-review-card__text {
  font-size: 11px;
  color: #5F5E5A;
  line-height: 1.45;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-family: 'DM Sans', -apple-system, sans-serif;
}

/* ── USPs ── */
.sf-hp-usps { display: flex; justify-content: space-around; padding: 12px 8px; border-bottom: 0.5px solid var(--sf-secondary); background: var(--sf-bg); }
.sf-hp-usp { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1; }
.sf-hp-usp__txt { font-size: 11px; color: #5F5E5A; text-align: center; line-height: 1.3; font-family: 'DM Sans', -apple-system, sans-serif; }

/* ── TABS ── */
.sf-hp-tabs { padding: 16px 16px 0; }
.sf-hp-tabs__scroll { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 14px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.sf-hp-tabs__scroll::-webkit-scrollbar { display: none; }
.sf-hp-tab { flex-shrink: 0; background: var(--sf-bg); color: var(--sf-text); font-size: 12px; font-weight: 500; padding: 6px 14px; border-radius: 99px; border: 0.5px solid var(--sf-secondary); font-family: 'DM Sans', -apple-system, sans-serif; transition: background 0.2s, color 0.2s; -webkit-appearance: none; appearance: none; line-height: 1.4; text-transform: none !important; letter-spacing: 0 !important; }
.sf-hp-tab:hover { border-color: var(--sf-accent); }
.sf-hp-tab--active { background: var(--sf-text); color: var(--sf-bg); border-color: var(--sf-text); }
.sf-hp-tab--accent { color: var(--sf-accent); border-color: var(--sf-accent); }

/* ── PRODUCT CARDS ── */
.sf-hp-best__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sf-hp-prod-card { display: block; border-radius: 10px; overflow: hidden; border: 0.5px solid var(--sf-secondary); background: var(--sf-card-bg, var(--sf-bg)) !important; text-decoration: none; transition: opacity 0.2s; }
.sf-hp-prod-card__body { background: var(--sf-card-bg, var(--sf-bg)) !important; }.sf-hp-prod-card:hover { opacity: 0.92; }
.sf-hp-prod-card__img-wrap { display: block; aspect-ratio: 1 / 1; background: var(--sf-card-img-bg, var(--sf-card-bg, var(--sf-bg))); position: relative; overflow: hidden; }
.sf-hp-prod-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.sf-hp-prod-card__badge { position: absolute; top: 6px; left: 6px; background: var(--sf-text); color: var(--sf-bg); font-size: 11px; font-weight: 500; padding: 3px 8px; border-radius: 99px; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-prod-card__badge--status { left: auto; right: 6px; background: var(--sf-accent); color: var(--sf-text); }
.sf-hp-prod-card__body { padding: 8px 10px 12px; }
.sf-hp-prod-card__brand { display: block; font-size: 11px; font-weight: 500; color: var(--sf-accent); letter-spacing: 0.04em; margin-bottom: 2px; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-prod-card__body h3 { font-size: 12px; font-weight: 500; line-height: 1.35; margin-bottom: 3px; color: var(--sf-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-prod-card__rating { display: flex; align-items: center; gap: 3px; margin-bottom: 4px; }
.sf-hp-prod-card__stars { color: var(--sf-stars); font-size: 11px; }
.sf-hp-prod-card__count { font-size: 11px; color: var(--sf-muted); font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-prod-card__price { font-size: 15px; font-weight: 500; color: var(--sf-text); font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-prod-card__price del { color: var(--sf-muted); font-size: 11px; margin-right: 3px; text-decoration: line-through; font-weight: 400; }
.sf-hp-prod-card__price ins { text-decoration: none; font-weight: 500; }
.sf-hp-prod-card__price .screen-reader-text,
.sf-hp-prod-card__price [class*="screen-reader"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.sf-hp-see-all { display: block; text-align: center; margin-top: 14px; font-size: 12px; font-weight: 500; color: var(--sf-text); border: 0.5px solid var(--sf-text); border-radius: 99px; padding: 10px 0; font-family: 'DM Sans', -apple-system, sans-serif; transition: background 0.2s, color 0.2s; text-decoration: none; }
.sf-hp-see-all:hover { background: var(--sf-bg); }

/* ── CATEGORY BANNERS ── */
.sf-hp-banners__main { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.sf-hp-banners__extra { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sf-hp-banner { display: block; border-radius: 10px; overflow: hidden; position: relative; text-decoration: none; aspect-ratio: 3 / 2; transition: opacity 0.2s; }
.sf-hp-banner:hover { opacity: 0.9; }
.sf-hp-banner--small { aspect-ratio: 3 / 2; }
.sf-hp-banner__label { position: absolute; bottom: 8px; left: 8px; font-size: 11px; font-weight: 500; color: var(--sf-text); background: rgba(255,255,255,.9); padding: 3px 10px; border-radius: 99px; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-banner__label--inv { background: rgba(0,0,0,.4); color: var(--sf-bg); }
.sf-hp-banner__label--gold { background: var(--sf-accent); color: var(--sf-text); }
.sf-hp-banner__badge { position: absolute; top: 6px; right: 6px; background: var(--sf-bg); color: var(--sf-text); font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 99px; display: flex; align-items: center; gap: 4px; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-banner__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--sf-stock-out); display: inline-block; flex-shrink: 0; }

/* ── BRANDS ── */
.sf-hp-brands__row { display: flex; gap: 14px; overflow-x: auto; padding: 4px 0 8px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.sf-hp-brands__row::-webkit-scrollbar { display: none; }
.sf-hp-brand { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 5px; text-decoration: none; }
.sf-hp-brand__circle { width: 56px; height: 56px; border-radius: 50%; border: 0.5px solid #D4CAB8; background: var(--sf-bg); display: flex; align-items: center; justify-content: center; overflow: hidden; transition: border-color 0.2s; }
.sf-hp-brand:hover .sf-hp-brand__circle { border-color: var(--sf-accent); }
.sf-hp-brand__circle img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.sf-hp-brand__circle span { font-size: 11px; font-weight: 500; color: var(--sf-muted); font-family: 'DM Sans', -apple-system, sans-serif; text-align: center; padding: 0 4px; }
.sf-hp-brand__name { font-size: 11px; color: var(--sf-muted); text-align: center; font-family: 'DM Sans', -apple-system, sans-serif; max-width: 56px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── UGC + TESTIMONIOS ── */
.sf-hp-ugc .sf-ugc-block { margin-top: 0; }
.sf-hp-testimonios .sf-testimonios--product { margin-top: 0 !important; border-top: none !important; }

/* Testimonios grid */
.sf-testimonios__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  width: 100% !important;
}

/* Testimonios title */
.sf-testimonios__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 16px;
  font-weight: 500;
  color: var(--sf-text);
  margin-bottom: 14px;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Card B — base */
.sf-testi-card--b {
  background: var(--sf-card-bg, var(--sf-bg)) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Card B — image wrapper (1:1 aspect ratio trick) */
.sf-testi-card--b .sf-testi-card__img {
  display: block !important;
  width: 100% !important;
  padding-bottom: 100% !important;
  height: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  background: var(--sf-text) !important;
}

/* Card B — image inside wrapper */
.sf-testi-card--b .sf-testi-card__img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  max-width: none !important;
  max-height: none !important;
}

/* Card B — initials fallback */
.sf-testi-card--b .sf-testi-card__initials {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  color: var(--sf-bg) !important;
  background: var(--sf-text) !important;
}

/* Card B — body */
.sf-testi-card--b .sf-testi-card__body {
  padding: 10px 12px 14px !important;
  background: var(--sf-card-bg, var(--sf-bg)) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  flex: 1 !important;
}

/* Card B — header row (name left, stars right) */
.sf-testi-card--b .sf-testi-card__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
}

/* Card B — name column */
.sf-testi-card--b .sf-testi-card__name-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  min-width: 0 !important;
}
.sf-testi-card--b .sf-testi-card__name {
  display: block !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--sf-text) !important;
  line-height: 1.3 !important;
}
.sf-testi-card--b .sf-testi-card__city {
  display: block !important;
  font-size: 10px !important;
  color: var(--sf-muted) !important;
  line-height: 1.3 !important;
}

/* Card B — stars */
.sf-testi-card--b .sf-testi-card__stars {
  display: flex !important;
  gap: 1px !important;
  flex-shrink: 0 !important;
  align-self: center !important;
}
.sf-testi-card--b .sf-testi-star--full {
  color: var(--sf-accent) !important;
  font-size: 10px !important;
}
.sf-testi-card--b .sf-testi-star--empty {
  color: #D4CAB8 !important;
  font-size: 10px !important;
}

/* Card B — text with clamp */
.sf-testi-card--b .sf-testi-card__text {
  font-size: 12px !important;
  color: #3e3943 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
}
.sf-testi-card--b .sf-testi-card__text.sf-expanded {
  overflow: visible !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
}

/* Card B — "Leer más" button */
.sf-testi-read-more {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 3px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--sf-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  cursor: pointer !important;
  display: block !important;
  width: auto !important;
  border-radius: 0 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-family: 'DM Sans', -apple-system, sans-serif !important;
}

/* "Ver más opiniones" button */
.sf-testimonios__more {
  background: transparent !important;
  color: var(--sf-text) !important;
  border: 0.5px solid var(--sf-text) !important;
  border-radius: 999px !important;
  padding: 7px 20px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: table !important;
  margin: 12px auto 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  font-family: 'DM Sans', -apple-system, sans-serif !important;
}
.sf-testimonios__more:hover {
  background: var(--sf-bg) !important;
}

/* ── FAQ (matches PDP accordion) ── */
.sf-hp-faq__items { display: flex; flex-direction: column; }
.sf-hp-faq__item { border-bottom: 0.5px solid var(--sf-secondary); }
.sf-hp-faq__item summary { padding: 14px 0; font-size: 14px; font-weight: 700; color: var(--sf-text); cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; font-family: 'DM Sans', -apple-system, sans-serif; user-select: none; }
.sf-hp-faq__item summary::-webkit-details-marker { display: none; }
.sf-hp-faq__item summary::after { content: '+'; font-size: 16px; color: var(--sf-muted); font-weight: 400; transition: transform 0.2s; flex-shrink: 0; margin-left: 8px; }
.sf-hp-faq__item[open] summary::after { content: '−'; transform: none; }
.sf-hp-faq__item p { font-size: 13px; color: #5F5E5A; line-height: 1.55; padding-bottom: 12px; font-family: 'DM Sans', -apple-system, sans-serif; }

/* ── INSTAGRAM ── */
.sf-hp-ig__header { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.sf-hp-ig__avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--sf-text); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 500; color: var(--sf-bg); flex-shrink: 0; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-ig__handle { font-size: 12px; font-weight: 500; color: var(--sf-text); display: block; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-ig__followers { font-size: 11px; color: var(--sf-muted); font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-ig__placeholder { background: var(--sf-bg); border: 0.5px dashed #D4CAB8; border-radius: 8px; padding: 20px; text-align: center; font-size: 11px; color: var(--sf-muted); font-family: 'DM Sans', -apple-system, sans-serif; }

/* ── WHATSAPP FLOATING ── */
.sf-hp-wa-float { position: fixed; bottom: 20px; right: 16px; z-index: 9990; width: 52px; height: 52px; border-radius: 50%; background: #25D366; display: flex; align-items: center; justify-content: center; transition: transform 0.2s; }
.sf-hp-wa-float:hover { transform: scale(1.08); }
body.sf-homepage-active .sf-hp-wa-float { bottom: 76px; }

/* ── POPUP ── */
.sf-hp-popup { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: flex-end; justify-content: center; }
.sf-hp-popup[hidden] { display: none !important; visibility: hidden !important; }
.sf-hp-popup__overlay { position: absolute; inset: 0; background: rgba(28,26,23,.6); cursor: pointer; }
.sf-hp-popup__box { position: relative; z-index: 1; background: var(--sf-bg); border-radius: 16px 16px 0 0; overflow: hidden; width: 100%; max-width: 480px; animation: sf-popup-up 0.3s ease; }
@keyframes sf-popup-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
.sf-hp-popup__top { background: var(--sf-text); padding: 20px 16px 16px; text-align: center; position: relative; }
.sf-hp-popup__offer { font-size: 36px; font-weight: 500; color: var(--sf-accent); font-family: 'Cormorant Garamond', Georgia, serif; line-height: 1; margin-bottom: 4px; }
.sf-hp-popup__off { font-size: 13px; color: var(--sf-bg); font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-popup__close { position: absolute; top: 10px; right: 12px; background: none; border: none; color: var(--sf-muted); font-size: 16px; cursor: pointer; padding: 4px; line-height: 1; }
.sf-hp-popup__body { padding: 16px; }
.sf-hp-popup__title { font-size: 15px; font-weight: 500; color: var(--sf-text); margin-bottom: 5px; font-family: 'Cormorant Garamond', Georgia, serif; }
.sf-hp-popup__sub { font-size: 11px; color: var(--sf-muted); line-height: 1.5; margin-bottom: 12px; font-family: 'DM Sans', -apple-system, sans-serif; }
.sf-hp-popup__input { width: 100%; border: 0.5px solid #D4CAB8; border-radius: 8px; padding: 10px 12px; font-size: 13px; color: var(--sf-text); background: var(--sf-bg); margin-bottom: 10px; font-family: 'DM Sans', -apple-system, sans-serif; outline: none; transition: border-color 0.2s; }
.sf-hp-popup__input:focus { border-color: var(--sf-accent); }
.sf-hp-popup__cta { display: block; width: 100%; background: var(--sf-accent); color: var(--sf-text); font-size: 14px; font-weight: 500; padding: 12px; border-radius: 99px; border: none; cursor: pointer; font-family: 'DM Sans', -apple-system, sans-serif; margin-bottom: 10px; transition: opacity 0.2s; }
.sf-hp-popup__cta:hover { opacity: 0.88; }
.sf-hp-popup__skip { display: block; width: 100%; background: none; border: none; font-size: 11px; color: var(--sf-muted); text-decoration: underline; cursor: pointer; font-family: 'DM Sans', -apple-system, sans-serif; padding: 4px 0; text-align: center; }

/* ── Desktop ── */
@media ( min-width: 768px ) {
    .sf-hp-sec__inner { padding: 0 32px; max-width: 1200px; margin: 0 auto; }
    .sf-hp-hero { padding: 40px 32px 32px; }
    .sf-hp-hero__h { font-size: 34px; }
    .sf-hp-hero__body { max-width: 620px; }
    .sf-hp-reviews-carousel__track { padding: 0 32px; }
    .sf-hp-review-card { flex: 0 0 280px; }
    .sf-hp-banners__main { grid-template-columns: repeat(4, 1fr); }
    .sf-hp-banners__extra { grid-template-columns: repeat(2, 1fr); max-width: 50%; }
    .sf-hp-best__grid { grid-template-columns: repeat(4, 1fr); }
    .sf-hp-brands__row { flex-wrap: wrap; overflow: visible; }
    .sf-hp-popup__box { border-radius: 16px; align-self: center; }
    .sf-hp-wa-float { bottom: 24px; right: 24px; }
}

/* ── GRID LOADING STATE ── */
.sf-hp-best__grid { transition: opacity 0.25s ease; min-height: 200px; }
.sf-hp-grid--loading { opacity: 0.35; pointer-events: none; }
.sf-hp-tab { cursor: pointer; -webkit-tap-highlight-color: transparent; }
.sf-hp-tab:disabled { opacity: 0.5; cursor: wait; }
.sf-hp-tab:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 2px; }

/* ── HIDE ASTRA FOOTER ON HOMEPAGE ── */
body.sf-homepage-active .site-footer,
body.sf-homepage-active .ast-footer-overlay,
body.sf-homepage-active .ast-small-footer,
body.sf-homepage-active footer.site-footer,
body.sf-homepage-active .ast-footer-copyright,
body.sf-homepage-active #colophon {
  display: none !important;
}

/* ── BRANDED FOOTER ── */
.sf-hp-footer {
  background: var(--sf-text);
  padding: 28px 16px 20px;
}
.sf-hp-footer__logo {
  text-align: center;
  margin-bottom: 12px;
}
.sf-hp-footer__monogram {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px;
  font-weight: 500;
  color: var(--sf-bg);
  letter-spacing: 0.08em;
}
.sf-hp-footer__wordmark {
  font-size: 13px;
  color: #D4CAB8;
  font-style: italic;
  margin-left: 6px;
  font-family: 'DM Sans', -apple-system, sans-serif;
}
.sf-hp-footer__claim {
  text-align: center;
  font-size: 11px;
  color: var(--sf-muted);
  line-height: 1.6;
  margin: 0 0 16px;
  font-family: 'DM Sans', -apple-system, sans-serif;
}
.sf-hp-footer__links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 0.5px solid #2A2826;
}
.sf-hp-footer__links a {
  font-size: 11px;
  color: #D4CAB8;
  text-decoration: none;
  font-family: 'DM Sans', -apple-system, sans-serif;
}
.sf-hp-footer__links a:hover { color: var(--sf-accent); }
.sf-hp-footer__social {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 12px;
}
.sf-hp-footer__social-link {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 0.5px solid #2A2826;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: border-color 0.2s;
}
.sf-hp-footer__social-link:hover { border-color: var(--sf-accent); }
.sf-hp-footer__social-link svg { width: 14px; height: 14px; fill: #D4CAB8; }
.sf-hp-footer__copy {
  text-align: center;
  font-size: 11px;
  color: #5F5E5A;
  margin: 0;
  font-family: 'DM Sans', -apple-system, sans-serif;
}

/* ═══════════════════════════════════════════════════════════════
   HERO CAROUSEL v3.0.7
   Full-width background image + overlay + text on top.
   Respects prefers-reduced-motion. WCAG-compliant.
   ═══════════════════════════════════════════════════════════════ */
.sf-hero-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: var(--sf-text);
    touch-action: pan-y;
}
/* Height variants — mobile */
.sf-hero-carousel--h-mobile-compact { height: 360px; }
.sf-hero-carousel--h-mobile-medium  { height: 480px; }
.sf-hero-carousel--h-mobile-tall    { height: 600px; }

.sf-hero-carousel__track {
    position: relative;
    width: 100%;
    height: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sf-hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 400ms ease, visibility 0s linear 400ms;
    pointer-events: none;
    margin: 0;
    padding: 0;
}
.sf-hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    transition: opacity 400ms ease, visibility 0s linear 0s;
    pointer-events: auto;
}
.sf-hero-carousel--single .sf-hero-slide {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
/* Device visibility */
.sf-hero-slide--dev-mobile { display: block; }
.sf-hero-slide--dev-desktop { display: none; }
@media (min-width: 768px) {
    .sf-hero-slide--dev-mobile { display: none; }
    .sf-hero-slide--dev-desktop { display: block; }
}

.sf-hero-slide__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}
.sf-hero-slide__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    padding: 32px 20px;
    box-sizing: border-box;
}
/* Horizontal text alignment */
.sf-hero-slide--align-left   .sf-hero-slide__inner { justify-content: flex-start; }
.sf-hero-slide--align-center .sf-hero-slide__inner { justify-content: center; }
.sf-hero-slide--align-right  .sf-hero-slide__inner { justify-content: flex-end; }
/* Vertical text alignment */
.sf-hero-slide--valign-top    .sf-hero-slide__inner { align-items: flex-start; }
.sf-hero-slide--valign-center .sf-hero-slide__inner { align-items: center; }
.sf-hero-slide--valign-bottom .sf-hero-slide__inner { align-items: flex-end; }

.sf-hero-slide__content {
    max-width: 540px;
}
.sf-hero-slide--align-center .sf-hero-slide__content { text-align: center; }
.sf-hero-slide--align-right  .sf-hero-slide__content { text-align: right; }

/* Text colors */
.sf-hero-slide--color-marfil .sf-hero-slide__headline,
.sf-hero-slide--color-marfil .sf-hero-slide__sub,
.sf-hero-slide--color-marfil .sf-hero-slide__sp > span:last-child { color: var(--sf-bg); }
.sf-hero-slide--color-marfil .sf-hero-slide__stars { color: var(--sf-stars); }

.sf-hero-slide--color-noir .sf-hero-slide__headline,
.sf-hero-slide--color-noir .sf-hero-slide__sub,
.sf-hero-slide--color-noir .sf-hero-slide__sp > span:last-child { color: var(--sf-text); }
.sf-hero-slide--color-noir .sf-hero-slide__stars { color: var(--sf-stars); }

/* Typography — mobile first */
.sf-hero-slide__headline {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.15;
    margin: 0 0 16px;
    text-shadow: 0 1px 12px rgba(0,0,0,0.25);
}
.sf-hero-slide--color-noir .sf-hero-slide__headline { text-shadow: none; }
.sf-hero-slide__sub {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 0 24px;
    text-shadow: 0 1px 8px rgba(0,0,0,0.25);
}
.sf-hero-slide--color-noir .sf-hero-slide__sub { text-shadow: none; }

/* CTA */
.sf-hero-slide__cta-wrap { margin-bottom: 16px; }

/* Size presets — mobile (default medium: 28/14) */
.sf-hero-slide--h-compact .sf-hero-slide__headline { font-size: 24px; }
.sf-hero-slide--h-large   .sf-hero-slide__headline { font-size: 34px; }
.sf-hero-slide--sub-compact .sf-hero-slide__sub { font-size: 13px; }
.sf-hero-slide--sub-large   .sf-hero-slide__sub { font-size: 16px; }
.sf-hero-slide__cta {
    display: inline-block;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding: 12px 28px;
    border-radius: 99px;
    text-decoration: none;
    transition: opacity 0.2s, background-color 0.2s, color 0.2s;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.2;
    border: 1.5px solid transparent;
    cursor: pointer;
}
.sf-hero-slide__cta--gold-solid {
    background: var(--sf-accent);
    color: var(--sf-text);
    border-color: var(--sf-accent);
}
.sf-hero-slide__cta--gold-solid:hover { opacity: 0.88; }
.sf-hero-slide__cta--marfil-outline {
    background: transparent;
    color: var(--sf-bg);
    border-color: var(--sf-bg);
}
.sf-hero-slide__cta--marfil-outline:hover { background: var(--sf-bg); color: var(--sf-text); }
.sf-hero-slide__cta--gold-outline {
    background: transparent;
    color: var(--sf-accent);
    border-color: var(--sf-accent);
}
.sf-hero-slide__cta--gold-outline:hover { background: var(--sf-accent); color: var(--sf-text); }

/* Social proof */
.sf-hero-slide__sp {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 12px;
    text-shadow: 0 1px 8px rgba(0,0,0,0.25);
}
.sf-hero-slide--color-noir .sf-hero-slide__sp { text-shadow: none; }
.sf-hero-slide--align-center .sf-hero-slide__sp { justify-content: center; display: flex; }
.sf-hero-slide--align-right  .sf-hero-slide__sp { justify-content: flex-end; display: flex; }
.sf-hero-slide__stars { font-size: 12px; letter-spacing: 1px; }

/* Timer per slide */
.sf-hero-slide__timer {
    margin-top: 14px;
    background: rgba(184,146,74,.14);
    border: 0.5px solid var(--sf-accent);
    border-radius: 8px;
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-family: 'DM Sans', -apple-system, sans-serif;
    max-width: 100%;
}
.sf-hero-slide__timer-col { display: flex; flex-direction: column; gap: 2px; flex-shrink: 0; }
.sf-hero-slide__timer-label { font-size: 11px; color: #D4CAB8; }
.sf-hero-slide--color-noir .sf-hero-slide__timer-label { color: #5F5E5A; }
.sf-hero-slide__timer-val { font-size: 18px; font-weight: 500; color: var(--sf-accent); letter-spacing: 0.06em; line-height: 1; }
.sf-hero-slide__timer-offer { font-size: 11px; color: #D4CAB8; line-height: 1.4; text-align: right; flex: 1; min-width: 0; }
.sf-hero-slide--color-noir .sf-hero-slide__timer-offer { color: #5F5E5A; }

/* Dots */
.sf-hero-carousel__dots {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    gap: 8px;
    padding: 6px 10px;
    background: rgba(28,26,23,0.35);
    border-radius: 99px;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.sf-hero-carousel__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(247,243,236,0.45);
    border: 0;
    padding: 0;
    cursor: pointer;
    transition: background 0.2s, width 0.2s;
    -webkit-appearance: none;
    appearance: none;
}
.sf-hero-carousel__dot:hover { background: rgba(247,243,236,0.75); }
.sf-hero-carousel__dot--active { background: var(--sf-accent); width: 22px; border-radius: 99px; }
.sf-hero-carousel__dot:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 2px; }

/* Arrows (desktop only, optional) */
.sf-hero-carousel__arrow {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(28,26,23,0.55);
    color: var(--sf-bg);
    border: 0;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    -webkit-appearance: none;
    appearance: none;
}
.sf-hero-carousel__arrow:hover { background: rgba(28,26,23,0.8); }
.sf-hero-carousel__arrow:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 2px; }
.sf-hero-carousel__arrow--prev { left: 16px; }
.sf-hero-carousel__arrow--next { right: 16px; }
@media (min-width: 768px) {
    .sf-hero-carousel__arrow { display: flex; }
}

/* Desktop height variants + typography scaling */
@media (min-width: 768px) {
    .sf-hero-carousel--h-desktop-compact { height: 480px; }
    .sf-hero-carousel--h-desktop-medium  { height: 600px; }
    .sf-hero-carousel--h-desktop-tall    { height: 720px; }
    .sf-hero-slide__inner { padding: 48px 64px; }
    .sf-hero-slide__content { max-width: 620px; }
    .sf-hero-slide__headline { font-size: 48px; margin-bottom: 22px; }
    .sf-hero-slide__sub { font-size: 16px; margin-bottom: 32px; }
    .sf-hero-slide__cta { font-size: 15px; padding: 14px 32px; }
    .sf-hero-slide--h-compact .sf-hero-slide__headline { font-size: 40px; }
    .sf-hero-slide--h-large   .sf-hero-slide__headline { font-size: 60px; }
    .sf-hero-slide--sub-compact .sf-hero-slide__sub { font-size: 15px; }
    .sf-hero-slide--sub-large   .sf-hero-slide__sub { font-size: 18px; }
    .sf-hero-slide__sp { font-size: 13px; }
    .sf-hero-slide__stars { font-size: 13px; }
    .sf-hero-carousel__dots { bottom: 20px; }
    .sf-hero-slide__timer-val { font-size: 22px; }
    .sf-hero-slide__timer-label,
    .sf-hero-slide__timer-offer { font-size: 12px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .sf-hero-slide { transition: none; }
}

/* Fallback legacy hero (no image configured) — keeps original look */
.sf-hp-hero--fallback { background: var(--sf-text); padding: 32px 20px 28px; }
.sf-hp-hero--fallback .sf-hp-hero__h { font-size: 28px; margin-bottom: 10px; }
.sf-hp-hero--fallback .sf-hp-hero__sub { font-size: 14px; margin-bottom: 16px; }
@media (min-width: 768px) {
    .sf-hp-hero--fallback { padding: 56px 64px 48px; }
    .sf-hp-hero--fallback .sf-hp-hero__h { font-size: 42px; }
    .sf-hp-hero--fallback .sf-hp-hero__sub { font-size: 16px; }
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE MENU v3.1.0 — Custom header + drawer
   Noir var(--sf-text) · Marfil var(--sf-bg) · Dorado var(--sf-accent)
   Piedra var(--sf-secondary) · Ceniza var(--sf-muted)
   ═══════════════════════════════════════════════════════════════ */
.sf-mobile-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--sf-header-height, 56px);
    padding: 0 16px;
    background: var(--sf-bg);
    border-bottom: 0.5px solid var(--sf-secondary);
    box-sizing: border-box;
}
.sf-mobile-header__btn {
    background: none;
    border: 0;
    padding: 8px;
    margin: 0;
    cursor: pointer;
    color: var(--sf-text);
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-appearance: none;
    appearance: none;
}
.sf-mobile-header__btn:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 2px; border-radius: 4px; }
.sf-mobile-header__hamburger {
    flex-direction: column;
    gap: 4px;
    width: 32px;
    height: 32px;
}
.sf-mobile-header__bar {
    display: block;
    width: 18px;
    height: 1.5px;
    background: var(--sf-text);
}
.sf-mobile-header__logo {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 20px;
    font-weight: 500;
    color: var(--sf-text);
    letter-spacing: 0.08em;
    text-decoration: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.sf-mobile-header__mono { display: inline-block; }
.sf-mobile-header__actions {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
}
.sf-mobile-header__cart {
    position: relative;
    color: var(--sf-text);
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.sf-mobile-header__cart:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 2px; border-radius: 4px; }
.sf-mobile-header__cart-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 99px;
    background: var(--sf-accent);
    color: var(--sf-text);
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 10px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* ── DRAWER ── */
.sf-drawer {
    position: fixed;
    inset: var(--sf-header-height, 56px) 0 0 0;
    z-index: 9999;
    visibility: hidden;
    pointer-events: none;
}
.sf-drawer.is-open {
    visibility: visible;
    pointer-events: auto;
}
.sf-drawer__overlay {
    position: absolute;
    inset: 0;
    background: rgba(28, 26, 23, var(--sf-mm-overlay-alpha, 0.45));
    opacity: 0;
    transition: opacity 300ms ease;
}
.sf-drawer.is-open .sf-drawer__overlay { opacity: 1; }

.sf-drawer__panel {
    position: absolute;
    top: 0;
    bottom: 0;
    width: var(--sf-mm-width, 83%);
    max-width: 420px;
    background: var(--sf-bg);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    transition: transform 300ms cubic-bezier(0.32, 0.72, 0, 1);
    display: flex;
    flex-direction: column;
}
.sf-drawer--left .sf-drawer__panel { left: 0; transform: translateX(-100%); }
.sf-drawer--right .sf-drawer__panel { right: 0; transform: translateX(100%); }
.sf-drawer.is-open .sf-drawer__panel { transform: translateX(0); }
.sf-drawer__panel:focus { outline: none; }

@media (prefers-reduced-motion: reduce) {
    .sf-drawer__panel, .sf-drawer__overlay { transition: none; }
}

/* ── Drawer header ── */
.sf-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 0.5px solid var(--sf-secondary);
    flex-shrink: 0;
}
.sf-drawer__logo { display: flex; align-items: baseline; gap: 8px; }
.sf-drawer__logo-mono {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    color: var(--sf-text);
    letter-spacing: 0.08em;
}
.sf-drawer__logo-word {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 13px;
    font-style: italic;
    color: var(--sf-muted);
}
.sf-drawer__close {
    background: none;
    border: 0;
    padding: 8px;
    margin: -8px;
    cursor: pointer;
    color: var(--sf-text);
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-appearance: none;
    appearance: none;
}
.sf-drawer__close:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 2px; border-radius: 4px; }

/* ── Search ── */
.sf-drawer__search {
    position: relative;
    padding: 14px 20px;
    border-bottom: 0.5px solid var(--sf-secondary);
    flex-shrink: 0;
}
.sf-drawer__search-icon {
    position: absolute;
    top: 50%;
    left: 32px;
    transform: translateY(-50%);
    pointer-events: none;
}
.sf-drawer__search input[type="search"] {
    width: 100%;
    background: var(--sf-bg);
    border: 0.5px solid var(--sf-secondary);
    border-radius: 8px;
    padding: 10px 12px 10px 34px;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    color: var(--sf-text);
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}
.sf-drawer__search input[type="search"]::placeholder { color: var(--sf-muted); }
.sf-drawer__search input[type="search"]:focus { outline: 2px solid var(--sf-accent); outline-offset: 0; border-color: var(--sf-accent); }
.sf-drawer__search-submit {
    position: absolute;
    inset: 0;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    pointer-events: none;
    width: 0;
    height: 0;
    opacity: 0;
}

/* ── Categories ── */
.sf-drawer__nav { border-bottom: 0.5px solid var(--sf-secondary); flex-shrink: 0; padding: 6px 0; }
.sf-drawer__cat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 20px;
    background: none;
    border: 0;
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: var(--sf-text);
    -webkit-appearance: none;
    appearance: none;
    transition: background 0.15s;
}
.sf-drawer__cat:hover { background: rgba(232, 227, 217, 0.5); }
.sf-drawer__cat:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: -2px; }
.sf-drawer__cat--highlight .sf-drawer__cat-label,
.sf-drawer__cat--highlight .sf-drawer__cat-chev { color: var(--sf-accent); }
.sf-drawer__cat-label { flex: 1; }
.sf-drawer__cat-chev { transition: transform 200ms ease; color: var(--sf-text); flex-shrink: 0; }
.sf-drawer__cat[aria-expanded="true"] { background: var(--sf-secondary); }
.sf-drawer__cat[aria-expanded="true"] .sf-drawer__cat-chev { transform: rotate(90deg); }

/* Subs */
.sf-drawer__subs {
    background: #F3EDE3;
    overflow: hidden;
    max-height: 0;
    transition: max-height 250ms ease-out;
}
.sf-drawer__subs.is-open {
    max-height: 500px;
    transition: max-height 300ms ease-in;
}
.sf-drawer__subs[hidden] { display: block; }
.sf-drawer__sub {
    display: block;
    padding: 10px 20px 10px 36px;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    color: var(--sf-text);
    text-decoration: none;
    transition: background 0.15s;
}
.sf-drawer__sub:hover { background: var(--sf-secondary); }
.sf-drawer__sub--parent { color: var(--sf-accent); font-weight: 500; font-size: 12px; padding-top: 12px; }

/* ── Brands ── */
.sf-drawer__brands {
    padding: 16px 0 14px;
    border-bottom: 0.5px solid var(--sf-secondary);
    flex-shrink: 0;
}
.sf-drawer__brands-title {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 11px;
    font-weight: 500;
    color: var(--sf-muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 20px 12px;
}
.sf-drawer__brands-row {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 0 20px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.sf-drawer__brands-row::-webkit-scrollbar { display: none; }
.sf-drawer__brand {
    flex: 0 0 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    scroll-snap-align: start;
}
.sf-drawer__brand-circle {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--sf-bg);
    border: 0.5px solid var(--sf-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 11px;
    font-weight: 500;
    color: var(--sf-text);
    text-align: center;
    padding: 4px;
    box-sizing: border-box;
    line-height: 1.1;
}
.sf-drawer__brand-circle img { width: 100%; height: 100%; object-fit: cover; }
.sf-drawer__brand-name {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 10px;
    color: var(--sf-text);
    text-align: center;
}

/* ── Secondary links ── */
.sf-drawer__links { padding: 6px 0; }
.sf-drawer__link {
    display: block;
    padding: 12px 20px;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    color: var(--sf-text);
    text-decoration: none;
    transition: background 0.15s;
}
.sf-drawer__link:hover { background: rgba(232, 227, 217, 0.5); }

/* ── USPs ── */
.sf-drawer__usps {
    padding: 16px 20px;
    border-bottom: 0.5px solid var(--sf-secondary);
    background: #F3EDE3;
    flex-shrink: 0;
}
.sf-drawer__usp {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 0;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 12px;
    color: var(--sf-text);
}
.sf-drawer__usp svg { flex-shrink: 0; }

/* ── CTA WhatsApp ── */
.sf-drawer__cta { padding: 16px 20px; flex-shrink: 0; }
.sf-drawer__cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--sf-accent);
    color: var(--sf-text);
    padding: 14px 16px;
    border-radius: 8px;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: opacity 0.2s;
    text-align: center;
}
.sf-drawer__cta-btn:hover { opacity: 0.88; }
.sf-drawer__cta-btn:focus-visible { outline: 2px solid var(--sf-text); outline-offset: 2px; }

/* ── Body scroll lock when drawer open ── */
body.sf-drawer-open { overflow: hidden; position: relative; }

/* ── Mobile header v3.1.1: logo position variants + logo image support ── */
.sf-mobile-header--logo-center .sf-mobile-header__logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.sf-mobile-header--logo-left .sf-mobile-header__logo {
    position: static;
    transform: none;
    margin-left: 8px;
    flex: 1;
}
.sf-mobile-header__logo { display: flex; align-items: center; text-decoration: none; }
.sf-mobile-header__logo .sf-mm-logo-img {
    display: block;
    max-height: 32px;
    width: auto;
    height: auto;
}
.sf-drawer__logo .sf-mm-logo-img {
    display: block;
    max-height: 36px;
    width: auto;
    height: auto;
}
.sf-drawer__logo { min-height: 36px; }

/* ── Ivory Search overrides inside drawer (v3.1.2) ── */
.sf-drawer__search--ivory {
    padding: 14px 20px;
    border-bottom: 0.5px solid var(--sf-secondary);
    flex-shrink: 0;
}
.sf-drawer__search--ivory form.is-search-form,
.sf-drawer__search--ivory .is-search-form {
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
    background: transparent;
    box-shadow: none;
    border: 0;
}
.sf-drawer__search--ivory .is-form-style,
.sf-drawer__search--ivory .search-field,
.sf-drawer__search--ivory input[type="search"],
.sf-drawer__search--ivory input[type="text"] {
    width: 100% !important;
    background: var(--sf-bg) !important;
    border: 0.5px solid var(--sf-secondary) !important;
    border-radius: 8px !important;
    padding: 10px 40px 10px 34px !important;
    font-family: 'DM Sans', -apple-system, sans-serif !important;
    font-size: 13px !important;
    color: var(--sf-text) !important;
    height: auto !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    margin: 0 !important;
}
.sf-drawer__search--ivory input[type="search"]::placeholder,
.sf-drawer__search--ivory input[type="text"]::placeholder { color: var(--sf-muted) !important; }
.sf-drawer__search--ivory input[type="search"]:focus,
.sf-drawer__search--ivory input[type="text"]:focus {
    outline: 2px solid var(--sf-accent) !important;
    outline-offset: 0 !important;
    border-color: var(--sf-accent) !important;
}
.sf-drawer__search--ivory .search-submit,
.sf-drawer__search--ivory input[type="submit"],
.sf-drawer__search--ivory button[type="submit"] {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: 0 !important;
    padding: 6px !important;
    margin: 0 !important;
    color: var(--sf-muted) !important;
    cursor: pointer !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    box-shadow: none !important;
    font-size: 0 !important;
}
.sf-drawer__search--ivory .search-submit::before,
.sf-drawer__search--ivory button[type="submit"]::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A7167' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}
/* Hide Ivory's label / title if it renders one */
.sf-drawer__search--ivory label,
.sf-drawer__search--ivory .is-search-title,
.sf-drawer__search--ivory h3 { display: none !important; }

/* Ajax live results dropdown (if Ivory has it enabled) */
.sf-drawer__search--ivory .is-ajax-search-items,
.sf-drawer__search--ivory .is-ajax-search-result {
    background: var(--sf-bg) !important;
    border: 0.5px solid var(--sf-secondary) !important;
    border-radius: 8px !important;
    margin-top: 4px !important;
    font-family: 'DM Sans', -apple-system, sans-serif !important;
    box-shadow: 0 2px 8px rgba(28,26,23,0.08) !important;
    max-height: 50vh !important;
    overflow-y: auto !important;
}
.sf-drawer__search--ivory .is-ajax-search-item {
    padding: 10px 12px !important;
    font-size: 13px !important;
    color: var(--sf-text) !important;
    border-bottom: 0.5px solid var(--sf-secondary) !important;
    text-decoration: none !important;
}
.sf-drawer__search--ivory .is-ajax-search-item:hover,
.sf-drawer__search--ivory .is-ajax-search-item:focus { background: #F3EDE3 !important; }
.sf-drawer__search--ivory .is-ajax-search-item:last-child { border-bottom: 0 !important; }

/* ── Custom AJAX search results in drawer (v3.1.3) ── */
.sf-drawer__search--custom { position: relative; }
.sf-drawer__search-form {
    position: relative;
    padding: 14px 20px;
    border-bottom: 0.5px solid var(--sf-secondary);
}
.sf-drawer__search--custom .sf-drawer__search-icon {
    position: absolute;
    top: 50%;
    left: 32px;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 1;
}
.sf-drawer__search--custom input[type="search"] {
    width: 100%;
    background: var(--sf-bg);
    border: 0.5px solid var(--sf-secondary);
    border-radius: 8px;
    padding: 10px 12px 10px 34px;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    color: var(--sf-text);
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color 0.2s;
}
.sf-drawer__search--custom input[type="search"]::placeholder { color: var(--sf-muted); }
.sf-drawer__search--custom input[type="search"]:focus {
    outline: 2px solid var(--sf-accent);
    outline-offset: 0;
    border-color: var(--sf-accent);
}
.sf-drawer__search-loading {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16' fill='none' stroke='%23B8924A' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10' stroke-dasharray='42' stroke-dashoffset='14'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='0.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 16px !important;
}

/* Results dropdown */
.sf-drawer__search-results {
    background: var(--sf-bg);
    border: 0.5px solid var(--sf-secondary);
    border-top: 0;
    border-radius: 0 0 8px 8px;
    margin: -1px 20px 0;
    max-height: 55vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 4px 12px rgba(28,26,23,0.08);
}
.sf-drawer__search-results[hidden] { display: none; }

.sf-drawer__search-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    text-decoration: none;
    border-bottom: 0.5px solid var(--sf-secondary);
    transition: background 0.12s;
}
.sf-drawer__search-item:last-child { border-bottom: 0; }
.sf-drawer__search-item:hover,
.sf-drawer__search-item--active { background: #F3EDE3; }
.sf-drawer__search-item:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: -2px; }

.sf-drawer__search-thumb {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    object-fit: cover;
    background: var(--sf-bg);
    flex-shrink: 0;
}
.sf-drawer__search-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.sf-drawer__search-brand {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 10px;
    font-weight: 500;
    color: var(--sf-accent);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1;
}
.sf-drawer__search-name {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--sf-text);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sf-drawer__search-price {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 12px;
    color: var(--sf-text);
    line-height: 1;
}
.sf-drawer__search-price del { color: var(--sf-muted); font-size: 11px; }
.sf-drawer__search-price ins { text-decoration: none; font-weight: 500; }

/* Empty state */
.sf-drawer__search-empty {
    padding: 20px 14px;
    text-align: center;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    color: var(--sf-muted);
    line-height: 1.5;
}
.sf-drawer__search-empty strong { color: var(--sf-text); font-weight: 500; }

/* ═══════════════════════════════════════════════════════════════
   SHARED SEARCH STYLES v3.1.4
   Used by both drawer search and expandable header search
   ═══════════════════════════════════════════════════════════════ */

/* Loading spinner on input */
.sf-search-loading {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16' fill='none' stroke='%23B8924A' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10' stroke-dasharray='42' stroke-dashoffset='14'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='0.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 16px !important;
}

/* Result item — shared */
.sf-search-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    text-decoration: none;
    border-bottom: 0.5px solid var(--sf-secondary);
    transition: background 0.12s;
}
.sf-search-item:last-child { border-bottom: 0; }
.sf-search-item:hover,
.sf-search-item--active { background: #F3EDE3; }
.sf-search-item:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: -2px; }

.sf-search-thumb {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    object-fit: cover;
    background: var(--sf-bg);
    flex-shrink: 0;
}
.sf-search-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.sf-search-brand {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 10px;
    font-weight: 500;
    color: var(--sf-accent);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1;
}
.sf-search-name {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--sf-text);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sf-search-name mark {
    background: rgba(184, 146, 74, 0.22);
    color: var(--sf-text);
    padding: 0 1px;
    border-radius: 2px;
}
.sf-search-price {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 12px;
    color: var(--sf-text);
    line-height: 1;
}
.sf-search-price del { color: var(--sf-muted); font-size: 11px; }
.sf-search-price ins { text-decoration: none; font-weight: 500; }

/* Empty state */
.sf-search-empty {
    padding: 20px 14px;
    text-align: center;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    color: var(--sf-muted);
    line-height: 1.5;
}
.sf-search-empty strong { color: var(--sf-text); font-weight: 500; }

/* Sections: recent + popular suggestions */
.sf-search-section {
    border-bottom: 0.5px solid var(--sf-secondary);
    padding: 8px 0;
}
.sf-search-section:last-child { border-bottom: 0; }
.sf-search-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 14px;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 10px;
    font-weight: 500;
    color: var(--sf-muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.sf-search-clear {
    background: none;
    border: 0;
    color: var(--sf-accent);
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 10px;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
    padding: 2px 4px;
    -webkit-appearance: none;
    appearance: none;
}
.sf-search-clear:hover { text-decoration: underline; }
.sf-search-suggestion {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 14px;
    background: transparent;
    border: 0;
    text-align: left;
    cursor: pointer;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    color: var(--sf-text);
    -webkit-appearance: none;
    appearance: none;
    transition: background 0.12s;
}
.sf-search-suggestion:hover,
.sf-search-suggestion.sf-search-item--active { background: #F3EDE3; }
.sf-search-suggestion svg { flex-shrink: 0; }
.sf-search-suggestion span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ═══════════════════════════════════════════════════════════════
   HEADER SEARCH (expandable) v3.1.4
   ═══════════════════════════════════════════════════════════════ */
.sf-header-search {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10001;
    background: var(--sf-bg);
    border-bottom: 0.5px solid var(--sf-secondary);
    transform: translateY(-100%);
    visibility: hidden;
    transition: transform 250ms ease, visibility 0s linear 250ms;
}
.sf-header-search.is-open {
    transform: translateY(0);
    visibility: visible;
    transition: transform 250ms ease, visibility 0s linear 0s;
}
@media (prefers-reduced-motion: reduce) {
    .sf-header-search { transition: none; }
}

.sf-header-search__form {
    position: relative;
    display: flex;
    align-items: center;
    height: 56px;
    padding: 0 16px 0 44px;
}
.sf-header-search__icon {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}
.sf-header-search__form input[type="search"] {
    flex: 1;
    background: transparent;
    border: 0;
    padding: 0 40px 0 0;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 15px;
    color: var(--sf-text);
    height: 56px;
    line-height: 56px;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    min-width: 0;
}
.sf-header-search__form input[type="search"]::placeholder { color: var(--sf-muted); }
.sf-header-search__form input[type="search"]::-webkit-search-cancel-button { display: none; }
.sf-header-search__close {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: 0;
    padding: 8px;
    cursor: pointer;
    color: var(--sf-text);
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-appearance: none;
    appearance: none;
}
.sf-header-search__close:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 2px; border-radius: 4px; }

.sf-header-search__results {
    background: var(--sf-bg);
    max-height: calc(100vh - 56px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    border-top: 0.5px solid var(--sf-secondary);
}
.sf-header-search__results[hidden] { display: none; }

/* ═══════════════════════════════════════════════════════════════
   v3.1.5 — HARDENING FIXES
   1. Price HTML reset inside .sf-search-price
   2. Header search forced styles to beat Astra
   3. Close button reset
   ═══════════════════════════════════════════════════════════════ */

/* ── Fix 1: WooCommerce price_html rendering inside search results ── */
.sf-search-price {
    display: flex !important;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.sf-search-price .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.sf-search-price del {
    color: var(--sf-muted) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
    display: inline-block;
    line-height: 1;
}
.sf-search-price ins {
    text-decoration: none !important;
    color: var(--sf-text) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    background: transparent !important;
    display: inline-block;
    line-height: 1;
}
.sf-search-price .woocommerce-Price-amount,
.sf-search-price bdi,
.sf-search-price .woocommerce-Price-currencySymbol {
    font-family: 'DM Sans', -apple-system, sans-serif !important;
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    text-decoration: inherit !important;
    display: inline;
    line-height: 1;
}

/* ── Fix 2: Header search — forced styles to beat Astra ── */
#sf-header-search {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    z-index: 2147483647 !important;
    background: var(--sf-bg) !important;
    border-bottom: 0.5px solid var(--sf-secondary) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-100%);
    visibility: hidden;
    transition: transform 250ms ease, visibility 0s linear 250ms;
    box-shadow: 0 4px 20px rgba(28, 26, 23, 0.08);
}
#sf-header-search.is-open {
    transform: translateY(0) !important;
    visibility: visible !important;
    transition: transform 250ms ease, visibility 0s linear 0s !important;
}

#sf-header-search .sf-header-search__form {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    height: 56px !important;
    padding: 0 50px 0 44px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#sf-header-search .sf-header-search__icon {
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
}

#sf-header-search input[type="search"],
#sf-header-search .sf-header-search__form input[type="search"] {
    flex: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: 'DM Sans', -apple-system, sans-serif !important;
    font-size: 15px !important;
    color: var(--sf-text) !important;
    height: 56px !important;
    line-height: 56px !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
#sf-header-search input[type="search"]::placeholder {
    color: var(--sf-muted) !important;
    opacity: 1 !important;
}
#sf-header-search input[type="search"]::-webkit-search-cancel-button,
#sf-header-search input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none !important;
    display: none !important;
}

/* Close button — nuclear reset to beat Astra's button styles */
#sf-header-search .sf-header-search__close,
button#sf-header-search-close {
    all: unset !important;
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    color: var(--sf-text) !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
#sf-header-search .sf-header-search__close svg {
    width: 16px !important;
    height: 16px !important;
    stroke: var(--sf-text) !important;
    pointer-events: none;
}
#sf-header-search .sf-header-search__close:hover {
    background: rgba(28, 26, 23, 0.06) !important;
}

/* Results dropdown */
#sf-header-search .sf-header-search__results {
    background: var(--sf-bg) !important;
    max-height: calc(100vh - 56px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-top: 0.5px solid var(--sf-secondary) !important;
    margin: 0 !important;
    padding: 0 !important;
}
#sf-header-search .sf-header-search__results[hidden] {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   v3.1.7 — iOS DEFENSES for header + drawer interactive elements
   - touch-action: manipulation → disables 300ms double-tap zoom delay
   - -webkit-tap-highlight-color: transparent → removes black tap circle
   - font-size: 16px on inputs → prevents Safari iOS auto-zoom on focus
   ═══════════════════════════════════════════════════════════════ */

/* Header buttons */
.sf-mobile-header__btn,
.sf-mobile-header__hamburger,
.sf-mobile-header__cart,
.sf-mobile-header__search-btn,
.sf-mobile-header__logo {
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* Drawer interactive elements */
.sf-drawer button,
.sf-drawer a,
.sf-drawer__close,
.sf-drawer__cat,
.sf-drawer__cat-toggle,
.sf-drawer__sub-link,
.sf-drawer__brand,
.sf-drawer__link,
.sf-drawer__wa-cta {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

/* Header search interactive elements */
#sf-header-search button,
#sf-header-search a,
.sf-header-search__close,
.sf-header-search__form {
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* Search inputs — font-size 16px minimum prevents iOS Safari auto-zoom on focus */
#sf-header-search input[type="search"],
.sf-drawer__search input[type="search"],
.sf-drawer__search-form input[type="search"] {
    font-size: 16px !important;
}

/* Search results items */
.sf-search-item,
.sf-search-suggestion,
.sf-search-clear {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

/* ═══════════════════════════════════════════════════════════════
   v3.1.8 — HAMBURGER + HEADER BUTTONS FIX
   - Override Astra's :focus styles that apply black circle bg
   - Subtle feedback on hover/active without intrusive visuals
   ═══════════════════════════════════════════════════════════════ */

.sf-mobile-header__hamburger,
.sf-mobile-header__search-btn,
.sf-mobile-header__btn,
.sf-mobile-header__hamburger:focus,
.sf-mobile-header__search-btn:focus,
.sf-mobile-header__btn:focus,
.sf-mobile-header__hamburger:active,
.sf-mobile-header__search-btn:active,
.sf-mobile-header__btn:active,
.sf-mobile-header__hamburger:hover,
.sf-mobile-header__search-btn:hover,
.sf-mobile-header__btn:hover,
.sf-mobile-header__hamburger:focus-visible,
.sf-mobile-header__search-btn:focus-visible,
.sf-mobile-header__btn:focus-visible {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    color: var(--sf-text) !important;
}

/* Subtle feedback only on touch/active, never sticking after release */
.sf-mobile-header__hamburger:active,
.sf-mobile-header__search-btn:active,
.sf-mobile-header__btn:active {
    background-color: rgba(28, 26, 23, 0.08) !important;
    border-radius: 6px !important;
}

/* Make sure hamburger bars are always visible */
.sf-mobile-header__hamburger .sf-mobile-header__bar {
    background-color: var(--sf-text) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Cart icon: same defensive treatment */
.sf-mobile-header__cart,
.sf-mobile-header__cart:focus,
.sf-mobile-header__cart:active,
.sf-mobile-header__cart:hover,
.sf-mobile-header__cart:focus-visible {
    background: transparent !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}
.sf-mobile-header__cart:active {
    background-color: rgba(28, 26, 23, 0.08) !important;
    border-radius: 6px !important;
}

/* ═══════════════════════════════════════════════════════════════
   v3.1.9 — Micro-claims + Footer expandido
   ═══════════════════════════════════════════════════════════════ */

/* Micro-claims row */
.sf-hp-microclaims {
    padding: 16px 0 8px;
}
.sf-hp-microclaims__row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 16px;
    padding: 0 20px;
}
.sf-hp-microclaim {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: rgba(184, 146, 74, 0.06);
    border: 0.5px solid rgba(184, 146, 74, 0.25);
    border-radius: 8px;
    min-height: 44px;
}
.sf-hp-microclaim__icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: var(--sf-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.sf-hp-microclaim__icon svg {
    width: 18px;
    height: 18px;
    display: block;
}
.sf-hp-microclaim__text {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: var(--sf-text);
    line-height: 1.3;
}
@media (min-width: 768px) {
    .sf-hp-microclaims__row {
        grid-template-columns: repeat(4, 1fr);
        max-width: 1100px;
        margin: 0 auto;
    }
    .sf-hp-microclaim__text {
        font-size: 13px;
    }
}

/* Footer expandido */
.sf-hp-footer {
    background: var(--sf-text);
    color: var(--sf-bg);
    padding: 40px 20px 20px;
    margin-top: 40px;
}
.sf-hp-footer__top {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 1100px;
    margin: 0 auto 24px;
}
.sf-hp-footer__brand {
    text-align: center;
}
.sf-hp-footer__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 12px;
}
.sf-hp-footer__monogram {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    color: var(--sf-bg);
    line-height: 1;
}
.sf-hp-footer__wordmark {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 20px;
    color: var(--sf-bg);
    letter-spacing: 0.02em;
}
.sf-hp-footer__claim {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    color: var(--sf-secondary);
    margin: 0 0 16px;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
}
.sf-hp-footer__social {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 16px;
}
.sf-hp-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(247, 243, 236, 0.1);
    color: var(--sf-bg);
    transition: background 0.2s;
    text-decoration: none;
}
.sf-hp-footer__social-link:hover {
    background: rgba(184, 146, 74, 0.4);
    color: var(--sf-bg);
}
.sf-hp-footer__social-link svg {
    width: 18px;
    height: 18px;
}

.sf-hp-footer__cols {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 16px;
    padding: 0;
}
.sf-hp-footer__col {
    min-width: 0;
}
.sf-hp-footer__col-title {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: var(--sf-accent);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 10px;
}
.sf-hp-footer__col-links {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sf-hp-footer__col-links li {
    margin-bottom: 6px;
}
.sf-hp-footer__col-links a {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 13px;
    color: var(--sf-secondary);
    text-decoration: none;
    transition: color 0.2s;
}
.sf-hp-footer__col-links a:hover {
    color: var(--sf-accent);
}

.sf-hp-footer__bottom {
    border-top: 1px solid rgba(247, 243, 236, 0.1);
    padding-top: 16px;
    margin-top: 16px;
    text-align: center;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 11px;
    color: var(--sf-muted);
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
.sf-hp-footer__bottom a {
    color: var(--sf-secondary);
    text-decoration: none;
    margin-right: 12px;
}
.sf-hp-footer__bottom a:hover {
    color: var(--sf-accent);
}
.sf-hp-footer__copy {
    display: block;
    margin-top: 8px;
}

@media (min-width: 768px) {
    .sf-hp-footer {
        padding: 56px 40px 24px;
    }
    .sf-hp-footer__top {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 48px;
    }
    .sf-hp-footer__brand {
        text-align: left;
        flex: 0 0 280px;
    }
    .sf-hp-footer__logo,
    .sf-hp-footer__social {
        justify-content: flex-start;
    }
    .sf-hp-footer__claim {
        margin-left: 0;
        margin-right: 0;
    }
    .sf-hp-footer__cols {
        flex: 1;
        grid-template-columns: repeat(3, 1fr);
        gap: 32px;
    }
    .sf-hp-footer__bottom {
        text-align: left;
    }
    .sf-hp-footer__copy {
        display: inline;
        margin-top: 0;
        margin-left: 16px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   v3.1.10 — Pulido visual Fase B
   1. Pills del tab a misma altura
   2. Cards de producto con fondo marfil
   3. Precio nuevo más prominente que tachado
   4. WhatsApp flotante en color brand
   5. CTA "Ver todo el catálogo" en dorado outline
   6. Nombres de producto en Cormorant
   7. Tab de categorías sin scroll horizontal desbordado en mobile
   ═══════════════════════════════════════════════════════════════ */

/* 1. Pills del tab — misma altura para todas */
.sf-hp-tabs .sf-hp-tab,
.sf-hp-tabs .sf-hp-tab--active {
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 18px !important;
    line-height: 36px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap;
    flex-shrink: 0;
}

/* 7. Tab scroll horizontal — mejor padding y fade en los bordes */
.sf-hp-tabs__scroll {
    padding: 4px 20px 12px !important;
    scroll-padding-left: 20px;
    scroll-padding-right: 20px;
    -webkit-overflow-scrolling: touch;
}
.sf-hp-tabs {
    position: relative;
}
.sf-hp-tabs::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 24px;
    background: linear-gradient(to right, rgba(247,243,236,0), rgba(247,243,236,1));
    pointer-events: none;
    z-index: 1;
}

/* 2. Cards de producto — fondo marfil en vez de blanco puro */
.sf-hp-prod-card,
.sf-hp-best__grid .sf-hp-prod-card {
    background: var(--sf-bg) !important;
    border: 0.5px solid var(--sf-secondary);
    border-radius: 10px;
    overflow: hidden;
}
.sf-hp-prod-card__img-wrap,
.sf-hp-prod-card__img-wrap img {
    background: var(--sf-bg) !important;
}

/* 3. Precio: nuevo más prominente que tachado */
.sf-hp-prod-card__price {
    display: flex !important;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}
.sf-hp-prod-card__price del,
.sf-hp-prod-card__price del .woocommerce-Price-amount,
.sf-hp-prod-card__price del bdi {
    color: var(--sf-muted) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
    order: 2;
}
.sf-hp-prod-card__price ins,
.sf-hp-prod-card__price ins .woocommerce-Price-amount,
.sf-hp-prod-card__price ins bdi {
    color: var(--sf-text) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    background: transparent !important;
    order: 1;
}
.sf-hp-prod-card__price .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
}

/* 6. Nombres de producto en Cormorant */
.sf-hp-prod-card__body h3,
.sf-hp-prod-card h3 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: var(--sf-text) !important;
    letter-spacing: 0.005em !important;
    margin: 6px 0 4px !important;
}
@media (min-width: 768px) {
    .sf-hp-prod-card__body h3 {
        font-size: 17px !important;
    }
}

/* 5. CTA "Ver todo el catálogo" — dorado outline */
.sf-hp-see-all,
a.sf-hp-see-all {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 28px !important;
    background: transparent !important;
    border: 1.5px solid var(--sf-accent) !important;
    border-radius: 999px !important;
    color: var(--sf-accent) !important;
    font-family: 'DM Sans', -apple-system, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    transition: all 0.2s ease;
    margin-top: 20px;
}
.sf-hp-see-all:hover {
    background: var(--sf-accent) !important;
    color: var(--sf-text) !important;
}

/* 4. WhatsApp flotante — integrado al brand (anillo dorado) */
.sf-hp-wa-float {
    background: #25D366 !important;
    border: 3px solid var(--sf-accent) !important;
    box-shadow: 0 4px 16px rgba(28, 26, 23, 0.18), 0 0 0 2px rgba(184, 146, 74, 0.15) !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.sf-hp-wa-float:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(28, 26, 23, 0.25), 0 0 0 3px rgba(184, 146, 74, 0.25) !important;
}

/* ═══════════════════════════════════════════════════════════════
   v3.1.11 — WooCommerce catalog cards aligned with homepage
   ═══════════════════════════════════════════════════════════════ */

/* Card container */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: var(--sf-bg) !important;
    border: 0.5px solid var(--sf-secondary) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    padding: 0 0 14px !important;
    margin-bottom: 16px !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    position: relative;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(28, 26, 23, 0.08);
}

/* Image wrap */
.woocommerce ul.products li.product a img {
    background: var(--sf-bg) !important;
    margin: 0 !important;
    padding: 12px !important;
    box-sizing: border-box;
}

/* Position context for badges */
.woocommerce ul.products li.product .sf-cat-card__badge {
    position: absolute;
    z-index: 2;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 5px 9px;
    border-radius: 4px;
    line-height: 1;
    text-transform: none;
    pointer-events: none;
}
.sf-cat-card__badge--savings {
    top: 10px;
    left: 10px;
    background: var(--sf-text);
    color: var(--sf-bg);
}
.sf-cat-card__badge--best {
    top: 10px;
    right: 10px;
    background: var(--sf-accent);
    color: var(--sf-text);
}

/* Brand label above title */
.sf-cat-card__brand {
    display: block;
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--sf-accent);
    text-transform: uppercase;
    line-height: 1;
    margin: 4px 14px 4px;
    text-align: left;
}

/* Product title in Cormorant */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: var(--sf-text) !important;
    margin: 2px 14px 6px !important;
    padding: 0 !important;
    text-align: left !important;
    text-transform: none !important;
}
@media (min-width: 768px) {
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h2,
    .woocommerce ul.products li.product h3 {
        font-size: 17px !important;
    }
}

/* Rating */
.sf-cat-card__rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 14px 6px;
}
.sf-cat-card__stars {
    color: var(--sf-accent);
    font-size: 13px;
    letter-spacing: 0.5px;
    line-height: 1;
}
.sf-cat-card__count {
    font-family: 'DM Sans', -apple-system, sans-serif;
    font-size: 11px;
    color: var(--sf-muted);
    line-height: 1;
}

/* Price */
.woocommerce ul.products li.product .price {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin: 0 14px !important;
    padding: 0 !important;
    color: var(--sf-text) !important;
}
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price del bdi {
    color: var(--sf-muted) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
    order: 2 !important;
    opacity: 1 !important;
}
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount,
.woocommerce ul.products li.product .price ins bdi,
.woocommerce ul.products li.product .price > .woocommerce-Price-amount,
.woocommerce ul.products li.product .price > bdi {
    color: var(--sf-text) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    background: transparent !important;
    order: 1 !important;
    font-family: 'DM Sans', -apple-system, sans-serif !important;
}
.woocommerce ul.products li.product .price .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
}

/* Hide add-to-cart buttons in shop loop (defensive — also removed via PHP) */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_simple,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product a.button {
    display: none !important;
}

/* Make the whole card clickable feel — the title and image are already <a> tags */
.woocommerce ul.products li.product a {
    text-decoration: none !important;
}

/* Hide the WC sale "¡Oferta!" default flash (we have our own savings badge) */
.woocommerce ul.products li.product .onsale {
    display: none !important;
}

/* Sticky filter button on mobile (nice-to-have) */
@media (max-width: 768px) {
    .astra-shop-filter-button.ast-flyout-filter {
        position: sticky;
        top: 60px;
        z-index: 5;
        background: var(--sf-bg);
        padding: 8px 12px !important;
        border-radius: 999px;
        border: 0.5px solid var(--sf-secondary);
        box-shadow: 0 2px 8px rgba(28, 26, 23, 0.06);
    }
}

/* Category title (Caballero, Dama, etc) — make sure Cormorant applies */
.woocommerce-products-header__title.page-title,
.woocommerce-page .page-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 500 !important;
    color: var(--sf-text) !important;
}

/* ═══════════════════════════════════════════════════════════════
   v3.2.11 — DESKTOP HEADER (sticky, palette-aware)
   Solo visible en pantallas >= breakpoint (921px default).
   Media query scope viene inline desde sf-dh-vars en wp_head.
   ═══════════════════════════════════════════════════════════════ */
.sf-desktop-header {
    position: relative;
    z-index: 9998;
    background: var(--sf-bg);
    color: var(--sf-text);
    height: var(--sf-dh-height, 70px);
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    font-family: "DM Sans", -apple-system, Helvetica, Arial, sans-serif;
}
.sf-desktop-header--sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9998;
}
.sf-desktop-header--border {
    border-bottom: 0.5px solid var(--sf-secondary);
}
.sf-desktop-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1516px;
    margin: 0 auto;
    padding: 0 32px;
    gap: 24px;
    box-sizing: border-box;
}
.sf-desktop-header__logo {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}
.sf-desktop-header__logo-img {
    height: var(--sf-dh-logo-height, 40px) !important;
    width: auto !important;
    max-width: 240px;
    object-fit: contain;
    display: block;
}
.sf-desktop-header__logo-mono {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 600;
    font-size: 30px;
    letter-spacing: 0.04em;
    color: var(--sf-text);
    line-height: 1;
}
.sf-desktop-header__nav {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
}
.sf-desktop-header__nav-list {
    display: flex;
    align-items: center;
    gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.sf-desktop-header__nav-item {
    margin: 0;
    padding: 0;
}
.sf-desktop-header__nav-link {
    display: inline-block;
    padding: 8px 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--sf-text);
    text-decoration: none;
    letter-spacing: 0.02em;
    position: relative;
    transition: color 0.2s ease;
}
.sf-desktop-header__nav-link:hover,
.sf-desktop-header__nav-link:focus-visible {
    color: var(--sf-accent);
    outline: none;
}
.sf-desktop-header__nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    height: 1px;
    background: var(--sf-accent);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.25s ease;
}
.sf-desktop-header__nav-link:hover::after,
.sf-desktop-header__nav-link:focus-visible::after {
    transform: scaleX(1);
}
.sf-desktop-header__actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
}
.sf-desktop-header__btn {
    background: none;
    border: 0;
    padding: 8px;
    margin: 0;
    cursor: pointer;
    color: var(--sf-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 6px;
    position: relative;
    transition: color 0.2s ease, background 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
}
.sf-desktop-header__btn:hover,
.sf-desktop-header__btn:focus-visible {
    color: var(--sf-accent);
    outline: none;
    background: var(--sf-secondary);
}
.sf-desktop-header__cart {
    position: relative;
}
.sf-desktop-header__cart-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--sf-accent);
    color: var(--sf-accent-contrast, var(--sf-bg));
    font-size: 10px;
    font-weight: 700;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    box-sizing: border-box;
}
