/* GENERICOS */
html {    transition: background-color .3s ease, color .3s ease;}

body.category .site-content,
body.tag .site-content{margin-top:0 !important;padding-top:0 !important;}

/* FORMULARIO BANNER */
.eam-form-container form input, .eam-form-container form select{border-radius:100px;width:100%;padding: 12px;}

.eam-form-container form input[type="submit"]{background:#098988;border:none;outline:none;margin-top:10px;transition: 200ms ease-in;color:#ffffff;}
.eam-form-container form input[type="submit"]:hover{background:#fda801;}

.eam-form-container form label{color:#ffffff;margin-bottom:5px;}
.eam-form-container form .politicas{color:#ffffff;font-size:12px;text-align:center;}
.eam-form-container form .politicas a{text-decoration:underline;}

::placeholder {color: #000000;opacity:.3;}

/* HONEYPOT */
.mw-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ALERTIFY */
.alertify .ajs-footer .ajs-buttons .ajs-button {display: none;}

/* FOOTER */
.site-info:not(:first-child){border:none;}

.widget-title{font-weight:800;}
.site-footer a:hover{color:#fe9a01;}

/* CATEGORIAS SERVICIOS */
#categorias{background:rgb(0,0,0);background:linear-gradient(180deg,rgba(0,0,0,1) 0%,rgba(10,140,138,1) 100%);}

.mw-tax-slider{padding:20px 0;position:relative;}
.mw-taxonomy-swiper{overflow:hidden;padding:12px 5px 15px;}
.mw-taxonomy-swiper .swiper-wrapper{align-items:stretch;}
.mw-taxonomy-swiper .swiper-slide{height:auto;}

.mw-tax-card{display:flex;flex-direction:column;justify-content:center;align-items:center;
    gap:12px;background:#FF9001;color:#fff;border-radius:16px;text-decoration:none;padding:20px 15px;box-sizing:border-box;
    transition:transform .25s ease,box-shadow .25s ease;
    box-shadow:0 4px 10px rgba(0,0,0,.08);
}

.mw-tax-card:hover{transform:translateY(-8px);box-shadow:0 12px 25px rgba(0,0,0,.18);}
.mw-tax-card i{font-size:42px;color:#fff;line-height:1;}
.mw-tax-card span{text-align:center;color:#fff;line-height:1.4;font-size:15px;white-space:normal;word-break:break-word;}

/* ETIQUETAS */

.mw-tags-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:20px 0;}

.mw-tag-item{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f5f5f5;border-radius:50px;text-decoration:none;color:#333;font-weight:600;
    transition:transform .25s ease,background .25s ease,color .25s ease;
}

.mw-tag-item:hover{background:#FF9001;color:#fff;transform:translateY(-4px);}
.mw-tag-item i{font-size:.9em;}

/* FEATURED POST */

.mw-featured-posts{padding:30px 0;}
.mw-featured-posts-swiper{overflow:hidden;}
.mw-featured-card{position:relative;}
.mw-featured-link{display:block;text-decoration:none;}
.mw-featured-image{position:relative;overflow:hidden;}
.mw-featured-image img{width:100%;height:420px;object-fit:cover;display:block;transition:transform .6s ease;}

.mw-featured-overlay{position:absolute;left:0;right:0;bottom:0;padding:25px;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.95) 0%,
        rgba(0,0,0,.65) 50%,
        transparent 100%
    );
}

.mw-featured-categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px;}
.mw-featured-category{background:#FF9001;color:#fff;font-size:12px;padding:5px 10px;font-weight:600;text-transform:uppercase;}
.mw-featured-title{color:#fff;margin:0;font-size:28px;font-weight:700;line-height:1.2;}
.mw-featured-more{display:inline-flex;align-items:center;gap:8px;margin-top:15px;color:#FF9001;font-weight:700;font-size:14px;letter-spacing:.5px;text-transform:uppercase;}
.mw-featured-card:hover img{transform:scale(1.08);}
.mw-featured-card:hover .mw-featured-more{transform:translateX(5px);}
.mw-featured-more{transition:.3s ease;}

/* taxonimas pages */
.mw-tax-container{max-width:1200px;margin:auto;padding:0 20px;}

.mw-taxonomy-header{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#088484;
color:#fff;text-align:center;padding:80px 0;margin-bottom:50px;}

.mw-taxonomy-header *{color:#fff;}

.mw-tax-badge{display:inline-block;padding:8px 18px;border:1px solid rgba(255,255,255,.25);
border-radius:30px;font-size:13px;font-weight:600;margin-bottom:20px;background:rgba(255,255,255,.08);}

.mw-tax-title{font-size:48px;line-height:1.1;margin:0 0 20px;}
.mw-tax-description{max-width:850px;margin:auto;opacity:.95;}
.mw-tax-count{margin-top:25px;font-size:15px;font-weight:600;opacity:.95;}

/* GRID */

.mw-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px;}
.mw-post-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,.08);transition:.25s ease;}
.mw-post-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(0,0,0,.12);}

.mw-post-image{display:block;}
.mw-post-image img{width:100%;height:240px;object-fit:cover;display:block;}
.mw-post-content{padding:25px;}
.mw-post-category{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;color:#088484;margin-bottom:12px;}

.mw-post-content h2{margin:0 0 15px;font-size:24px;line-height:1.3;}
.mw-post-content h2 a{text-decoration:none;color:#222;}
.mw-post-content p{color:#555;line-height:1.7;margin-bottom:20px;}

.mw-read-more{display:inline-block;color:#088484;font-weight:700;text-decoration:none;}
.mw-read-more:hover{text-decoration:underline;}

/* PLACEHOLDER */
.mw-post-placeholder{height:240px;display:flex;justify-content:center;align-items:center;background:#f5f5f5;}

/* PAGINACIÓN */
.mw-pagination{margin-top:60px;text-align:center;}

.mw-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;
margin:0 4px;border-radius:8px;text-decoration:none;background:#f2f2f2;color:#333;font-weight:600;}

.mw-pagination .current{background:#088484;color:#fff;}

/* VACÍO */
.mw-empty{text-align:center;padding:80px 20px;}

/* TABLET */
@media (max-width:1024px){
    .mw-tax-card{min-height:130px;}
}

/* MOBILE */
@media (max-width:767px){
    .mw-tax-card{min-height:120px;padding:18px 12px;}
    .mw-tax-card i{font-size:34px;}
}

/* QUERIES */
@media (min-width: 1024px){
	#categorias{background:none;}
}


/* ANIMACIONES */
.lp-container {will-change: transform;}

/* BASE STATE */
.reveal {opacity: 0;transform: translateY(60px) scale(0.96);filter: blur(12px);
    transition:
        opacity 0.9s cubic-bezier(.22, 1, .36, 1),
        transform 0.9s cubic-bezier(.22, 1, .36, 1),
        filter 0.9s cubic-bezier(.22, 1, .36, 1);
    will-change: opacity, transform, filter;
}

/* ACTIVE STATE */
.reveal.active {opacity: 1;transform: translateY(0) scale(1);filter: blur(0);transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);}

/* DELAYS */
.delay-1 {transition-delay: 0.15s;}
.delay-2 {transition-delay: 0.30s;}
.delay-3 {transition-delay: 0.45s;}
.delay-4 {transition-delay: 0.60s;}
/* HEADER */
.lp-header {position: sticky;top: 0;Z-index: 9999;width: 100%;background: #ffffff;border-bottom: 1px solid rgba(0,0,0,0.08);
    transition:
        transform 0.35s ease,
        box-shadow 0.25s ease;
    will-change: transform;
}

/* oculto */
.lp-header.hide {
    transform: translateY(-100%);
}

/* visible al subir */
.lp-header.show {
    transform: translateY(0);
}

/* sombra elegante al hacer scroll */
.lp-header.scrolled {box-shadow:0 10px 30px rgba(0,0,0,0.06);}
.lp-header-inner {width: 100%;}

.lp-container.lp-header-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* LOGO */
.lp-logo img {
    height: 42px;
    display: block;
}

/* MENU DESKTOP */

.lp-menu {display: flex;}
.lp-menu-links {display: flex;gap: 26px;}

.lp-menu-links a {
    position: relative;
    text-decoration: none;
    color: #111;
    font-size: 14px;
    font-weight: 500;
    padding: 6px 0;
}

/* hover borde animado (underline limpio) */
.lp-menu-links a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0%;
    height: 2px;
    background: var(--mw-primary-color);
    transition: width 0.25s ease;
}

.lp-menu-links a:hover::after {width: 100%;}

/* HAMBURGUESA */
.lp-menu-toggle {
    width: 42px;
    height: 42px;
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    z-index: 10001;
    background:none;
    border:none;
}

.lp-menu-toggle span {
    height: 2px;
    background: #111;
    border-radius: 2px;
    transition: 0.25s ease;
}

/* X simple */
.lp-menu-toggle.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.lp-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.lp-menu-toggle.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* OVERLAY */
.lp-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    opacity: 0;
    visibility: hidden;
    transition: 0.2s ease;
    z-index: 9998;
}

.lp-overlay.active {
    opacity: 1;
    visibility: visible;
}

.lp-menu-logo{ display:none;}

/* MOBILE MENU (IZQUIERDA) */
@media (max-width: 900px) {

    .lp-menu-toggle {
        display: flex;
    }

    .lp-menu {
        position: fixed;
        top: 0;
        left: 0;

        width: 250px;
        max-width: 85vw;
        height: 100vh;

        background: #ffffff;
        border-right: 1px solid rgba(0,0,0,0.08);

        transform: translateX(-100%);
        transition: transform 0.25s ease;

        flex-direction: column;
        padding: 24px 20px;

        z-index: 10000; /* encima del overlay */
    }

    .lp-menu.active {
        transform: translateX(0);
    }

    /* logo mobile dentro del menú */
    .lp-menu-logo {
        display: flex;
        margin-bottom: 24px;
    }

    .lp-menu-logo img {
        height: 60px;
    }

    .lp-menu-links {
        flex-direction: column;
        gap: 16px;
    }

    .lp-menu-links a {
        font-size: 16px;
        color: #111;
        padding: 8px 0;
    }

    /* hover mobile simplificado */
    .lp-menu-links a::after {
        background: #111;
    }
}

/* ---------------------------------------------------------------- */

.lp-slider {
    position: relative;
    width: 100%;
    height: 650px;
    overflow: hidden;
}

/* SLIDE */
.lp-slide {
    position: absolute;
    inset: 0;

    opacity: 0;
    transition: opacity 0.8s ease;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
}

/* IMAGEN REAL */
.lp-slide-bg{
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    z-index: 1;
}

.lp-slide-bg,
.lp-slide-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.lp-slide-youtube{
    position:absolute;
    top:50%;
    left:50%;
    width:120%;
    height:120%;
    min-width:177.77777778vh;
    min-height:56.25vw;
    transform:translate(-50%,-50%);
    border:0;
    pointer-events:none;
}

/* ACTIVO */
.lp-slide.active {
    opacity: 1;
    z-index: 2;
}

/* OVERLAY */
.lp-slide-overlay {
    position: absolute;
    inset: 0;

    background: rgba(0,0,0,0.7);

    z-index: 2;
}

/* CONTENIDO */
.lp-slide-content {
    position: relative;
    z-index: 3;
    max-width: 850px;
    width: 100%;
    padding: 0 20px;
    text-align: center;
    color: var(--mw-text-on-primary);
}

/* TITULO */
.lp-slide-content h1 {
    font-size: 52px;
    line-height: 1.1;
    margin-bottom: 16px;
    font-weight: 700;
    letter-spacing: -0.5px;
    color: var(--mw-text-on-primary);
}

/* DESCRIPCIÓN */
.lp-slide-content p {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 28px;
    opacity: 0.92;
}

/* BOTÓN */
.lp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 14px 28px;

    background: rgba(255,255,255,0.15);
    color: var(--mw-text-on-primary);

    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 10px;

    font-weight: 600;
    text-decoration: none;

    backdrop-filter: blur(8px);

    transition: all 0.25s ease;
}

.lp-btn:hover {
    background: #ffffff;
    color: #000;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.25);
}

/* NAV */
.lp-slider-nav {
    position: absolute;
    bottom: 20px;
    right: 20px;
    z-index: 10;
}

.lp-slider-nav button {
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.25);
    color: #fff;
    font-size: 22px;
    padding: 10px 14px;
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.lp-slider-nav button:hover {
    background: #fff;
    color: #000;
}

/* ------------------------------------------------------------- */

.lp-features {
    width: 100%;
    padding: 70px 0;
    background: #fff;
}

/* SOLO ESTE CONTEXTO */
.lp-features > .lp-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}

/* GRID */
.lp-features-grid {
    display: grid;
    gap: 26px;
    align-items: start;
}

/* columnas dinámicas (SAFE) */
.lp-features.cols-1 .lp-features-grid { grid-template-columns: 1fr; }
.lp-features.cols-2 .lp-features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lp-features.cols-3 .lp-features-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lp-features.cols-4 .lp-features-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* CARD */
.lp-feature {
    text-align: center;
    padding: 26px 18px;
    transition: transform 0.25s ease;
    cursor: default;

    /* FIX CLAVE */
    min-width: 0;
}

/* hover */
.lp-feature:hover {
    transform: translateY(-6px);
}

/* ICONO */
.lp-feature-icon {
    font-size: 42px;
    margin-bottom: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s ease, color 0.25s ease;
    color: #111;
}

/* hover icon */
.lp-feature:hover .lp-feature-icon {transform: scale(1.15);color: var(--mw-primary-color, #000);}

/* TITLE */
.lp-feature-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 8px;
    color: #111;
    transition: transform 0.25s ease, color 0.25s ease;
}

.lp-feature:hover .lp-feature-title {transform: translateY(-2px);}

/* TEXT */

.lp-feature-text {font-size: 14px;line-height: 1.6;color: #555;margin: 0;transition: transform 0.25s ease, color 0.25s ease;}
.lp-feature:hover .lp-feature-text {transform: translateY(-2px);color: #333;}
.lp-about-subtitle{font-weight:600;}

/* RESPONSIVE SAFE */
@media (max-width: 992px) {

    .lp-features.cols-4 .lp-features-grid,
    .lp-features.cols-3 .lp-features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .lp-features-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================
   ABOUT SECTION
========================= */
.lp-about {
    width: 100%;
    padding: 0 0 80px;
    background: #fff;
}

.lp-about .lp-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* =========================
   GRID
========================= */
.lp-about-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

/* =========================
   IMAGE
========================= */
.lp-about-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 12px;
}

.lp-about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =========================
   TEXT
========================= */
.lp-about-text {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.lp-about-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 30px;
    font-weight: 700;
    color: #111;
}

.lp-about-title-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;
    background: rgba(0,0,0,0.05);

    font-size: 18px;
    color: var(--mw-primary-color);

    transition: 0.25s ease;
}

/* micro interaccion */
.lp-about-title:hover .lp-about-title-icon {
    transform: rotate(-5deg) scale(1.05);
    background: var(--mw-primary-color);
    color: var(--mw-text-on-primary);
}

.lp-about-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #555;
}

/* =========================
   SOCIAL ICONS
========================= */
.lp-about-socials {
    display: flex;
    gap: 14px;
    margin-top: 10px;
}

.lp-about-socials a {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: #f2f2f2;
    color: #111;

    font-size: 16px;
    transition: all 0.25s ease;
}

.lp-about-socials a:hover {
    background: var(--mw-primary-color);
    color: var(--mw-text-on-primary);
    transform: translateY(-3px);
}

/* =========================
   CONTACTO
========================= */
.lp-about-contact {
    margin-top: 20px;
}

.lp-about-contact-title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #111;
}

.lp-about-contact-icons {
    display: flex;
    gap: 14px;
}

.lp-about-contact-icons a {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: #f2f2f2;
    color: #111;

    font-size: 16px;
    transition: all 0.25s ease;
}

.lp-about-contact-icons a:hover {
    background: var(--mw-primary-color);
    color: var(--mw-text-on-primary);
    transform: translateY(-3px);
}

/* =========================
   CTA BUTTON
========================= */
.lp-about-btn {
    display: inline-flex;
    padding: 12px 28px;
    background: var(--mw-primary-color);
    color: var(--mw-text-on-primary);
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: 0.25s ease;
}

.lp-about-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

/* =========================
   TIPPY (consistencia global)
========================= */
.tippy-box[data-theme~='custom-dark'] {
    background-color: #111;
    color: #fff;
    font-size: 12px;
    border-radius: 6px;
    padding: 6px 8px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

.tippy-box[data-theme~='custom-dark'] .tippy-arrow {
    color: #111;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 900px) {

    .lp-about-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .lp-about-title {
        font-size: 24px;
    }

    .lp-about-socials,
    .lp-about-contact-icons {
        justify-content: center;
    }

    .lp-about-text {
        text-align: center;
        align-items: center;
    }

}

/* ------------------------------------------------------------*/

/* =========================
   GALLERY
========================= */

.lp-gallery .lp-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 80px;
}

.lp-gallery-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.lp-gallery-item {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border-radius: 8px;
}

.lp-gallery-item img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

/* HOVER ZOOM */
.lp-gallery-item:hover img {
    transform: scale(1.08);
}

.lp-gallery-video{
    position:relative;
    width:100%;
    padding-top:56.25%;
}

.lp-gallery-video iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    border-radius:10px;
}

.lp-gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lp-gallery-overlay i {
    color: #fff;
    font-size: 30px;
}

.lp-gallery-item:hover .lp-gallery-overlay {
    opacity: 1;
}

.lp-gallery-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.92);
    display: none;
    z-index: 9999;
}

.lp-gallery-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* CONTENEDOR */
.lp-gallery-modal-inner {
    width: 100%;
    max-width: 1280px; /* igual que tu container */
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

.lp-gallery-swiper img {
    width: 100%;
    max-height: 80vh;
    object-fit: contain;
}

/* BOTONES */
.lp-gallery-modal .swiper-button-next,
.lp-gallery-modal .swiper-button-prev {
    color: #fff;
}

.lp-gallery-close {
    position: absolute;
    top: -45px;
    right: 0;
    font-size: 34px;
    color: #000000;
    cursor: pointer;
    transition: transform 0.2s ease;
    border-radius: 50px;
    border: none;
    padding: 5px;
}

.lp-gallery-close:hover {
    transform: scale(1.2);
}

.lp-gallery-full {
    position: absolute;
    top: -45px;
    right: 50px;
    font-size: 22px;
    color: #000000;
    cursor: pointer;
    transition: transform 0.2s ease;
    border-radius: 50px;
    border: none;
    padding: 5px;
}

.lp-gallery-full:hover {
    transform: scale(1.2);
}

@media (max-width: 600px) {
    .lp-gallery-item img {
        height: 200px;
    }
}

/* =========================
   TESTIMONIALS SECTION
========================= */
.lp-testimonials {
    width: 100%;
    padding: 80px 0;
    background: var(--mw-primary-color);
    position: relative;
    overflow: hidden;
}

/* container */
.lp-testimonials .lp-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* title */
.lp-testimonials-title {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    color: var(--mw-text-on-primary);
    margin-bottom: 40px;
}

/* =========================
   WRAPPER FLEX
========================= */
.lp-testimonials-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* =========================
   SWIPER FIX (CRÍTICO)
========================= */
.lp-testimonials-slider {
    flex: 1;
    min-width: 0;
    width: 100%;
}

.swiper {
    padding-bottom: 5px;
}

.swiper-wrapper,
.swiper-slide {
    height: auto !important;
}

/* =========================
   NAV ARROWS (DESKTOP ONLY)
========================= */
.lp-testimonials-prev,
.lp-testimonials-next {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    color: #fff;
    transition: 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lp-testimonials-prev:hover,
.lp-testimonials-next:hover {
    background: rgba(255,255,255,0.3);
    transform: scale(1.05);
}

/* Swiper arrows icon fix */
.lp-testimonials-prev::after,
.lp-testimonials-next::after {
    font-size: 14px;
}

/* =========================
   CARD
========================= */
.lp-testimonial-card {
    background: #fff;
    border-radius: 14px;
    padding: 28px 20px;
    text-align: center;
    min-height: 260px;
    transition: 0.3s ease;
}

.lp-testimonial-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(0,0,0,0.15);
}

/* image */
.lp-testimonial-img {
    width: 78px;
    height: 78px;
    margin: 0 auto 15px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--mw-primary-color);
}

.lp-testimonial-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* text */
.lp-testimonial-text {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 12px;
}

/* name */
.lp-testimonial-name {
    font-weight: 600;
    color: #111;
}

/* =========================
   PAGINATION (DOTS)
========================= */
.lp-testimonials-pagination {
    margin-top: 30px !important;
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.swiper-pagination{
    position:relative !important;
}

.swiper-pagination-bullet {
    background: #ddd;
    opacity: 1;
    width: 10px;
    height: 10px;
}

.swiper-pagination-bullet-active {
    background: #ffffff !important;
    transform: scale(1.2);
}

/* =========================
   RESPONSIVE
========================= */

/* TABLET + MOBILE */
@media (max-width: 1024px) {

    /* ocultar flechas */
    .lp-testimonials-prev,
    .lp-testimonials-next {
        display: none !important;
    }

    /* layout vertical */
    .lp-testimonials-wrapper {
        flex-direction: column;
        gap: 20px;
    }
}

/* MOBILE SMALL */
@media (max-width: 768px) {

    .lp-testimonials {
        padding: 60px 0;
    }

    .lp-testimonials-title {
        font-size: 22px;
    }

    .lp-testimonial-card {
        min-height: auto;
    }
}

/* ----------------------------------------------------------- */


/* =========================
   FORM SECTION BASE
========================= */

.lp-form{
    width:100%;
    padding:80px 0 0;
}

.lp-form-container.lp-container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

.lp-form-hero{
    width:100%;
    margin-bottom:30px;
    overflow:hidden;
    border-radius:14px;
}

/* Imagen */
.lp-form-media{
    display:block;
    width:100%;
}

/* Imagen 
img.lp-form-media{
    height:450px;
    object-fit:cover;
}*/

/* Video HTML */
video.lp-form-media{
    height:450px;
    object-fit:cover;
}

/* Youtube / Vimeo */
.lp-form-hero{
    aspect-ratio:16/9;
    overflow:hidden;
    border-radius:14px;
}

iframe.lp-form-media{
    width:100%;
    height:100%;
    border:0;
}

/* HEADER CENTER */
.lp-form-header {text-align: center;margin-bottom: 30px;}
.lp-form-header h2 {font-size: 40px;width:75%;margin:80px auto 10px;}
.lp-form-header p{color: #666;}

/* FORM GRID (3 COLS) */
.lp-form-content {width: 100%;}
.lp-form-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 15px;}

/* INPUT BASE */
.lp-form-grid input,
.lp-form-content textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    outline: none;
    transition: all 0.25s ease;
    background: #e2e2e2;
}

/* FOCUS STATE */
.lp-form-grid input:focus,
.lp-form-content textarea:focus {
    border-color: var(--mw-primary-color);
    box-shadow: 0 0 0 3px rgba(0,0,0,0.05);
}

/* =========================
   TEXTAREA FULL WIDTH
========================= */
.lp-form-content textarea {
    margin-top: 15px;
    min-height: 140px;
    resize: none;
}

/* =========================
   BUTTON
========================= */
#mw_form_btn {
    margin-top: 20px;
    background: var(--mw-primary-color);
    color: var(--mw-text-on-primary);
    border: none;
    padding: 14px 22px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    transition: 0.25s ease;
}

#mw_form_btn:hover {
    transform: translateY(-2px);
}

/* =========================
   ERROR STATE (INLINE FIELD)
========================= */
.lp-form-grid input.error,
.lp-form-content textarea.error {
    border-color: #e74c3c;
    background: rgba(231, 76, 60, 0.04);
}

/* =========================
   SUCCESS STATE
========================= */
.lp-form-grid input.success {
    border-color: #2ecc71;
}

/* =========================
   SHAKE ANIMATION (ERROR)
========================= */
@keyframes lpShake {
    0% { transform: translateX(0); }
    20% { transform: translateX(-4px); }
    40% { transform: translateX(4px); }
    60% { transform: translateX(-3px); }
    80% { transform: translateX(3px); }
    100% { transform: translateX(0); }
}

.lp-shake {animation: lpShake 0.35s ease;}

/* =========================
   RESPONSIVE
========================= */

/* TABLET */
@media (max-width: 992px) {
    .lp-form-grid {grid-template-columns: 1fr 1fr;}
}

/* MOBILE */
@media (max-width: 600px) {
    .lp-form-grid {grid-template-columns: 1fr;}
    .lp-form-hero img {height: 220px;}
    .lp-form-header h2 {font-size: 22px;}
}

/* ----------------------- FAQ ACCORDION ----------------------------- */
.lp-faq {width: 100%;padding: 80px 0;background: #fff;}
.lp-faq .lp-container {max-width: 1200px;margin: 0 auto;padding: 0 20px;}
.lp-faq .lp-section-title{text-align:center;margin-bottom:30px;}
.lp-faq-accordion {display: flex;flex-direction: column;gap: 14px;}

.lp-faq-item {border: 1px solid rgba(0,0,0,0.08);border-radius: 12px;overflow: hidden;transition: all 0.25s ease;}

.lp-faq-question {width: 100%;display: flex;justify-content: space-between;align-items: center;padding: 18px 20px;background: #fff;border: none;
cursor: pointer;font-size: 15px;font-weight: 600;color: #111;transition: background 0.25s ease;}

.lp-faq-question:hover {background: rgba(0,0,0,0.02);}
.lp-faq-icon {transition: transform 0.25s ease;}

/* ANSWER */
.lp-faq-answer {max-height: 0;overflow: hidden;transition: max-height 0.35s ease;background: #fafafa;}
.lp-faq-answer-inner {padding: 0 20px 18px;font-size: 14px;line-height: 1.6;color: #555;}

.lp-faq-item.active .lp-faq-answer {max-height: 300px;} /* ACTIVE STATE */
.lp-faq-item.active .lp-faq-icon {transform: rotate(180deg);}
.lp-faq-item.active {border-color: var(--mw-primary-color);} /* ACTIVE BORDER */
.lp-faq-item:hover {transform: translateY(-2px);} /* HOVER LIFT (subtle) */

/* RESPONSIVE */
@media (max-width: 600px) {
    .lp-faq-question {font-size: 14px;padding: 16px;}
}

/* ------------------ FOOTER ------------------------ */

.lp-footer {width: 100%;background: #1f1f1f;padding: 100px 0;color: #ccc;}
.lp-footer-container.lp-container {max-width: 1200px;margin: 0 auto;padding: 0 20px;display: grid;grid-template-columns: 1fr auto 1fr;align-items: center;}

.lp-footer-col {display: flex;align-items: center;}
.lp-footer-left {justify-content: flex-start;font-size: 13px;flex-direction: column;align-items: flex-start;}
.lp-footer-left span {color: #ccc;}

.lp-footer-socials{display:flex;align-items:center;gap:12px;}

.lp-footer-center img{max-width:250px;height:auto;display:block;}
.lp-footer-logo{max-width:180px;height:auto;display:block;}

.lp-footer-logo:not(.is-marketing-logo){filter: brightness(0) invert(1);}
.lp-footer-logo.is-marketing-logo{filter:none;}

.lp-footer-credits {display: block;font-size: 12px;margin-top: 8px;color: #aaa;}
.lp-footer-credits a {color: #fff;text-decoration: none;transition: all 0.25s ease;position: relative;}
.lp-footer-credits a:hover {text-decoration:underline;}

.lp-footer-center {justify-content: center;}
.lp-footer-center img {height: 70px;filter: brightness(0) invert(1);opacity: 0.9;transition: 0.25s ease;}
.lp-footer-center img:hover {opacity: 1;transform: scale(1.05);}
.lp-footer-right {display:flex;flex-direction:column;align-items:flex-end;gap: 14px;}

/* ICONOS */
.lp-footer-icon {color: #ccc;font-size: 17px;transition: all 0.25s ease;display: inline-flex;align-items: center;justify-content: center;}
.lp-footer-icon:hover {color: #fff;transform: translateY(-2px);}

.tippy-box[data-theme~='custom-dark'] {background-color: #111;color: #fff;font-size: 12px;border-radius: 6px;padding: 6px 8px;box-shadow: 0 8px 20px rgba(0,0,0,0.35);}
.tippy-box[data-theme~='custom-dark'] .tippy-arrow {color: #111;}

@media (max-width: 768px) {
    .lp-footer-container.lp-container {grid-template-columns: 1fr;gap: 20px;text-align: center;}
    .lp-footer-left, .lp-footer-center, .lp-footer-right {justify-content: center;align-items: center;}
    .lp-footer-left {align-items: center;}
}
/* =====================================================
   DARK MODE
===================================================== */

/* -----------------------------------------------------
   VARIABLES DARK MODE
   Cambia aquí los colores principales del modo oscuro
----------------------------------------------------- */

html.mw-darkmode {
    color-scheme: dark;
    --mw-dark-bg: /*#0f1115*/#040404;
    --mw-dark-white: #ffffff;
}

/* =====================================================
   DARK MODE TOGGLE
===================================================== */

.mw-dark-toggle{
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f3f4f6;
    color:#111;
    transition:.25s ease;
}

.mw-dark-toggle:hover{
    transform:translateY(-2px);
}


/* =====================================================
   BODY
===================================================== */

html.mw-darkmode body {
    background: var(--mw-dark-bg);
    color: #e8e8e8;
}


/* =====================================================
   HEADER
===================================================== */

html.mw-darkmode .lp-header {
    background: var(--mw-dark-bg);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

html.mw-darkmode .lp-logo,
html.mw-darkmode .lp-menu-logo{
    filter: brightness(0) invert(1);
}

html.mw-darkmode .lp-menu-toggle span{
    background: var(--mw-dark-white);
}

html.mw-darkmode .lp-header.scrolled {
    box-shadow: 0 10px 30px rgba(0,0,0,.45);
}


/* =====================================================
   MENÚ
===================================================== */

html.mw-darkmode .lp-menu {
    background: var(--mw-dark-bg);
    border-right: 1px solid rgba(255,255,255,.08);
}

html.mw-darkmode .lp-menu-links{
    background: var(--mw-dark-bg);
}

html.mw-darkmode .lp-menu-links a {
    color: var(--mw-dark-white);
}

html.mw-darkmode .lp-menu-links a::after{
    background:color-mix(
        in srgb,
        var(--mw-primary-color) 85%,
        white
    );
}


/* =====================================================
   SECCIONES CON FONDO DARK
===================================================== */

html.mw-darkmode .lp-features,
html.mw-darkmode .lp-about,
html.mw-darkmode .lp-faq,
html.mw-darkmode .lp-gallery,
html.mw-darkmode .lp-form {
    background: var(--mw-dark-bg);
}


/* =====================================================
   FEATURES
===================================================== */

html.mw-darkmode .lp-feature-title {
    color: var(--mw-dark-white);
}

html.mw-darkmode .lp-feature-text {
    color: #bfc6d0;
}

html.mw-darkmode .lp-feature-icon {
    color: var(--mw-dark-white);
}

html.mw-darkmode .lp-feature:hover .lp-feature-icon{
    color: color-mix(
        in srgb,
        var(--mw-primary-color) 85%,
        white
    );
}

html.mw-darkmode .lp-feature:hover .lp-feature-text{
    color: var(--mw-dark-white);
}


/* =====================================================
   ABOUT
===================================================== */

html.mw-darkmode .lp-about-title-icon{
    background: var(--mw-primary-color);
    color: rgba(255, 255, 255, 1);
}

html.mw-darkmode .lp-about-title {
    color: var(--mw-dark-white);
}

html.mw-darkmode .lp-about-desc {
    color: #c5cbd4;
}

html.mw-darkmode .lp-about-contact-title {
    color: var(--mw-dark-white);
}


/* =====================================================
   FAQ
===================================================== */

html.mw-darkmode .lp-faq-question{
    background:color-mix(
        in srgb,
        var(--mw-primary-color) 85%,
        white
    );
    color:var(--mw-dark-white);
}

html.mw-darkmode .lp-faq-answer-inner{
    background:color-mix(
        in srgb,
        var(--mw-primary-color) 85%,
        white
    );
    color:var(--mw-dark-white);
}

/* .lp-faq-item se deja intacto */

html.mw-darkmode .lp-faq .lp-section-title{
    color:var(--mw-dark-white);
}


/* =====================================================
   REDES SOCIALES / CONTACTO
===================================================== */

html.mw-darkmode .lp-about-socials a,
html.mw-darkmode .lp-about-contact-icons a {
    background: color-mix(
        in srgb,
        var(--mw-primary-color) 85%,
        white
    );
    color: var(--mw-dark-white);
}


/* =====================================================
   GALERÍA
===================================================== */

html.mw-darkmode .lp-gallery h2 {
    color: var(--mw-dark-white);
}


/* =====================================================
   FORMULARIO
===================================================== */

html.mw-darkmode .lp-form-header h2 {
    color: var(--mw-dark-white);
}

html.mw-darkmode .lp-form-header p {
    color: #c5cbd4;
}

html.mw-darkmode .lp-form-grid input::placeholder,
html.mw-darkmode .lp-form-content textarea::placeholder {
    color: var(--mw-dark-white);
    opacity:.8;
}

html.mw-darkmode .lp-form-grid input,
html.mw-darkmode .lp-form-content textarea {
    background: color-mix(
        in srgb,
        var(--mw-primary-color) 85%,
        white
    );
    border-color: color-mix(
        in srgb,
        var(--mw-primary-color) 85%,
        white
    );
    color: var(--mw-dark-white);
}


/* =====================================================
   OVERLAY / MODAL
===================================================== */

html.mw-darkmode .lp-overlay {
    background: rgba(0,0,0,.65);
}

html.mw-darkmode .lp-gallery-close,
html.mw-darkmode .lp-gallery-full {
    color: var(--mw-dark-white);
}
