/*
Theme Name: Rudibus Theme
Theme URI: https://www.rudibus.com.ar
Author: Rudibus / ChatGPT
Author URI: https://www.rudibus.com.ar
Description: Tema mínimo optimizado para Elementor. Incluye estilos de marca y fondo con fileteado porteño.
Version: 1.0.1
Text Domain: rudibus
*/
:root{ --rudibus-red:#E10600; --rudibus-gold:#F2C14E; --rudibus-teal:#2AA198; }
*,*::before,*::after{ box-sizing:border-box; }
body{ margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans',sans-serif; color:#111; background:#fff; }
a{ color:var(--rudibus-red); text-decoration:none; }
a:hover{ text-decoration:underline; }
.container{ max-width:1200px; margin:0 auto; padding:0 16px; }
.section{ padding:64px 0; }
.btn-primary{ background:var(--rudibus-red); color:#fff; border:0; padding:.9rem 1.2rem; border-radius:.8rem; display:inline-flex; align-items:center; gap:.5rem; font-weight:700; }
.card{ background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:16px; padding:16px; }
.grid{ display:grid; gap:16px; }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }
@media(max-width:900px){ .grid-2,.grid-3,.grid-4{ grid-template-columns:1fr; } }
.stat{ padding:1rem; border:1px solid rgba(0,0,0,.08); border-radius:1rem; background:#fff; }
.stat .n{ font-weight:800; font-size:1.25rem; }
.stat .l{ font-size:.78rem; opacity:.75; margin-top:.25rem; }
/* Fondo fileteado */
body{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1' y1='0' y2='1'%3E%3Cstop offset='0%25' stop-color='%23E10600' stop-opacity='.10'/%3E%3Cstop offset='100%25' stop-color='%23E10600' stop-opacity='.06'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='240' height='240' fill='url(%23g)'/%3E%3Cpath d='M10,200 C60,140 120,220 180,160 210,130 210,90 230,70' fill='none' stroke='%23F2C14E' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M-10,60 C40,20 90,20 140,60 170,85 190,120 220,140' fill='none' stroke='%232AA198' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M20,20 q20,10 40,0 t40,0 t40,0' fill='none' stroke='%23E10600' stroke-opacity='.4' stroke-width='2'/%3E%3Ccircle cx='200' cy='40' r='4' fill='%23F2C14E'/%3E%3Ccircle cx='30' cy='180' r='3' fill='%232AA198'/%3E%3C/svg%3E");
  background-repeat:repeat;
}
.site-header{ position:sticky; top:0; z-index:40; backdrop-filter:saturate(180%) blur(8px); background:rgba(255,255,255,.85); border-bottom:1px solid rgba(0,0,0,.08); }
.site-header .inner{ display:flex; align-items:center; justify-content:space-between; padding:12px 0; }
.brand{ display:flex; gap:8px; align-items:center; font-weight:800; letter-spacing:.5px; color:#111; }
.nav a{ color:#111; opacity:.8; margin:0 10px; }
.nav a:hover{ opacity:1; text-decoration:none; }
.site-footer{ border-top:1px solid rgba(0,0,0,.08); padding:32px 0; color:#444; font-size:.95rem; }
