/* ============================================================
   RIGS — CSS de marca (mínimo, encima de Bootstrap 5)
   Se carga DESPUÉS de bootstrap.min.css
   ============================================================ */
:root{
  --rigs-red:#C1272D;      /* Rojo RIGS (primario) */
  --rigs-red-deep:#7A0018; /* Rojo profundo (gradientes/fondos) */
  --rigs-black:#141414;    /* Negro (texto/wordmark) */
  --rigs-gray:#F5F6F8;     /* Gris claro (fondos) */
}

body{font-family:'IBM Plex Sans',system-ui,sans-serif;color:var(--rigs-black);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,.font-display{font-family:'Space Grotesk','IBM Plex Sans',sans-serif;letter-spacing:-.01em;}
.font-mono{font-family:'IBM Plex Mono',monospace;}
a{color:var(--rigs-red);text-decoration:none;}
a:hover{color:var(--rigs-red-deep);}

/* ---- Botones marca ---- */
.btn-rigs{background:var(--rigs-red);color:#fff;border:1px solid var(--rigs-red);font-weight:600;}
.btn-rigs:hover,.btn-rigs:focus{background:var(--rigs-red-deep);border-color:var(--rigs-red-deep);color:#fff;}
.btn-outline-rigs{background:transparent;color:var(--rigs-red);border:1px solid var(--rigs-red);font-weight:600;}
.btn-outline-rigs:hover,.btn-outline-rigs:focus{background:var(--rigs-red);color:#fff;}

/* ---- Nav ---- */
.rigs-nav{background:#fff;border-bottom:1px solid #ececf0;}
.rigs-nav .navbar-brand img{height:34px;width:auto;display:block;}
.rigs-nav .nav-link{color:var(--rigs-black);font-weight:500;padding:.5rem .9rem;}
.rigs-nav .nav-link:hover,.rigs-nav .nav-link.active{color:var(--rigs-red);}
.rigs-nav .dropdown-menu{border:1px solid #ececf0;border-radius:12px;box-shadow:0 12px 32px rgba(20,20,20,.08);padding:.5rem;}
.rigs-nav .dropdown-item{border-radius:8px;padding:.6rem .8rem;font-weight:500;}
.rigs-nav .dropdown-item:hover{background:var(--rigs-gray);color:var(--rigs-red);}
.rigs-nav .dropdown-item small{color:#8a8a92;font-weight:400;display:block;}

/* ---- Hero ---- */
.hero{position:relative;overflow:hidden;background:var(--rigs-gray);}
.hero-wave{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.eyebrow{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--rigs-red);font-weight:600;}

/* ---- Tarjetas de producto ---- */
.prod-card{background:#fff;border:1px solid #ececf0;border-radius:18px;padding:2rem;height:100%;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.prod-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,20,20,.08);border-color:#e0d3d4;}
.prod-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(193,39,45,.08);color:var(--rigs-red);font-size:1.5rem;}
.prod-card .conocer{font-weight:600;color:var(--rigs-red);display:inline-flex;align-items:center;gap:.35rem;}
.prod-card:hover .conocer{gap:.6rem;}
.prod-card .conocer i{transition:transform .18s ease;}

/* ---- Franja de números ---- */
.stats-strip{background:linear-gradient(135deg,var(--rigs-red-deep) 0%,var(--rigs-red) 100%);color:#fff;position:relative;overflow:hidden;}
.stat-num{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:clamp(2rem,3.6vw,2.9rem);line-height:1;}
.stat-label{color:rgba(255,255,255,.82);font-size:.98rem;}

/* ---- Placeholder de imagen (reemplazar por imagen real) ---- */
.ph{background:repeating-linear-gradient(135deg,#eceef2,#eceef2 12px,#f5f6f8 12px,#f5f6f8 24px);border:1px solid #e3e5ea;border-radius:16px;display:flex;align-items:center;justify-content:center;}
.ph span{font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:#9a9aa2;background:#fff;padding:.35rem .7rem;border-radius:6px;border:1px solid #e3e5ea;}

/* ---- Prensa ---- */
.press-logo-img{height:28px;width:auto;filter:grayscale(100%);opacity:.6;transition:filter .3s ease,opacity .3s ease;}
a:hover>.press-logo-img{filter:grayscale(0%);opacity:1;}

/* ---- Footer ---- */
.rigs-footer{background:var(--rigs-black);color:rgba(255,255,255,.72);}
.rigs-footer img{height:32px;width:auto;}
.rigs-footer h6{color:#fff;font-family:'Space Grotesk',sans-serif;letter-spacing:.02em;text-transform:uppercase;font-size:.78rem;}
.rigs-footer a{color:rgba(255,255,255,.72);}
.rigs-footer a:hover{color:#fff;}
.rigs-footer .foot-link{display:block;padding:.28rem 0;}

/* ============================================================
   API de Refacciones — page-specific additions
   ============================================================ */

/* ---- Light eyebrow (for dark/red backgrounds, e.g. CTA) ---- */
.eyebrow-light{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:rgba(255,255,255,.85);font-weight:600;}

/* ---- Light outline button (optional, dark backgrounds) ---- */
.btn-outline-light-rigs{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);font-weight:600;}
.btn-outline-light-rigs:hover,.btn-outline-light-rigs:focus{background:#fff;color:var(--rigs-red-deep);border-color:#fff;}

/* ---- Code block (hero + capacidades) ---- */
.code-block{background:#161616;border-radius:16px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(20,20,20,.5);border:1px solid #2a2a2a;}
.code-topbar{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.1rem;background:#1e1e1e;border-bottom:1px solid #2a2a2a;}
.code-dots{display:flex;gap:6px;}
.code-dots span{width:10px;height:10px;border-radius:50%;background:#3a3a3a;}
.code-tag{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(193,39,45,.15);color:#e8878b;padding:.2rem .6rem;border-radius:20px;}
.code-block pre{margin:0;padding:1.3rem 1.4rem;font-family:'IBM Plex Mono',monospace;font-size:.83rem;line-height:1.65;overflow-x:auto;}
.code-block .method{color:#e8878b;font-weight:600;}
.code-block .url{color:#f2f2f2;}
.code-block .param{color:#9ecbff;}
.code-block .punct{color:#6b6b6b;}
.code-block .key{color:#9ecbff;}
.code-block .string{color:#b9dfa4;}
.code-block .comment{color:#6b6b6b;font-style:italic;}
.code-placeholder-tag{font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:#9a9aa2;letter-spacing:.05em;text-transform:uppercase;margin-top:.6rem;display:flex;align-items:center;gap:.4rem;}

/* ---- Casos de uso cards ---- */
.usecase-card{background:#fff;border:1px solid #ececf0;border-radius:18px;padding:1.9rem;height:100%;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.usecase-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,20,20,.08);border-color:#e0d3d4;}
.usecase-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(193,39,45,.08);color:var(--rigs-red);font-size:1.4rem;}

/* ---- Capacidades list ---- */
.cap-item{display:flex;align-items:flex-start;gap:.8rem;padding:1rem 0;border-bottom:1px solid #ececf0;}
.cap-item:last-child{border-bottom:0;}
.cap-check{width:26px;height:26px;border-radius:8px;background:rgba(193,39,45,.08);color:var(--rigs-red);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem;margin-top:.15rem;}

/* ---- "Por qué RIGS" cards ---- */
.why-card{background:var(--rigs-gray);border-radius:18px;padding:2rem;height:100%;}
.why-num{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:.85rem;color:var(--rigs-red);}

/* ---- Planes panel ---- */
.plans-panel{background:#fff;border:1px solid #ececf0;border-radius:20px;padding:2.5rem;}

/* ---- Contact CTA strip ---- */
.cta-strip{background:linear-gradient(135deg,var(--rigs-red-deep) 0%,var(--rigs-red) 100%);color:#fff;position:relative;overflow:hidden;}

/* ============================================================
   Contacto — page-specific additions
   ============================================================ */

/* ---- Form ---- */
.form-panel{background:#fff;border:1px solid #ececf0;border-radius:20px;padding:2.5rem;}
.rigs-label{font-weight:600;font-size:.92rem;color:var(--rigs-black);margin-bottom:.45rem;}
.rigs-label .req{color:var(--rigs-red);margin-left:.15rem;}
.rigs-control{width:100%;border:1px solid #ececf0;border-radius:12px;padding:.8rem 1rem;font-size:1rem;color:var(--rigs-black);background:#fff;transition:border-color .16s ease,box-shadow .16s ease;font-family:'IBM Plex Sans',sans-serif;}
.rigs-control::placeholder{color:#a7a7af;}
.rigs-control:focus{outline:none;border-color:var(--rigs-red);box-shadow:0 0 0 4px rgba(193,39,45,.10);}
.rigs-control.is-invalid{border-color:var(--rigs-red);background-image:none;}
.rigs-control.is-invalid:focus{box-shadow:0 0 0 4px rgba(193,39,45,.12);}
select.rigs-control{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%2343434b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.6rem;}
select.rigs-control.placeholder-selected{color:#a7a7af;}
.field-error{display:flex;align-items:center;gap:.35rem;color:var(--rigs-red);font-size:.83rem;margin-top:.4rem;font-weight:500;}
.send-note{color:#8a8a92;font-size:.82rem;line-height:1.5;}

/* ---- Direct contact info ---- */
.contact-aside{position:sticky;top:1.5rem;}
.info-card{background:var(--rigs-gray);border-radius:18px;padding:1.6rem 1.7rem;}
.info-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(193,39,45,.08);color:var(--rigs-red);font-size:1.15rem;flex-shrink:0;}
.info-label{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:#8a8a92;font-weight:600;margin-bottom:.25rem;}
