/**
 * Gamax Elementor Widgets — estilos base.
 * Basado en index2.html (Oswald + Inter, negro + amarillo).
 * Los controles de estilo de Elementor sobrescriben estos valores por inline CSS.
 */

.gx {
  --gx-bg:#0e0f11;
  --gx-surface:#161719;
  --gx-surface-2:#1d1e21;
  --gx-fg:#f6f6f6;
  --gx-muted:#8a8d92;
  --gx-border:rgba(255,255,255,.10);
  --gx-primary:#ffd21f;
  --gx-primary-ink:#0e0f11;
  --gx-font-head:'Oswald',Impact,sans-serif;
  --gx-font-body:'Inter',system-ui,sans-serif;
  color:var(--gx-fg);
  font-family:var(--gx-font-body);
  line-height:1.5;
}
.gx *,.gx *::before,.gx *::after{box-sizing:border-box}
.gx img{display:block;max-width:100%}
.gx a{color:inherit;text-decoration:none}
.gx h1,.gx h2,.gx h3,.gx h4{font-family:var(--gx-font-head);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;margin:0;color:var(--gx-fg)}
.gx-container{max-width:1200px;margin:0 auto;padding:0 24px}

/* Botones */
.gx-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.08em;border:0;cursor:pointer;transition:.2s;font-family:inherit}
.gx-btn-primary{background:var(--gx-primary);color:var(--gx-primary-ink)}
.gx-btn-primary:hover{background:#ffdf4d}
.gx-btn-ghost{background:transparent;color:var(--gx-fg);border:1px solid var(--gx-border)}
.gx-btn-ghost:hover{background:var(--gx-surface)}
.gx-arrow{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;flex:none}

/* Kicker / sección */
.gx-kicker{font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gx-primary)}
.gx-sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:48px}
.gx-sec-head h2{margin-top:8px;font-size:clamp(32px,5vw,56px)}
.gx-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gx-primary);transition:.2s}
.gx-link:hover{gap:12px}
.gx-section{padding:96px 0}

/* ===== HEADER ===== */
.gx-header{background:rgba(14,15,17,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--gx-border)}
.gx-header.gx-sticky{position:sticky;top:0;z-index:50}
.gx-nav{display:flex;height:64px;align-items:center;justify-content:space-between}
.gx-logo{display:flex;align-items:center;gap:10px}
.gx-logo-mark{width:36px;height:36px;background:var(--gx-primary);color:var(--gx-primary-ink);display:grid;place-items:center;font-family:var(--gx-font-head);font-size:18px;font-weight:700}
.gx-logo-name{font-family:var(--gx-font-head);font-size:20px;letter-spacing:.15em}
.gx-logo-sub{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gx-muted)}
.gx-logo-img{height:40px;width:auto}
.gx-nav-links{display:none}
.gx-nav-links .gx-menu{list-style:none;margin:0;padding:0;display:flex;gap:32px;align-items:center}
.gx-nav-links .gx-menu li{margin:0}
.gx-nav-links a{font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--gx-muted);transition:.2s;text-decoration:none}
.gx-nav-links a:hover,.gx-nav-links a:focus,.gx-nav-links a.gx-active,.gx-nav-links .current-menu-item>a,.gx-nav-links .current-menu-ancestor>a{color:var(--gx-primary);text-decoration:none}
.gx-burger{display:inline-flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.gx-burger span{width:24px;height:2px;background:var(--gx-fg);transition:.3s}
@media(min-width:992px){.gx-nav-links{display:flex}.gx-header .gx-btn{display:inline-flex}.gx-burger{display:none}}
.gx-nav-links.gx-open{display:flex;position:absolute;top:64px;left:0;right:0;background:var(--gx-surface);border-bottom:1px solid var(--gx-border);padding:8px 24px}
.gx-nav-links.gx-open .gx-menu{flex-direction:column;gap:0;width:100%;align-items:stretch}
.gx-nav-links.gx-open .gx-menu li{width:100%}
.gx-nav-links.gx-open a{display:block;padding:12px 0}

/* ===== HERO ===== */
.gx-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 40%,rgba(255,210,31,.15),transparent 60%),linear-gradient(180deg,#131417,#0a0b0d)}
.gx-hero-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:18px 18px;opacity:.4;pointer-events:none}
.gx-hero-diag{position:absolute;top:0;right:0;width:50%;height:100%;background:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 2px,transparent 2px 12px);pointer-events:none}
.gx-hero-inner{position:relative;display:grid;grid-template-columns:1fr;gap:40px;align-items:center;padding:80px 0}
@media(min-width:960px){.gx-hero-inner{grid-template-columns:1fr 1fr;padding:112px 0}}
.gx-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(255,210,31,.4);background:rgba(255,210,31,.1);margin-bottom:24px}
.gx-badge .gx-dot{width:6px;height:6px;border-radius:50%;background:var(--gx-primary)}
.gx-badge .gx-badge-txt{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gx-primary)}
.gx-hero h1{font-size:clamp(44px,7vw,80px)}
.gx-hero h1 .gx-yellow{color:var(--gx-primary)}
.gx-hero-text{margin-top:24px;max-width:480px;font-size:18px;color:var(--gx-muted)}
.gx-hero-cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}
.gx-stats{margin-top:48px;padding-top:32px;border-top:1px solid var(--gx-border);display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gx-stats .gx-n{font-family:var(--gx-font-head);font-size:32px;color:var(--gx-primary)}
.gx-stats .gx-l{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--gx-muted)}
.gx-hero-img-wrap{position:relative}
.gx-hero-glow{position:absolute;inset:-24px;background:rgba(255,210,31,.1);filter:blur(60px)}
.gx-hero-img{position:relative;aspect-ratio:1;overflow:hidden;background:var(--gx-surface)}
.gx-hero-img img{width:100%;height:100%;object-fit:cover}
.gx-hero-tag{position:absolute;left:16px;bottom:16px;padding:8px 12px;border:1px solid rgba(255,210,31,.5);background:rgba(14,15,17,.8);backdrop-filter:blur(6px)}
.gx-hero-tag .gx-t{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--gx-muted)}
.gx-hero-tag .gx-m{font-family:var(--gx-font-head);font-size:18px;color:var(--gx-primary)}

