/* =====================================================================
   RICLYN — Sistema de diseño v2 ("blueprint")
   Se carga después de main.css. Componentes nuevos con prefijo rc-.
   ===================================================================== */

:root {
  --rc-bg: #06070b;
  --rc-bg-2: #0a0c13;
  --rc-surface: #0d1018;
  --rc-surface-2: #131722;
  --rc-line: rgba(255, 255, 255, 0.09);
  --rc-line-strong: rgba(255, 255, 255, 0.18);
  --rc-ink: #f4f5f9;
  --rc-ink-2: #aeb4c4;
  --rc-ink-3: #727a8f;
  --rc-violet: #8b7bff;
  --rc-violet-2: #6d5cf0;
  --rc-mint: #2dd4bf;
  --rc-amber: #fbbf24;
  --rc-radius: 10px;
  --rc-radius-lg: 18px;
  --rc-display: 'Space Grotesk', 'Inter', system-ui, sans-serif;
  --rc-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --rc-max: 1240px;

  /* Reasigna los tokens heredados para que las páginas antiguas sigan la nueva identidad */
  --background: var(--rc-bg);
  --surface-0: var(--rc-bg);
  --surface-1: var(--rc-bg-2);
  --card-bg: var(--rc-surface);
  --panel-bg: var(--rc-surface);
  --border-color: var(--rc-line);
  --border-subtle: var(--rc-line);
}

body {
  background:
    linear-gradient(var(--rc-line) 1px, transparent 1px) 0 0 / 100% 88px,
    linear-gradient(90deg, var(--rc-line) 1px, transparent 1px) 0 0 / 88px 100%,
    var(--rc-bg);
  background-attachment: fixed;
  background-blend-mode: normal;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(900px 500px at 85% -5%, rgba(139, 123, 255, 0.18), transparent 60%),
    radial-gradient(700px 420px at 0% 30%, rgba(45, 212, 191, 0.08), transparent 60%),
    linear-gradient(180deg, rgba(6, 7, 11, 0.55), var(--rc-bg) 92%);
}

