
:root {
    --curro-azul: #174f78;
    --curro-azul-oscuro: #103954;
    --curro-azul-claro: #eaf3f8;
    --curro-turquesa: #199eb8;
    --curro-blanco: #ffffff;
    --curro-texto: #263746;
    --curro-gris: #647583;
    --curro-borde: #dce6ec;
    --curro-sombra: 0 8px 28px rgba(16, 57, 84, .10);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.web-currosat {
    margin: 0;
    background: #f5f8fa;
    color: var(--curro-texto);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.65;
}

.web-currosat a {
    color: var(--curro-azul);
    text-decoration: none;
}

.web-currosat a:hover,
.web-currosat a:focus {
    color: var(--curro-turquesa);
}

.contenedor {
    width: min(1160px, calc(100% - 40px));
    margin-inline: auto;
}

.salto-contenido {
    position: absolute;
    left: -9999px;
    top: 10px;
    z-index: 9999;
    padding: 10px 16px;
    background: white;
}

.salto-contenido:focus {
    left: 10px;
}

.cabecera-web {
    position: relative;
    z-index: 100;
    background: var(--curro-blanco);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .07);
}

.cabecera-interior {
    min-height: 105px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.logo-cabecera {
    display: block;
    width: 190px;
    max-width: 100%;
    height: auto;
}

.contacto-cabecera {
    display: flex;
    align-items: center;
    gap: 25px;
}

.contacto-cabecera a {
    color: var(--curro-azul-oscuro);
    font-size: 1.2rem;
    font-weight: 700;
    white-space: nowrap;
}

.contacto-cabecera a span {
    color: var(--curro-turquesa);
    margin-right: 7px;
}

.navegacion-principal {
    position: relative;
    z-index: 90;
    background: var(--curro-azul);
}

.navegacion-interior {
    display: flex;
    align-items: stretch;
    min-height: 55px;
}

.navegacion-interior > a,
.elemento-menu-servicios > a {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 14px 17px;
    color: white;
    font-size: .95rem;
    font-weight: 600;
}


.navegacion-interior > a,
.elemento-menu-servicios > a,
.navegacion-interior > a:link,
.navegacion-interior > a:visited,
.elemento-menu-servicios > a:link,
.elemento-menu-servicios > a:visited {
    color: #ffffff !important;
    opacity: 1;
    visibility: visible;
}


.navegacion-interior > a:hover,
.navegacion-interior > a:focus,
.elemento-menu-servicios > a:hover,
.elemento-menu-servicios > a:focus,
.navegacion-interior > a.activo,
.elemento-menu-servicios > a.activo {
    background: var(--curro-turquesa);
    color: #ffffff !important;
}

.elemento-menu-servicios {
    position: relative;
}

.submenu-servicios {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 250px;
    padding: 8px 0;
    background: white;
    box-shadow: var(--curro-sombra);
    border-radius: 0 0 8px 8px;
}

.elemento-menu-servicios:hover .submenu-servicios,
.elemento-menu-servicios:focus-within .submenu-servicios {
    display: block;
}

.submenu-servicios a {
    display: block;
    padding: 10px 16px;
    color: var(--curro-azul-oscuro);
}

.submenu-servicios a:hover,
.submenu-servicios a.activo {
    background: var(--curro-azul-claro);
    color: var(--curro-turquesa);
}

.selector-idioma-web {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    padding: 0 10px;
    color: white;
}

.selector-idioma-web a {
    color: white;
    font-weight: 700;
}

.selector-idioma-web a[aria-current="page"] {
    color: #b9f1fa;
    text-decoration: underline;
}

.contenido-web {
    min-height: 55vh;
}

.seccion-contenido {
    padding-top: 55px;
    padding-bottom: 60px;
}

.seccion-contenido h1,
.seccion-contenido h2 {
    color: var(--curro-azul-oscuro);
    line-height: 1.25;
}

.seccion-contenido h1 {
    margin: 0 0 22px;
    font-size: clamp(2rem, 4vw, 2.8rem);
}

.seccion-contenido h2 {
    margin-top: 35px;
    font-size: 1.65rem;
}

.seccion-introduccion {
    max-width: 850px;
    font-size: 1.1rem;
}

.bloque-destacado {
    padding: 28px;
    background: white;
    border: 1px solid var(--curro-borde);
    border-radius: 12px;
    box-shadow: var(--curro-sombra);
}

.boton-currosat {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 12px 23px;
    border-radius: 6px;
    background: var(--curro-turquesa);
    color: white !important;
    font-weight: 700;
    transition: background .2s ease, transform .2s ease;
}

.boton-currosat:hover {
    background: var(--curro-azul-oscuro);
    transform: translateY(-2px);
}

.proveedor-fermax-inicio {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-top: 35px;
    padding: 22px;
    background: var(--curro-azul-claro);
    border-radius: 10px;
}

.proveedor-fermax-inicio img {
    width: 150px;
    max-width: 35%;
    height: auto;
    object-fit: contain;
}

.tarjetas-servicios {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 30px;
}

.tarjeta-servicio {
    padding: 25px;
    background: white;
    border: 1px solid var(--curro-borde);
    border-radius: 10px;
    box-shadow: var(--curro-sombra);
}

.tarjeta-servicio h2,
.tarjeta-servicio h3 {
    margin-top: 0;
}

.pie-web {
    padding: 38px 0 22px;
    background: var(--curro-azul-oscuro);
    color: #d6e3f0;
}

.pie-web a,
.pie-web a:link,
.pie-web a:visited {
    color: #d6e3f0 !important;
    font-weight: 400;
    opacity: 1;
    text-decoration: none;
}


.pie-web a:hover,
.pie-web a:focus {
    color: #ffffff !important;
    text-decoration: underline;
}

/* Textos y datos del footer */
.pie-web p,
.pie-web span,
.pie-web strong,
.pie-web h2,
.pie-web h3 {
    color: #d6e3f0;
}

/* Copyright */
.pie-copyright {
    color: #b9cadb;
    font-size: .9rem;
    text-align: center;
}
.pie-web-interior {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 25px;
}

.pie-web p {
    margin: 8px 0;
}

.pie-telefonos,
.pie-legal {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pie-copyright {
    grid-column: 1 / -1;
    margin-top: 18px !important;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, .2);
    font-size: .9rem;
    text-align: center;
}

.boton-menu-movil,
.menu-lateral,
.fondo-menu-movil {
    display: none;
}



:root {
    --curro-azul: #064b91;
    --curro-azul-oscuro: #063b78;
    --curro-azul-claro: #eaf3ff;
    --curro-turquesa: #168bd2;
}

.cabecera-web {
    background: #ffffff;
}
.cabecera-interior { min-height: 82px; }
.logo-cabecera { width: 155px; max-height: 70px; object-fit: contain; }
.cabecera-acciones { margin-left:auto; }
.selector-banderas { display:flex; align-items:center; gap:9px; }
.selector-banderas a { display:inline-flex; width:23px; height:17px; overflow:hidden; align-items:center; }
.selector-banderas img { display:block; width:100%; height:100%; object-fit:cover; }
.navegacion-principal { background:linear-gradient(90deg,#06417f,#07549d); }
.navegacion-interior { min-height:43px; justify-content:center; }
.navegacion-interior > a,.elemento-menu-servicios > a { padding:10px 23px; color:#fff; font-weight:700; }
.navegacion-interior > a:hover,.elemento-menu-servicios > a:hover,.navegacion-interior a.activo { background:#168bd2; }
.submenu-servicios { z-index:120; }
.contenido-web { background:#f4f8fd; }
.inicio-currosat { padding-top:0; }
.inicio-currosat > .contenedor { width:min(1160px,calc(100% - 32px)); }
.inicio-hero {
    width:100vw;
    min-height:290px;
    margin:0 calc(50% - 50vw) 25px;
    padding:42px max(28px,calc(50vw - 560px));
    display:flex; align-items:center;
    background:
      linear-gradient(90deg,rgba(0,65,132,.88),rgba(0,93,165,.34)),
      url("../imagenes/prototipo/costa-contacto.jpg") center 48%/cover no-repeat;
    color:#fff;
}
.inicio-hero-texto { max-width:720px; }
.inicio-hero .sobre-titulo { color:#d8efff; }
.inicio-hero h1 { color:#fff; font-size:clamp(2rem,4vw,3rem); line-height:1.1; margin:0 0 12px; }
.inicio-hero .seccion-introduccion { color:#fff; font-size:1.25rem; max-width:680px; margin:0; text-shadow:0 1px 3px #16456d; }
.inicio-currosat .bloque-empresa-inicio { margin:0 auto 26px; max-width:1050px; padding:20px 28px; }
.inicio-currosat .bloque-empresa-inicio h2 { margin:0 0 6px; }
.bloque-servicios-inicio > h2 { text-align:center; color:var(--curro-azul-oscuro); margin:26px 0 16px; }
.inicio-currosat .tarjetas-servicios { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:14px; }
.inicio-currosat .tarjeta-servicio { padding:0 0 16px; overflow:hidden; text-align:center; border-radius:12px; border:1px solid #cbdcf0; box-shadow:0 5px 16px rgba(0,53,111,.13); }
.tarjeta-servicio-imagen img { display:block; width:100%; height:135px; object-fit:cover; }
.inicio-currosat .tarjeta-servicio h3 { color:#064b91; font-size:1.08rem; margin:12px 10px 5px; }
.inicio-currosat .tarjeta-servicio p { padding:0 14px; font-size:.92rem; }
.inicio-currosat .tarjeta-servicio a { display:inline-block; margin:5px 12px 0; font-weight:700; }
.proveedor-fermax-inicio { justify-content:center; gap:32px; margin:28px 0; padding:18px 24px; background:linear-gradient(110deg,#e7f1ff,#fff); border:1px solid #d3e3f6; }
.proveedor-fermax-inicio .fermax-marca { display:flex; align-items:center; justify-content:center; gap:24px; width:100%; }
.proveedor-fermax-inicio img { width:205px; max-width:32%; }
.proveedor-fermax-inicio h2 { margin:0 0 5px; color:#064b91; }
.proveedor-fermax-inicio p { margin:0 0 5px; }
.bloque-zona-actuacion { display:grid; grid-template-columns:minmax(180px,280px) 1fr; gap:24px; align-items:center; margin:25px 0; padding:20px; background:#fff; border:1px solid #d3e3f6; border-radius:12px; }
.bloque-zona-actuacion img { width:100%; height:190px; object-fit:cover; border-radius:9px; }
.bloque-zona-actuacion h2 { color:#064b91; margin-top:0; }
.bloque-contacto-inicio { text-align:center; margin:25px 0 0; padding:26px; border-radius:12px; background:#e5effb; }
.bloque-contacto-inicio h2 { color:#064b91; margin:0 0 8px; }
.boton-currosat { background:#07529a; }
.boton-currosat:hover { background:#168bd2; }
.pie-web { background:#063b78; }
.seccion-contenido h1,.seccion-contenido h2 { color:#064b91; }
.tarjeta-servicio { border-color:#d5e3f3; }
.menu-lateral-legales { display:flex; flex-direction:column; gap:8px; padding:14px 8px; border-top:1px solid var(--curro-borde); }
.menu-lateral-legales a { color:#31516f; font-size:.9rem; }
.menu-lateral-telefonos .menu-llamar { display:block; padding:13px 15px; border-radius:8px; background:#064b91; color:white; text-align:center; }
@media(max-width:900px) {
 .cabecera-interior { min-height:68px; justify-content:space-between; }
 .logo-cabecera { width:130px; }
 .navegacion-principal { display:none; }
 .boton-menu-movil { display:flex; width:43px; height:40px; border:0; border-radius:6px; background:#064b91; padding:9px; flex-direction:column; justify-content:center; gap:5px; }
 .boton-menu-movil span { display:block; width:100%; height:3px; background:#fff; border-radius:3px; }
 .menu-lateral { display:block; padding:16px 18px 28px; background:#f7fbff; }
 .menu-lateral-cabecera { border:0; }
 .menu-lateral-cabecera img { width:145px; }
 .menu-lateral-enlaces { gap:7px; }
 .menu-lateral-enlaces > a { padding:12px 14px; border:0; border-radius:7px; background:#064b91; color:#fff; font-weight:700; box-shadow:0 2px 5px rgba(0,0,0,.12); }
 .menu-lateral-enlaces > a.activo,.menu-lateral-enlaces > a:hover { background:#168bd2; color:#fff; }
 .menu-lateral-subtitulo { padding:14px 5px 4px; color:#064b91; }
 .menu-lateral-idiomas { justify-content:center; border-top:0; }
 .menu-lateral-idiomas a { padding:8px 13px; border-radius:6px; background:#e0edfb; color:#064b91; font-weight:700; }
 .menu-lateral-telefonos { gap:8px; padding:12px 8px; border-top:0; }
}
@media(max-width:650px) {
 .inicio-hero { min-height:275px; margin:0 calc(50% - 50vw) 18px; padding:30px 20px; background-position:center; }
 .inicio-hero h1 { font-size:2rem; }
 .inicio-hero .seccion-introduccion { font-size:1.05rem; }
 .inicio-currosat .tarjetas-servicios { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .tarjeta-servicio-imagen img { height:105px; }
 .inicio-currosat .tarjeta-servicio h3 { font-size:.94rem; }
 .inicio-currosat .tarjeta-servicio p { font-size:.85rem; }
 .proveedor-fermax-inicio .fermax-marca { flex-direction:column; gap:8px; text-align:center; }
 .proveedor-fermax-inicio img { width:165px; max-width:75%; }
 .bloque-zona-actuacion { grid-template-columns:1fr; gap:12px; }
 .bloque-zona-actuacion img { height:190px; }
 .bloque-contacto-inicio { padding:20px 14px; }
}

.imagen-servicio-detalle { float:left; width:min(38%,330px); margin:0 24px 18px 0; }
.imagen-servicio-detalle img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; box-shadow:0 5px 18px rgba(0,50,100,.14); }
.contacto-ubicacion { display:grid; grid-template-columns:minmax(220px,40%) 1fr; gap:22px; align-items:center; }
.contacto-ubicacion > img { width:100%; height:220px; object-fit:cover; border-radius:9px; }
.contacto-ubicacion > div > h2 { margin-top:0; }
@media(max-width:650px) {
 .imagen-servicio-detalle { float:none; width:100%; margin:0 0 18px; }
 .contacto-ubicacion { grid-template-columns:1fr; }
 .contacto-ubicacion > img { height:180px; }
}

.imagen-quienes { float:right; width:min(38%,360px); margin:0 0 22px 26px; }
.imagen-quienes img { display:block; width:100%; height:270px; object-fit:cover; border-radius:10px; box-shadow:0 5px 18px rgba(0,50,100,.14); }
@media(max-width:650px) { .imagen-quienes { float:none; width:100%; margin:0 0 20px; } .imagen-quienes img { height:210px; } }

.mapa-fermax { display:flex; justify-content:center; margin:22px auto; padding:22px; background:#e7f0fc; border-radius:10px; }
.mapa-fermax a { display:flex; flex-direction:column; align-items:center; gap:8px; color:#064b91; font-size:1.1rem; }
.mapa-fermax img { width:190px; height:auto; }


h1 {
    color: #ffffff !important;
    text-shadow:
        0 2px 4px rgba(0, 35, 75, .95),
        0 0 8px rgba(0, 35, 75, .75);
}
