/* wp-custom-css */

/*css background for containers with grid-bg class*/
.grid-bg {
	background-image: linear-gradient(to right,rgba(201,214,254,.2)1px,transparent 1px),linear-gradient(to bottom,rgba(201,214,254,.2),transparent 1px);
	background-size:20px 20px;
	background-attachment:fixed;
}
.inside-header.grid-container {
    border-inline: 1px dashed var(--accent);
    margin-bottom: -30px;
    padding-bottom: 40px;
}
/*header dashed border position*/
.site-header{
    border-bottom: 1px solid var(--accent);
    z-index: 100;
    position: sticky;
    top:0;
}
@media(max-width:767px) {
.inside-header {
	width: calc(100% - 31px - 31px);
}
}
@media(max-width:1024px)and (min-width:768px) {
.inside-header {
    width: calc(100% - 40px - 40px);
}
}
/*gb button hover effect*/
.gb-button:hover span.gb-icon {
    transform: translatex(1em);
}
.gb-button span.gb-icon {
    transition: all 0.3s ease;
}
/*border between content and sidebar single posts*/
.single-post .content-area {
    border-right: 1px dashed var(--accent);
}
/*remove theme padding for content template posts*/
:is(.blog,.archive) .post.dynamic-content-template {
    padding-bottom: 0 !important;
}/*hide homepage hero bg image on mobile*/
@media(max-width:767px) {
.home-hero-container {
    background-image: none;
}
}

/* === Interconnect (05) — piezas propias. Mismo estilo que el botón de la plantilla (.gb-text-fbc07582) === */
.ic-contacto-directo{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.5em}
.ic-boton{align-items:center;background-color:var(--accent);color:var(--base-3);display:inline-flex;min-height:44px;padding:15px 20px;text-decoration:none}
.ic-boton:is(:hover,:focus){background-color:var(--accent);color:var(--base-3);text-decoration:underline}

/* Contraste (medido 2026-10-12): con el verde de marca como acento, el fondo general de Engineer
   (#39495f) dejaba el verde en 3.69:1 y los degradados que aclaran lo bajaban a 2.0:1. La plantilla
   original ya fallaba ahí (su cian: 4.11:1). Se oscurece el fondo un 30 % conservando el tono. */
:root{--base-2:#283342}
.gb-element-4a9c54de{background-image:linear-gradient(160deg,var(--base-3),rgba(255,255,255,0.12))}
.gb-element-9107d3f7::after{background-image:linear-gradient(0deg,var(--base-2),var(--base-3))}

/* Tarifas (servicios) — las genera scripts/construir.py desde datos/tarifas.json */
.ic-intro{margin:0 0 2em;max-width:900px}
.ic-tarifas{display:grid;gap:3.5em;margin-bottom:3em}
.ic-zona-titulo{color:var(--accent);margin-bottom:.4em}
.ic-zona-cobertura{margin-bottom:1.5em;max-width:900px}
.ic-planes{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.ic-plan{background-color:var(--base-3);border:1px dashed var(--accent);display:flex;flex-direction:column;padding:28px 24px}
.ic-plan-nombre{font-size:20px;letter-spacing:.04em;margin-bottom:.6em}
.ic-plan-velocidad{color:var(--accent);font-size:36px;font-weight:700;line-height:1.1;margin-bottom:.2em}
.ic-plan-precio{font-size:22px;margin-bottom:1em}
.ic-plan-datos{font-size:15px;margin:auto 0 0}
.ic-plan-datos dt{color:var(--contrast-3);margin-top:.6em}
.ic-plan-datos dd{margin:0}
[data-pendiente]{outline:2px dotted var(--accent-5);outline-offset:2px}

/* Pie: datos de contacto que exige la NOM-184 (un solo componente, generado) */
.copyright-bar{width:100%}
.ic-pie{display:grid;gap:8px 40px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));text-align:left}
.ic-pie p{margin:0}
.ic-pie a{color:inherit;text-decoration:underline}
.ic-pie-copy{grid-column:1/-1;opacity:.85}
.ic-servicios{margin:0 auto;max-width:1200px;padding:60px 30px}
@media(max-width:767px){.ic-servicios{padding:40px 20px}}

/* Páginas legales: el texto lo vuelca scripts/construir.py desde datos/; aquí solo la forma */
.ic-legal{margin:0 auto;max-width:900px;padding:60px 30px}
@media(max-width:767px){.ic-legal{padding:40px 20px}}
.ic-legal p,.ic-legal li{line-height:1.7}
.ic-legal-lead{font-size:20px;font-weight:700}
.ic-aviso{background-color:var(--base-3);border-left:4px solid var(--accent);margin:1.5em 0 2em;padding:20px 24px}
.ic-aviso p{margin:0}
.ic-carta-encabezado{font-size:14px;opacity:.85}
.ic-carta-titulo{margin:.6em 0}
.ic-carta-lema{font-weight:700}
.ic-plegable{border:1px dashed var(--accent);margin-bottom:12px}
.ic-plegable>summary{cursor:pointer;font-weight:700;list-style-position:outside;margin-left:1.2em;padding:16px 20px 16px 4px}
.ic-plegable>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ic-plegable[open]>summary{border-bottom:1px dashed var(--accent)}
.ic-plegable>:not(summary){margin-left:24px;margin-right:24px}
.ic-plegable>h3{font-size:21px;margin-top:1.2em}
.ic-llamada{font-size:.7em;line-height:0}
.ic-llamada a{color:var(--accent);padding:0 2px}
.ic-notas-lista{font-size:15px;list-style:none;margin:1em 24px;padding:0}
.ic-notas-lista li{margin-bottom:.6em}
.ic-nota-num{color:var(--accent);font-weight:700}
.ic-volver{color:var(--accent);text-decoration:none}
.ic-volver::before{content:"↩"}
:target{scroll-margin-top:110px}
.ic-documento ul{margin:0 0 1.5em 1.5em}