.rc-wrap { max-width: var(--rc-max); margin: 0 auto; padding: 0 1.5rem; }
.rc-eyebrow {
  font-family: var(--rc-mono);
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rc-mint);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}
.rc-eyebrow::before { content: ''; width: 1.5rem; height: 1px; background: currentColor; }
.rc-h2 {
  font-family: var(--rc-display);
  font-size: clamp(2rem, 4.2vw, 3.25rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.05;
  color: var(--rc-ink);
  margin: 0.9rem 0 0;
}
.rc-lead { color: var(--rc-ink-2); font-size: 1.1rem; line-height: 1.65; max-width: 38rem; }
.rc-section { padding: 6rem 0; position: relative; }
.rc-section-head { display: flex; justify-content: space-between; align-items: end; gap: 2rem; flex-wrap: wrap; margin-bottom: 3rem; }

/* ---------- Botones ---------- */
.rc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem;
  padding: 0.85rem 1.4rem;
  border-radius: var(--rc-radius);
  font: 600 0.95rem/1 var(--rc-display);
  letter-spacing: -0.01em;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
  white-space: nowrap;
}
.rc-btn:hover { transform: translateY(-1px); }
.rc-btn-primary { background: var(--rc-ink); color: #0a0b10; }
.rc-btn-primary:hover { background: #fff; box-shadow: 0 10px 30px -8px rgba(255, 255, 255, 0.35); }
.rc-btn-accent { background: var(--rc-violet); color: #fff; box-shadow: 0 10px 30px -10px rgba(139, 123, 255, 0.9); }
.rc-btn-accent:hover { background: #9d8fff; }
.rc-btn-ghost { background: transparent; color: var(--rc-ink); border-color: var(--rc-line-strong); }
.rc-btn-ghost:hover { background: rgba(255, 255, 255, 0.06); border-color: var(--rc-ink-3); }
.rc-btn-sm { padding: 0.6rem 1rem; font-size: 0.85rem; }
.rc-btn-block { width: 100%; }

/* ---------- Header ---------- */
.rc-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(6, 7, 11, 0.8);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border-bottom: 1px solid var(--rc-line);
}
.rc-bar {
  max-width: var(--rc-max); margin: 0 auto; padding: 0 1.5rem;
  height: 4.25rem; display: flex; align-items: center; gap: 2rem;
}
.rc-logo { display: flex; align-items: center; flex-shrink: 0; }
.rc-logo img { height: 34px; width: auto; display: block; }
.rc-nav { display: flex; align-items: center; gap: 0.25rem; list-style: none; margin: 0; padding: 0; flex: 1; }
.rc-nav > li { position: relative; }
.rc-nav > li > a, .rc-nav > li > button {
  display: inline-flex; align-items: center; gap: 0.35rem;
  padding: 0.55rem 0.85rem; border-radius: 8px;
  color: var(--rc-ink-2); text-decoration: none;
  font: 500 0.92rem/1 var(--rc-display);
  background: none; border: 0; cursor: pointer;
  transition: color .15s, background .15s;
}
.rc-nav > li > a:hover, .rc-nav > li > button:hover, .rc-nav > li:focus-within > button, .rc-nav > li:hover > button {
  color: var(--rc-ink); background: rgba(255, 255, 255, 0.06);
}
.rc-caret { width: 10px; height: 10px; opacity: .6; transition: transform .2s; }
.rc-nav > li:hover .rc-caret { transform: rotate(180deg); }

.rc-mega {
  position: absolute; top: 100%; left: -1rem; padding-top: 0.75rem;
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.rc-nav > li:hover > .rc-mega, .rc-nav > li:focus-within > .rc-mega { opacity: 1; visibility: visible; transform: none; }
.rc-mega-panel {
  display: grid; grid-template-columns: repeat(2, 17rem); gap: 0.25rem; padding: 0.6rem;
  background: var(--rc-surface); border: 1px solid var(--rc-line-strong); border-radius: var(--rc-radius-lg);
  box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.8);
}
.rc-mega-panel.rc-mega-narrow { grid-template-columns: 16rem; }
.rc-mega a {
  display: flex; gap: 0.8rem; padding: 0.75rem; border-radius: 12px; text-decoration: none; color: var(--rc-ink);
  transition: background .15s;
}
.rc-mega a:hover { background: rgba(139, 123, 255, 0.12); }
.rc-mega-ico {
  width: 2.25rem; height: 2.25rem; flex-shrink: 0; display: grid; place-items: center;
  border-radius: 9px; background: var(--rc-surface-2); border: 1px solid var(--rc-line); font-size: 1.05rem;
}
.rc-mega strong { display: block; font: 600 0.9rem/1.2 var(--rc-display); }
.rc-mega small { display: block; margin-top: 0.2rem; color: var(--rc-ink-3); font-size: 0.78rem; line-height: 1.35; }

.rc-actions { display: flex; align-items: center; gap: 0.5rem; margin-left: auto; }
.rc-header .action-btn {
  width: 2.4rem; height: 2.4rem; display: grid; place-items: center; position: relative;
  border-radius: 9px; background: transparent; border: 1px solid transparent; color: var(--rc-ink-2); cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.rc-header .action-btn:hover { background: rgba(255, 255, 255, 0.07); color: var(--rc-ink); border-color: var(--rc-line); }
.rc-header .action-icon { width: 19px; height: 19px; }
.rc-header .cart-badge {
  position: absolute; top: -3px; right: -3px; min-width: 1.1rem; height: 1.1rem; padding: 0 4px;
  display: grid; place-items: center; border-radius: 99px; font: 700 0.65rem/1 var(--rc-mono);
  background: var(--rc-mint); color: #04201c;
}
.rc-search-btn {
  display: inline-flex; align-items: center; gap: 0.6rem; height: 2.4rem; padding: 0 0.7rem 0 0.8rem;
  border-radius: 9px; border: 1px solid var(--rc-line); background: rgba(255,255,255,0.03);
  color: var(--rc-ink-3); font: 500 0.82rem/1 var(--rc-display); cursor: pointer; min-width: 10.5rem;
}
.rc-search-btn:hover { border-color: var(--rc-line-strong); color: var(--rc-ink-2); }
.rc-search-btn kbd { margin-left: auto; font: 500 0.68rem var(--rc-mono); padding: 2px 6px; border-radius: 5px; border: 1px solid var(--rc-line-strong); color: var(--rc-ink-3); }
.rc-header .rc-burger { display: none; }

/* Elementos heredados dentro del header nuevo */
.rc-header .user-button {
  display: inline-flex; align-items: center; gap: 0.5rem; height: 2.4rem; padding: 0 0.8rem;
  background: var(--rc-surface-2); border: 1px solid var(--rc-line); border-radius: 9px;
  color: var(--rc-ink); font: 500 0.85rem var(--rc-display); cursor: pointer;
}
.rc-header .user-dropdown, .rc-header .cart-dropdown-menu {
  border-radius: var(--rc-radius-lg) !important;
  border: 1px solid var(--rc-line-strong) !important;
  background: var(--rc-surface) !important;
  box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.85) !important;
}

/* Subnav del cliente */
.client-subnav { background: var(--rc-bg-2) !important; border-top: 1px solid var(--rc-line); }

/* ---------- Footer ---------- */
.rc-cta-band { padding: 5rem 0 0; }
.rc-cta-card {
  position: relative; overflow: hidden; display: grid; grid-template-columns: 1.4fr 1fr; gap: 2rem; align-items: center;
  padding: clamp(2rem, 5vw, 4rem); border-radius: 28px;
  background:
    radial-gradient(600px 300px at 100% 0%, rgba(45, 212, 191, 0.25), transparent 60%),
    radial-gradient(700px 400px at 0% 100%, rgba(139, 123, 255, 0.45), transparent 60%),
    var(--rc-surface);
  border: 1px solid var(--rc-line-strong);
}
.rc-cta-card h2 { font: 700 clamp(1.8rem, 3.6vw, 2.8rem)/1.05 var(--rc-display); letter-spacing: -0.035em; margin: 0 0 0.8rem; color: #fff; }
.rc-cta-card p { color: var(--rc-ink-2); margin: 0; max-width: 32rem; }
.rc-cta-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; justify-content: flex-end; }

.rc-footer { margin-top: 5rem; border-top: 1px solid var(--rc-line); background: var(--rc-bg-2); }
.rc-footer-top { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 2.5rem; padding: 4.5rem 0 3.5rem; }
.rc-footer-brand img { height: 36px; margin-bottom: 1.25rem; }
.rc-footer-brand p { color: var(--rc-ink-3); font-size: 0.92rem; line-height: 1.7; max-width: 21rem; margin: 0 0 1.5rem; }
.rc-status {
  display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.5rem 0.85rem; border-radius: 99px;
  border: 1px solid rgba(45, 212, 191, 0.35); background: rgba(45, 212, 191, 0.08);
  font: 500 0.75rem var(--rc-mono); color: var(--rc-mint); text-decoration: none;
}
.rc-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--rc-mint); box-shadow: 0 0 0 0 rgba(45, 212, 191, 0.6); animation: rc-pulse 2s infinite; }
@keyframes rc-pulse { 70% { box-shadow: 0 0 0 7px rgba(45, 212, 191, 0); } 100% { box-shadow: 0 0 0 0 rgba(45, 212, 191, 0); } }
.rc-footer h4 { font: 500 0.72rem var(--rc-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--rc-ink-3); margin: 0 0 1.1rem; }
.rc-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.65rem; }
.rc-footer ul a { color: var(--rc-ink-2); text-decoration: none; font-size: 0.92rem; transition: color .15s; }
.rc-footer ul a:hover { color: var(--rc-ink); }
.rc-footer-bottom {
  display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: 1.5rem 0 2rem;
  border-top: 1px solid var(--rc-line); color: var(--rc-ink-3); font: 400 0.8rem var(--rc-mono);
}
.rc-footer-bottom nav { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.rc-footer-bottom a { color: inherit; text-decoration: none; }
.rc-footer-bottom a:hover { color: var(--rc-ink); }

/* ---------- Home: hero ---------- */
.rc-hero { padding: 9.5rem 0 4rem; position: relative; }
.rc-hero-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 4rem; align-items: center; }
.rc-pill {
  display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.4rem 0.9rem 0.4rem 0.5rem; border-radius: 99px;
  border: 1px solid var(--rc-line-strong); background: rgba(255, 255, 255, 0.03);
  font: 500 0.78rem var(--rc-mono); color: var(--rc-ink-2); margin-bottom: 1.75rem;
}
.rc-pill b { background: var(--rc-violet); color: #fff; padding: 2px 8px; border-radius: 99px; font-weight: 600; }
.rc-hero h1 {
  font: 700 clamp(2.8rem, 6.4vw, 5.4rem)/0.98 var(--rc-display); letter-spacing: -0.05em; margin: 0 0 1.5rem; color: var(--rc-ink);
}
.rc-hero h1 em {
  font-style: normal;
  background: linear-gradient(95deg, var(--rc-violet) 10%, var(--rc-mint) 90%);
  -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}
.rc-domain {
  display: flex; margin-top: 2.25rem; max-width: 36rem; padding: 0.4rem; border-radius: 14px;
  background: var(--rc-surface); border: 1px solid var(--rc-line-strong);
  box-shadow: 0 20px 60px -25px rgba(139, 123, 255, 0.6);
  transition: border-color .2s, box-shadow .2s;
}
.rc-domain:focus-within { border-color: var(--rc-violet); box-shadow: 0 0 0 4px rgba(139, 123, 255, 0.2), 0 20px 60px -25px rgba(139, 123, 255, 0.6); }
.rc-domain input {
  flex: 1; min-width: 0; background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 0.85rem 1rem; color: var(--rc-ink); font: 500 1rem var(--rc-mono); outline: none;
}
.rc-domain input::placeholder { color: var(--rc-ink-3); }
.rc-tlds { display: flex; gap: 1.25rem; flex-wrap: wrap; margin-top: 1rem; font: 500 0.8rem var(--rc-mono); color: var(--rc-ink-3); }
.rc-tlds span b { color: var(--rc-ink-2); font-weight: 500; }
.rc-hero-ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 1.5rem; }

