/* ============================================================
   Estilos propios de Lombana Services SL
   (se cargan después de styles.css y lo sobrescriben)
   ============================================================ */
:root {
    --verde: #1a7d3d;
    --verde-osc: #11562a;
    --verde-claro: #e8f3ec;
    --gris-osc: #3a3536;
}

/* ---- Logo ---- */
.logo-lombana { max-height: 86px; width: auto; }
.head-email { font-size: 13px; word-break: break-all; }
.footer-logo-box { background: #fff; display: inline-block; padding: 10px 14px; border-radius: 4px; }
.footer-logo-box img { max-height: 90px; width: auto; }
.footer-eslogan { color: #9fd3b0; margin-top: 16px; }
.footer-contacto p { position: relative; padding-left: 30px; }
.footer-contacto .fa-contact { position: absolute; left: 0; top: 4px; }
.footer-widget-area-bg { background: #1c1a1b; }

/* ---- Portada ---- */
.hero-lombana {
    position: relative;
    background-size: cover;
    background-position: center 30%;
    padding: 150px 0 140px;
    color: #fff;
}
.hero-lombana:before {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(17, 40, 26, 0.92) 0%, rgba(17, 40, 26, 0.75) 45%, rgba(17, 40, 26, 0.15) 100%);
}
.hero-lombana .container { position: relative; }
.hero-etiqueta {
    display: inline-block;
    background: var(--verde);
    padding: 6px 14px;
    font-size: 13px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.hero-lombana h1 { color: #fff; font-size: 46px; line-height: 1.15; font-weight: 700; margin: 0 0 20px; }
.hero-lombana p { font-size: 18px; line-height: 1.6; color: #e6e6e6; margin-bottom: 30px; max-width: 620px; }
.hero-lombana .btn { margin: 0 10px 10px 0; }
@media (max-width: 767px) {
    .hero-lombana { padding: 90px 0 80px; }
    .hero-lombana h1 { font-size: 30px; }
    .hero-lombana p { font-size: 16px; }
}

/* ---- Fotos ---- */
.foto-marco { position: relative; margin: 10px 0 30px; }
.foto-marco img { position: relative; z-index: 1; border-radius: 4px; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15); width: 100%; }
.foto-marco:before {
    content: ""; position: absolute; z-index: 0;
    top: -14px; right: -14px; width: 60%; height: 60%;
    border: 6px solid var(--verde);
}

/* ---- Cifras ---- */
.cifras-lombana { background: var(--verde); }
.cifras-lombana .counter-block-2 p { color: #fff; }

/* ---- Tarjetas de servicio ---- */
.servicios-grid { display: flex; flex-wrap: wrap; }
.servicios-grid > div { display: flex; margin-bottom: 30px; }
.tarjeta-servicio {
    display: flex; flex-direction: column;
    width: 100%;
    background: #fff;
    padding: 36px 30px 30px;
    border-top: 4px solid var(--verde);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
    color: #555;
    transition: transform .25s, box-shadow .25s;
}
.tarjeta-servicio:hover, .tarjeta-servicio:focus { transform: translateY(-6px); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12); color: #555; text-decoration: none; }
.tarjeta-icono {
    width: 64px; height: 64px; border-radius: 50%;
    background: var(--verde-claro); color: var(--verde);
    display: flex; align-items: center; justify-content: center;
    font-size: 28px; margin-bottom: 20px;
    transition: background .25s, color .25s;
}
.tarjeta-servicio:hover .tarjeta-icono { background: var(--verde); color: #fff; }
.tarjeta-servicio h3 { font-size: 20px; line-height: 1.35; margin: 0 0 12px; color: #222; }
.tarjeta-servicio p { flex: 1; }
.tarjeta-mas { color: var(--verde); font-weight: 600; margin-top: 10px; }
.tarjeta-cta { background: var(--gris-osc); border-top-color: #9fd3b0; color: #ddd; }
.tarjeta-cta h3 { color: #fff; }
.tarjeta-cta:hover, .tarjeta-cta:focus { color: #ddd; }
.tarjeta-cta .tarjeta-mas { color: #9fd3b0; }

/* ---- Motivos ---- */
.motivo { text-align: center; padding: 10px 20px 30px; }
.motivo i { font-size: 40px; color: var(--verde); margin-bottom: 16px; }
.motivo h4 { font-size: 19px; margin-bottom: 10px; }

/* ---- Llamada a la acción ---- */
.cta-lombana { background: var(--verde); color: #fff; padding: 70px 0; }
.cta-lombana h2 { color: #fff; font-size: 32px; margin: 0 0 10px; }
.cta-lombana p { color: #e3f1e8; font-size: 18px; margin-bottom: 26px; }

/* ---- Páginas interiores ---- */
.page-header-lombana { background-image: url("../images/lombana/equipo.jpg"); background-position: center 25%; }
.page-header-lombana:before { background: rgba(17, 40, 26, 0.82); }
.page-header-lombana h3 { color: #fff; line-height: 1.3; }
.page-header-lombana .page-breadcrumb, .page-header-lombana .page-breadcrumb a { color: #cfe8d7; }

.cita-lombana { border-left: 5px solid var(--verde); background: var(--verde-claro); padding: 18px 24px; margin-top: 30px; font-size: 17px; }

.area-item { display: flex; gap: 18px; margin-bottom: 30px; }
.area-icono {
    flex: 0 0 56px; height: 56px; border-radius: 50%;
    background: var(--verde); color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 24px;
}
.area-item h4 { margin: 4px 0 8px; font-size: 19px; }
.area-item h4 a { color: #222; }

.servicio-banda {
    background: linear-gradient(135deg, var(--verde) 0%, var(--verde-osc) 100%);
    color: #fff; font-size: 90px; text-align: center;
    padding: 50px 0; border-radius: 4px; margin-bottom: 30px;
}
.lista-check { list-style: none; padding: 0; margin: 20px 0; }
.lista-check li { padding: 6px 0; font-size: 16px; }
.lista-check .fa { color: var(--verde); margin-right: 8px; }

.caja-lateral { background: #f5f7f6; padding: 26px; margin-bottom: 30px; border-top: 4px solid var(--verde); }
.caja-lateral h4 { margin-top: 0; margin-bottom: 16px; }
.caja-lateral ul { list-style: none; padding: 0; margin: 0; }
.caja-lateral li a { display: block; padding: 10px 0; border-bottom: 1px solid #e3e3e3; color: #444; }
.caja-lateral li a .fa { color: var(--verde); width: 22px; }
.caja-lateral li.activo a { color: var(--verde); font-weight: 700; }
.caja-contacto p { margin-bottom: 8px; }
.caja-contacto .fa { color: var(--verde); width: 20px; }

/* ---- Contacto ---- */
.dato-contacto { display: flex; gap: 16px; margin: 22px 0; }
.dato-contacto > .fa {
    flex: 0 0 46px; height: 46px; border-radius: 50%;
    background: var(--verde-claro); color: var(--verde);
    display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.dato-contacto h5 { margin: 0 0 4px; font-weight: 700; }
.caja-formulario { background: #f5f7f6; padding: 34px; border-top: 4px solid var(--verde); }
.caja-formulario label { font-weight: 600; }
.caja-formulario .form-control { border-radius: 0; box-shadow: none; }
.caja-formulario .form-control:focus { border-color: var(--verde); }
.campo-oculto { position: absolute; left: -9999px; }

/* ---- WhatsApp flotante ---- */
.whatsapp-flotante {
    position: fixed; left: 20px; bottom: 20px; z-index: 999;
    width: 56px; height: 56px; border-radius: 50%;
    background: #25d366; color: #fff; font-size: 30px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}
.whatsapp-flotante:hover, .whatsapp-flotante:focus { color: #fff; transform: scale(1.06); }

/* ---- Cargador (sustituye a loader.gif) ---- */
#preloader .cargador {
    position: absolute; top: 50%; left: 50%;
    width: 46px; height: 46px; margin: -23px 0 0 -23px;
    border: 4px solid var(--verde-claro); border-top-color: var(--verde);
    border-radius: 50%; animation: girar .8s linear infinite;
}
@keyframes girar { to { transform: rotate(360deg); } }

/* ---- Ajustes sobre la plantilla ---- */
body p { text-align: left !important; }
body .text-center p, body .motivo p, body .cta-lombana p { text-align: center !important; }
.page-header-lombana .page-breadcrumb { text-align: center; }
.footer-widget-area .footer-contacto .fa-contact { padding: 0; top: 5px; left: 0; color: #9fd3b0; width: 18px; }
.header-icon-box .head-content { white-space: nowrap; }
.head-email { font-size: 12px; }
.areas-grid { display: flex; flex-wrap: wrap; }
.header-icon-box .text { overflow: hidden; }
@media (max-width: 767px) {
    .block-heading-title, .subheading-alt-style { font-size: 28px !important; line-height: 1.25 !important; }
    .hero-etiqueta { font-size: 11px; }
    .whatsapp-flotante { width: 50px; height: 50px; font-size: 26px; left: 14px; bottom: 14px; }
}
#backTop {
    background: var(--verde) !important; border-radius: 50%;
    text-indent: -9999px; overflow: hidden;
}
#backTop:after {
    content: ""; position: absolute; left: 50%; top: 55%;
    width: 12px; height: 12px; margin: -6px 0 0 -6px;
    border-left: 3px solid #fff; border-top: 3px solid #fff;
    transform: rotate(45deg);
}

/* ---- Equipo ---- */
.equipo-grid { display: flex; flex-wrap: wrap; justify-content: center; }
.miembro { background: #fff; margin-bottom: 30px; box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08); overflow: hidden; }
.miembro figure { margin: 0; overflow: hidden; aspect-ratio: 4 / 5; }
.miembro figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.miembro:hover figure img { transform: scale(1.04); }
.miembro-info { padding: 20px 16px 22px; text-align: center; border-bottom: 4px solid var(--verde); }
.miembro-info h3 { font-size: 20px; margin: 0 0 6px; color: #222; }
.miembro-info span { color: var(--verde); font-weight: 600; text-transform: uppercase; font-size: 13px; letter-spacing: 1px; }
@media (max-width: 767px) { .miembro { max-width: 340px; margin-left: auto; margin-right: auto; } }
.equipo-grid > div { display: flex; }
.miembro { width: 100%; display: flex; flex-direction: column; }
.miembro-info { flex: 1; }
