/* ============================================================
   GCG — Integraciones de la landing de presentación.
   IMPORTANTE: este archivo extiende la landing aprobada sin modificar
   presentacion.css ni sus animaciones originales.
   ============================================================ */
:root {
  --gcg-bg: var(--fondo);
  --gcg-bg-secondary: var(--fondo-2);
  --gcg-surface: var(--panel);
  --gcg-surface-raised: var(--panel-claro);
  --gcg-text: var(--texto);
  --gcg-text-secondary: var(--texto-suave);
  --gcg-text-muted: var(--texto-tenue);
  --gcg-text-disabled: #66717a;
  --gcg-accent: var(--acento);
  --gcg-accent-hover: var(--acento-claro);
  --gcg-accent-active: #dc901c;
  --gcg-accent-soft: rgba(244,166,42,.12);
  --gcg-border: rgba(255,255,255,.09);
  --gcg-border-strong: rgba(255,255,255,.17);
  --gcg-divider: rgba(255,255,255,.08);
  --gcg-success: #3ddc84;
  --gcg-success-bg: rgba(61,220,132,.10);
  --gcg-warning: #f4a62a;
  --gcg-danger: #ef6666;
  --gcg-danger-bg: rgba(239,102,102,.10);
  --gcg-font-body: var(--fuente);
  --gcg-font-display: var(--fuente-titulo);
  --gcg-font-mono: var(--fuente-mono);
  --gcg-text-xs: 11px;
  --gcg-text-sm: 13px;
  --gcg-text-base: 15px;
  --gcg-text-lg: 22px;
  --gcg-space-2: 8px;
  --gcg-space-3: 12px;
  --gcg-space-4: 16px;
  --gcg-space-5: 20px;
  --gcg-space-6: 24px;
  --gcg-space-8: 32px;
  --gcg-radius-sm: 7px;
  --gcg-radius-md: 12px;
  --gcg-shadow: 0 18px 55px rgba(0,0,0,.35);
  --gcg-shadow-elevated: 0 34px 100px rgba(0,0,0,.58);
  --gcg-shadow-cta-hover: 0 14px 34px rgba(244,166,42,.20);
  --gcg-transition-fast: .18s ease;
}

.gcg-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

/* Header de acceso: se integra con la composición original. */
.cabecera__auth { display:flex; align-items:center; gap:8px; margin-left:10px; }
.cabecera__auth .cabecera__accion { margin-left:0; }
.cabecera__auth button { cursor:pointer; }
.menu-movil > button.boton { width:100%; margin-top:10px; cursor:pointer; }
.menu-movil > button.boton + button.boton { margin-top:8px; }