/* Panel de control simulado */
.rc-console {
  position: relative; border-radius: var(--rc-radius-lg); background: var(--rc-surface);
  border: 1px solid var(--rc-line-strong); box-shadow: 0 50px 120px -40px rgba(109, 92, 240, 0.7);
  transform: perspective(1400px) rotateY(-6deg) rotateX(2deg);
  transition: transform .5s ease;
}
.rc-console:hover { transform: perspective(1400px) rotateY(0) rotateX(0); }
.rc-console-top { display: flex; align-items: center; gap: 0.5rem; padding: 0.9rem 1.1rem; border-bottom: 1px solid var(--rc-line); }
.rc-console-top i { width: 10px; height: 10px; border-radius: 50%; background: #2a2f3d; }
.rc-console-top span { margin-left: 0.75rem; font: 400 0.75rem var(--rc-mono); color: var(--rc-ink-3); }
.rc-console-body { padding: 1.25rem; display: grid; gap: 1rem; }
.rc-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; }
.rc-metric { padding: 0.9rem; border-radius: 12px; background: var(--rc-surface-2); border: 1px solid var(--rc-line); }
.rc-metric small { font: 500 0.66rem var(--rc-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--rc-ink-3); }
.rc-metric strong { display: block; margin-top: 0.4rem; font: 700 1.45rem/1 var(--rc-display); letter-spacing: -0.03em; color: var(--rc-ink); }
.rc-metric strong i { font-style: normal; font-size: 0.8rem; color: var(--rc-mint); margin-left: 4px; font-family: var(--rc-mono); }
.rc-chart { height: 7rem; border-radius: 12px; background: var(--rc-surface-2); border: 1px solid var(--rc-line); padding: 0.75rem; }
.rc-chart svg { width: 100%; height: 100%; display: block; }
.rc-term { font: 400 0.8rem/1.75 var(--rc-mono); color: var(--rc-ink-2); padding: 1rem; border-radius: 12px; background: #05060a; border: 1px solid var(--rc-line); }
.rc-term .p { color: var(--rc-violet); } .rc-term .ok { color: var(--rc-mint); } .rc-term .m { color: var(--rc-ink-3); }
.rc-chip {
  position: absolute; display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.55rem 0.9rem; border-radius: 99px;
  background: var(--rc-surface-2); border: 1px solid var(--rc-line-strong); font: 600 0.8rem var(--rc-display); color: var(--rc-ink);
  box-shadow: 0 16px 40px -12px rgba(0, 0, 0, 0.8); animation: rc-float 6s ease-in-out infinite;
}
.rc-chip.c1 { top: -1.1rem; right: 2rem; } .rc-chip.c2 { bottom: 2.5rem; left: -2rem; animation-delay: -3s; }
@keyframes rc-float { 50% { transform: translateY(-8px); } }

/* ---------- Marquee ---------- */
.rc-marquee { border-block: 1px solid var(--rc-line); background: rgba(255, 255, 255, 0.015); overflow: hidden; padding: 1.4rem 0; }
.rc-marquee-track { display: flex; gap: 3.5rem; width: max-content; animation: rc-scroll 40s linear infinite; }
.rc-marquee span { font: 500 0.95rem var(--rc-mono); color: var(--rc-ink-3); display: inline-flex; align-items: center; gap: 0.7rem; white-space: nowrap; }
.rc-marquee span::before { content: '✦'; color: var(--rc-violet); }
@keyframes rc-scroll { to { transform: translateX(-50%); } }

/* ---------- Bento ---------- */
.rc-bento { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: minmax(15rem, auto); gap: 1rem; }
.rc-cell {
  position: relative; overflow: hidden; padding: 1.75rem; border-radius: var(--rc-radius-lg);
  background: linear-gradient(180deg, var(--rc-surface), var(--rc-bg-2)); border: 1px solid var(--rc-line);
  display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem;
  transition: border-color .25s, transform .25s;
}
.rc-cell:hover { border-color: rgba(139, 123, 255, 0.55); transform: translateY(-3px); }
.rc-cell::after {
  content: ''; position: absolute; inset: auto -20% -50% auto; width: 70%; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 123, 255, 0.16), transparent 65%); pointer-events: none;
}
.rc-cell.s2 { grid-column: span 2; } .rc-cell.s3 { grid-column: span 3; } .rc-cell.s4 { grid-column: span 4; }
.rc-cell h3 { font: 700 1.35rem/1.15 var(--rc-display); letter-spacing: -0.03em; margin: 0 0 0.6rem; color: var(--rc-ink); }
.rc-cell p { margin: 0; color: var(--rc-ink-2); font-size: 0.95rem; line-height: 1.6; }
.rc-cell-tag { font: 500 0.7rem var(--rc-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--rc-mint); }
.rc-big { font: 700 clamp(3rem, 6vw, 5rem)/0.9 var(--rc-display); letter-spacing: -0.06em; color: var(--rc-ink); }
.rc-big small { font-size: 0.4em; color: var(--rc-ink-3); letter-spacing: -0.02em; margin-left: 0.2rem; }
.rc-bars { display: flex; align-items: flex-end; gap: 5px; height: 4.5rem; }
.rc-bars i { flex: 1; border-radius: 3px 3px 0 0; background: linear-gradient(180deg, var(--rc-violet), rgba(139, 123, 255, 0.15)); }
.rc-tagrow { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rc-tagrow span { padding: 0.35rem 0.7rem; border-radius: 99px; border: 1px solid var(--rc-line-strong); font: 500 0.75rem var(--rc-mono); color: var(--rc-ink-2); }

/* ---------- Planes ---------- */
.rc-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; align-items: stretch; }
.rc-plan {
  position: relative; display: flex; flex-direction: column; padding: 2rem; border-radius: var(--rc-radius-lg);
  background: var(--rc-surface); border: 1px solid var(--rc-line); transition: transform .25s, border-color .25s;
}
.rc-plan:hover { transform: translateY(-4px); border-color: var(--rc-line-strong); }
.rc-plan.hot {
  background: linear-gradient(180deg, rgba(139, 123, 255, 0.16), var(--rc-surface) 45%);
  border-color: var(--rc-violet); box-shadow: 0 40px 90px -40px rgba(109, 92, 240, 0.9);
}
.rc-plan-flag {
  position: absolute; top: -0.8rem; left: 2rem; padding: 0.3rem 0.8rem; border-radius: 99px;
  background: var(--rc-violet); color: #fff; font: 600 0.7rem var(--rc-mono); letter-spacing: 0.08em; text-transform: uppercase;
}
.rc-plan h3 { font: 700 1.3rem var(--rc-display); letter-spacing: -0.025em; margin: 0; color: var(--rc-ink); }
.rc-plan-desc { color: var(--rc-ink-3); font-size: 0.9rem; line-height: 1.55; margin: 0.6rem 0 1.5rem; min-height: 2.8em; }
.rc-price { display: flex; align-items: baseline; gap: 0.35rem; padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px dashed var(--rc-line-strong); }
.rc-price strong { font: 700 3rem/1 var(--rc-display); letter-spacing: -0.05em; color: var(--rc-ink); }
.rc-price span { font: 500 0.85rem var(--rc-mono); color: var(--rc-ink-3); }
.rc-plan ul { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; gap: 0.7rem; flex: 1; }
.rc-plan li { display: flex; gap: 0.7rem; color: var(--rc-ink-2); font-size: 0.92rem; line-height: 1.4; }
.rc-plan li::before { content: '✓'; color: var(--rc-mint); font-weight: 700; flex-shrink: 0; }

/* ---------- Índice de servicios ---------- */
.rc-index { border-top: 1px solid var(--rc-line); }
.rc-row {
  display: grid; grid-template-columns: 4rem 1fr 1.2fr auto; gap: 1.5rem; align-items: center; padding: 1.6rem 0.5rem;
  border-bottom: 1px solid var(--rc-line); text-decoration: none; color: var(--rc-ink); position: relative;
  transition: padding .25s ease, background .25s ease;
}
.rc-row:hover { padding-left: 1.5rem; padding-right: 1.5rem; background: linear-gradient(90deg, rgba(139, 123, 255, 0.1), transparent); }
.rc-row .n { font: 500 0.85rem var(--rc-mono); color: var(--rc-ink-3); }
.rc-row h3 { font: 700 clamp(1.3rem, 2.4vw, 1.9rem) var(--rc-display); letter-spacing: -0.03em; margin: 0; }
.rc-row p { margin: 0; color: var(--rc-ink-3); font-size: 0.95rem; }
.rc-row .go { width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1px solid var(--rc-line-strong); display: grid; place-items: center; transition: background .2s, color .2s, transform .25s; }
.rc-row:hover .go { background: var(--rc-ink); color: #000; transform: rotate(-45deg); }

/* ---------- Cifras ---------- */
.rc-figures { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--rc-line); border-radius: var(--rc-radius-lg); overflow: hidden; background: var(--rc-surface); }
.rc-figure { padding: 2.25rem 1.75rem; border-right: 1px solid var(--rc-line); }
.rc-figure:last-child { border-right: 0; }
.rc-figure strong { display: block; font: 700 clamp(2.2rem, 4vw, 3.4rem)/1 var(--rc-display); letter-spacing: -0.05em; color: var(--rc-ink); }
.rc-figure span { display: block; margin-top: 0.6rem; font: 500 0.78rem var(--rc-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--rc-ink-3); }

/* ---------- Pasos ---------- */
.rc-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; counter-reset: s; }
.rc-step { padding: 2rem; border-radius: var(--rc-radius-lg); border: 1px dashed var(--rc-line-strong); counter-increment: s; }
.rc-step::before { content: '0' counter(s); display: block; font: 700 2.6rem/1 var(--rc-display); letter-spacing: -0.05em; color: var(--rc-violet); margin-bottom: 1.25rem; }
.rc-step h3 { font: 700 1.2rem var(--rc-display); margin: 0 0 0.5rem; letter-spacing: -0.02em; color: var(--rc-ink); }
.rc-step p { margin: 0; color: var(--rc-ink-2); font-size: 0.93rem; line-height: 1.6; }

