/* Gyalux · Asesoría energética · 27/09/2026
   Contrato exterior de Servicios; composición y formulario propios. */
html.gx-ae-root { scroll-behavior:smooth; overflow-y:scroll; max-width:100%; overflow-x:hidden; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
html.gx-ae-root *, html.gx-ae-root *::before, html.gx-ae-root *::after { box-sizing:border-box; }
body.gx-ae-page { margin:0; max-width:100%; overflow-x:hidden; background:#f3f5f8; position:relative; color:#001a3a; font-family:"Inter",sans-serif; font-size:16px; line-height:1.65; }
body.gx-ae-page .bg-master-container { position:fixed; top:0; left:0; width:100vw; height:100vh; z-index:-1; overflow:hidden; background-color:#f3f5f8; }
body.gx-ae-page .bg-architectural { position:absolute; top:0; right:0; width:100%; height:100%; background:url('../img/fondo-circuito.jpg') no-repeat center center; background-image:image-set(url('../img/fondo-circuito.webp') type('image/webp'),url('../img/fondo-circuito.jpg') type('image/jpeg')); background-size:cover; opacity:.10; mask-image:linear-gradient(to bottom,black 0%,transparent 95%),linear-gradient(to left,black 50%,transparent 100%); -webkit-mask-image:linear-gradient(to bottom,black 0%,transparent 95%),linear-gradient(to left,black 50%,transparent 100%); mask-composite:intersect; -webkit-mask-composite:source-in; pointer-events:none; }
body.gx-ae-page .main-wrapper { width:100%; max-width:1200px; margin:0 auto; padding:0; }
body.gx-ae-page img, body.gx-ae-page svg, body.gx-ae-page iframe { max-width:100%; }
body.gx-ae-page .footer-texts { margin-top:auto; padding-top:0; text-align:center; }

/* Barra, contenedor, títulos y entrada: valores de la referencia validada. */
body.gx-ae-page .gx-context-bar { width:100%; margin:30px 0; border-top:1px solid rgba(0,26,58,.06); border-bottom:1px solid rgba(0,26,58,.08); background:rgba(255,255,255,.74); }
body.gx-ae-page .gx-context-bar-inner { width:100%; max-width:1200px; min-height:46px; margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; }
body.gx-ae-page .gx-context-item { min-width:0; display:flex; justify-content:center; align-items:center; gap:8px; padding:9px 18px; color:#536174; font-size:.77rem; line-height:1.3; text-align:center; }
body.gx-ae-page .gx-context-item + .gx-context-item { border-left:1px solid rgba(0,26,58,.08); }
body.gx-ae-page .gx-context-item i { width:13px; min-width:13px; flex:0 0 13px; color:#cba358; font-size:.9rem; text-align:center; }
body.gx-ae-page .gx-ae-main { width:100%; background:#fff; border:1px solid rgba(0,26,58,.07); border-radius:7px; overflow:hidden; box-shadow:0 14px 45px rgba(0,26,58,.035); }
body.gx-ae-page .gx-ae-main h1, body.gx-ae-page .gx-ae-main h2 { color:#001a3a; font-family:"Plus Jakarta Sans",sans-serif; font-weight:700; letter-spacing:-.45px; }
body.gx-ae-page .gx-ae-main h1 { margin:0 0 18px; font-size:35px; line-height:41.3px; }
body.gx-ae-page .gx-ae-main h2 { margin:0 0 14px; font-size:24px; line-height:28.32px; }
body.gx-ae-page .gx-ae-main p { margin:0 0 16px; color:#4a5568; line-height:1.65; }
body.gx-ae-page .gx-ae-main p:last-child { margin-bottom:0; }
body.gx-ae-page .gx-ae-intro { max-width:980px; padding:38px 42px 44px; }
body.gx-ae-page .gx-ae-intro .eyebrow { display:block; margin:0 0 20px; color:#cba358; font-family:"Inter",sans-serif; font-size:12px; font-weight:100; line-height:normal; letter-spacing:2px; text-transform:uppercase; }
body.gx-ae-page .gx-ae-intro .gx-ae-lead { color:#24374e; font-size:18px; font-weight:500; line-height:1.55; }

/* Factura, uso y prioridades: desarrollo editorial del servicio. */
body.gx-ae-page .gx-ae-bill, body.gx-ae-page .gx-ae-use { display:grid; align-items:start; gap:clamp(30px,4vw,58px); padding:40px 42px; border-top:1px solid #e4e8ec; }
body.gx-ae-page .gx-ae-bill { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
body.gx-ae-page .gx-ae-use { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
body.gx-ae-page .gx-ae-illustration { width:100%; max-width:360px; margin:0; justify-self:center; aspect-ratio:4/3; border-radius:4px; overflow:hidden; background:#eee9df; }
body.gx-ae-page .gx-ae-use .gx-ae-illustration { max-width:320px; }
body.gx-ae-page .gx-ae-illustration img { display:block; width:100%; height:100%; object-fit:cover; }
body.gx-ae-page .gx-ae-next { padding:36px 42px; border-top:1px solid #e4e8ec; }
body.gx-ae-page .gx-ae-next > p { max-width:920px; }
body.gx-ae-page .gx-ae-note { display:flex; gap:18px; align-items:flex-start; padding:22px 24px; margin:24px 0; background:#f5f7f8; border-left:3px solid #cba358; }
body.gx-ae-page .gx-ae-note > i { flex:0 0 auto; font-size:27px; margin-top:2px; color:#001a3a; }
body.gx-ae-page .gx-ae-note p { font-size:.94rem; }
body.gx-ae-page .gx-ae-note strong { display:block; color:#001a3a; margin-bottom:5px; }
body.gx-ae-page .gx-ae-link { display:inline-flex; align-items:center; gap:9px; color:#001a3a; font-size:.82rem; font-weight:700; text-decoration:none; }
body.gx-ae-page .gx-ae-link i { color:#cba358; transition:transform 180ms ease; }
body.gx-ae-page .gx-ae-link:hover, body.gx-ae-page .gx-ae-link:focus-visible { color:#9a742f; }
body.gx-ae-page .gx-ae-link:hover i, body.gx-ae-page .gx-ae-link:focus-visible i { transform:translateX(4px); }

/* Envío de factura: conserva endpoint, campos y consentimiento existentes. */
body.gx-ae-page .gx-ae-review { margin:0 42px 40px; border-top:1px solid #dce2e8; border-bottom:1px solid #dce2e8; scroll-margin-top:24px; }
body.gx-ae-page .gx-ae-review summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; list-style:none; cursor:pointer; color:#001a3a; font-size:.94rem; font-weight:600; }
body.gx-ae-page .gx-ae-review summary::-webkit-details-marker { display:none; }
body.gx-ae-page .gx-ae-review summary i { color:#cba358; }
body.gx-ae-page .gx-ae-review[open] summary i { transform:rotate(90deg); }
body.gx-ae-page .gx-ae-review-body { max-width:850px; padding:0 0 28px; }
body.gx-ae-page .gx-ae-review-body > p { font-size:.94rem; }
body.gx-ae-page .gx-ae-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; margin:24px 0 18px; }
body.gx-ae-page .gx-ae-fields label, body.gx-ae-page .gx-ae-captcha { display:block; color:#001a3a; font-size:.82rem; font-weight:600; }
body.gx-ae-page .gx-ae-fields input, body.gx-ae-page .gx-ae-captcha input { display:block; width:100%; min-width:0; min-height:44px; margin-top:7px; padding:10px 12px; border:1px solid #ccd4de; border-radius:5px; background:#fff; color:#001a3a; font:inherit; font-size:16px; font-weight:400; }
body.gx-ae-page .gx-ae-fields input[type=file] { font-size:.82rem; }
body.gx-ae-page .gx-ae-fields input::file-selector-button { padding:7px 9px; margin-right:10px; border:1px solid #ccd4de; border-radius:3px; background:#f3f5f8; color:#001a3a; font:inherit; cursor:pointer; }
body.gx-ae-page .gx-ae-field-help { display:block; margin-top:6px; color:#536174; font-size:.82rem; font-weight:400; }
body.gx-ae-page .gx-ae-captcha { max-width:440px; }
body.gx-ae-page .gx-ae-captcha input { max-width:180px; }
body.gx-ae-page .gx-ae-consent { display:flex; align-items:flex-start; gap:12px; margin:24px 0; color:#536174; font-size:.82rem; line-height:1.6; }
body.gx-ae-page .gx-ae-consent input { width:18px; height:18px; margin:3px 0 0; flex:0 0 18px; accent-color:#001a3a; }
body.gx-ae-page .gx-ae-consent a { color:#001a3a; text-decoration:underline; text-underline-offset:3px; }
body.gx-ae-page .gx-ae-consent a i { color:#cba358; }
body.gx-ae-page .gx-ae-error { margin:18px 0; padding:15px 18px; color:#8a2626; background:#fff4f4; border-left:3px solid #a33a3a; }
body.gx-ae-page .gx-ae-error p { margin:5px 0 0; color:#8a2626; font-size:.94rem; }
body.gx-ae-page .gx-ae-error[hidden] { display:none; }
body.gx-ae-page .gx-ae-honeypot { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* Cierre canónico de Servicios. */
body.gx-ae-page .gx-ae-final { margin:30px 0 80px; padding:34px 36px; display:flex; align-items:center; justify-content:space-between; gap:45px; border-top:2px solid #cba358; border-bottom:1px solid rgba(0,26,58,.12); background:rgba(255,255,255,.66); }
body.gx-ae-page .gx-ae-final > div:first-child { max-width:760px; }
body.gx-ae-page .gx-ae-final h2 { margin:0 0 14px; font-family:"Plus Jakarta Sans",sans-serif; font-size:24px; font-weight:700; line-height:28.32px; letter-spacing:-.45px; }
body.gx-ae-page .gx-ae-final p { max-width:670px; margin:0; color:#4a5568; font-size:.94rem; line-height:1.65; }
body.gx-ae-page .gx-ae-final-actions { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
body.gx-ae-page .gx-ae-button { min-height:44px; padding:0 19px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #cba358; border-radius:8px; background:linear-gradient(135deg,#dfb96e 0%,#b88e45 100%); color:#fff; box-shadow:inset 0 0 0 1px #cba358,0 8px 20px rgba(203,163,88,.30); text-shadow:1px 1px 3px rgba(0,26,58,.60); font-family:inherit; font-size:.76rem; font-weight:700; line-height:1; letter-spacing:.035em; text-transform:uppercase; text-decoration:none; cursor:pointer; transition:transform .3s ease; }
body.gx-ae-page .gx-ae-button:hover { transform:translateY(-2px); }
body.gx-ae-page .gx-ae-button:disabled { cursor:wait; opacity:.65; transform:none; }
body.gx-ae-page .gx-ae-contact-icon { width:44px; min-width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid rgba(0,26,58,.13); border-radius:8px; background:#fff; color:#001a3a; text-decoration:none; transition:color .18s ease,border-color .18s ease; }
body.gx-ae-page .gx-ae-contact-icon:hover { border-color:#cba358; color:#9a742f; }
body.gx-ae-page .gx-ae-contact-icon i { margin:0; padding:0; font-size:1rem; line-height:1; }
body.gx-ae-page .gx-ae-main a:focus-visible, body.gx-ae-page .gx-ae-review summary:focus-visible, body.gx-ae-page .gx-ae-review input:focus-visible, body.gx-ae-page .gx-ae-review button:focus-visible, body.gx-ae-page .gx-ae-final a:focus-visible { outline:3px solid rgba(203,163,88,.48); outline-offset:3px; }

@media (max-width:1180px) {
 body.gx-ae-page .main-wrapper { width:calc(100% - 44px); max-width:none; }
 body.gx-ae-page .gx-context-bar-inner { width:calc(100% - 44px); }
}
@media (max-width:992px) { body.gx-ae-page .bg-architectural { width:100vw; opacity:.05; } }
@media (max-width:991px) {
 body.gx-ae-page .bg-architectural { opacity:.075 !important; background-position:center top !important; }
 body.gx-ae-page .main-wrapper { width:calc(100% - 36px); max-width:none; }
 body.gx-ae-page .gx-context-bar-inner { width:100%; grid-template-columns:1fr; }
 body.gx-ae-page .gx-context-item { min-height:39px; justify-content:flex-start; padding-left:22px; padding-right:22px; text-align:left; }
 body.gx-ae-page .gx-context-item + .gx-context-item { border-left:0; border-top:1px solid rgba(0,26,58,.07); }
 body.gx-ae-page .gx-ae-intro, body.gx-ae-page .gx-ae-bill, body.gx-ae-page .gx-ae-use, body.gx-ae-page .gx-ae-next { padding-inline:28px; }
 body.gx-ae-page .gx-ae-intro .eyebrow { font-size:11.52px; line-height:14.976px; letter-spacing:1.5px; }
 body.gx-ae-page .gx-ae-bill, body.gx-ae-page .gx-ae-use { gap:30px; }
 body.gx-ae-page .gx-ae-review { margin-inline:28px; }
 body.gx-ae-page .gx-ae-final { padding:30px 28px; align-items:flex-start; flex-direction:column; gap:28px; }
}
@media (max-width:700px) {
 body.gx-ae-page .gx-ae-bill, body.gx-ae-page .gx-ae-use { grid-template-columns:1fr; gap:24px; }
 body.gx-ae-page .gx-ae-use .gx-ae-illustration { order:2; max-width:360px; }
 body.gx-ae-page .gx-ae-fields { grid-template-columns:1fr; }
}
@media (max-width:650px) {
 body.gx-ae-page .gx-ae-final { margin-bottom:50px; padding:28px 20px; }
 body.gx-ae-page .gx-ae-final-actions { width:100%; flex-wrap:wrap; }
 body.gx-ae-page .gx-ae-final .gx-ae-button { flex:1 1 180px; }
}
@media (max-width:640px) {
 body.gx-ae-page .main-wrapper { width:calc(100% - 32px); }
 body.gx-ae-page .gx-context-bar { margin-top:24px; margin-bottom:24px; }
 body.gx-ae-page .gx-context-item { font-size:.72rem; }
 body.gx-ae-page .gx-ae-main h1, body.gx-ae-page .gx-ae-main h2, body.gx-ae-page .gx-ae-final h2 { font-size:23.2px; line-height:27.376px; }
 body.gx-ae-page .gx-ae-main h1 { margin-bottom:16px; }
 body.gx-ae-page .gx-ae-intro .eyebrow { margin-bottom:11px; }
 body.gx-ae-page .gx-ae-intro { padding:27px 20px 32px; }
 body.gx-ae-page .gx-ae-intro .gx-ae-lead { font-size:16px; }
 body.gx-ae-page .gx-ae-bill, body.gx-ae-page .gx-ae-use, body.gx-ae-page .gx-ae-next { padding:32px 20px; }
 body.gx-ae-page .gx-ae-note { padding:20px 18px; gap:14px; }
 body.gx-ae-page .gx-ae-review { margin:0 20px 30px; }
}
@media (max-width:360px) {
 body.gx-ae-page .gx-ae-intro, body.gx-ae-page .gx-ae-bill, body.gx-ae-page .gx-ae-use, body.gx-ae-page .gx-ae-next { padding-inline:14px; }
 body.gx-ae-page .gx-ae-main h1 { font-size:22.72px; line-height:26.3552px; }
 body.gx-ae-page .gx-ae-main h2, body.gx-ae-page .gx-ae-final h2 { font-size:20.48px; line-height:24.576px; }
 body.gx-ae-page .gx-ae-review { margin-inline:14px; }
}
@media (prefers-reduced-motion:reduce) {
 html.gx-ae-root { scroll-behavior:auto; }
 body.gx-ae-page .gx-ae-link i, body.gx-ae-page .gx-ae-button { transition:none; transform:none; }
}