/* Contacto / solicitud de información. */
.contacto { overflow:hidden; background:linear-gradient(180deg,#090d10 0%,#070a0d 100%); }
.contacto::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.28; background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:72px 72px; }
.contacto__rejilla { position:relative; display:grid; grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr); gap:clamp(48px,7vw,92px); align-items:start; }
.contacto__intro .numero { margin-right:18px; }
.contacto__intro h2 { margin-top:24px; font-family:var(--fuente-titulo); font-size:clamp(42px,4.2vw,64px); line-height:1.02; letter-spacing:-.045em; text-transform:uppercase; }
.contacto__intro > p { margin-top:24px; color:var(--texto-suave); font-size:15px; line-height:1.75; max-width:620px; }
.contacto__seguridad { display:grid; grid-template-columns:42px 1fr; gap:16px; padding:20px 0; border-top:1px solid var(--linea); }
.contacto__seguridad:first-of-type { margin-top:34px; }
.contacto__seguridad > span { color:var(--acento); font-family:var(--fuente-mono); font-size:10px; padding-top:3px; }
.contacto__seguridad strong { display:block; font-size:13px; }
.contacto__seguridad small { display:block; margin-top:5px; color:#89949d; font-size:12px; line-height:1.55; }
.contacto__form { position:relative; display:grid; gap:18px; padding:30px; border:1px solid var(--linea-fuerte); background:linear-gradient(145deg,rgba(17,24,29,.97),rgba(8,12,15,.98)); box-shadow:var(--sombra); }
.contacto__form::before { content:""; position:absolute; top:-1px; left:30px; width:92px; height:2px; background:linear-gradient(90deg,var(--acento),transparent); }
.contacto__form-cabecera { padding-bottom:19px; border-bottom:1px solid var(--linea); }
.contacto__form-cabecera small { display:block; color:var(--acento); font-family:var(--fuente-mono); font-size:9px; font-weight:800; letter-spacing:.14em; }
.contacto__form-cabecera strong { display:block; margin-top:8px; font-size:23px; line-height:1.2; }
.contacto__fila { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contacto__form > label, .contacto__fila > label { display:grid; gap:8px; color:#cbd1d6; font-size:11px; font-weight:700; letter-spacing:.045em; text-transform:uppercase; }
.contacto__form label > span { color:#737e87; font-size:9px; font-weight:500; }
.contacto__form input:not([type="checkbox"]), .contacto__form select, .contacto__form textarea { width:100%; border:1px solid rgba(255,255,255,.15); border-radius:7px; color:#f5f7f8; background:#090e12; font:500 13px/1.45 var(--fuente); transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.contacto__form input:not([type="checkbox"]), .contacto__form select { height:46px; padding:0 13px; }
.contacto__form textarea { min-height:132px; resize:vertical; padding:13px; }
.contacto__form input:focus, .contacto__form select:focus, .contacto__form textarea:focus { outline:none; border-color:var(--acento); box-shadow:0 0 0 3px rgba(244,166,42,.10); background:#0c1216; }
.contacto__form select option { background:#0c1216; color:#f5f7f8; }
.contacto__check { display:grid!important; grid-template-columns:18px 1fr; align-items:start; gap:11px!important; padding:13px 14px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.018); text-transform:none!important; letter-spacing:0!important; font-weight:500!important; }
.contacto__check input { width:17px; height:17px; margin:1px 0 0; accent-color:var(--acento); }
.contacto__check span { color:#9ea8b0!important; font-size:11px!important; line-height:1.55; }
.contacto__check button { padding:0; border:0; background:none; color:var(--acento); cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.contacto__check--opcional { opacity:.88; }
.contacto__captcha { display:flex; min-height:78px; align-items:center; justify-content:center; overflow:hidden; }
.contacto__estado { display:none; padding:12px 14px; border:1px solid transparent; border-radius:7px; font-size:12px; line-height:1.5; }
.contacto__estado.is-visible { display:block; }
.contacto__estado.is-error { color:#ff9898; border-color:rgba(239,102,102,.28); background:rgba(239,102,102,.08); }
.contacto__estado.is-success { color:#8ef0b5; border-color:rgba(61,220,132,.25); background:rgba(61,220,132,.08); }
.contacto__enviar { width:100%; cursor:pointer; }
.contacto__enviar:disabled { opacity:.55; cursor:wait; transform:none; }
.contacto__honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

/* Modal de autenticación: la estética principal vive en components/auth.css.
   Acá solo se fuerzan compatibilidades con la landing de presentación. */
.gcg-auth-modal__content {
  background:
    linear-gradient(180deg, rgba(5,8,10,.97), rgba(8,12,15,.97)),
    radial-gradient(circle at 100% 0, rgba(244,166,42,.09), transparent 42%);
}
/* Cookies/legal por encima de controles flotantes de la presentación. */
.gcg-cookie-banner, .gcg-cookie-modal { font-family:var(--fuente); }
.gcg-cookie-banner { z-index:1200; }
.gcg-cookie-modal { z-index:1250; }
.gcg-modal-overlay--legal { z-index:1300; }
.gcg-cookie-modal__dialog { color:var(--texto); }
.gcg-cookie-banner__inner { color:var(--texto); }

/* Footer: botones legales se ven como enlaces, no como controles ajenos. */
.pie nav button { padding:0; border:0; background:none; color:#89939b; font-size:11px; cursor:pointer; transition:color .2s ease; }
.pie nav button:hover { color:var(--acento); }
.anuncio__acciones { display:flex; flex-wrap:wrap; justify-content:center; gap:11px; margin-top:28px; }
.anuncio__acciones .boton { cursor:pointer; }

@media (max-width:1100px) {
  .cabecera__auth { display:none; }
  .contacto__rejilla { grid-template-columns:1fr; }
  .contacto__intro { max-width:760px; }
}
@media (max-width:700px) {
  .contacto__form { padding:22px 16px; }
  .contacto__fila { grid-template-columns:1fr; }
  .contacto__captcha { justify-content:flex-start; transform-origin:left top; }
  .gcg-modal-overlay { padding:10px; }
  .gcg-auth-modal { max-height:94vh; }
  .gcg-modal__header { padding:16px 18px; }
  .gcg-modal__body { padding:18px; }
}
@media (max-width:380px) {
  .contacto__captcha > div { transform:scale(.88); transform-origin:left center; width:304px; }
}