/* ===== FEATURES ===== */
.gx-features{background:var(--gx-surface);border-top:1px solid var(--gx-border);border-bottom:1px solid var(--gx-border)}
.gx-features-grid{display:grid;grid-template-columns:repeat(2,1fr);max-width:1200px;margin:0 auto}
@media(min-width:768px){.gx-features-grid{grid-template-columns:repeat(4,1fr)}}
.gx-feat{display:flex;gap:16px;padding:24px;border-bottom:1px solid var(--gx-border)}
@media(min-width:768px){.gx-feat{border-bottom:0;border-right:1px solid var(--gx-border)}.gx-feat:last-child{border-right:0}}
.gx-feat .gx-feat-ic{flex-shrink:0;width:24px;height:24px;color:var(--gx-primary);display:inline-flex}
.gx-feat .gx-feat-ic svg{width:24px;height:24px}
.gx-feat .gx-t{font-family:var(--gx-font-head);font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.gx-feat .gx-d{margin-top:4px;font-size:12px;color:var(--gx-muted)}

/* ===== CATEGORÍAS ===== */
.gx-cats{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:640px){.gx-cats{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.gx-cats{grid-template-columns:repeat(4,1fr)}}
.gx-cat{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--gx-border);background:var(--gx-surface);transition:.2s}
.gx-cat:hover{border-color:var(--gx-primary)}
.gx-cat-img{aspect-ratio:1;overflow:hidden;background:var(--gx-bg)}
.gx-cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gx-cat:hover .gx-cat-img img{transform:scale(1.05)}
.gx-cat-body{display:flex;justify-content:space-between;gap:16px;padding:20px}
.gx-cat-body .gx-n{font-family:var(--gx-font-head);font-size:20px;letter-spacing:.1em;text-transform:uppercase}
.gx-cat-body .gx-d{margin-top:4px;font-size:14px;color:var(--gx-muted)}
.gx-cat-body .gx-c{margin-top:12px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--gx-primary)}
.gx-cat .gx-arrow{color:var(--gx-muted);transition:.2s}
.gx-cat:hover .gx-arrow{color:var(--gx-primary);transform:translateX(4px)}

/* ===== PRODUCTOS (tarjeta mixta) ===== */
.gx-prods{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:640px){.gx-prods{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.gx-prods{grid-template-columns:repeat(4,1fr)}}
.gx-prod{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--gx-border);background:var(--gx-surface);transition:.2s}
.gx-prod:hover{border-color:var(--gx-primary);transform:translateY(-4px)}
.gx-prod-flag{position:absolute;top:0;left:0;z-index:2;background:var(--gx-primary);color:var(--gx-primary-ink);font-family:var(--gx-font-head);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px}
.gx-prod-img{aspect-ratio:1;overflow:hidden;background:var(--gx-bg);display:flex;align-items:center;justify-content:center}
.gx-prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gx-prod:hover .gx-prod-img img{transform:scale(1.05)}
.gx-prod-body{display:flex;flex-direction:column;flex:1;padding:20px}
.gx-prod-code{font-family:var(--gx-font-head);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--gx-primary)}
.gx-prod-title{font-family:var(--gx-font-head);font-size:20px;letter-spacing:.1em;text-transform:uppercase;margin:4px 0 12px}
.gx-prod-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.gx-prod-chips span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;background:var(--gx-surface-2);color:var(--gx-muted)}
.gx-prod-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto}
.gx-prod-price{font-family:var(--gx-font-head);font-size:18px;color:var(--gx-fg)}
.gx-prod-more{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gx-primary);transition:.2s}
.gx-prod:hover .gx-prod-more{gap:12px}