/* === v4: sitio de venta de internet (portada, planes, cobertura, cómo contratar) === */
/* Héroe de portada: foto en lugar de la ilustración de la plantilla */
.ic-heroe-portada{background-image:none;flex-direction:row;align-items:center;column-gap:48px}
.ic-heroe-portada .gb-element-4955a6ce{flex-basis:50%}
.ic-heroe-imagen{flex:1 1 50%}
.ic-heroe-imagen img{border:1px dashed var(--accent);display:block;height:auto;padding:10px;width:100%}
@media(max-width:1024px){.ic-heroe-portada{flex-direction:column;row-gap:40px}.ic-heroe-imagen{width:100%}}
.ic-acciones{align-items:center;display:flex;flex-wrap:wrap;gap:12px 24px}
.ic-boton-secundario{border:1px solid var(--accent);color:var(--contrast);display:inline-flex;min-height:44px;align-items:center;padding:14px 20px;text-decoration:none}
.ic-boton-secundario:is(:hover,:focus){color:var(--contrast);text-decoration:underline}
/* Héroe de páginas interiores: foto en el lugar de la ilustración */
.ic-heroe-foto{border:1px dashed var(--accent);display:block;height:auto;max-width:480px;padding:8px;width:100%}
/* Secciones de portada */
.ic-seccion{margin:0 auto;max-width:1200px;padding:80px 30px}
@media(max-width:767px){.ic-seccion{padding:56px 20px}}
.ic-seccion>h2{margin-bottom:.5em}
.ic-seccion-alterna{background-color:var(--base-3);box-shadow:0 0 0 100vmax var(--base-3);clip-path:inset(0 -100vmax)}
.ic-dos-columnas{align-items:center;display:grid;gap:48px;grid-template-columns:1fr 1fr}
.ic-dos-columnas img{border:1px dashed var(--accent);height:auto;padding:10px;width:100%}
@media(max-width:900px){.ic-dos-columnas{grid-template-columns:1fr}}
.ic-cta{text-align:center}
.ic-cta .ic-contacto-directo{justify-content:center}
/* Íconos (Lucide) */
.ic-plan-icono{color:var(--accent);display:inline-flex;vertical-align:-.15em}
.ic-plan-icono svg{height:1.4em;width:1.4em}
/* Resumen de planes en portada */
.ic-resumen-planes{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:2em 0}
.ic-resumen-plan{background-color:var(--base-3);border:1px dashed var(--accent);display:flex;flex-direction:column}
.ic-resumen-plan img{aspect-ratio:800/520;display:block;height:auto;object-fit:cover;width:100%}
.ic-resumen-cuerpo{padding:20px 22px 24px}
.ic-resumen-cuerpo h3{font-size:22px;margin-bottom:.4em}
.ic-resumen-cuerpo p{margin-bottom:.4em}
.ic-plan-precio span{font-size:.75em;opacity:.85}
/* Tarjetas genéricas */
.ic-tarjetas{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:1.5em 0 2.5em}
.ic-tarjeta{background-color:var(--base-2);border:1px dashed var(--accent);padding:24px}
.ic-servicios .ic-tarjeta{background-color:var(--base-3)}
.ic-tarjeta h3{font-size:20px;margin:.4em 0}
.ic-tarjeta p{margin:0}
/* Pasos (cómo contratar) */
.ic-pasos{counter-reset:paso;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));list-style:none;margin:1.5em 0 3em;padding:0}
.ic-pasos li{background-color:var(--base-3);border:1px dashed var(--accent);counter-increment:paso;padding:24px;position:relative}
.ic-pasos li::before{color:var(--accent);content:"0" counter(paso);font-size:14px;font-weight:700;position:absolute;right:20px;top:20px}
.ic-pasos h3{font-size:20px;margin:.5em 0 .3em}
.ic-pasos p{margin:0}
.ic-servicios section{margin-bottom:3em}
.ic-servicios ul{margin-left:1.4em}
.ic-servicios li{margin-bottom:.5em}
.ic-condiciones{background-color:var(--base-3);border-left:4px solid var(--accent);padding:28px 28px 12px}
/* Cobertura */
.ic-municipios{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:1.5em 0}
.ic-municipio{background-color:var(--base-3);border:1px dashed var(--accent);padding:22px}
.ic-municipio h3{font-size:20px;margin-bottom:.5em}
.ic-municipio ul{margin:0 0 0 1.2em}
.ic-municipio li{margin-bottom:.2em}
.ic-plan .ic-plan-icono{margin-bottom:.5em}
.ic-municipios{align-items:start}