/* ---------- FAQ ---------- */
.rc-faq { display: grid; grid-template-columns: 1fr 1.4fr; gap: 4rem; align-items: start; }
.rc-faq-list { border-top: 1px solid var(--rc-line); }
.rc-faq details { border-bottom: 1px solid var(--rc-line); padding: 1.4rem 0; }
.rc-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; font: 600 1.1rem var(--rc-display); letter-spacing: -0.02em; color: var(--rc-ink); }
.rc-faq summary::-webkit-details-marker { display: none; }
.rc-faq summary::after { content: '+'; font: 400 1.5rem/1 var(--rc-mono); color: var(--rc-violet); transition: transform .2s; }
.rc-faq details[open] summary::after { transform: rotate(45deg); }
.rc-faq details p { margin: 0.9rem 0 0; color: var(--rc-ink-2); line-height: 1.7; max-width: 38rem; }

/* ---------- Encabezado de páginas internas ---------- */
.rc-pagehero { padding: 9rem 0 3rem; border-bottom: 1px solid var(--rc-line); }
.rc-pagehero h1 { font: 700 clamp(2.4rem, 5vw, 4rem)/1 var(--rc-display); letter-spacing: -0.045em; margin: 1rem 0; color: var(--rc-ink); }

/* ---------- Páginas heredadas: hero de hosting / vps / dominios ---------- */
.hosting-hero, .vps-hero, .domains-hero {
  background:
    radial-gradient(700px 320px at 80% 0%, rgba(139, 123, 255, 0.28), transparent 65%),
    transparent !important;
  border-bottom: 1px solid var(--rc-line);
  text-align: left !important;
}
.hosting-hero h1, .vps-hero h1, .domains-hero h1 { font-family: var(--rc-display); letter-spacing: -0.045em; text-align: left !important; }
.hosting-hero *, .vps-hero * { text-align: left; }
.hosting-hero [class*="stats"], .vps-hero [class*="stats"] { justify-content: flex-start !important; }
.hero-wave, .hosting-hero svg.wave, .vps-hero svg.wave { display: none !important; }

/* ---------- Formularios / tarjetas heredadas ---------- */
.auth-card, .form-container, .service-card, .feature-card, .plan-card { border-radius: var(--rc-radius-lg); }
.btn-primary { background: var(--rc-violet) !important; border-radius: var(--rc-radius) !important; box-shadow: 0 10px 30px -12px rgba(139, 123, 255, 0.9) !important; }
.btn-secondary, .btn-outline { border-radius: var(--rc-radius) !important; }
h1, h2, h3 { font-family: var(--rc-display); }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .rc-hero-grid, .rc-faq, .rc-cta-card { grid-template-columns: 1fr; }
  .rc-cta-actions { justify-content: flex-start; }
  .rc-console { transform: none; max-width: 36rem; }
  .rc-footer-top { grid-template-columns: 1fr 1fr 1fr; }
  .rc-footer-brand { grid-column: 1 / -1; }
  .rc-bento { grid-template-columns: repeat(2, 1fr); }
  .rc-cell.s2, .rc-cell.s3, .rc-cell.s4 { grid-column: span 2; }
  .rc-plans { grid-template-columns: 1fr; max-width: 30rem; }
  .rc-search-btn span, .rc-search-btn kbd { display: none; }
  .rc-search-btn { min-width: 0; width: 2.4rem; padding: 0; justify-content: center; }
}
@media (max-width: 900px) {
  .rc-header .rc-burger { display: grid; }
  .rc-nav {
    position: fixed; top: 4.25rem; left: 0; right: 0; bottom: 0; height: calc(100vh - 4.25rem); max-height: none; align-content: flex-start; flex-direction: column; align-items: stretch; gap: 0;
    padding: 1rem 1.5rem 2rem; background: var(--rc-bg); overflow-y: auto; display: none; border-top: 1px solid var(--rc-line);
  }
  .rc-header.open .rc-nav { display: flex; }
  .rc-nav > li > a, .rc-nav > li > button { width: 100%; padding: 1rem 0.5rem; font-size: 1.1rem; justify-content: space-between; }
  .rc-mega { position: static; opacity: 1; visibility: visible; transform: none; padding: 0 0 0.5rem 0.5rem; display: none; }
  .rc-nav > li.sub-open > .rc-mega { display: block; }
  .rc-mega-panel, .rc-mega-panel.rc-mega-narrow { grid-template-columns: 1fr; border: 0; box-shadow: none; background: transparent; padding: 0; }
  .rc-figures { grid-template-columns: repeat(2, 1fr); }
  .rc-figure:nth-child(2) { border-right: 0; }
  .rc-figure:nth-child(-n+2) { border-bottom: 1px solid var(--rc-line); }
  .rc-steps { grid-template-columns: 1fr; }
  .rc-row { grid-template-columns: 2.5rem 1fr auto; } .rc-row p { display: none; }
}
@media (max-width: 640px) {
  .rc-section { padding: 4rem 0; }
  .rc-hero { padding-top: 7.5rem; }
  .rc-bento { grid-template-columns: 1fr; } .rc-cell.s2, .rc-cell.s3, .rc-cell.s4 { grid-column: auto; }
  .rc-footer-top { grid-template-columns: 1fr 1fr; }
  .rc-metrics { grid-template-columns: 1fr 1fr; } .rc-metrics .rc-metric:last-child { display: none; }
  .rc-chip { display: none; }
  .rc-domain { flex-direction: column; } .rc-domain .rc-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .rc-marquee-track, .rc-chip, .rc-dot { animation: none !important; } }

/* Neutraliza estilos heredados de títulos */
.rc-wrap h1, .rc-wrap h2, .rc-wrap h3, .rc-wrap h4 { text-align: left; }
.rc-section-head { text-align: left; }

/* =====================================================================
   Páginas internas — rediseño de dominios, hosting y VPS
   ===================================================================== */
.main-content { padding-top: 7rem; }
.main-content > .container { max-width: var(--rc-max); padding: 0 1.5rem; }

/* Dominios */
.domains-header { text-align: left; padding: 2.5rem 0 1.5rem; }
.domains-header h1 { font: 700 clamp(2.4rem, 5vw, 4rem)/1 var(--rc-display); letter-spacing: -0.045em; color: var(--rc-ink); background: none; -webkit-text-fill-color: currentColor; margin: 0 0 0.8rem; text-align: left; }
.domains-header p { color: var(--rc-ink-2); font-size: 1.15rem; margin: 0; }
.domain-search { max-width: none; }
.domain-search-input {
  display: flex; align-items: center; gap: 0.75rem; max-width: 44rem; padding: 0.4rem 0.4rem 0.4rem 1.1rem; border-radius: 14px;
  background: var(--rc-surface); border: 1px solid var(--rc-line-strong); box-shadow: 0 20px 60px -25px rgba(139, 123, 255, 0.6);
}
.domain-search-input:focus-within { border-color: var(--rc-violet); box-shadow: 0 0 0 4px rgba(139, 123, 255, 0.2); }
.domain-search-input i { color: var(--rc-ink-3); }
.domain-search-input input { flex: 1; background: transparent !important; border: 0 !important; box-shadow: none !important; font: 500 1rem var(--rc-mono); padding: 0.8rem 0; color: var(--rc-ink); outline: none; }
.domain-search-btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.85rem 1.4rem; border-radius: var(--rc-radius); border: 0; background: var(--rc-violet); color: #fff; font: 600 0.95rem var(--rc-display); cursor: pointer; }
.domain-search-btn:hover { background: #9d8fff; }
.domain-result { max-width: 44rem; margin-top: 1rem; }
.domain-available, .domain-unavailable, .domain-error { border-radius: var(--rc-radius-lg); }

.tld-pricing { margin-top: 5rem; }
.tld-pricing h2, .domain-features h2 { font: 700 clamp(1.8rem, 3.4vw, 2.6rem)/1.05 var(--rc-display); letter-spacing: -0.035em; color: var(--rc-ink); text-align: left; background: none; -webkit-text-fill-color: currentColor; }
.tld-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 0.75rem; }
.tld-card { padding: 1.25rem; border-radius: var(--rc-radius-lg); background: var(--rc-surface); border: 1px solid var(--rc-line); text-align: left; transition: border-color .2s, transform .2s; }
.tld-card:hover { border-color: var(--rc-violet); transform: translateY(-3px); }
.tld-extension { font: 700 1.6rem var(--rc-display); letter-spacing: -0.04em; color: var(--rc-ink); }
.tld-price { font: 600 1.1rem var(--rc-mono); color: var(--rc-mint); margin-top: 0.4rem; }
.tld-renewal { font: 400 0.75rem var(--rc-mono); color: var(--rc-ink-3); }
.domain-features { margin-top: 5rem; }
.domain-features .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.domain-features .feature-item { padding: 1.5rem; border-radius: var(--rc-radius-lg); background: var(--rc-surface); border: 1px solid var(--rc-line); text-align: left; }
.domain-features .feature-item i { color: var(--rc-violet); font-size: 1.2rem; margin-bottom: 0.9rem; display: block; }

