/*
Theme Name: Geonova
Template: generatepress
Author: Connectra / Geonova
Description: Child theme de GeneratePress para geonova.com.ar. WordPress puro, sin Elementor. Marca: oro/grafito/plata, Poppins+Inter. Diseño claro y profesional B2B.
Version: 1.1.0
*/

/* ===== Tokens de marca (ver brand/BRAND.md) ===== */
:root{
  --gn-gold:#C9A24B; --gn-gold-light:#F2D692; --gn-gold-mid:#DCBB79; --gn-gold-deep:#A9772E;
  --gn-gold-tint:#F6EFDF;
  --gn-graphite:#15181C; --gn-graphite-2:#0F1216;
  --gn-silver-light:#E8E9EA; --gn-silver:#C0C0C0; --gn-silver-mid:#A9A9AA; --gn-silver-edge:#8A8C8E;
  --gn-white:#fff; --gn-bone:#F6F7F8; --gn-ink:#15181C; --gn-ink-2:#56606B; --gn-line:#E7E8EA;
  --gn-ok:#2F9E5B; --gn-warn:#E0A91B; --gn-err:#C2453B;
  --gn-font-head:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gn-font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gn-radius:16px; --gn-radius-sm:10px;
  --gn-shadow:0 1px 2px rgba(15,18,22,.04), 0 8px 24px rgba(15,18,22,.06);
  --gn-shadow-lg:0 18px 50px rgba(15,18,22,.12);
  --gn-ring:0 0 0 3px rgba(201,162,75,.30); --gn-maxw:1180px;
}

/* ===== Base ===== */
body{font-family:var(--gn-font-body);color:var(--gn-ink);line-height:1.65;background:#fff;-webkit-font-smoothing:antialiased}
#main{padding:0 !important;margin:0 !important}
.inside-article,.entry-content{margin:0 !important}
h1,h2,h3,h4{font-family:var(--gn-font-head);color:var(--gn-ink);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0 0 .4em}
h1{font-size:clamp(2.1rem,4.4vw,3.3rem);font-weight:800}
h2{font-size:clamp(1.55rem,3vw,2.3rem)}
h3{font-size:1.2rem}
p{margin:0 0 1rem;color:var(--gn-ink-2)}
a{color:var(--gn-gold-deep);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}

/* ===== Layout ===== */
.gn-wrap{max-width:var(--gn-maxw);margin:0 auto;padding:0 24px}
.gn-section{padding:clamp(54px,8vw,104px) 0}
.gn-section--bone{background:var(--gn-bone)}
.gn-grid{display:grid;gap:22px}
.gn-grid--2{grid-template-columns:1fr 1fr}
.gn-grid--3{grid-template-columns:repeat(3,1fr)}
.gn-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:920px){.gn-grid--3,.gn-grid--4{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.gn-grid--2{grid-template-columns:1fr !important}}
@media(max-width:560px){.gn-grid--3,.gn-grid--4{grid-template-columns:1fr}}

/* ===== Kicker / encabezados de sección ===== */
.gn-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--gn-font-head);font-weight:700;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gn-gold-deep);margin-bottom:.7rem}
.gn-kicker::before{content:"";width:28px;height:2px;background:var(--gn-gold)}
.gn-lead{font-size:1.12rem;color:var(--gn-ink-2);max-width:62ch}

