/* Lexmi - Fase 1: identidad visual (oct 2026) */
body, p, li, a, input, textarea, select, button { font-family: 'Montserrat', sans-serif !important; }
h1, h2, h3 { font-family: 'Montserrat', sans-serif !important; font-weight: 800 !important; letter-spacing: -0.01em; }
h4, h5, h6 { font-family: 'Montserrat', sans-serif !important; font-weight: 700 !important; }
.lx-submarca { font-family: 'Bebas', 'Bebas Neue', sans-serif !important; letter-spacing: .02em; }

/* Enlaces de contacto clicables */
a[href^="tel:"], a[href^="mailto:"] { color: inherit; text-decoration: none; }
a[href^="tel:"]:hover, a[href^="mailto:"]:hover { text-decoration: underline; }

/* Boton flotante de WhatsApp */
.lx-wa { position: fixed; right: 20px; bottom: 20px; z-index: 9999; background: #25D366; color: #fff !important; font: 600 15px/1 'Montserrat', sans-serif; padding: 14px 20px; border-radius: 999px; box-shadow: 0 4px 14px rgba(0,0,0,.25); text-decoration: none !important; }
.lx-wa:hover { background: #1EBE5A; }
@media (max-width: 600px) { .lx-wa { right: 16px; bottom: 16px; padding: 14px 16px; font-size: 14px; } }

/* Lexmi - Fase 2: hero, sello de confianza y tarjetas */
.lx-hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px !important; }
.lx-btn { display: inline-block; padding: 14px 26px; border-radius: 6px; font-weight: 700 !important; font-size: 16px; line-height: 1.2; text-decoration: none !important; transition: background .2s, color .2s, border-color .2s; }
.lx-btn-primary { background: #84171C; color: #fff !important; border: 2px solid #84171C; }
.lx-btn-primary:hover { background: #6A1217; border-color: #6A1217; }
.lx-btn-wa { background: transparent; color: #fff !important; border: 2px solid #fff; }
.lx-btn-wa:hover { background: #fff; color: #172239 !important; }
.lx-seal { display: flex; align-items: center; gap: 10px; margin-top: 16px !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .06em; text-transform: uppercase; opacity: .9; }
.lx-seal::before { content: ''; display: inline-block; width: 28px; height: 2px; background: currentColor; }
@media (max-width: 600px) { .lx-btn { width: 100%; text-align: center; } }

.lx-card-title { color: inherit !important; text-decoration: none !important; }
.lx-card-link { color: #fff !important; font-weight: 700 !important; text-decoration: none !important; border-bottom: 2px solid rgba(255,255,255,.6); padding-bottom: 2px; }
.lx-card-link::after { content: ''; position: absolute; inset: 0; z-index: 2; }
.zpelem-col:has(.lx-card-link) { position: relative; cursor: pointer; transition: transform .2s, box-shadow .2s; }
.zpelem-col:has(.lx-card-link):hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(23,34,57,.18); }
.zpelem-col:has(.lx-card-link):hover .lx-card-link { border-bottom-color: #fff; }

/* Lexmi - Fase 3: pagina de Servicios */
.lx-intro { font-size: 18px !important; max-width: 760px; }
.lx-jump { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px !important; }
.lx-jump a { padding: 8px 16px; border: 1px solid #172239; border-radius: 999px; color: #172239 !important; font-weight: 600; font-size: 14px; text-decoration: none !important; }
.lx-jump a:hover { background: #172239; color: #fff !important; }
[id=real-estate], [id=startups], [id=emprendedores], [id=companion], [id=property-pro], [id=corpo-counsel], [id=advisor] { scroll-margin-top: 110px; }
.lx-eyebrow { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; color: #84171C !important; margin: 8px 0 4px !important; }
.lx-svc-title { font-size: 20px !important; line-height: 1.25 !important; color: #172239 !important; margin: 0 0 10px !important; }
.lx-svc-title .lx-submarca { display: block; font-size: 34px; line-height: 1; color: #84171C; font-weight: 400 !important; margin-bottom: 4px; }
.lx-price { font-size: 20px !important; font-weight: 800 !important; color: #172239 !important; margin: 0 0 12px !important; }
.lx-price span { display: block; font-size: 13px; font-weight: 500; color: #5B5C5E; }
.lx-checks { list-style: none; padding: 0 !important; margin: 12px 0 !important; }
.lx-checks li { position: relative; padding-left: 26px; margin-bottom: 8px; }
.lx-checks li::before { content: '\2713'; position: absolute; left: 0; top: 0; color: #84171C; font-weight: 800; }
.lx-svc-ctas { display: flex; flex-direction: column; gap: 10px; margin-top: 16px !important; }
.lx-svc-ctas .lx-btn { text-align: center; }
.lx-btn-ghost { background: transparent; color: #172239 !important; border: 2px solid #172239; }
.lx-btn-ghost:hover { background: #172239; color: #fff !important; }
.zpelem-col:has(.lx-svc-title) img { max-width: 160px !important; height: auto !important; }

/* Lexmi - Equipo (Nosotros) */
.lx-team { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 24px; margin: 24px 0 !important; }
.lx-member { margin: 0 !important; background: #F3F3F3; border-radius: 8px; overflow: hidden; }
.lx-member img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; }
.lx-member figcaption { padding: 14px 16px 18px; }
.lx-member strong { display: block; font-size: 17px; font-weight: 800; color: #172239; }
.lx-role { display: block; margin-top: 2px; font-size: 13px; font-weight: 700; color: #84171C; text-transform: uppercase; letter-spacing: .04em; }
.lx-bio { display: block; margin-top: 8px; font-size: 14px; line-height: 1.45; color: #333; }
.lx-team-cta a { color: #84171C !important; font-weight: 700; }

/* Lexmi - Fase 4: formulario de contacto */
ul.zpform-outer { display: flex !important; flex-direction: column; }
ul.zpform-outer > li { order: 1; }
ul.zpform-outer > li:has(textarea) { order: 2; }
ul.zpform-outer > li:has(img), ul.zpform-outer > li:has([name=zc_captcha]), ul.zpform-outer > li:not(:has(input, textarea, select)) { order: 3; }
ul.zpform-outer > li:has(input[type=submit]) { order: 4; }
body .zpform-container ul.zpform-outer li input[type=submit], body .zpform-container ul.zpform-outer li input[type=submit]:focus { background: #84171C !important; border-color: #84171C !important; color: #fff !important; font-weight: 700 !important; padding: 14px 28px !important; border-radius: 6px !important; }
body .zpform-container ul.zpform-outer li input[type=submit]:hover { background: #6A1217 !important; }
@media (max-width: 600px) { ul.zpform-outer input[type=submit] { width: 100%; } }
