/* =========================================================
   estilos.css  -  Westpress Imprenta
   Un solo archivo para toda la estetica.
   Colores de marca:
     gris    #6D6E71
     cian    #00AEEF
     magenta #EC008C
========================================================= */

@import url('https://fonts.googleapis.com/css?family=Arimo:400,700&display=swap');

body {
    background-color: #efefef;
    font-family: 'Arimo', Arial, sans-serif;
    font-size: 16px;
    color: #2c2c2a;
}

a { color: #6d6e71; text-decoration: none; }
a:link, a:visited, a:active { text-decoration: none; }
a:hover { text-decoration: none; color: #ffffff; }

img { max-width: 100%; height: auto; }

/* ---------- Banner de la app (PWA) ---------- */
.barra_app {
    display: flex; align-items: center; justify-content: center;
    gap: 12px; flex-wrap: wrap;
    background-color: #2a4d7a; color: #ffffff;
    padding: 9px 44px 9px 16px; font-size: 14px; position: relative;
}
.barra_app b { font-weight: bold; }
.btn_app {
    display: inline-block; text-decoration: none;
    background-color: #ffffff; color: #2a4d7a; border: 0;
    padding: 5px 14px; border-radius: 5px; font-weight: bold;
    font-size: 13px; cursor: pointer;
}
.btn_app:hover { opacity: 0.9; color: #2a4d7a; text-decoration: none; }
@keyframes wp_pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }
.barra_app .btn_app { animation: wp_pulse 1.5s ease-in-out infinite; }
.barra_app .btn_app:hover { animation: none; }
.cerrar_app {
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
    background: none; border: 0; color: #ffffff; font-size: 22px;
    line-height: 1; cursor: pointer;
}

/* ---------- Switch de idioma ES / EN ---------- */
.lang_sw { display: inline-flex; gap: 4px; }
.lang {
    display: inline-block; min-width: 30px; text-align: center;
    padding: 3px 8px; border: 1px solid #b9b9b4; border-radius: 4px;
    font-size: 12px; font-weight: bold; color: #6d6e71; background: #ffffff;
}
.lang:hover { color: #6d6e71; opacity: 0.85; }
.lang_on { background-color: #6d6e71; color: #ffffff; border-color: #6d6e71; }
.lang_on:hover { color: #ffffff; }
.nonav .lang { background: transparent; color: #ffffff; border-color: #ffffff; }
.nonav .lang_on { background: #ffffff; color: #6d6e71; }

/* ---------- Barra superior movil ---------- */
.bg_nav { background-color: #2a4d7a; }
.nonav { margin-left: -15px; margin-right: -15px; border-radius: 0; justify-content: flex-start; padding-left: 8px; padding-right: 8px; }

.nav-ic-m {
    display: inline-flex; align-items: center; justify-content: center;
    height: 35px; width: 35px; font-size: 15px; line-height: 1;
    border-radius: 5px; margin-right: 5px; text-decoration: none;
}
.nav-ic-m.fa-whatsapp { padding: 0; font-size: 16px; }
.nav-portal {
    width: 60px; padding: 0 3px; font-size: 8.5px; font-weight: bold;
    line-height: 1.05; text-transform: uppercase; text-align: center;
    white-space: normal; letter-spacing: 0;
}
.nonav .navbar-toggler { padding: 4px 9px; margin-right: 5px; }
.nav-ic-m-d { background-color: #3f608c; color: #ffffff; }
.nav-ic-m-d:hover { opacity: 0.8; color: #ffffff; }
.fa-whatsapp { background-color: #25d366; color: #ffffff; font-size: 20px; padding: 9px; }
.fa-whatsapp:hover { opacity: 0.7; color: #ffffff; }

a.hoverhere { display: inline-block; background: none; color: #000; }
a.hoverhere .popup {
    left: 45px; top: 15px; background: #ffffff;
    width: 170px; padding: 10px; border: 1px solid #000;
    z-index: 100; text-align: center; display: none;
}
a.hoverhere:hover .popup { display: block; }

/* ---------- Encabezado ---------- */
.info { font-weight: bold; font-size: 16px; line-height: 1.7; }
.info a { color: inherit; }
.info a:hover { color: #2a4d7a; text-decoration: none; }
.foot_info a { color: inherit; font-weight: bold; }
.foot_info a:hover { color: #2a4d7a; text-decoration: underline; }
.navic { background-color: #6d6e71; color: #ffffff; }
.navic_d {
    padding: 5.5px; font-size: 13px; height: 23px; width: 23px;
    text-align: center; border-radius: 100%;
    margin-right: 5px; margin-bottom: 4px;
}
.logo_top { max-width: 210px; }
.slogan_top { max-width: 260px; }
.img-log { max-width: 130px; }
.img_s { max-width: 145px; }

/* ---------- Menu de escritorio (6 botones) ---------- */
.menu_esc { margin-top: 22px; }
.bot {
    height: 45px; font-size: 18.5px;
    text-transform: uppercase; font-weight: bold;
}
.bot a {
    width: 100%;
    border-top: 1px solid #6d6e71;
    border-bottom: 1px solid #6d6e71;
    padding: 9px; text-align: center; color: #6d6e71;
}
.bot a:hover { border-color: transparent; color: #ffffff; }
.uno:hover { background-color: #00aeef; transition: 0.5s; }
.dos:hover { background-color: #ec008c; transition: 0.5s; }

/* ---------- Carrusel (solo escritorio) ---------- */
.solo-escritorio { display: none; }
#carruselWp .carousel-item img { border-radius: 4px; }

/* Carrusel Ken Burns (solo movil) */
.solo-movil { display: block; }
.kb-carrusel { position: relative; width: auto; margin-left: -15px; margin-right: -15px; aspect-ratio: 2 / 1; overflow: hidden; border-radius: 0; background: #ffffff; }
.kb-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; animation-name: kbWp; animation-iteration-count: infinite; animation-timing-function: ease-in-out; }
.carrusel_seo { font-size: 13px; color: #6d6e71; line-height: 1.4; margin-top: 8px; }

/* Accesos rapidos (solo movil) */
.accesos-movil { display: block; }
.acceso {
    display: flex; align-items: center; justify-content: center;
    height: 60px; border-radius: 6px; color: #ffffff;
    font-weight: bold; text-transform: uppercase; font-size: 15px;
    margin-bottom: 12px;
}
.acceso:hover { color: #ffffff; opacity: 0.92; }
.acceso i { margin-right: 10px; font-size: 20px; }
.ac-cian { background-color: #00aeef; }
.ac-magenta { background-color: #ec008c; }
.ac-gris { background-color: #6d6e71; }
.ac-wa { background-color: #25d366; }

/* ---------- Contenido interior ---------- */
.text { font-size: 16px; color: #6d6e71; text-align: left; line-height: 1.5; }
.text li { font-size: 16px; color: #6d6e71; line-height: 1.6; }
li { font-size: 16px; color: #6d6e71; text-align: justify; line-height: 1.5; }
.sub_izq { text-align: left; color: #6d6e71; font-weight: bold; font-size: 20px; margin: 0 0 10px; line-height: 1.2; }

.head {
    width: 100%; height: 80px;
    display: flex; justify-content: center; align-items: center;
    font-size: 25px; text-transform: uppercase; font-weight: bold;
    color: #ffffff; line-height: 1.1; text-align: center;
    background-size: cover; background-position: center;
}
.subhead {
    display: flex; justify-content: center; align-items: center;
    font-size: 20px; text-transform: uppercase; font-weight: bold;
    color: #ffffff; line-height: 1.1;
}
.f1 { background-image: url("../img/encabezado1_westpress.png"); }
.f2 { background-image: url("../img/encabezado2_westpress.png"); }
.f3 { background-image: url("../img/encabezado3_westpress.png"); }
.fe { background-color: #0b9444; }

.mapa {
    width: 100%; max-width: 600px; height: 340px; border: 0; border-radius: 6px;
}

/* ---------- Pie ---------- */
.pie {
    background-color: #c9c9c9; color: #000000;
    padding: 10px 20px calc(10px + env(safe-area-inset-bottom, 0px));
    margin-left: 0; margin-right: 0; margin-top: 1rem;
}
.red_soc {
    padding: 8px; font-size: 22px; height: 40px; width: 40px;
    line-height: 24px; text-align: center; border-radius: 100%;
    margin-right: 6px; background-color: #6d6e71; color: #ffffff;
}
.red_soc:hover { opacity: 0.75; color: #ffffff; }
.red_soc.wa { background-color: #25d366; }
.red_soc.yt { background-color: #ff0000; }
.red_soc.eco { background-color: #0b9444; }
.copy { text-transform: uppercase; letter-spacing: 1px; font-size: 12px; }
.powered { font-size: 11px; letter-spacing: 0.5px; margin-top: 0; color: #6d6e71; }
.powered a { color: #6d6e71; font-weight: bold; }
.powered a:hover { color: #6d6e71; text-decoration: underline; }

/* ---------- Aviso de cookies ---------- */
.cookie_bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1050;
    background-color: #2a4d7a; color: #ffffff;
    display: flex; align-items: center; justify-content: center;
    gap: 14px; flex-wrap: wrap; text-align: center;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    font-size: 13px; line-height: 1.35;
}
.cookie_bar a { color: #ffffff; text-decoration: underline; }
.cookie_bar a:hover { color: #ffffff; opacity: 0.85; }
.cookie_btn {
    background-color: #ffffff; color: #2a4d7a; border: 0;
    border-radius: 5px; padding: 7px 18px;
    font-weight: bold; font-size: 13px; cursor: pointer;
}
.cookie_btn:hover { opacity: 0.9; }

/* ---------- Mostrar / ocultar por dispositivo ---------- */
.no_info { display: none; }   /* solo escritorio */
.no_nav  { display: block; }  /* solo movil */

/* ===== Escritorio (lg y mayor) ===== */
@media (min-width: 992px) {
    .no_info { display: flex; }
    .no_nav  { display: none; }
    .nonav   { display: none; }
    .solo-escritorio { display: block; }
    .accesos-movil   { display: none; }
    .solo-movil      { display: none; }
}


/* ---------- Realidad Aumentada (AR) ---------- */
.ar-home-card { display: flex; align-items: center; gap: 16px; background-color: #2a4d7a; color: #ffffff; border-radius: 10px; padding: 16px 20px; text-decoration: none; }
.ar-home-card:hover { color: #ffffff; opacity: 0.95; text-decoration: none; }
.ar-home-ic { font-size: 28px; flex: 0 0 auto; }
.ar-home-txt { flex: 1; font-size: 15px; line-height: 1.35; }
.ar-home-btn { flex: 0 0 auto; font-weight: bold; white-space: nowrap; }
#ar-qr { display: inline-block; border: 1px solid #d3d9e2; border-radius: 8px; padding: 10px; background: #ffffff; }
#ar-qr svg { display: block; width: 200px; height: 200px; max-width: 100%; }
.ar-paso { display: flex; align-items: center; gap: 12px; font-size: 16px; color: #6d6e71; line-height: 1.4; margin-bottom: 14px; }
.ar-num { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background-color: #2a4d7a; color: #ffffff; display: flex; align-items: center; justify-content: center; font-weight: bold; }
@media (max-width: 576px) { .ar-home-card { flex-wrap: wrap; } .ar-home-btn { width: 100%; margin-top: 6px; } }


/* ---------- Subida de archivos (aviso de progreso) ---------- */
#wpUploadMsg {
    display: none; position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 2000;
    background-color: #2a4d7a; color: #ffffff; text-align: center;
    padding: 12px 16px; border-radius: 8px; font-size: 14px; font-weight: bold;
}


/* ---------- Cuadrito para subir archivos ---------- */
.wp-modal { display: none; position: fixed; inset: 0; z-index: 2100; background: rgba(0,0,0,0.5); align-items: center; justify-content: center; padding: 20px; }
.wp-modal.show { display: flex; }
.wp-modal-box { background: #ffffff; border-radius: 10px; padding: 22px 20px 20px; width: 100%; max-width: 320px; position: relative; text-align: center; }
.wp-modal-x { position: absolute; right: 10px; top: 6px; background: none; border: 0; font-size: 24px; line-height: 1; color: #6d6e71; cursor: pointer; }
.wp-modal-t { font-size: 15px; color: #2c2c2a; font-weight: bold; margin: 4px 0 12px; }
.wp-tel { width: 130px; height: 46px; text-align: center; font-size: 22px; letter-spacing: 6px; border: 1px solid #d3d9e2; border-radius: 6px; }
.wp-hint { display: none; color: #b83227; font-size: 12px; margin: 8px 0 0; }
.wp-pick { display: inline-block; margin-top: 14px; background-color: #2a4d7a; color: #ffffff; border: 0; border-radius: 6px; padding: 11px 22px; font-size: 15px; font-weight: bold; cursor: pointer; }
.wp-pick:hover { opacity: 0.92; }
