/* Ficha de proyecto (portfolio + inversión) — CSS compartido por todas las fichas.
   Mismo lenguaje visual que /inversion/ y /patentes/. Cargar DESPUÉS de
   robotuno-migration-overrides.css; los colores llevan !important porque las
   reglas genéricas de .entry-content del tema pisan estilos de igual especificidad. */

body.ru-ficha-proyecto{margin:0!important;padding:0!important}
body.ru-ficha-proyecto #page-wrapper{margin-top:0!important;padding-top:0!important}
body.ru-ficha-proyecto #masthead{position:sticky!important;top:0!important;margin-top:0!important;transform:none!important}
body.ru-ficha-proyecto #main{background:linear-gradient(180deg,#f7faff 0%,#fff 280px)}

.ru-ficha-shell{max-width:1120px;margin:0 auto;padding:34px 20px 72px}
.ru-ficha-shell section{scroll-margin-top:130px}

/* ── Hero (complementa .ru-hero-estandar) ── */
.ru-ficha-hero__chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:0}
.ru-ficha-chip{display:inline-flex;align-items:center;min-height:34px;padding:6px 16px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(9,23,45,.45);color:#fff!important;-webkit-text-fill-color:#fff;font-size:.88rem;font-weight:700;line-height:1.3}
.ru-ficha-hero__ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:0}