/* ===== Botones ===== */
.gn-btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--gn-font-head);font-weight:700;font-size:.96rem;padding:.82em 1.55em;border-radius:10px;border:0;cursor:pointer;color:#231A07 !important;background:var(--gn-gold);box-shadow:0 1px 2px rgba(169,119,46,.25);transition:transform .15s,box-shadow .15s,background .15s}
.gn-btn:hover{background:var(--gn-gold-deep);color:#fff !important;transform:translateY(-1px);box-shadow:0 8px 20px rgba(169,119,46,.30);text-decoration:none}
.gn-btn:focus-visible{outline:none;box-shadow:var(--gn-ring)}
.gn-btn-ghost{display:inline-flex;align-items:center;gap:.5em;font-family:var(--gn-font-head);font-weight:600;font-size:.96rem;padding:.78em 1.45em;border-radius:10px;cursor:pointer;color:var(--gn-ink);background:#fff;border:1.5px solid var(--gn-line);transition:border-color .15s,color .15s}
.gn-btn-ghost:hover{border-color:var(--gn-gold);color:var(--gn-gold-deep);text-decoration:none}
[data-gn-theme="dark"] .gn-btn-ghost{color:#fff;background:transparent;border-color:rgba(255,255,255,.30)}
[data-gn-theme="dark"] .gn-btn-ghost:hover{border-color:var(--gn-gold);color:var(--gn-gold-light)}

/* ===== Iconos SVG ===== */
.gn-ico{width:26px;height:26px;display:block;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.gn-card__icon{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:var(--gn-gold-tint);color:var(--gn-gold-deep);margin-bottom:18px}

/* ===== Cards ===== */
.gn-card{position:relative;display:block;background:#fff;border:1px solid var(--gn-line);border-radius:var(--gn-radius);padding:30px;box-shadow:var(--gn-shadow);transition:transform .18s,box-shadow .18s,border-color .18s;color:var(--gn-ink)}
a.gn-card:hover{transform:translateY(-3px);box-shadow:var(--gn-shadow-lg);border-color:var(--gn-gold);text-decoration:none}
.gn-card h3{margin-bottom:.3em}
.gn-card p{margin-bottom:.6em}
.gn-card__link{font-family:var(--gn-font-head);font-weight:600;font-size:.92rem;color:var(--gn-gold-deep);display:inline-flex;align-items:center;gap:6px}
a.gn-card:hover .gn-card__link{gap:10px}

/* ===== Badge ===== */
.gn-badge{display:inline-flex;align-items:center;gap:.45em;font-size:.78rem;font-weight:600;font-family:var(--gn-font-head);padding:.35em .85em;border-radius:999px;background:var(--gn-gold-tint);color:var(--gn-gold-deep)}

/* ===== Hero (claro por defecto) ===== */
.gn-hero{position:relative;background:var(--gn-bone);border-bottom:1px solid var(--gn-line);overflow:hidden}
.gn-hero::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--gn-gold),var(--gn-gold-light))}
.gn-hero h1 .gn-em{color:var(--gn-gold-deep)}
.gn-hero--media{background:var(--gn-graphite)}

/* ===== Secciones oscuras (footer / CTA band) ===== */
[data-gn-theme="dark"]{background:var(--gn-graphite);color:#D7DADE}
[data-gn-theme="dark"] h1,[data-gn-theme="dark"] h2,[data-gn-theme="dark"] h3{color:#fff}
[data-gn-theme="dark"] p{color:#AEB4BB}
[data-gn-theme="dark"] .gn-em{color:var(--gn-gold-light)}

/* ===== Trust bar ===== */
.gn-trust{display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;margin-top:30px;padding-top:24px;border-top:1px solid var(--gn-line)}
.gn-trust span{display:inline-flex;align-items:center;gap:9px;font-family:var(--gn-font-head);font-weight:600;font-size:.9rem;color:var(--gn-ink)}
.gn-trust .gn-ico{width:20px;height:20px;color:var(--gn-gold-deep)}

/* ===== Proceso (pasos) ===== */
.gn-step{position:relative;padding-left:6px}
.gn-step__n{font-family:var(--gn-font-head);font-weight:800;font-size:1rem;color:var(--gn-gold-deep);width:40px;height:40px;border-radius:50%;border:1.5px solid var(--gn-gold);display:grid;place-items:center;margin-bottom:14px}

/* ===== Listas con viñeta de marca ===== */
.gn-list{list-style:none;margin:.4em 0 0;padding:0}
.gn-list li{position:relative;padding-left:24px;margin-bottom:9px;color:var(--gn-ink-2)}
.gn-list li::before{content:"";position:absolute;left:0;top:8px;width:11px;height:11px;border-radius:3px;background:var(--gn-gold-tint);border:1.5px solid var(--gn-gold)}
.gn-list--sm li{font-size:.92rem;margin-bottom:7px}
[data-gn-theme="dark"] .gn-list li{color:#AEB4BB}
[data-gn-theme="dark"] .gn-list li::before{background:transparent}

/* ===== Descargas (fichas PDF) ===== */
.gn-downloads{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.gn-downloads a{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--gn-line);border-radius:10px;background:#fff;font-family:var(--gn-font-head);font-weight:600;font-size:.88rem;color:var(--gn-ink) !important;transition:border-color .15s,background .15s}
.gn-downloads a:hover{border-color:var(--gn-gold);background:var(--gn-gold-tint);text-decoration:none}
.gn-downloads a .gn-ico{width:18px;height:18px;color:var(--gn-gold-deep);flex:0 0 auto}
.gn-downloads--cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gn-downloads--cards a{padding:22px}
@media(max-width:760px){.gn-downloads--cards{grid-template-columns:1fr}}

/* ===== Contacto ===== */
.gn-contact-list p{margin:0 0 16px}
.gn-contact-list strong{font-family:var(--gn-font-head);color:var(--gn-ink)}

/* ===== WPForms (formulario) con la marca ===== */
.gn-card .wpforms-field-label{font-family:var(--gn-font-head);font-weight:600;color:var(--gn-ink)}
.gn-card .wpforms-field input[type=text],.gn-card .wpforms-field input[type=email],
.gn-card .wpforms-field input[type=tel],.gn-card .wpforms-field textarea,.gn-card .wpforms-field select{
  border:1.5px solid var(--gn-line)!important;border-radius:var(--gn-radius-sm)!important;font-family:var(--gn-font-body)!important}
.gn-card .wpforms-field input:focus,.gn-card .wpforms-field textarea:focus,.gn-card .wpforms-field select:focus{
  border-color:var(--gn-gold)!important;box-shadow:var(--gn-ring)!important;outline:none!important}
.wpforms-submit{
  font-family:var(--gn-font-head)!important;font-weight:700!important;font-size:.96rem!important;
  background:var(--gn-gold)!important;background-image:none!important;color:#231A07!important;
  border:0!important;border-radius:10px!important;padding:.82em 1.7em!important;cursor:pointer;
  box-shadow:0 1px 2px rgba(169,119,46,.25)!important;transition:background .15s,transform .15s,box-shadow .15s!important}
.wpforms-submit:hover{background:var(--gn-gold-deep)!important;color:#fff!important;transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(169,119,46,.30)!important}

/* ===== Footer ===== */
.gn-site-footer{padding:0;border-top:3px solid var(--gn-gold)}
.gn-footer-inner{max-width:var(--gn-maxw);margin:0 auto;padding:56px 24px 30px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px}
@media(max-width:760px){.gn-footer-inner{grid-template-columns:1fr;gap:26px}}
.gn-footer-logo{height:46px;margin-bottom:12px}
.gn-footer-brand p{font-size:.9rem;color:#AEB4BB;max-width:40ch}
.gn-footer-nav{display:flex;flex-direction:column;gap:11px}
.gn-footer-nav a{color:#D7DADE !important;font-family:var(--gn-font-head);font-weight:600;font-size:.92rem}
.gn-footer-nav a:hover{color:var(--gn-gold-light) !important;text-decoration:none}
.gn-footer-contact{display:flex;flex-direction:column;gap:8px;font-size:.92rem}
.gn-footer-contact strong{color:#fff;font-family:var(--gn-font-head);margin-bottom:4px}
.gn-footer-contact a{color:#D7DADE !important}
.gn-footer-contact span{color:#AEB4BB}
.gn-footer-bottom{border-top:1px solid rgba(255,255,255,.1);text-align:center;padding:18px}
.gn-footer-bottom p{margin:0;font-size:.82rem;color:#8d949b}

/* ===== Móvil: hero a 1 columna + ajustes ===== */
@media(max-width:760px){
  .gn-hero .gn-grid{grid-template-columns:1fr !important;gap:28px !important}
  .gn-hero .gn-grid > div[style*="graphite"]{padding:34px !important}
  .gn-hero .gn-grid > div[style*="graphite"] img{max-height:140px !important}
  h1{font-size:clamp(1.85rem,7.5vw,2.6rem)}
  .gn-wrap{padding:0 18px}
  .gn-section{padding:clamp(40px,9vw,72px) 0}
}
@media(max-width:420px){
  .gn-btn,.gn-btn-ghost{width:100%;justify-content:center}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important}}
