:root {
  color-scheme: light;
  --brand-graphite: #2f2f2f;
  --brand-gold: #d4af37;
  --brand-gold-light: #f1d87f;
  --brand-mint: #a0e5d7;
  --brand-blue: #a8c8ff;
  --public-bg-canvas: #faf9f6;
  --public-bg-surface: #ffffff;
  --public-text-primary: #2f2f2f;
  --public-text-muted: #626262;
  --public-border-soft: #e9e5da;
}
html.dark { color-scheme: dark; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #d4af37;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Sistema administrativo */
.admin-experience {
  --admin-canvas: #f5f3ec;
  --admin-surface: #ffffff;
  --admin-border: #e5e1d6;
  --admin-muted: #667085;
  background:
    radial-gradient(circle at 4% 0%, rgba(160, 229, 215, .16), transparent 24rem),
    radial-gradient(circle at 96% 8%, rgba(168, 200, 255, .16), transparent 28rem),
    var(--admin-canvas) !important;
  color: var(--brand-graphite);
}
.admin-experience header {
  position: sticky;
  top: 0;
  z-index: 35;
  border-color: rgba(47, 47, 47, .1);
  background: rgba(255, 255, 255, .94) !important;
  backdrop-filter: blur(16px);
}
.admin-experience main { min-height: calc(100vh - 10rem); padding-bottom: 6.5rem; }
.admin-experience main > section,
.admin-experience main > article { border: 1px solid var(--admin-border); }
.admin-experience :where(input, select, textarea) { min-height: 44px; }
.admin-experience textarea { min-height: 96px; }
.admin-experience table thead { font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.admin-experience table tbody tr { transition: background-color .15s ease; }
.admin-experience .bg-cyan-600,
.admin-experience .bg-cyan-700 { background-color: var(--brand-graphite) !important; }
.admin-experience .text-cyan-700,
.admin-experience .text-cyan-800,
.admin-experience .text-cyan-900,
.admin-experience .text-cyan-950 { color: #655313 !important; }
.admin-experience .bg-cyan-50,
.admin-experience .bg-cyan-50\/70 { background-color: #edf3ff !important; }
.admin-experience .bg-cyan-100 { background-color: var(--brand-blue) !important; }
.admin-experience .border-cyan-200,
.admin-experience .border-cyan-300 { border-color: #aec8f5 !important; }
.admin-experience .admin-sidebar {
  border-right: 1px solid var(--admin-border);
  background: rgba(255, 255, 255, .9);
  backdrop-filter: blur(16px);
}
.admin-experience .admin-sidebar-link {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: .75rem;
  border-radius: .85rem;
  padding: .625rem .8rem;
  color: #555;
  font-size: .875rem;
  font-weight: 750;
  transition: background-color .15s ease, color .15s ease, transform .15s ease;
}
.admin-experience .admin-sidebar-link i { width: 1.25rem; text-align: center; }
.admin-experience .admin-sidebar-link.is-active { background: var(--brand-graphite); color: #fff; }
.admin-experience .admin-sidebar-link:active { transform: scale(.985); }
.admin-experience .admin-bottom-nav {
  background: rgba(255, 255, 255, .96);
  border-color: rgba(47, 47, 47, .12);
  backdrop-filter: blur(16px);
  padding-bottom: max(.45rem, env(safe-area-inset-bottom));
}
.admin-experience .admin-bottom-link {
  display: flex;
  min-height: 52px;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .2rem;
  border-radius: .75rem;
  color: #667085;
  font-size: .65rem;
  font-weight: 800;
}
.admin-experience .admin-bottom-link i { font-size: 1rem; }
.admin-experience .admin-bottom-link.is-active { background: #edf3ff; color: var(--brand-graphite); }
.admin-experience .admin-page-title { color: var(--brand-graphite); font-size: 1.5rem; font-weight: 900; letter-spacing: -.025em; }
.admin-experience .admin-eyebrow { color: #74601d; font-size: .7rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.admin-experience .admin-sticky-actions { position: sticky; bottom: 4.6rem; z-index: 20; }

.service-alerts-card { background: #edf3ff; border-color: #aec8f5; color: var(--brand-graphite); }
.service-alerts-card .service-alerts-copy { color: #555; }
.service-alerts-card .service-alerts-action { background: var(--brand-graphite); color: #fff; }

.alerts-benefit {
  display: flex;
  min-height: 3rem;
  align-items: center;
  gap: .65rem;
  border: 1px solid rgba(47, 47, 47, .1);
  border-radius: .9rem;
  background: #f7f8fa;
  padding: .7rem .8rem;
  color: var(--brand-graphite);
  font-size: .78rem;
  font-weight: 800;
}
.alerts-benefit i { color: #655313; }
.subscription-state-card { color: var(--brand-graphite); }
.subscription-state-card.is-ready .subscription-state-icon { background: var(--brand-blue); color: var(--brand-graphite); }
.subscription-state-card.is-pending .subscription-state-icon { background: var(--brand-gold); color: var(--brand-graphite); }
.subscription-state-card.is-active .subscription-state-icon { background: var(--brand-mint); color: var(--brand-graphite); }

html.dark .admin-experience {
  --admin-canvas: #151515;
  --admin-surface: #242424;
  --admin-border: #444;
  background:
    radial-gradient(circle at 4% 0%, rgba(160, 229, 215, .1), transparent 24rem),
    radial-gradient(circle at 96% 8%, rgba(168, 200, 255, .1), transparent 28rem),
    var(--admin-canvas) !important;
}
html.dark .admin-experience header,
html.dark .admin-experience .admin-sidebar,
html.dark .admin-experience .admin-bottom-nav { background: rgba(31, 31, 31, .96) !important; border-color: #444; }
html.dark .admin-experience main > section,
html.dark .admin-experience main > article { border-color: #444; }
html.dark .admin-experience .admin-sidebar-link { color: #d1d5db; }
html.dark .admin-experience .admin-sidebar-link.is-active { background: var(--brand-gold); color: var(--brand-graphite); }
html.dark .admin-experience .admin-bottom-link { color: #c4c9d0; }
html.dark .admin-experience .admin-bottom-link.is-active { background: rgba(168, 200, 255, .18); color: #fff; }
html.dark .admin-experience .admin-page-title { color: #fff; }
html.dark .admin-experience .admin-eyebrow { color: var(--brand-gold-light); }

html.dark .public-experience .service-alerts-card {
  border-color: rgba(168, 200, 255, .34);
  background:
    radial-gradient(circle at 88% 10%, rgba(168, 200, 255, .22), transparent 38%),
    linear-gradient(115deg, #242424, #283247) !important;
  color: #fff;
}
html.dark .public-experience .service-alerts-card .service-alerts-title { color: #fff !important; }
html.dark .public-experience .service-alerts-card .service-alerts-copy { color: #d7dee8 !important; }
html.dark .public-experience .service-alerts-card .service-alerts-action { background: var(--brand-gold); color: var(--brand-graphite); }
html.dark .public-experience .alerts-benefit {
  border-color: rgba(255, 255, 255, .14);
  background: #292929;
  color: #faf9f6;
}
html.dark .public-experience .alerts-benefit i { color: var(--brand-gold-light); }
html.dark .public-experience .subscription-state-card {
  border-color: rgba(168, 200, 255, .3) !important;
  background: #252a31 !important;
}
html.dark .public-experience .subscription-state-card [data-subscription-title] { color: #fff !important; }
html.dark .public-experience .subscription-state-card [data-subscription-description] { color: #d7dee8 !important; }
html.dark .public-experience .subscription-state-card [data-unsubscribe-button] {
  border-color: rgba(255, 255, 255, .18);
  background: #343434;
  color: #faf9f6;
}

@media (hover: hover) and (pointer: fine) {
  .admin-experience .admin-sidebar-link:hover { background: rgba(168, 200, 255, .25); color: var(--brand-graphite); }
  .admin-experience .admin-sidebar-link.is-active:hover { background: #171717; color: #fff; }
  .admin-experience table tbody tr:hover { background: rgba(168, 200, 255, .08); }
}

@media (min-width: 1024px) {
  .admin-experience main { width: calc(100% - 16rem); margin-left: 16rem; padding-bottom: 2rem; }
  .admin-experience footer { width: calc(100% - 16rem); margin-left: 16rem; }
  .admin-experience .admin-sticky-actions { bottom: 1rem; }
}
html.dark body { background-color: #191919 !important; color: #e9e9e2; }
html.dark header { background-color: #262626 !important; border-color: #55554f; }
html.dark footer { color: #bfbfb7; }

html.dark .bg-white { background-color: #262626 !important; }
html.dark .bg-white\/60 { background-color: rgba(38, 38, 38, .7) !important; }
html.dark .bg-white\/95 { background-color: rgba(38, 38, 38, .95) !important; }
html.dark .bg-slate-50 { background-color: #292929 !important; }
html.dark .bg-slate-100 { background-color: #323232 !important; }
html.dark .bg-slate-200 { background-color: #55554f !important; }
html.dark .bg-slate-900 { background-color: #191919 !important; }
html.dark .text-slate-950,
html.dark .text-slate-900 { color: #faf9f6; }
html.dark .bg-amber-500.text-slate-950,
html.dark .bg-amber-300.text-amber-950 { color: #451a03; }
html.dark .text-slate-800,
html.dark .text-slate-700 { color: #e9e9e2; }
html.dark .text-slate-600 { color: #d7d7cf; }
html.dark .text-slate-500 { color: #bfbfb7; }
html.dark .text-slate-400 { color: #a3a39b; }
html.dark .border-slate-100,
html.dark .border-slate-200,
html.dark .border-slate-300 { border-color: #55554f; }

html.dark .bg-cyan-50,
html.dark .bg-cyan-50\/70 { background-color: rgba(8, 145, 178, .16) !important; }
html.dark .bg-cyan-100 { background-color: rgba(8, 145, 178, .25) !important; }
html.dark .text-cyan-700,
html.dark .text-cyan-800,
html.dark .text-cyan-900,
html.dark .text-cyan-950 { color: #67e8f9; }
html.dark .border-cyan-200 { border-color: rgba(34, 211, 238, .35); }
html.dark .bg-violet-50,
html.dark .bg-violet-100 { background-color: rgba(124, 58, 237, .18); }
html.dark .text-violet-700,
html.dark .text-violet-800 { color: #c4b5fd; }
html.dark .border-violet-200 { border-color: rgba(167, 139, 250, .35); }
html.dark .bg-emerald-50,
html.dark .bg-emerald-100 { background-color: rgba(5, 150, 105, .18); }
html.dark .text-emerald-700,
html.dark .text-emerald-800,
html.dark .text-emerald-900,
html.dark .text-emerald-950 { color: #6ee7b7; }
html.dark .border-emerald-200 { border-color: rgba(52, 211, 153, .35); }
html.dark .bg-amber-50,
html.dark .bg-amber-100 { background-color: rgba(217, 119, 6, .18); }
html.dark .text-amber-700,
html.dark .text-amber-800,
html.dark .text-amber-900,
html.dark .text-amber-950 { color: #fcd34d; }
html.dark .border-amber-200 { border-color: rgba(251, 191, 36, .35); }
html.dark .bg-rose-50,
html.dark .bg-rose-100 { background-color: rgba(225, 29, 72, .18); }
html.dark .text-rose-600,
html.dark .text-rose-700 { color: #fda4af; }
html.dark .border-rose-200 { border-color: rgba(251, 113, 133, .35); }

html.dark input,
html.dark select,
html.dark textarea { background-color: #262626 !important; border-color: #68685f; color: #faf9f6; }
html.dark input::placeholder,
html.dark textarea::placeholder { color: #a3a39b; }
html.dark option { background-color: #262626; color: #faf9f6; }
html.dark input:-webkit-autofill,
html.dark input:-webkit-autofill:hover,
html.dark input:-webkit-autofill:focus {
  -webkit-text-fill-color: #faf9f6;
  box-shadow: 0 0 0 1000px #262626 inset !important;
  caret-color: #faf9f6;
}
html.dark input[type="date"]::-webkit-calendar-picker-indicator,
html.dark input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(1) opacity(.8); }
html.dark .disabled\:bg-slate-300:disabled { background-color: #55554f !important; }
html.dark [class*="ring-slate-"] { --tw-ring-color: #68685f; }
html.dark [class*="divide-slate-"] > :not([hidden]) ~ :not([hidden]) { border-color: #55554f; }
html.dark .shadow-sm,
html.dark .shadow-xl,
html.dark .shadow-2xl { box-shadow: 0 8px 24px rgba(0, 0, 0, .25); }
html.dark .hover\:bg-slate-50:hover,
html.dark .active\:bg-slate-100:active,
html.dark .active\:bg-slate-200:active { background-color: #323232 !important; }

html.dark ::-webkit-scrollbar { width: 10px; height: 10px; }
html.dark ::-webkit-scrollbar-track { background: #191919; }
html.dark ::-webkit-scrollbar-thumb { background: #55554f; border: 2px solid #191919; border-radius: 999px; }

/* Experiencias públicas */
.public-experience {
  background:
    radial-gradient(circle at 8% 0%, rgba(160, 229, 215, .18), transparent 26rem),
    radial-gradient(circle at 92% 18%, rgba(168, 200, 255, .18), transparent 30rem),
    var(--public-bg-canvas) !important;
  color: var(--public-text-primary);
}
body.public-experience > header {
  border-color: rgba(47, 47, 47, .08);
  background: rgba(250, 249, 246, .92) !important;
  backdrop-filter: blur(14px);
}
body.public-experience > header > div { max-width: 72rem; }
.public-experience main { max-width: 72rem; padding-top: 1rem; }
.public-experience footer { max-width: 72rem; color: #686868; }
.public-experience .public-surface {
  border: 1px solid var(--public-border-soft);
  background: var(--public-bg-surface);
  box-shadow: 0 10px 30px rgba(47, 47, 47, .08);
}
.public-experience .public-hero-dark {
  border: 1px solid rgba(212, 175, 55, .28);
  background:
    radial-gradient(circle at 88% 12%, rgba(168, 200, 255, .28), transparent 34%),
    radial-gradient(circle at 66% 100%, rgba(160, 229, 215, .18), transparent 38%),
    linear-gradient(145deg, #171717, #26302f 58%, #29344a);
  color: #fff;
}
.public-experience .public-hero-blue {
  border: 1px solid rgba(47, 47, 47, .08);
  background: linear-gradient(145deg, #dce8ff, var(--brand-blue));
  color: var(--brand-graphite);
}
.public-experience .public-hero-mint {
  border: 1px solid rgba(47, 47, 47, .08);
  background: linear-gradient(145deg, #dff8f2, var(--brand-mint));
  color: var(--brand-graphite);
}
.public-experience .public-action-primary,
.public-experience .public-action-accent,
.public-experience .public-action-secondary {
  min-height: 48px;
  border-radius: .85rem;
  font-weight: 800;
  transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.public-experience .public-action-primary { background: var(--brand-graphite) !important; color: #fff !important; }
.public-experience .public-action-accent { background: var(--brand-gold) !important; color: var(--brand-graphite) !important; }
.public-experience .public-action-secondary {
  border: 1px solid var(--public-border-soft);
  background: #fff;
  color: var(--brand-graphite);
}
.public-experience .public-action-primary:active,
.public-experience .public-action-accent:active,
.public-experience .public-action-secondary:active { transform: translateY(1px); }
.public-experience .public-action-primary:disabled,
.public-experience .public-action-accent:disabled,
.public-experience .public-action-secondary:disabled,
.public-experience [aria-disabled="true"].public-action-primary,
.public-experience [aria-disabled="true"].public-action-accent,
.public-experience [aria-disabled="true"].public-action-secondary {
  background: #e9e9e2 !important;
  color: #68685f !important;
  box-shadow: none;
}
.public-experience .public-kicker { color: #74601d; }
.public-experience .public-focus:focus-visible {
  outline: 3px solid var(--brand-gold);
  outline-offset: 3px;
}
.public-experience .public-info { border-color: #aec8f5; background: #edf3ff; color: var(--brand-graphite); }
.public-experience .public-friendly { border-color: #86cfc1; background: #e6f8f4; color: var(--brand-graphite); }
.public-experience .public-price { color: #655313; }
body.public-experience > header .brand-context,
body.public-experience > header a:hover { color: #74601d !important; }

/* Compatibilidad durante la migración de utilidades históricas del frente público. */
.public-experience .bg-cyan-50,
.public-experience .bg-cyan-100 { background-color: #edf3ff !important; }
.public-experience .bg-cyan-400,
.public-experience .bg-cyan-500,
.public-experience .bg-cyan-600,
.public-experience .bg-cyan-700 { background-color: var(--brand-graphite) !important; }
.public-experience .text-cyan-200,
.public-experience .text-cyan-300 { color: var(--brand-mint) !important; }
.public-experience .text-cyan-700,
.public-experience .text-cyan-800,
.public-experience .text-cyan-900,
.public-experience .text-cyan-950 { color: var(--brand-graphite) !important; }
.public-experience .border-cyan-100,
.public-experience .border-cyan-200 { border-color: rgba(168, 200, 255, .72) !important; }
.public-experience .bg-violet-100 { background-color: #e8efff !important; }
.public-experience .text-violet-800 { color: var(--brand-graphite) !important; }
.public-experience .from-cyan-100 { --tw-gradient-from: #edf3ff var(--tw-gradient-from-position) !important; }
.public-experience .from-cyan-400,
.public-experience .from-cyan-500,
.public-experience .from-cyan-700 { --tw-gradient-from: var(--brand-blue) var(--tw-gradient-from-position) !important; }
.public-experience .via-sky-700 { --tw-gradient-via: var(--brand-graphite) var(--tw-gradient-via-position) !important; }
.public-experience .to-sky-200,
.public-experience .to-sky-600 { --tw-gradient-to: var(--brand-blue) var(--tw-gradient-to-position) !important; }
.public-experience .from-violet-400 { --tw-gradient-from: var(--brand-blue) var(--tw-gradient-from-position) !important; }
.public-experience .from-orange-400 { --tw-gradient-from: var(--brand-gold) var(--tw-gradient-from-position) !important; }

html.dark .public-experience {
  --public-bg-canvas: #151515;
  --public-bg-surface: #242424;
  --public-text-primary: #faf9f6;
  --public-text-muted: #d7d7cf;
  --public-border-soft: #444444;
  background:
    radial-gradient(circle at 8% 0%, rgba(160, 229, 215, .15), transparent 28rem),
    radial-gradient(circle at 92% 18%, rgba(168, 200, 255, .14), transparent 32rem),
    var(--public-bg-canvas) !important;
}
html.dark body.public-experience > header { background: rgba(21, 21, 21, .92) !important; border-color: #3d3d3d; }
html.dark .public-experience .public-surface { background: var(--public-bg-surface) !important; border-color: var(--public-border-soft); }
html.dark .public-experience .public-action-secondary { background: #242424; border-color: #555; color: #fff; }
html.dark .public-experience .public-action-primary:disabled,
html.dark .public-experience .public-action-accent:disabled,
html.dark .public-experience .public-action-secondary:disabled,
html.dark .public-experience [aria-disabled="true"].public-action-primary,
html.dark .public-experience [aria-disabled="true"].public-action-accent,
html.dark .public-experience [aria-disabled="true"].public-action-secondary { background: #3f3f46 !important; color: #d4d4d8 !important; }
html.dark .public-experience .public-info { background: rgba(168, 200, 255, .14) !important; border-color: rgba(168, 200, 255, .36); color: #faf9f6; }
html.dark .public-experience .public-friendly { background: rgba(160, 229, 215, .13) !important; border-color: rgba(160, 229, 215, .35); color: #faf9f6; }
html.dark .public-experience .public-kicker,
html.dark .public-experience .public-price { color: var(--brand-gold-light); }
html.dark .public-experience .bg-cyan-50,
html.dark .public-experience .bg-cyan-100 { background-color: rgba(168, 200, 255, .14) !important; }
html.dark .public-experience .text-cyan-700,
html.dark .public-experience .text-cyan-800,
html.dark .public-experience .text-cyan-900,
html.dark .public-experience .text-cyan-950 { color: #dce8ff !important; }
html.dark .public-experience .bg-violet-100 { background-color: rgba(168, 200, 255, .14) !important; }
html.dark .public-experience .text-violet-800 { color: #dce8ff !important; }

@media (min-width: 640px) {
  .public-experience main { padding-top: 1.5rem; }
}

/* Sistema editorial publico */
.public-experience {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -.005em;
}
body.public-experience > header {
  position: sticky;
  top: 0;
  z-index: 30;
  box-shadow: 0 1px 0 rgba(47, 47, 47, .04);
}
.public-experience main { min-height: calc(100vh - 13rem); }
.public-experience .public-page-shell {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
.public-experience .public-page-column-narrow,
.public-experience .public-page-column-wide {
  display: grid;
  justify-content: center;
}
.public-experience .public-page-column-narrow {
  grid-template-columns: minmax(0, min(100%, 36rem));
}
.public-experience .public-page-column-wide {
  grid-template-columns: minmax(0, min(100%, 42rem));
}
.public-experience .public-page-column-narrow > *,
.public-experience .public-page-column-wide > * {
  grid-column: 1;
  min-width: 0;
}
.public-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .125rem; }
.public-nav--with-cart { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.public-nav-link {
  display: flex;
  min-width: 0;
  min-height: 48px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .125rem;
  border-radius: 999px;
  padding: .35rem .1rem;
  color: #5b5b5b;
  font-size: .65rem;
  font-weight: 750;
  text-align: center;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.public-nav-link.is-current { background: var(--brand-graphite); color: #fff; }
.public-nav-link:active { transform: scale(.97); }
.public-experience .public-surface {
  border-radius: 1.5rem;
  box-shadow: 0 12px 38px rgba(47, 47, 47, .065);
}
.public-experience .public-editorial-hero {
  border: 1px solid rgba(47, 47, 47, .08);
  border-radius: 1.75rem;
  background: #fff;
  box-shadow: 0 16px 48px rgba(47, 47, 47, .075);
}
.public-experience .public-eyebrow {
  color: #655313;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.public-experience .public-feature-chip {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  border: 1px solid rgba(47, 47, 47, .12);
  border-radius: 999px;
  padding: .625rem 1rem;
  color: var(--brand-graphite);
  box-shadow: 0 6px 18px rgba(47, 47, 47, .08);
}
.public-experience .public-feature-chip-blue { background: var(--brand-blue); }
.public-experience .public-feature-chip-mint { background: var(--brand-mint); }
.public-experience .public-feature-chip-gold { background: var(--brand-gold); }
.public-experience .public-product-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .25rem .625rem;
  color: var(--brand-graphite);
  font-size: .6875rem;
  font-weight: 850;
}
.public-experience .public-product-badge-blue { background: var(--brand-blue); }
.public-experience .public-product-badge-gold { background: var(--brand-gold); }
.public-experience .public-muted-strong { color: #71717a; }
.public-experience .public-box-link {
  border-color: rgba(47, 47, 47, .12);
  background:
    radial-gradient(circle at 4% 10%, rgba(160, 229, 215, .56), transparent 30%),
    linear-gradient(105deg, #f7fbfa 0%, #edf3ff 100%);
  box-shadow: 0 12px 32px rgba(47, 47, 47, .08);
}
.public-experience .public-box-link-icon {
  background: var(--brand-blue);
  color: var(--brand-graphite);
}
.public-experience .public-box-link strong { color: var(--brand-graphite); }
.public-experience .public-box-link-copy { color: #555; }
.public-experience .public-box-link-arrow {
  background: var(--brand-graphite);
  color: #fff;
}
.public-experience .public-display-title {
  max-width: 15ch;
  color: var(--brand-graphite);
  font-size: clamp(2.35rem, 7vw, 5.4rem);
  font-weight: 900;
  letter-spacing: -.055em;
  line-height: .96;
  text-wrap: balance;
}
.public-experience .public-lead {
  max-width: 42rem;
  color: var(--public-text-muted);
  font-size: clamp(1rem, 2vw, 1.2rem);
  line-height: 1.65;
}
.public-experience .home-hero {
  border-color: rgba(212, 175, 55, .34);
  background: #171717;
  color: #fff;
}
.public-experience .home-video-frame { background: #171717; }
.public-experience .home-video-frame video,
.public-experience .home-video-frame img { width: 100%; height: 100%; object-fit: cover; }
.public-experience .home-video-overlay {
  background:
    linear-gradient(90deg, rgba(15, 15, 15, .96) 0%, rgba(15, 15, 15, .82) 52%, rgba(15, 15, 15, .28) 100%),
    linear-gradient(0deg, rgba(15, 15, 15, .54), transparent 42%);
}
.public-experience .home-kicker { color: #f1d87f; }
.public-experience .home-title { color: #fff; text-wrap: balance; }
.public-experience .home-title-accent { color: var(--brand-mint); }
.public-experience .home-hero-copy { color: rgba(255, 255, 255, .82); }
.public-experience .home-primary-action { background: var(--brand-gold); color: #171717; }
.public-experience .home-secondary-action {
  border-color: rgba(255, 255, 255, .38);
  background: rgba(255, 255, 255, .09);
  color: #fff;
}
.public-experience .home-video-toggle {
  border-color: rgba(255, 255, 255, .28);
  background: rgba(23, 23, 23, .72);
  color: #fff;
}
.public-experience .home-path-card {
  min-height: 0;
  border-color: rgba(47, 47, 47, .1);
  color: var(--brand-graphite);
  box-shadow: 0 12px 34px rgba(47, 47, 47, .08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.public-experience .home-path-grooming { background: linear-gradient(145deg, #e6f8f4, var(--brand-mint)); }
.public-experience .home-path-alerts { background: linear-gradient(145deg, #edf3ff, var(--brand-blue)); }
.public-experience .home-path-box { background: linear-gradient(145deg, #fffaf0, #f3df96); }
.public-experience .home-path-icon {
  background: var(--brand-graphite);
  color: #fff;
  box-shadow: 0 8px 18px rgba(47, 47, 47, .16);
}
.public-experience .home-path-box .home-path-icon { background: var(--brand-gold); color: var(--brand-graphite); }
.public-experience .home-path-action { background: var(--brand-graphite); color: #fff; }
.home-hero-motion { animation: home-enter .52s cubic-bezier(.22, 1, .36, 1) both; animation-delay: var(--home-delay, 0ms); }
@keyframes home-enter {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.public-experience .public-product-card {
  transition: transform .22s ease, box-shadow .22s ease;
}
.public-experience .public-media {
  background: linear-gradient(145deg, #edf3ff, #e6f8f4);
  overflow: hidden;
}
.public-experience .public-media img { transition: transform .55s cubic-bezier(.22, 1, .36, 1); }
.public-experience input,
.public-experience select,
.public-experience textarea {
  border-radius: .9rem;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.public-experience input:focus,
.public-experience select:focus,
.public-experience textarea:focus {
  border-color: #89711d !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, .18) !important;
  outline: none;
}
.public-footer a { color: #555; transition: color .16s ease; }
.public-footer a:hover { color: #171717; }
.public-motion-enabled .public-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .5s ease, transform .5s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--public-reveal-delay, 0ms);
}
.public-motion-enabled .public-reveal.is-visible { opacity: 1; transform: translateY(0); }
html.dark .public-experience .public-editorial-hero {
  border-color: rgba(168, 200, 255, .28);
  background:
    radial-gradient(circle at 92% 12%, rgba(168, 200, 255, .30), transparent 32%),
    radial-gradient(circle at 64% 112%, rgba(160, 229, 215, .24), transparent 38%),
    linear-gradient(135deg, #202020 0%, #252d2c 58%, #29344a 100%);
}
html.dark .public-experience .public-display-title { color: #fff; }
html.dark .public-experience .public-eyebrow { color: var(--brand-gold-light); }
html.dark .public-experience .public-lead { color: #e9e9e2; }
html.dark .public-experience .public-feature-chip {
  border-color: rgba(255, 255, 255, .16);
  color: var(--brand-graphite);
  box-shadow: 0 8px 22px rgba(0, 0, 0, .24);
}
html.dark .public-experience .public-muted-strong,
html.dark .public-experience .text-slate-400 { color: #b8c2cf; }
html.dark .public-experience .public-box-link {
  border-color: rgba(168, 200, 255, .36);
  background:
    radial-gradient(circle at 8% 20%, rgba(160, 229, 215, .24), transparent 34%),
    linear-gradient(105deg, #242b2a 0%, #273246 100%);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
}
html.dark .public-experience .public-box-link-icon {
  background: var(--brand-mint);
  color: var(--brand-graphite);
}
html.dark .public-experience .public-box-link strong { color: #fff; }
html.dark .public-experience .public-box-link-copy { color: #d7dee8; }
html.dark .public-experience .public-box-link-arrow {
  background: var(--brand-gold);
  color: var(--brand-graphite);
}
html.dark .public-nav-link { color: #d0d0d0; }
html.dark .public-nav-link.is-current { background: var(--brand-gold); color: var(--brand-graphite); }
html.dark .public-footer a { color: #d7d7cf; }

@media (hover: hover) and (pointer: fine) {
  .public-nav-link:hover { background: rgba(168, 200, 255, .25); color: #2f2f2f; }
  .public-nav-link.is-current:hover { background: #171717; color: #fff; }
  .public-experience .public-action-primary:hover { background: #171717 !important; box-shadow: 0 8px 22px rgba(47, 47, 47, .18); transform: translateY(-1px); }
  .public-experience .public-action-accent:hover { background: #e1be45 !important; box-shadow: 0 8px 22px rgba(212, 175, 55, .2); transform: translateY(-1px); }
  .public-experience .public-product-card:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(47, 47, 47, .12); }
  .public-experience .public-product-card:hover .public-media img { transform: scale(1.025); }
  .public-experience .home-primary-action:hover { background: #e1be45; transform: translateY(-1px); }
  .public-experience .home-secondary-action:hover { background: rgba(255, 255, 255, .16); }
  .public-experience .home-video-toggle:hover { background: rgba(23, 23, 23, .9); }
  .public-motion-enabled .home-path-card.public-reveal.is-visible:hover,
  .public-experience .home-path-card:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(47, 47, 47, .14); }
}

@media (min-width: 640px) {
  .public-nav, .public-nav--with-cart { display: flex; align-items: center; gap: .25rem; }
  .public-nav-link { min-height: 44px; flex: 0 0 auto; flex-direction: row; gap: .45rem; padding: .55rem 1rem; font-size: .84rem; }
  .public-nav--with-cart .public-nav-link:last-child { margin-left: auto; }
  .public-experience .public-surface { border-radius: 1.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .public-motion-enabled .public-reveal { opacity: 1; transform: none; transition: none; }
  .public-experience .public-product-card,
  .public-experience .public-media img { transition: none; }
  .public-experience .home-video-frame video,
  .public-experience .home-video-toggle { display: none !important; }
  .home-hero-motion { animation: none; }
  .public-experience .home-path-card { transition: none; }
}

@media (max-width: 639px) {
  .public-experience .home-video-overlay {
    background: linear-gradient(180deg, rgba(15, 15, 15, .92), rgba(15, 15, 15, .78));
  }
  .public-experience .home-path-card { min-height: 0; }
}

/* Contraste administrativo explícito: debe prevalecer sobre compatibilidad global. */
html.dark .admin-experience .bg-white,
html.dark .admin-experience dialog.bg-white { background-color: #242424 !important; }
html.dark .admin-experience .bg-slate-50 { background-color: #2a2a2a !important; }
html.dark .admin-experience .bg-slate-100 { background-color: #343434 !important; }
html.dark .admin-experience .bg-cyan-50,
html.dark .admin-experience .bg-cyan-50\/70 { background-color: rgba(168, 200, 255, .13) !important; }
html.dark .admin-experience .bg-cyan-100 { background-color: rgba(168, 200, 255, .22) !important; }
html.dark .admin-experience .text-cyan-700,
html.dark .admin-experience .text-cyan-800,
html.dark .admin-experience .text-cyan-900,
html.dark .admin-experience .text-cyan-950 { color: #dce8ff !important; }
html.dark .admin-experience .border-cyan-200,
html.dark .admin-experience .border-cyan-300 { border-color: rgba(168, 200, 255, .36) !important; }
html.dark .admin-experience .admin-sticky-actions { background: rgba(36, 36, 36, .96) !important; border-color: #555; }

/* Navegación administrativa compartida: móvil, escritorio y PWA. */
.admin-context { margin-bottom: 1rem; min-width: 0; }
.admin-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; color: #2f2f2f; font-size: .875rem; }
.admin-breadcrumb a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; font-weight: 700; text-decoration: underline; }
.admin-breadcrumb span { overflow-wrap: anywhere; }
.admin-related { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .3rem; }
.admin-related a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem .8rem; border: 1px solid #d1d5db; border-radius: .75rem; background: #faf9f6; color: #2f2f2f; font-size: .8rem; font-weight: 700; }
.admin-related a.is-active { background: #a8c8ff; color: #2f2f2f; border-color: #2f2f2f; box-shadow: inset 0 -3px #2f2f2f; }
.admin-context a:focus-visible { outline: 3px solid #d4af37; outline-offset: 3px; }
html.dark .admin-breadcrumb { color: #faf9f6; }
html.dark .admin-related a { background: #2f2f2f; color: #faf9f6; border-color: #687078; }
html.dark .admin-related a.is-active { background: #a8c8ff; color: #2f2f2f; border-color: #a8c8ff; }
.admin-bottom-link span { overflow-wrap: anywhere; text-align: center; }

.admin-sidebar-link.is-active span:first-of-type,
.admin-bottom-link.is-active span { text-decoration: underline; text-underline-offset: 4px; }