/* ── Botones ── */
.ru-ficha-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font-size:1rem;font-weight:800;letter-spacing:.01em;text-decoration:none!important;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.ru-ficha-btn--primary{background:linear-gradient(135deg,#0d58bb 0%,#1f7bf3 100%);color:#fff!important;box-shadow:0 16px 34px rgba(13,88,187,.24)}
.ru-ficha-btn--primary:hover,.ru-ficha-btn--primary:focus{transform:translateY(-1px);box-shadow:0 20px 42px rgba(13,88,187,.28);filter:brightness(.98);outline:none;color:#fff!important}
.ru-ficha-btn--ghost{background:#fff;border:1.5px solid rgba(13,88,187,.32);color:#0d58bb!important}
.ru-ficha-btn--ghost:hover,.ru-ficha-btn--ghost:focus{transform:translateY(-1px);border-color:#0d58bb;box-shadow:0 12px 28px rgba(13,88,187,.12);outline:none}
.ru-ficha-hero__ctas .ru-ficha-btn--ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6);color:#fff!important}
.ru-ficha-hero__ctas .ru-ficha-btn--ghost:hover,.ru-ficha-hero__ctas .ru-ficha-btn--ghost:focus{border-color:#fff;background:rgba(255,255,255,.2);box-shadow:0 12px 28px rgba(0,0,0,.2)}

/* ── Cabecera de sección ── */
.ru-ficha-section-head{margin:64px auto 26px;max-width:720px;text-align:center}
.ru-ficha-section-head h2{margin:0;color:#0f2343!important;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.15;letter-spacing:-.03em}
.ru-ficha-section-head p{margin:10px auto 0;color:#5b6b81!important;font-size:.98rem;line-height:1.65}

/* ── Banda de cifras rápidas ── */
.ru-ficha-stats{display:grid;gap:16px;margin-top:26px}
.ru-ficha-stat{box-sizing:border-box;padding:20px 22px;border:1px solid rgba(16,35,63,.08);border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(16,35,63,.05);text-align:center}
.ru-ficha-stat__value{display:block;color:#0d58bb!important;font-size:1.5rem;font-weight:900;letter-spacing:-.02em;line-height:1.15}
.ru-ficha-stat__label{display:block;margin-top:6px;color:#5b6b81!important;font-size:.86rem;line-height:1.45}

/* ── Variante de hero con degradado (productos sin render de hero dramático;
   las fotos van sobre fondo blanco y quedarían sucias bajo el overlay oscuro) ── */
body.ru-ficha-proyecto .ru-hero-estandar--solid{background:linear-gradient(135deg,#0d3b86 0%,#0f2343 62%)!important}

/* ── Imagen destacada ── */
.ru-ficha-media{margin:26px auto 0;max-width:760px;border:1px solid rgba(16,35,63,.08);border-radius:26px;overflow:hidden;box-shadow:0 24px 60px rgba(16,35,63,.12);background:#fff}
.ru-ficha-media img{display:block;width:100%;height:auto}
.ru-ficha-media figcaption{padding:13px 20px;color:#5b6b81!important;font-size:.86rem;line-height:1.55;text-align:center}

/* ── Foto + tarjetas en dos columnas (foto a la izquierda, tarjetas en 1 columna a la derecha) ── */
.ru-ficha-split{display:grid;gap:26px;margin-top:26px;align-items:start}
.ru-ficha-split .ru-ficha-media{margin:0}
.ru-ficha-split .ru-ficha-cards{grid-template-columns:1fr}

/* ── Galería masonry (fotos de proporciones dispares, sin recorte) ── */
.ru-ficha-gallery{max-width:900px;margin:26px auto 0;padding:0;list-style:none;columns:2;column-gap:16px}
.ru-ficha-gallery li{break-inside:avoid;margin:0 0 16px;border:1px solid rgba(16,35,63,.08);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 14px 36px rgba(16,35,63,.06)}
.ru-ficha-gallery img{display:block;width:100%;height:auto}
@media (max-width:639px){.ru-ficha-gallery{columns:1}}

/* ── Tarjetas genéricas (reto / solución) ── */
.ru-ficha-cards{display:grid;gap:16px}
.ru-ficha-card{box-sizing:border-box;padding:24px;border:1px solid rgba(16,35,63,.09);border-radius:24px;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);box-shadow:0 18px 44px rgba(16,35,63,.06)}
.ru-ficha-card h3{margin:0 0 8px!important;color:#0f2343!important;font-size:1.12rem!important;line-height:1.25!important;letter-spacing:-.01em}
.ru-ficha-card p{margin:0;color:#54657d!important;font-size:.94rem;line-height:1.7}
.ru-ficha-card ul{margin:10px 0 0;padding-left:18px;display:grid;gap:9px}
.ru-ficha-card li{color:#54657d!important;font-size:.93rem;line-height:1.6}
.ru-ficha-card li::marker{color:#0d58bb}

/* ── Chips de tecnologías ── */
.ru-ficha-tech{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:860px;margin:0 auto;padding:0;list-style:none}
.ru-ficha-tech li{display:inline-flex;align-items:center;min-height:40px;padding:8px 18px;border:1px solid rgba(13,88,187,.18);border-radius:999px;background:#eef5ff;color:#12335f!important;font-size:.92rem;font-weight:700;line-height:1.3}

/* ── Estado del proyecto ── */
.ru-ficha-status{display:grid;gap:16px}
.ru-ficha-status__item{box-sizing:border-box;padding:24px;border:1px solid rgba(16,35,63,.09);border-radius:24px;background:#fff;box-shadow:0 18px 44px rgba(16,35,63,.06)}
.ru-ficha-status__badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ru-ficha-status__badge--done{background:#e5f5ec;color:#177245!important}
.ru-ficha-status__badge--doing{background:#eef5ff;color:#0d58bb!important}
.ru-ficha-status__badge--next{background:#fff4e5;color:#a05a00!important}
.ru-ficha-status__item h3{margin:12px 0 8px!important;color:#0f2343!important;font-size:1.12rem!important;line-height:1.25!important;letter-spacing:-.01em}
.ru-ficha-status__item p{margin:0;color:#54657d!important;font-size:.93rem;line-height:1.7}

/* ── Banda de inversión (tarjeta oscura) ── */
.ru-ficha-invest{box-sizing:border-box;margin-top:64px;padding:42px 28px;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:linear-gradient(180deg,#0f2343 0%,#16294a 100%);box-shadow:0 24px 60px rgba(9,23,45,.4);text-align:center}
/* El selector lleva prefijo body.ru-ficha-proyecto a propósito: la regla de
   headings del tema (.entry-content :where(h1..h6){color:...!important}) tiene
   !important y más especificidad que ".ru-ficha-invest h2"; sin este refuerzo el
   título saldría en oscuro sobre la banda navy. Ver PLAN_FICHAS_PROYECTO.md §10. */
body.ru-ficha-proyecto .ru-ficha-invest h2{margin:0!important;color:#fff!important;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.15;letter-spacing:-.03em}
.ru-ficha-invest>p{margin:12px auto 0;max-width:640px;color:rgba(226,232,240,.85)!important;font-size:.98rem;line-height:1.7}
.ru-ficha-invest__chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}
.ru-ficha-invest__chips span{display:inline-flex;align-items:center;min-height:34px;padding:6px 16px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.08);color:#fff!important;font-size:.88rem;font-weight:700;line-height:1.3}
.ru-ficha-invest__ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}
.ru-ficha-invest .ru-ficha-btn--ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff!important}
.ru-ficha-invest .ru-ficha-btn--ghost:hover,.ru-ficha-invest .ru-ficha-btn--ghost:focus{border-color:#fff;background:rgba(255,255,255,.2)}
.ru-ficha-invest__note{margin:20px auto 0;max-width:620px;color:rgba(200,212,230,.75)!important;font-size:.82rem;line-height:1.6}
.ru-ficha-invest__note a{color:#8fbcff!important;text-decoration:none}
.ru-ficha-invest__note a:hover,.ru-ficha-invest__note a:focus{text-decoration:underline}

/* ── Quién está detrás ── */
.ru-ficha-person{box-sizing:border-box;max-width:780px;margin:0 auto;padding:26px;border:1px solid rgba(16,35,63,.09);border-radius:28px;background:#fff;box-shadow:0 24px 60px rgba(16,35,63,.09)}
.ru-ficha-person h3{margin:0!important;color:#0f2343!important;font-size:1.3rem!important;line-height:1.2!important;letter-spacing:-.02em}
.ru-ficha-person__role{display:block;margin-top:4px;color:#3f73b9!important;font-size:.85rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ru-ficha-person p{margin:12px 0 0;color:#54657d!important;font-size:.94rem;line-height:1.7}

/* ── CTA final ── */
.ru-ficha-final{margin-top:64px;text-align:center}
.ru-ficha-final .ru-ficha-btn{margin-top:4px}
.ru-ficha-final__ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:6px}

@media (min-width:720px){
  .ru-ficha-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ru-ficha-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ru-ficha-invest{padding:48px 40px}
  .ru-ficha-split{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
}
@media (min-width:980px){
  .ru-ficha-status{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:639px){
  .ru-ficha-shell{padding:24px 16px 56px}
  .ru-ficha-hero__ctas .ru-ficha-btn,.ru-ficha-invest__ctas .ru-ficha-btn,.ru-ficha-final .ru-ficha-btn{width:100%}
  .ru-ficha-invest{padding:34px 20px}
}
