/* Componentes compartidos por los dos diseños (usan las variables --c-* de cada tema) */
:root {
  --c-bg: var(--sand, #f6eedf); --c-surface: var(--cream, #fffaf1); --c-ink: var(--ink, #2a1d12); --c-muted: var(--muted, #7d6852);
  --c-accent: var(--ochre, #c4842c); --c-dark: var(--espresso, #22170e); --c-line: var(--line, rgba(0,0,0,.12)); --c-radius: 16px; --c-font: var(--sans, system-ui);
}
[data-theme="editorial"] { --c-bg: #f6eedf; --c-surface: #fffaf1; --c-ink: #2a1d12; --c-muted: #7d6852; --c-accent: #c4842c; --c-dark: #22170e; --c-line: rgba(42,29,18,.13); --c-radius: 10px; --c-font: "Manrope", system-ui, sans-serif; }

/* Banner de cookies */
.consent {
  position: fixed; left: 16px; bottom: 16px; z-index: 96; width: min(460px, calc(100% - 32px));
  padding: 22px; background: var(--c-surface); color: var(--c-ink); border: 1px solid var(--c-line); border-radius: var(--c-radius);
  box-shadow: 0 24px 60px -24px rgba(0,0,0,.35); font: 400 .86rem/1.55 var(--c-font);
}
.consent strong#consent-title { display: block; font-size: .95rem; margin-bottom: 6px; }
.consent p { margin: 0 0 14px; color: var(--c-muted); }
.consent a { color: var(--c-ink); text-decoration: underline; text-decoration-color: var(--c-accent); }
.consent__prefs { display: grid; gap: 10px; margin-bottom: 16px; padding: 14px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.consent__prefs label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.consent__prefs input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--c-accent); flex: none; }
.consent__prefs b { display: block; color: var(--c-ink); }
.consent__prefs span { color: var(--c-muted); }
.consent__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.consent__btn {
  flex: 1 1 auto; min-height: 42px; padding: 0 16px; border: 1px solid var(--c-ink); border-radius: var(--c-radius);
  background: transparent; color: var(--c-ink); font: 600 .8rem var(--c-font); cursor: pointer;
}
.consent__btn--primary, .consent__btn--save { background: var(--c-dark); border-color: var(--c-dark); color: #fff; }
.consent__btn:hover { border-color: var(--c-accent); }
.consent__btn--primary:hover { background: var(--c-accent); }

/* Compartir */
.share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 22px; }
.share > span { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-right: 4px; }
.share a, .share button {
  width: 40px; height: 40px; display: inline-grid; place-items: center; border: 1px solid var(--c-line); border-radius: var(--c-radius);
  background: transparent; color: var(--c-ink); cursor: pointer; transition: border-color .2s, color .2s;
}
.share a:hover, .share button:hover { border-color: var(--c-accent); color: var(--c-accent); }
.share svg.i { width: 18px; height: 18px; }

/* WhatsApp flotante */
.wa-float {
  position: fixed; right: 18px; bottom: 18px; z-index: 60; width: 56px; height: 56px; border-radius: 50%;
  display: grid; place-items: center; background: #25d366; color: #fff; box-shadow: 0 12px 30px -10px rgba(0,0,0,.4);
  transition: transform .3s;
}
.wa-float:hover { transform: scale(1.08); }
.wa-float svg.i { width: 28px; height: 28px; stroke-width: 1.6; }
.t-editorial .sticky-buy.is-visible ~ .wa-float, body:has(.sticky-buy.is-visible) .wa-float { bottom: 84px; }