/* ===== STATEMENT ===== */
.gx-statement{position:relative;overflow:hidden;border-top:1px solid var(--gx-border);border-bottom:1px solid var(--gx-border)}
.gx-statement-bg{position:absolute;inset:0}
.gx-statement-bg img{width:100%;height:100%;object-fit:cover;opacity:.4}
.gx-statement-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--gx-bg) 0%,rgba(14,15,17,.7) 60%,transparent 100%)}
.gx-statement-inner{position:relative;padding:112px 0}
.gx-statement h2{margin-top:24px;font-size:clamp(36px,6vw,64px)}
.gx-stroke{-webkit-text-stroke:1.5px var(--gx-primary);color:transparent}
.gx-statement-text{margin-top:24px;max-width:480px;font-size:18px;color:var(--gx-muted)}
.gx-certs{margin-top:32px;padding-top:32px;border-top:1px solid var(--gx-border);display:flex;flex-wrap:wrap;gap:32px}
.gx-certs .gx-n{font-family:var(--gx-font-head);font-size:24px;color:var(--gx-primary)}
.gx-certs .gx-l{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--gx-muted)}
.gx-footprint{width:40px;height:40px;color:var(--gx-primary)}
.gx-footprint svg{width:40px;height:40px}

/* ===== CONTACTO ===== */
.gx-contact-grid{display:grid;grid-template-columns:1fr;gap:48px}
@media(min-width:960px){.gx-contact-grid{grid-template-columns:1fr 1fr}}
.gx-contact h2{margin-top:8px;font-size:clamp(32px,5vw,52px)}
.gx-contact-text{margin-top:16px;max-width:400px;color:var(--gx-muted)}
.gx-contact-list{margin-top:32px;display:flex;flex-direction:column;gap:16px}
.gx-contact-list .gx-ci{display:flex;align-items:center;gap:12px}
.gx-contact-list .gx-ci-ic{width:20px;height:20px;color:var(--gx-primary);display:inline-flex}
.gx-contact-list .gx-ci-ic svg{width:20px;height:20px}
.gx-contact-list span{font-size:14px}
.gx-form{padding:32px;border:1px solid var(--gx-border);background:var(--gx-surface)}
.gx-form-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:640px){.gx-form-grid{grid-template-columns:1fr 1fr}}
.gx-form-grid .gx-full{grid-column:1/-1}
.gx-form input,.gx-form textarea{width:100%;background:var(--gx-bg);border:1px solid var(--gx-border);padding:12px 16px;font-size:14px;color:var(--gx-fg);font-family:inherit;transition:.2s}
.gx-form input::placeholder,.gx-form textarea::placeholder{color:var(--gx-muted)}
.gx-form input:focus,.gx-form textarea:focus{outline:0;border-color:var(--gx-primary)}
.gx-form textarea{resize:vertical}
.gx-form .gx-btn{width:100%;justify-content:center;margin-top:24px}

/* ===== FOOTER ===== */
.gx-footer{border-top:1px solid var(--gx-border);background:var(--gx-surface)}
.gx-foot{display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:space-between;padding:32px 24px}
@media(min-width:640px){.gx-foot{flex-direction:row}}
.gx-foot-copy{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--gx-muted);text-align:center}
.gx-foot-dev{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--gx-muted)}
.gx-foot-dev a{color:var(--gx-primary);font-weight:700}
.gx-foot-dev a:hover{text-decoration:underline}

/* ===== CATÁLOGO (página) ===== */
.gx-catalog{}
.gx-page-head{position:relative;overflow:hidden;border-bottom:1px solid var(--gx-border);background:radial-gradient(ellipse at 80% 30%,rgba(255,210,31,.12),transparent 60%),linear-gradient(180deg,#131417,#0a0b0d)}
.gx-page-head-inner{padding:64px 0 56px}
.gx-crumbs{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gx-muted)}
.gx-crumbs a:hover{color:var(--gx-primary)}
.gx-crumbs .gx-sep{margin:0 8px;color:var(--gx-border)}
.gx-page-head h1{margin-top:16px;font-size:clamp(40px,6vw,68px)}
.gx-page-head p{margin-top:16px;max-width:520px;color:var(--gx-muted);font-size:17px}
.gx-toolbar{position:sticky;top:64px;z-index:40;background:rgba(14,15,17,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--gx-border)}
.gx-toolbar-inner{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 0}
.gx-filters{display:flex;flex-wrap:wrap;gap:8px}
.gx-chip-btn{font-family:var(--gx-font-body);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gx-muted);background:var(--gx-surface);border:1px solid var(--gx-border);padding:9px 16px;cursor:pointer;transition:.2s}
.gx-chip-btn:hover{color:var(--gx-fg);border-color:var(--gx-muted)}
.gx-chip-btn.gx-active{background:var(--gx-primary);color:var(--gx-primary-ink);border-color:var(--gx-primary)}
.gx-count{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gx-muted)}
.gx-catalog-grid{padding:56px 0 96px}

/* Reveal on scroll (progresivo, no rompe si JS falla) */
.gx-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.gx-reveal.gx-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.gx-reveal{opacity:1;transform:none;transition:none}}