/* Hosting y VPS: títulos de sección alineados a la izquierda */
.hosting-page section h2, .vps-page section h2 { font: 700 clamp(1.8rem, 3.4vw, 2.6rem)/1.05 var(--rc-display); letter-spacing: -0.035em; text-align: left; color: var(--rc-ink); background: none; -webkit-text-fill-color: currentColor; }
.hosting-page section h2 + p, .vps-page section h2 + p, .section-header p { text-align: left; }
.section-header { text-align: left; }
.hosting-hero { padding-top: 9rem !important; }
.hosting-hero h1, .vps-hero h1 { font-size: clamp(2.6rem, 5.5vw, 4.5rem) !important; line-height: 1 !important; }
table, .comparison-table { border-radius: var(--rc-radius-lg); overflow: hidden; }
thead tr, .comparison-table thead th { background: var(--rc-surface-2) !important; color: var(--rc-ink-2) !important; }

/* =====================================================================
   Hosting / VPS v2: héroe de página, ficha técnica, checks
   ===================================================================== */
.rc-phero { padding: 9.5rem 0 3rem; }
.rc-phero-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 4rem; align-items: center; }
.rc-phero h1 { font: 700 clamp(2.6rem, 5.6vw, 4.6rem)/1 var(--rc-display); letter-spacing: -0.05em; margin: 0 0 1.5rem; color: var(--rc-ink); text-align: left; }
.rc-phero h1 em { font-style: normal; background: linear-gradient(95deg, var(--rc-violet) 10%, var(--rc-mint) 90%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.rc-spec { border: 1px solid var(--rc-line-strong); border-radius: var(--rc-radius-lg); background: var(--rc-surface); box-shadow: 0 40px 100px -40px rgba(109, 92, 240, 0.6); overflow: hidden; }
.rc-spec-top { display: flex; justify-content: space-between; align-items: center; padding: 0.9rem 1.25rem; border-bottom: 1px solid var(--rc-line); font: 500 0.75rem var(--rc-mono); color: var(--rc-ink-3); }
.rc-spec dl { margin: 0; }
.rc-spec dl > div { display: flex; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px dashed var(--rc-line); }
.rc-spec dl > div:last-child { border-bottom: 0; }
.rc-spec dt { font: 500 0.78rem var(--rc-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--rc-ink-3); }
.rc-spec dd { margin: 0; font: 700 1.1rem var(--rc-display); color: var(--rc-ink); }
.rc-term-hero { font-size: 0.9rem; line-height: 2; padding: 1.5rem; box-shadow: 0 40px 100px -40px rgba(109, 92, 240, 0.6); }
.rc-plans-auto { grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); }
.rc-checks { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--rc-line); border-radius: var(--rc-radius-lg); overflow: hidden; background: var(--rc-surface); }
.rc-check { padding: 1.6rem; border-right: 1px solid var(--rc-line); border-bottom: 1px solid var(--rc-line); }
.rc-check:nth-child(4n) { border-right: 0; }
.rc-check:nth-last-child(-n+4) { border-bottom: 0; }
.rc-check b { display: block; font: 700 1.05rem var(--rc-display); letter-spacing: -0.02em; color: var(--rc-ink); margin-bottom: 0.4rem; }
.rc-check b::before { content: '✓ '; color: var(--rc-mint); }
.rc-check span { color: var(--rc-ink-3); font-size: 0.88rem; line-height: 1.5; }
.rc-bento-6 { grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(9rem, auto); }
.rc-bento-6 .rc-cell { grid-column: span 1; }
.rc-bento-6 .rc-cell.s2 { grid-column: span 2; }
.rc-row-static { cursor: default; grid-template-columns: 3rem 1fr; }
.rc-row-static:hover { padding-left: 0; padding-right: 0; background: none; }
.rc-row-static p { grid-column: 2; }
.rc-empty { padding: 2.5rem; border: 1px dashed var(--rc-line-strong); border-radius: var(--rc-radius-lg); color: var(--rc-ink-2); text-align: center; }
.rc-empty a { color: var(--rc-violet); }
.rc-toast { position: fixed; bottom: 1.25rem; right: 1.25rem; z-index: 10000; padding: 0.8rem 1.2rem; border-radius: 12px; background: var(--rc-surface-2); border: 1px solid var(--rc-line-strong); color: var(--rc-ink); font: 500 0.9rem var(--rc-display); box-shadow: 0 16px 40px -12px rgba(0, 0, 0, 0.8); }
.rc-toast.ok { border-color: var(--rc-mint); } .rc-toast.err { border-color: #f87171; }
@media (max-width: 900px) {
  .rc-phero { padding-top: 7.5rem; }
  .rc-phero-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .rc-checks { grid-template-columns: repeat(2, 1fr); }
  .rc-check:nth-child(4n) { border-right: 1px solid var(--rc-line); } .rc-check:nth-child(2n) { border-right: 0; }
  .rc-check:nth-last-child(-n+4) { border-bottom: 1px solid var(--rc-line); } .rc-check:nth-last-child(-n+2) { border-bottom: 0; }
  .rc-bento-6 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .rc-checks { grid-template-columns: 1fr; } .rc-check, .rc-check:nth-child(n) { border-right: 0; border-bottom: 1px solid var(--rc-line); } .rc-check:last-child { border-bottom: 0; }
  .rc-bento-6 { grid-template-columns: 1fr; } .rc-bento-6 .rc-cell.s2 { grid-column: auto; }
}

/* =====================================================================
   Carrito y checkout v2
   ===================================================================== */
.rc-flow { display: flex; gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 1.5rem; font: 500 0.75rem var(--rc-mono); letter-spacing: 0.08em; text-transform: uppercase; counter-reset: f; flex-wrap: wrap; }
.rc-flow li { counter-increment: f; display: flex; align-items: center; gap: 0.5rem; color: var(--rc-ink-3); }
.rc-flow li::before { content: counter(f); width: 1.5rem; height: 1.5rem; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--rc-line-strong); font-size: 0.7rem; }
.rc-flow li:not(:last-child)::after { content: ''; width: 2rem; height: 1px; background: var(--rc-line-strong); margin-left: 0.5rem; }
.rc-flow li.on { color: var(--rc-ink); } .rc-flow li.on::before { background: var(--rc-violet); border-color: var(--rc-violet); color: #fff; }
.rc-flow li.done { color: var(--rc-mint); } .rc-flow li.done::before { content: '✓'; border-color: var(--rc-mint); }

.rc-cartpage main, .rc-checkout main { padding-top: 7.5rem; min-height: 70vh; }
.rc-cartpage .cart-page { max-width: none; padding: 0 0 5rem; margin: 0; }
.rc-cartpage .cart-page-header { text-align: left; margin-bottom: 2rem; padding: 0; background: none; border: 0; }
.rc-cartpage .cart-page-header h1, .rc-co-title { font: 700 clamp(2.2rem, 5vw, 3.6rem)/1 var(--rc-display); letter-spacing: -0.05em; color: var(--rc-ink); margin: 0 0 0.6rem; background: none; -webkit-text-fill-color: currentColor; text-align: left; }
.rc-cartpage .cart-page-subtitle { font: 500 0.85rem var(--rc-mono); color: var(--rc-ink-3); margin: 0; }
.rc-cartpage .cart-page-content { display: grid; grid-template-columns: 1fr 24rem; gap: 2rem; align-items: start; }
.rc-cartpage .cart-page-items { display: grid; gap: 1rem; }
.rc-cartpage .cart-page-item { background: var(--rc-surface); border: 1px solid var(--rc-line); border-radius: var(--rc-radius-lg); box-shadow: none; padding: 1.75rem; }
.rc-cartpage .cart-page-item:hover { border-color: var(--rc-line-strong); transform: none; }
.rc-cartpage .cart-page-item-name { font: 700 1.4rem var(--rc-display); letter-spacing: -0.03em; color: var(--rc-ink); }
.rc-cartpage .cycle-btn { background: var(--rc-surface-2); border: 1px solid var(--rc-line-strong); color: var(--rc-ink-2); border-radius: 10px; font-family: var(--rc-mono); }
.rc-cartpage .cycle-btn.active { background: rgba(139, 123, 255, 0.18); border-color: var(--rc-violet); color: var(--rc-ink); }
.rc-cartpage .price-amount { font: 700 2rem var(--rc-display); letter-spacing: -0.04em; color: var(--rc-ink); }
.rc-cartpage .cart-page-summary, .rc-receipt {
  position: sticky; top: 6rem; background: var(--rc-surface); border: 1px solid var(--rc-line-strong); border-radius: var(--rc-radius-lg);
  padding: 1.75rem; box-shadow: 0 40px 90px -50px rgba(109, 92, 240, 0.8);
}
.rc-cartpage .cart-page-summary h2, .rc-receipt h2 { font: 600 0.78rem var(--rc-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--rc-ink-3); margin: 0 0 1.25rem; text-align: left; }
.rc-cartpage .cart-summary-totals { border-top: 1px dashed var(--rc-line-strong); padding-top: 1rem; }
.rc-cartpage .cart-summary-row.total-row .cart-summary-value, .rc-receipt-total strong { font: 700 2rem var(--rc-display); letter-spacing: -0.04em; color: var(--rc-ink); }
.rc-cartpage .cart-checkout-btn { display: flex; justify-content: center; align-items: center; gap: 0.6rem; width: 100%; margin-top: 1.25rem; padding: 0.95rem; border: 0; border-radius: var(--rc-radius); background: var(--rc-violet); color: #fff; font: 600 0.95rem var(--rc-display); cursor: pointer; box-shadow: 0 10px 30px -10px rgba(139, 123, 255, 0.9); }
.rc-cartpage .cart-checkout-btn:hover { background: #9d8fff; }
.rc-cartpage .cart-continue-shopping { display: flex; justify-content: center; gap: 0.5rem; margin-top: 1rem; color: var(--rc-ink-3); font-size: 0.88rem; }
.rc-cartpage .promo-input { background: var(--rc-surface-2); border: 1px solid var(--rc-line-strong); color: var(--rc-ink); border-radius: 10px; font-family: var(--rc-mono); }
.rc-cartpage .cart-page-empty { text-align: left; padding: 4rem; border: 1px dashed var(--rc-line-strong); border-radius: var(--rc-radius-lg); background: none; }

.rc-co { padding-bottom: 5rem; }
.rc-co-grid { display: grid; grid-template-columns: 1fr 24rem; gap: 2rem; align-items: start; }
.rc-co-main { display: grid; gap: 1rem; }
.rc-box { background: var(--rc-surface); border: 1px solid var(--rc-line); border-radius: var(--rc-radius-lg); padding: 1.75rem; }
.rc-box-title { display: flex; align-items: center; gap: 0.8rem; font: 700 1.2rem var(--rc-display); letter-spacing: -0.02em; color: var(--rc-ink); margin: 0 0 1rem; text-align: left; }
.rc-box-title span { font: 500 0.78rem var(--rc-mono); color: var(--rc-violet); }
.rc-box-text { margin: 0; color: var(--rc-ink-2); line-height: 1.65; }
.rc-line { display: flex; justify-content: space-between; gap: 1rem; padding: 1.1rem 0; border-top: 1px dashed var(--rc-line-strong); }
.rc-line h3 { font: 600 1.05rem var(--rc-display); margin: 0 0 0.3rem; color: var(--rc-ink); }
.rc-line small { display: block; font: 400 0.78rem var(--rc-mono); color: var(--rc-ink-3); }
.rc-line-price { text-align: right; font: 700 1.3rem var(--rc-display); color: var(--rc-ink); white-space: nowrap; }
.rc-receipt-row, .rc-receipt-total { display: flex; justify-content: space-between; align-items: baseline; padding: 0.5rem 0; color: var(--rc-ink-2); font: 500 0.9rem var(--rc-mono); }
.rc-receipt-row.disc { color: var(--rc-mint); }
.rc-receipt-total { border-top: 1px dashed var(--rc-line-strong); margin: 0.6rem 0 1.25rem; padding-top: 1rem; color: var(--rc-ink); }
.rc-alert { padding: 1rem 1.25rem; border-radius: 12px; border: 1px solid #f87171; background: rgba(248, 113, 113, 0.1); color: #fecaca; margin-bottom: 1.5rem; }
.rc-co-done { text-align: center; max-width: 34rem; margin: 3rem auto; }
.rc-co-done h1 { font: 700 clamp(2.4rem, 5vw, 3.6rem)/1 var(--rc-display); letter-spacing: -0.05em; color: var(--rc-ink); margin: 1.25rem 0 1rem; }
.rc-co-done p { color: var(--rc-ink-2); } .rc-co-done b { color: var(--rc-ink); }
.rc-co-check { display: inline-grid; place-items: center; width: 4rem; height: 4rem; border-radius: 50%; background: rgba(45, 212, 191, 0.15); border: 1px solid var(--rc-mint); color: var(--rc-mint); font-size: 1.6rem; }
@media (max-width: 900px) {
  .rc-cartpage .cart-page-content, .rc-co-grid { grid-template-columns: 1fr; }
  .rc-cartpage .cart-page-summary, .rc-receipt { position: static; }
}
.rc-cartpage .cart-page-item-remove { width: 2.4rem; height: 2.4rem; border-radius: 10px; border: 1px solid var(--rc-line-strong); background: transparent; color: var(--rc-ink-3); display: grid; place-items: center; cursor: pointer; }
.rc-cartpage .cart-page-item-remove:hover { border-color: #f87171; color: #f87171; background: rgba(248, 113, 113, 0.08); }

/* =====================================================================
   Área de cliente v2
   ===================================================================== */
.rc-client .client-area { padding: 6.5rem 0 4rem; background: transparent; min-height: 80vh; }
.rc-client .client-container { grid-template-columns: 16.5rem 1fr; gap: 2.5rem; max-width: 84rem; padding: 0 1.5rem; }
.rc-client .client-sidebar { top: 6rem; gap: 0; padding-right: 2rem; border-right: 1px solid var(--rc-line); min-height: calc(100vh - 9rem); }
.rc-account { display: flex; align-items: center; gap: 0.8rem; padding-bottom: 1.5rem; margin-bottom: 1.25rem; border-bottom: 1px dashed var(--rc-line-strong); min-width: 0; }
.rc-avatar { flex-shrink: 0; width: 2.7rem; height: 2.7rem; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(135deg, var(--rc-violet), var(--rc-mint)); color: #08090e; font: 700 1.15rem var(--rc-display); }
.rc-account strong { display: block; font: 600 0.95rem var(--rc-display); color: var(--rc-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-account small { display: block; font: 400 0.72rem var(--rc-mono); color: var(--rc-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-account > div { min-width: 0; }
.rc-side { display: flex; flex-direction: column; gap: 2px; }
.rc-side-label { margin: 1.25rem 0 0.4rem; font: 500 0.66rem var(--rc-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--rc-ink-3); }
.rc-side-label:first-child { margin-top: 0; }
.rc-side a { display: flex; align-items: center; gap: 0.7rem; padding: 0.6rem 0.75rem; border-radius: 10px; color: var(--rc-ink-2); font-size: 0.92rem; font-weight: 500; transition: background .15s, color .15s; }
.rc-side a i { width: 1.1rem; text-align: center; font-size: 0.85rem; color: var(--rc-ink-3); }
.rc-side a:hover { background: rgba(255, 255, 255, 0.05); color: var(--rc-ink); }
.rc-side a.on { background: rgba(139, 123, 255, 0.14); color: var(--rc-ink); box-shadow: inset 2px 0 0 var(--rc-violet); }
.rc-side a.on i { color: var(--rc-violet); }
.rc-side-actions { margin-top: auto; padding-top: 2rem; display: grid; gap: 0.9rem; }
.rc-side-out { color: var(--rc-ink-3); font-size: 0.85rem; text-align: center; }
.rc-side-out:hover { color: #f87171; }

.rc-client .client-main { min-width: 0; }
.rc-client .dashboard-welcome { margin-bottom: 2rem; }
.rc-client .dashboard-title { font: 700 clamp(2rem, 4vw, 3rem)/1.05 var(--rc-display); letter-spacing: -0.045em; color: var(--rc-ink); margin: 0 0 0.5rem; background: none; -webkit-text-fill-color: currentColor; }
.rc-client .dashboard-subtitle { font: 400 0.9rem var(--rc-mono); color: var(--rc-ink-3); margin: 0; }
.rc-client .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 0; border: 1px solid var(--rc-line); border-radius: var(--rc-radius-lg); overflow: hidden; background: var(--rc-surface); margin-bottom: 2rem; }
.rc-client .stat-card { display: flex; flex-direction: column-reverse; align-items: flex-start; gap: 0.5rem; padding: 1.75rem; border: 0; border-right: 1px solid var(--rc-line); border-radius: 0; background: transparent; box-shadow: none; transition: background .2s; position: relative; }
.rc-client .stat-card:last-child { border-right: 0; }
.rc-client .stat-card:hover { background: rgba(139, 123, 255, 0.08); transform: none; }
.rc-client .stat-icon { position: absolute; top: 1.25rem; right: 1.25rem; width: auto; height: auto; background: none; border: 0; color: var(--rc-ink-3); font-size: 1rem; }
.rc-client .stat-content { display: flex; flex-direction: column-reverse; gap: 0.4rem; }
.rc-client .stat-label { font: 500 0.7rem var(--rc-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--rc-ink-3); }
.rc-client .stat-value { font: 700 clamp(2rem, 3.5vw, 2.8rem)/1 var(--rc-display); letter-spacing: -0.05em; color: var(--rc-ink); }
.rc-client .dashboard-section, .rc-client .checkout-section { background: var(--rc-surface); border: 1px solid var(--rc-line); border-radius: var(--rc-radius-lg); box-shadow: none; }
.rc-client .section-header { border-bottom: 1px dashed var(--rc-line-strong); }
.rc-client .section-title { font: 700 1.1rem var(--rc-display); letter-spacing: -0.02em; color: var(--rc-ink); }
.rc-client .data-table thead tr { background: transparent; }
.rc-client .data-table th { font: 500 0.7rem var(--rc-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--rc-ink-3); border-bottom: 1px solid var(--rc-line-strong); }
.rc-client .data-table td { border-bottom: 1px solid var(--rc-line); color: var(--rc-ink-2); }
.rc-client .data-table tbody tr:hover { background: rgba(139, 123, 255, 0.06); }
.rc-client .status-badge { border-radius: 99px; font: 500 0.72rem var(--rc-mono); letter-spacing: 0.04em; }
.rc-client .btn-outline, .rc-client .btn-action, .rc-client .btn-search { border-radius: var(--rc-radius); font-family: var(--rc-display); font-weight: 600; }
.rc-client .btn-search, .rc-client .btn-action { background: var(--rc-violet); color: #fff; border-color: var(--rc-violet); }
.rc-client .btn-outline { background: transparent; border: 1px solid var(--rc-line-strong); color: var(--rc-ink); }
.rc-client .btn-outline:hover { border-color: var(--rc-ink-3); background: rgba(255, 255, 255, 0.05); }
.rc-client .search-input { background: var(--rc-surface-2); border: 1px solid var(--rc-line-strong); color: var(--rc-ink); font-family: var(--rc-mono); border-radius: 10px; }
@media (max-width: 900px) {
  .rc-client .client-container { grid-template-columns: 1fr; gap: 1.5rem; }
  .rc-client .client-sidebar { position: static; padding: 0 0 1.25rem; border-right: 0; border-bottom: 1px solid var(--rc-line); min-height: 0; }
  .rc-side { flex-direction: row; flex-wrap: wrap; gap: 0.4rem; }
  .rc-side-label { display: none; }
  .rc-side a { border: 1px solid var(--rc-line-strong); }
  .rc-side-actions { padding-top: 1rem; grid-template-columns: 1fr auto; align-items: center; }
  .rc-client .stat-card { border-right: 0; border-bottom: 1px solid var(--rc-line); } .rc-client .stat-card:last-child { border-bottom: 0; }
}
.rc-client .rc-side a, .rc-client .rc-side-out, .rc-client .stat-card { text-decoration: none; }
.rc-client .rc-side a i:empty, .rc-client .rc-side a i { flex-shrink: 0; }
.rc-client .dashboard-welcome { margin: 0 0 1.5rem; padding: 0; }
.rc-client .stats-grid { margin-top: 0; }
.rc-client .stat-card, .rc-client .stat-content { text-align: left; align-items: flex-start; }
.rc-client .stat-card { padding: 1.5rem 1.75rem; }
.rc-client .dashboard-section { margin-bottom: 1.5rem; padding: 0; overflow: hidden; }
.rc-client .dashboard-section > .section-header { margin: 0; padding: 1.1rem 1.5rem; }
.rc-client .data-table-wrapper { margin: 0; }

/* =====================================================================
   Páginas informativas v2: contacto, noticias, ayuda, estado, docs, legales, errores
   ===================================================================== */
.rc-phero-slim { padding: 9rem 0 2rem; }
.rc-phero-slim .rc-lead { margin-bottom: 0; }
.rc-mono-note { margin: 1rem 0 0; font: 400 0.8rem var(--rc-mono); color: var(--rc-ink-3); }

/* Contacto */
.rc-contact { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.5rem; align-items: start; }
.rc-form { display: grid; gap: 1rem; }
.rc-form label { display: grid; gap: 0.45rem; font: 500 0.75rem var(--rc-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--rc-ink-3); }
.rc-form input, .rc-form textarea { width: 100%; padding: 0.85rem 1rem; border-radius: 10px; background: var(--rc-surface-2); border: 1px solid var(--rc-line-strong); color: var(--rc-ink); font-size: 1rem; text-transform: none; letter-spacing: 0; outline: none; }
.rc-form input:focus, .rc-form textarea:focus { border-color: var(--rc-violet); box-shadow: 0 0 0 3px rgba(139, 123, 255, 0.2); }
.rc-form .rc-btn { justify-self: start; }
.rc-note-ok { padding: 0.9rem 1.1rem; border-radius: 12px; border: 1px solid var(--rc-mint); background: rgba(45, 212, 191, 0.1); color: #a7f3e6; }
.rc-channels { display: grid; gap: 1rem; }
.rc-channel-top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1rem; }
.rc-channel-top h3 { font: 700 1.2rem var(--rc-display); letter-spacing: -0.02em; margin: 0; color: var(--rc-ink); }
.rc-channel-top span { font: 500 0.75rem var(--rc-mono); color: var(--rc-mint); }
.rc-channels ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; color: var(--rc-ink-2); }
.rc-channels li { padding-top: 0.6rem; border-top: 1px dashed var(--rc-line-strong); }
.rc-channels a { color: var(--rc-ink); }
.rc-channels a:hover { color: var(--rc-violet); }

/* Noticias */
.rc-timeline { display: grid; gap: 0; border-top: 1px solid var(--rc-line); }
.rc-post { display: grid; grid-template-columns: 8rem 1fr; gap: 2rem; padding: 2.25rem 0; border-bottom: 1px solid var(--rc-line); }
.rc-post time { font: 500 0.8rem var(--rc-mono); color: var(--rc-ink-3); text-transform: uppercase; letter-spacing: 0.08em; }
.rc-post time b { display: block; font: 700 2.8rem/1 var(--rc-display); letter-spacing: -0.05em; color: var(--rc-ink); }
.rc-post h2 { font: 700 1.6rem var(--rc-display); letter-spacing: -0.035em; color: var(--rc-ink); margin: 0 0 0.8rem; text-align: left; }
.rc-post-body { color: var(--rc-ink-2); line-height: 1.7; max-width: 46rem; }
.rc-post-body a { color: var(--rc-violet); }

/* Ayuda (FAQ) */
.rc-kbsearch { position: relative; max-width: 40rem; }
.rc-kbresults { position: absolute; top: calc(100% + 0.5rem); left: 0; right: 0; z-index: 20; background: var(--rc-surface-2); border: 1px solid var(--rc-line-strong); border-radius: 14px; max-height: 24rem; overflow: auto; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.8); }
.rc-kbresults a:hover { background: rgba(139, 123, 255, 0.1); }
.rc-row-count { font: 500 0.78rem var(--rc-mono); color: var(--rc-ink-3); white-space: nowrap; }

/* Estado de red */
.rc-statuspage [style*="rgba(14, 18, 28"] { background: var(--rc-surface) !important; border-color: var(--rc-line) !important; }
.rc-statuspage .status-filter-btn { font-family: var(--rc-mono); cursor: pointer; }

/* Documentación */
.docs-container { display: grid !important; grid-template-columns: 15rem 1fr; gap: 3rem; max-width: 80rem; margin: 0 auto; padding: 8rem 1.5rem 4rem; }
.docs-sidebar { position: sticky; top: 6rem; align-self: start; padding: 0 1.5rem 0 0; border-right: 1px solid var(--rc-line); background: none; }
.docs-sidebar-title { font: 500 0.7rem var(--rc-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--rc-ink-3); margin: 0 0 1rem; }
.docs-nav { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.docs-nav-link { display: block; padding: 0.55rem 0.75rem; border-radius: 10px; color: var(--rc-ink-2); font-size: 0.92rem; text-decoration: none; }
.docs-nav-link:hover { background: rgba(255, 255, 255, 0.05); color: var(--rc-ink); }
.docs-nav-link.active { background: rgba(139, 123, 255, 0.14); color: var(--rc-ink); box-shadow: inset 2px 0 0 var(--rc-violet); }
.docs-content { min-width: 0; }
.docs-title, .legal-title { font: 700 clamp(2.2rem, 5vw, 3.6rem)/1.02 var(--rc-display); letter-spacing: -0.05em; color: var(--rc-ink); margin: 0 0 1rem; }
.docs-subtitle { color: var(--rc-ink-2); font-size: 1.1rem; line-height: 1.65; max-width: 40rem; }
.docs-header { margin-bottom: 3rem; }
.docs-section { padding: 2.5rem 0; border-top: 1px solid var(--rc-line); }
.docs-section .section-title, .legal-section h2 { font: 700 1.6rem var(--rc-display); letter-spacing: -0.035em; color: var(--rc-ink); margin: 0 0 1rem; text-align: left; }
.docs-section h3, .legal-section h3 { font: 600 1.1rem var(--rc-display); color: var(--rc-ink); margin: 1.75rem 0 0.6rem; }
.docs-section p, .docs-section li, .legal-section p, .legal-section li { color: var(--rc-ink-2); line-height: 1.75; }
.docs-section a, .legal-section a { color: var(--rc-violet); }
.info-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.info-card, .note-box, .warning-box, .highlight-box { padding: 1.25rem 1.4rem; border-radius: var(--rc-radius-lg); background: var(--rc-surface); border: 1px solid var(--rc-line); }
.note-box, .highlight-box { border-left: 3px solid var(--rc-violet); }
.warning-box { border-left: 3px solid #fbbf24; }
.code-block, .docs-section pre, .docs-section code { font-family: var(--rc-mono); }
.code-block, .docs-section pre { background: #05060a; border: 1px solid var(--rc-line); border-radius: 12px; padding: 1rem 1.2rem; color: var(--rc-mint); overflow-x: auto; }

/* Legales */
.legal-page { padding: 8rem 1.5rem 4rem; }
.legal-container { max-width: 50rem; margin: 0 auto; }
.legal-header { padding-bottom: 2rem; margin-bottom: 2rem; border-bottom: 1px dashed var(--rc-line-strong); }
.legal-updated { font: 400 0.8rem var(--rc-mono); color: var(--rc-ink-3); margin: 0; }
.legal-section h2 { margin-top: 2.5rem; }
.legal-section ul { padding-left: 1.2rem; }
.cookie-table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: 0.9rem; }
.cookie-table th, .cookie-table td { padding: 0.75rem 1rem; border-bottom: 1px solid var(--rc-line); text-align: left; color: var(--rc-ink-2); }
.cookie-table th { font: 500 0.7rem var(--rc-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--rc-ink-3); }
.back-link { display: inline-block; margin-top: 2rem; color: var(--rc-violet); }

/* Errores 404 / 500 */
.rc-error-wrap { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 3rem 1.5rem; }
.rc-error-brand img { height: 2.4rem; margin-bottom: 2.5rem; }
.rc-error-code { font: 700 clamp(7rem, 24vw, 16rem)/0.9 var(--rc-display); letter-spacing: -0.07em; background: linear-gradient(95deg, var(--rc-violet) 10%, var(--rc-mint) 90%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.rc-error-wrap h1 { font: 700 clamp(1.8rem, 4vw, 2.8rem) var(--rc-display); letter-spacing: -0.04em; color: var(--rc-ink); margin: 1rem 0 0.8rem; }
.rc-error-wrap .rc-lead { margin: 0 auto 2rem; }
.rc-error-links { justify-content: center; margin-top: 2.5rem; }
.rc-error-links a span:hover { border-color: var(--rc-violet); color: var(--rc-ink); }
.rc-error-note { margin-top: 2rem; color: var(--rc-ink-3); font: 400 0.85rem var(--rc-mono); } .rc-error-note a { color: var(--rc-violet); }

@media (max-width: 900px) {
  .rc-contact { grid-template-columns: 1fr; }
  .rc-post { grid-template-columns: 1fr; gap: 0.75rem; }
  .docs-container { grid-template-columns: 1fr; gap: 1.5rem; padding-top: 7rem; }
  .docs-sidebar { position: static; padding: 0 0 1rem; border-right: 0; border-bottom: 1px solid var(--rc-line); }
}

/* Catálogo */
.rc-catnav a span { cursor: pointer; transition: border-color .2s, color .2s; }
.rc-catnav a:hover span { border-color: var(--rc-violet); color: var(--rc-ink); }
.rc-cat { display: grid; grid-template-columns: 17rem 1fr; gap: 3rem; align-items: start; }
.rc-cat-side { position: sticky; top: 6rem; }
.rc-row-product { grid-template-columns: 1fr auto auto; gap: 1.5rem; align-items: center; cursor: default; }
.rc-row-product:hover { padding-left: 0; padding-right: 0; background: none; }
.rc-row-product h3 { font-size: 1.15rem; }
.rc-row-product p { margin-top: 0.3rem; font-size: 0.85rem; }
.rc-row-price { display: flex; align-items: baseline; gap: 0.3rem; white-space: nowrap; }
.rc-row-price strong { font: 700 1.5rem var(--rc-display); letter-spacing: -0.04em; color: var(--rc-ink); }
.rc-row-price span { font: 500 0.78rem var(--rc-mono); color: var(--rc-ink-3); }
@media (max-width: 900px) {
  .rc-cat { grid-template-columns: 1fr; gap: 1.5rem; }
  .rc-cat-side { position: static; }
  .rc-row-product { grid-template-columns: 1fr auto; }
  .rc-row-product .rc-btn { grid-column: 1 / -1; }
}
