
/* ===== Legal Broker · motion ===== */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
body { background: #222; -webkit-font-smoothing: antialiased; }
::selection { background: #fff; color: #222; }

/* Header fijo que se oculta al bajar y aparece al subir */
.elementor-location-header { position: sticky; top: 0; z-index: 999; transition: transform .5s cubic-bezier(.22,1,.36,1); }
.elementor-location-header.lb-hide { transform: translateY(-100%); }
.lb-header { transition: padding .4s ease, background-color .4s ease, backdrop-filter .4s ease; }
.lb-scrolled .lb-header { padding-top: 16px !important; padding-bottom: 16px !important; background-color: rgba(34,34,34,.82) !important; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.lb-nav .elementor-nav-menu .current-menu-item > a { font-weight: 700; }
.admin-bar .elementor-location-header { top: 32px; }

/* Hero */
.lb-hero { position: relative; }
.lb-hero .elementor-background-video-container { transform: scale(1.08); }
.lb-hero > .e-con-inner, .lb-hero .elementor-widget-html { position: static; }
.lb-rot { display: grid; }
.lb-rot-word { grid-area: 1 / 1; visibility: hidden; white-space: nowrap; }
.lb-rot-word.is-active { visibility: visible; }
.lb-hero-tag { position: relative; display: flex; align-items: flex-end; margin: 24px 0 0 14%; height: 130px; }
.lb-hero-line { display: block; flex: 0 0 min(58vw, 690px); height: 100%; border-left: 1px solid rgba(255,255,255,.75); border-bottom: 1px solid rgba(255,255,255,.75); transform-origin: left top; }
.lb-hero-label { color: #eee; font: 300 15px/1 Onest, sans-serif; letter-spacing: 1.5px; text-transform: uppercase; margin: 0 0 -7px 22px; white-space: nowrap; }
.lb-hero-social { position: absolute !important; right: 4%; top: 50%; transform: translateY(-50%); width: auto !important; }
.lb-hero-social .elementor-social-icons-wrapper { display: flex; flex-direction: column; }
.lb-hero-social .elementor-grid-item { margin: 0 0 10px !important; }
.lb-hero-dots { position: absolute; left: 50%; bottom: 46px; transform: translateX(-50%); display: flex; gap: 46px; }
.lb-hero-dots span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #fff; font: 600 11px Onest, sans-serif; border: 1px solid transparent; transition: border-color .5s, transform .5s; }
.lb-hero-dots span.is-active { border-color: #fff; transform: scale(1.12); font-size: 13px; }
.lb-scroll-hint { position: absolute; left: 7.5%; bottom: 46px; width: 1px; height: 64px; background: rgba(255,255,255,.25); overflow: hidden; }
.lb-scroll-hint span { position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: #fff; animation: lbScroll 2.2s cubic-bezier(.65,0,.35,1) infinite; }
@keyframes lbScroll { to { top: 100%; } }

/* Títulos de sección */
.lb-section-title { display: flex; align-items: flex-end; gap: 18px; }
.lb-section-title h2 { margin: 0; font: 300 30px/1.12 Onest, sans-serif; text-transform: uppercase; color: #111; }
.lb-section-title h2 span, .lb-section-title h2 strong { display: block; }
.lb-section-title h2 strong { font-weight: 600; }
.lb-title-line { position: relative; display: block; width: min(34vw, 450px); height: 48px; border-top: 1px solid #777; border-right: 1px solid #777; margin-bottom: -40px; transform-origin: left; }

/* Imágenes con efecto hover */
.lb-cover, .lb-cover .elementor-widget-container, .lb-cover img { width: 100%; height: 100%; }
.lb-cover { position: absolute !important; inset: 0; }
.lb-cover img { object-fit: cover; transform: scale(1.12); transition: transform 1.4s cubic-bezier(.22,1,.36,1), filter 1s; }
.lb-testimonial .lb-img-reveal { position: relative; }
.lb-testimonial:hover .lb-cover img { transform: scale(1.18); }
.lb-quote .elementor-testimonial-content { position: relative; padding-left: 46px; }
.lb-quote .elementor-testimonial-content::before { content: "\201C"; position: absolute; left: 0; top: -14px; font: 600 64px/1 Georgia, serif; color: #fff; }
.lb-quote .elementor-testimonial-meta { margin-left: 46px; margin-top: 26px; }
.lb-quote .elementor-testimonial-image img { filter: grayscale(1); transition: filter .6s, transform .6s; }
.lb-quote:hover .elementor-testimonial-image img { filter: none; transform: scale(1.08); }

/* Tarjetas de noticias */
.lb-card { position: relative; isolation: isolate; cursor: pointer; }
.lb-card .lb-card-img { position: absolute !important; inset: 0; z-index: -2; width: 100% !important; margin: 0 !important; }
.lb-card .lb-card-img .elementor-widget-container, .lb-card .lb-card-img img { width: 100%; height: 100%; }
.lb-card .lb-card-img img { object-fit: cover; filter: grayscale(1) brightness(.62); transform: scale(1.04); transition: transform 1.2s cubic-bezier(.22,1,.36,1), filter .9s ease; }
.lb-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.65)); opacity: .5; transition: opacity .8s; }
.lb-card:hover .lb-card-img img { transform: scale(1.14); filter: grayscale(.15) brightness(.5); }
.lb-card:hover::after { opacity: 1; }
.lb-card .lb-card-title { transition: transform .8s cubic-bezier(.22,1,.36,1); }
.lb-card:hover .lb-card-title { transform: translateY(-10px); }
.lb-card .lb-card-icon { position: absolute !important; right: 24px; bottom: 22px; width: auto !important; }
.lb-card .lb-card-icon .elementor-icon { transition: transform .6s cubic-bezier(.22,1,.36,1); }
.lb-card:hover .lb-card-icon .elementor-icon { transform: translateY(-6px) rotate(-12deg); }

/* Contadores */
.lb-counter .elementor-counter-number-wrapper { justify-content: flex-start !important; }

/* Banda Derecho y Propiedad */
.lb-band { position: relative; }
.lb-marquee { width: 100%; overflow: hidden; white-space: nowrap; }
.lb-marquee .elementor-heading-title { display: inline-flex; white-space: nowrap; }
.lb-marquee-track { display: inline-flex; white-space: nowrap; will-change: transform; }
.lb-marquee-track > span { padding-right: .45em; }
.lb-marquee-track > span:nth-child(even) { -webkit-text-stroke: 1.5px #fff; color: transparent; }
.lb-glass { width: auto !important; padding: 14px 40px; border-radius: 14px; background: rgba(255,255,255,.12); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.18); }

/* Formulario */
.lb-form .elementor-field-group .elementor-field { padding: 16px 18px !important; transition: background-color .3s, border-color .3s; }
.lb-form .elementor-field:focus { background: #fff !important; border-color: #222 !important; }
.lb-form .elementor-button { transition: background-color .3s, transform .3s; }
.lb-contact-list p { margin-bottom: 14px; }

/* Cursor personalizado */
.lb-cursor { position: fixed; top: 0; left: 0; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: #fff; mix-blend-mode: difference; pointer-events: none; z-index: 99999; transition: width .35s, height .35s, margin .35s; }
.lb-cursor.is-hover { width: 64px; height: 64px; margin: -32px 0 0 -32px; }
@media (hover: none), (max-width: 1024px) { .lb-cursor { display: none; } }

/* Móvil */
@media (max-width: 767px) {
	.lb-hero-tag { margin-left: 8%; height: 80px; }
	.lb-hero-line { flex-basis: 52vw; }
	.lb-hero-label { font-size: 12px; margin-left: 12px; }
	.lb-hero-social { right: 14px; top: auto; bottom: 120px; transform: none; }
	.lb-hero-dots { gap: 18px; bottom: 34px; }
	.lb-scroll-hint { display: none; }
	.lb-title-line { width: 30vw; }
	.lb-section-title h2 { font-size: 24px; }
	.lb-stat { padding-left: 22px !important; }
	.lb-band { background-attachment: scroll !important; }
	.lb-glass { padding: 12px 22px; }
	.lb-quote .elementor-testimonial-content { padding-left: 38px; }
	.lb-quote .elementor-testimonial-meta { margin-left: 38px; }
}
@media (prefers-reduced-motion: reduce) { .lb-scroll-hint span { animation: none; } }

/* Ajustes */
.lb-signature img { filter: invert(1) brightness(.88); }
.lb-cover img { object-position: 22% center; transform: scale(1.05); }
.lb-testimonial:hover .lb-cover img { transform: scale(1.1); }
.lb-nav .elementor-nav-menu--main a.elementor-item-active:not(.lb-active) { font-weight: 300; }
.lb-nav .elementor-nav-menu--main a.lb-active { font-weight: 700; }
.lb-nav .elementor-nav-menu--main a.elementor-item-active:not(.lb-active)::after { opacity: 0 !important; }
.lb-nav .elementor-nav-menu--main a.lb-active::after { opacity: 1 !important; width: 100% !important; left: 0 !important; }
.lb-counter .elementor-counter { align-items: flex-start; text-align: left; }
@media (max-width: 767px) {
	.lb-hero-tag { flex-wrap: wrap; height: auto; margin-left: 10%; }
	.lb-hero-line { flex: 0 0 60vw; height: 70px; }
	.lb-hero-label { flex: 1 0 100%; margin: 14px 0 0 0; padding-left: 20%; }
	.lb-hero-social { top: auto; bottom: 96px; right: 22px; }
	.lb-hero-social .elementor-social-icons-wrapper { flex-direction: row; gap: 10px; }
	.lb-hero-social .elementor-grid-item { margin: 0 !important; }
	.lb-section-title h2 { white-space: nowrap; }
	.lb-title-line { width: 20vw; height: 36px; margin-bottom: -28px; }
}


/* ===== v1.1 · Paleta oliva / crema, menú portátil, testimonio y formulario ===== */
:root { --lb-olive: #3B3C2F; --lb-cream: #E9E6DE; --lb-olive-soft: #5D5E4F; }

/* Menú en portátiles (1025–1360 px) */
@media (min-width: 1025px) and (max-width: 1599px) {
	.lb-header { padding-left: 40px !important; padding-right: 40px !important; }
	.lb-nav .elementor-nav-menu--main .elementor-item { font-size: 11px !important; font-weight: 400; letter-spacing: .9px !important; padding-left: 10px !important; padding-right: 10px !important; }
	.lb-header .lb-magnetic .elementor-button { font-size: 11px !important; letter-spacing: 1.2px !important; padding: 6px 9px !important; }
}

/* Accesibilidad: foco visible con teclado */
a:focus-visible, button:focus-visible, .elementor-button:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--lb-cream); outline-offset: 3px; }
.lb-panel a:focus-visible, .lb-panel .elementor-button:focus-visible, .lb-testimonial-side a:focus-visible { outline-color: var(--lb-olive); }

/* Testimonio */
.lb-testimonial-side { position: relative; overflow: hidden; }
.lb-testimonial-side::before { content: "\201C"; position: absolute; right: -20px; top: -90px; font: 700 420px/1 Georgia, serif; color: rgba(59,60,47,.07); pointer-events: none; }
.lb-quote { position: relative; z-index: 1; }
.lb-quote .elementor-testimonial-content { padding: 84px 0 0 0 !important; }
.lb-quote .elementor-testimonial-content::before { left: 0; top: -6px; font: 700 110px/1 Georgia, serif; color: var(--lb-olive); }
.lb-quote .elementor-testimonial-meta { margin: 36px 0 0 0 !important; padding-top: 28px; border-top: 1px solid rgba(59,60,47,.25); }
.lb-quote .elementor-testimonial-meta-inner { align-items: center; }
.lb-quote .elementor-testimonial-image img { border: 3px solid var(--lb-cream); box-shadow: 0 0 0 2px var(--lb-olive); }
.lb-quote .elementor-testimonial-name { letter-spacing: .3px; }
@media (max-width: 767px) {
	.lb-testimonial-side::before { font-size: 260px; top: -50px; }
	.lb-quote .elementor-testimonial-content { padding-top: 64px !important; }
	.lb-quote .elementor-testimonial-content::before { font-size: 84px; }
}

/* Formulario de contacto: tarjeta con etiquetas flotantes */
.lb-contact-panel .e-con:has(> .elementor-widget-form) { background: #fff; border-radius: 28px; padding: 48px 44px 44px !important; box-shadow: 0 40px 80px -40px rgba(59,60,47,.45), 0 2px 0 rgba(59,60,47,.05); }
.lb-form .elementor-field-group { position: relative; }
.lb-form .elementor-field-group .elementor-field { padding: 26px 0 10px !important; background: transparent !important; border-radius: 0 !important; transition: border-color .3s, box-shadow .45s cubic-bezier(.22,1,.36,1) !important; }
.lb-form .elementor-field-group .elementor-field:focus { background: transparent !important; border-color: rgba(59,60,47,.35) !important; box-shadow: inset 0 -2px 0 var(--lb-olive) !important; outline: none; }
.lb-form textarea.elementor-field { resize: none; min-height: 96px; }
.lb-form .elementor-field-label { position: absolute; left: 0; top: 26px; margin: 0 !important; pointer-events: none; transform-origin: left top; transition: transform .4s cubic-bezier(.22,1,.36,1), color .3s; z-index: 1; }
.lb-form .elementor-field-group:has(.elementor-field:focus) .elementor-field-label,
.lb-form .elementor-field-group:has(.elementor-field:not(:placeholder-shown)) .elementor-field-label { transform: translateY(-22px) scale(.8); color: var(--lb-olive); }
.lb-form .elementor-mark-required .elementor-field-label::after { color: var(--lb-olive-soft); }
.lb-form .e-form__buttons, .lb-form .elementor-field-type-submit { margin-top: 14px; }
.lb-form .elementor-button { padding: 20px 30px !important; justify-content: space-between; }
.lb-form .elementor-button .elementor-button-content-wrapper { width: 100%; justify-content: space-between; }
.lb-form .elementor-button .elementor-button-icon { transition: transform .45s cubic-bezier(.22,1,.36,1); }
.lb-form .elementor-button:hover .elementor-button-icon { transform: translateX(6px); }
.lb-form .elementor-message-success { color: var(--lb-olive); }
@media (max-width: 767px) {
	.lb-contact-panel .e-con:has(> .elementor-widget-form) { padding: 34px 22px 26px !important; border-radius: 20px; }
}
.lb-form .e-form__buttons .elementor-button { flex: 1 1 100%; width: 100%; }
.lb-form .elementor-field-group .elementor-field { text-transform: none !important; letter-spacing: .2px !important; font-size: 16px !important; font-weight: 400 !important; }
.lb-form .elementor-field-label { text-transform: uppercase; letter-spacing: 1.2px; font-size: 12px; font-weight: 500; }

/* QA tablet (768–1024) */
@media (min-width: 768px) and (max-width: 1024px) {
	.lb-hero-tag { margin-left: 8%; height: 100px; flex-wrap: wrap; }
	.lb-hero-line { flex: 0 0 55vw; height: 90px; }
	.lb-hero-label { flex: 1 0 100%; margin: 14px 0 0 0; padding-left: 28%; }
	.lb-hero-social { top: auto; bottom: 110px; right: 32px; transform: none; }
	.lb-hero-social .elementor-social-icons-wrapper { flex-direction: row; gap: 10px; }
	.lb-hero-social .elementor-grid-item { margin: 0 !important; }
	.lb-stats .lb-stat { flex: 1 1 0; min-width: 0; }
}

/* v1.1 · Ajustes: menú sin salto al hover, cifras a los bordes, etiqueta crema */
.lb-nav .elementor-nav-menu--main .elementor-item,
.lb-nav .elementor-nav-menu--main .elementor-item:hover,
.lb-nav .elementor-nav-menu--main .elementor-item:focus,
.lb-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { padding-top: 4px !important; padding-bottom: 4px !important; }
.lb-stats > .e-con-inner, .lb-stats { align-items: flex-start !important; }
@media (min-width: 1025px) {
	.lb-stats .lb-stat { width: auto !important; flex: 0 0 auto !important; max-width: 32%; }
}
.lb-glass { background: #E9E6DE !important; border: 0 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.lb-glass .elementor-heading-title { color: #3B3C2F !important; font-weight: 600; }

/* v1.1.1 · Testimonio y contacto más compactos */
.lb-testimonial-side::before { font-size: 300px; top: -70px; }
.lb-quote .elementor-testimonial-content { padding-top: 58px !important; }
.lb-quote .elementor-testimonial-content::before { font-size: 76px; top: -4px; }
.lb-quote .elementor-testimonial-meta { margin-top: 24px !important; padding-top: 20px; }
.lb-quote .elementor-testimonial-image img { width: 60px !important; height: 60px !important; }
.lb-contact-panel .e-con:has(> .elementor-widget-form) { padding: 34px 36px 32px !important; }
.lb-form .elementor-field-group .elementor-field { padding: 22px 0 8px !important; }
.lb-form .elementor-field-label { top: 22px; }
.lb-form .elementor-field-group:has(.elementor-field:focus) .elementor-field-label,
.lb-form .elementor-field-group:has(.elementor-field:not(:placeholder-shown)) .elementor-field-label { transform: translateY(-18px) scale(.8); }
.lb-form textarea.elementor-field { min-height: 64px; }
.lb-form .e-form__buttons, .lb-form .elementor-field-type-submit { margin-top: 8px; }
.lb-form .elementor-button { padding: 17px 28px !important; }

/* ===== v1.2 · Páginas internas ===== */
.lb-section-title.is-light h2 { color: #EDEDED; }
.lb-section-title.is-light .lb-title-line { border-color: #8a8a89; }
.lb-img-reveal img { display: block; width: 100%; height: auto; }
.lb-zoom .elementor-widget-container { overflow: hidden; }
.lb-zoom img { transition: filter 1s ease; }
.lb-zoom .elementor-widget-image .elementor-widget-container, .lb-zoom .elementor-widget-theme-post-featured-image .elementor-widget-container { transition: transform 1.4s cubic-bezier(.22,1,.36,1); }
.lb-zoom:hover .elementor-widget-image .elementor-widget-container, .lb-zoom:hover .elementor-widget-theme-post-featured-image .elementor-widget-container { transform: scale(1.06); }

/* Por qué Legal Broker */
.lb-why-title strong { font-weight: 600; }
.lb-rich p { margin: 0 0 1.05em; }
.lb-rich strong { font-weight: 600; }

/* Valores: textura con bordes diagonales */
.lb-values { position: relative; clip-path: polygon(0 0, 100% 140px, 100% 100%, 0 100%); }
.lb-values::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 146px; background: #222; clip-path: polygon(0 0, 100% 100%, 0 100%); pointer-events: none; }
.lb-value .lb-value-icon img { transition: transform .6s cubic-bezier(.22,1,.36,1); }
.lb-value:hover .lb-value-icon img { transform: translateY(-8px) rotate(-6deg) scale(1.06); }
@media (max-width: 767px) {
	.lb-values { clip-path: polygon(0 0, 100% 60px, 100% 100%, 0 100%); }
	.lb-values::after { height: 61px; }
}

/* Nuestra historia */
.lb-corner-line { display: block; height: 48px; border-top: 1px solid #9a9a99; border-left: 1px solid #9a9a99; margin: 0 0 30px -40px; }
@media (max-width: 1024px) { .lb-corner-line { margin-left: 0; } .lb-history-img { align-self: flex-start; } }

/* Equipo */
.lb-team > .lb-member, .lb-team > .e-con-inner > .lb-member { width: calc(25% - 30px) !important; }
@media (max-width: 1024px) { .lb-team > .lb-member { width: calc(33.333% - 27px) !important; } }
@media (max-width: 767px) { .lb-team > .lb-member { width: calc(50% - 10px) !important; } }
.lb-member-photo, .lb-member-photo .elementor-widget-container { overflow: hidden; }
.lb-member-photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: grayscale(1) contrast(1.02); transform: scale(1.01); transition: filter .9s ease, transform 1.2s cubic-bezier(.22,1,.36,1); }
.lb-member:hover .lb-member-photo img { filter: grayscale(0); transform: scale(1.07); }
.lb-member .elementor-widget-heading:first-of-type .elementor-heading-title { transition: color .4s; }
.lb-member:hover h3.elementor-heading-title { color: #E9E6DE !important; }
.lb-member-bio a { color: #C9C9C9; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .5s, color .3s; }
.lb-member-bio a:hover { color: #E9E6DE; background-size: 100% 1px; }
.lb-member-bio p { margin: 0 0 .4em; }
@media (max-width: 767px) { .lb-member-bio { font-size: 12px !important; } }

/* Archivo de noticias: paginación */
.lb-news-archive .elementor-pagination { font: 500 15px Onest, sans-serif; letter-spacing: 1px; }
.lb-news-archive .elementor-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 40px; height: 40px; border-radius: 50%; transition: background .3s, color .3s; }
.lb-news-archive .elementor-pagination .page-numbers.current { background: #E9E6DE; color: #3B3C2F !important; }

/* Detalle de noticia */
.lb-breadcrumb { margin: 0 0 30px 95px; font: 300 30px/1.1 Onest, sans-serif; color: #EDEDED; text-transform: uppercase; }
.lb-breadcrumb a { color: #EDEDED; text-decoration: none; transition: color .3s; }
.lb-breadcrumb a:hover { color: #E9E6DE; }
.lb-breadcrumb strong { font-weight: 600; }
.lb-article-content h2, .lb-article-content h3 { font: 600 20px/1.25 Onest, sans-serif; color: #111; margin: 1.6em 0 .5em; }
.lb-article-content ul, .lb-article-content ol { margin: 0 0 1.05em 1.2em; padding: 0; }
.lb-article-content li { margin-bottom: .4em; }
.lb-article-content a { color: #3B3C2F; text-decoration: underline; text-underline-offset: 3px; }
.lb-article-content hr { border: 0; border-top: 1px solid #ddd; margin: 2em 0; }
.lb-article-img img { max-height: 520px; width: 100%; object-fit: cover; }
.lb-cta a { color: #3B3C2F; text-decoration: underline; text-underline-offset: 3px; }
.lb-cta p { margin: 0 0 1em; }
.lb-share .elementor-share-btn { transition: transform .4s cubic-bezier(.22,1,.36,1); }
.lb-share .elementor-share-btn:hover { transform: translateY(-4px); }
.lb-card-sm .lb-card-icon { right: 16px; bottom: 14px; }
@media (max-width: 1024px) { .lb-breadcrumb { margin-left: 40px; font-size: 24px; } }
@media (max-width: 767px) { .lb-breadcrumb { margin-left: 20px; font-size: 20px; } }

/* Contacto */
.lb-map iframe { display: block; filter: grayscale(.35) contrast(1.05); transition: filter .8s; }
.lb-map:hover iframe { filter: none; }
.lb-split-lines strong, .lb-split-lines b { font-weight: 600; }
.lb-values { margin-bottom: -2px !important; }
.lb-values::after { bottom: -1px; }
.lb-news-archive .lb-card-img img, .lb-news-aside .lb-card-img img { filter: grayscale(.15) brightness(.6) saturate(.9); }
.lb-news-archive .lb-card:hover .lb-card-img img, .lb-news-aside .lb-card:hover .lb-card-img img { filter: grayscale(0) brightness(.5) saturate(1.05); }
@media (max-width: 767px) {
	.lb-hero-internal .lb-hero-pre .elementor-heading-title { font-size: 34px !important; }
	.lb-card-sm { min-height: 240px !important; padding: 14px 10px !important; }
	.lb-card-sm .lb-card-title .elementor-heading-title { font-size: 12px !important; }
	.lb-card-sm .lb-card-icon { display: none; }
}

/* QA 1.2.0 · áreas táctiles en móvil y ajustes */
@media (max-width: 767px) {
	.lb-footer-info .elementor-icon-list-item > a, .lb-footer-info .elementor-icon-list-item { min-height: 32px; display: flex; align-items: center; }
	.lb-footer .elementor-nav-menu--main .elementor-item { padding-top: 8px !important; padding-bottom: 8px !important; }
	.lb-footer .elementor-button, .lb-header .elementor-button { min-height: 36px; display: inline-flex; align-items: center; }
	.lb-member-bio a, .lb-cta a { display: inline-block; padding: 6px 0; }
	.lb-logo a { display: inline-block; padding: 8px 0; }
	.lb-value .elementor-heading-title { font-size: 16px !important; }
	.lb-value p.elementor-heading-title { font-size: 13px !important; }
	.elementor-post-info .elementor-post-info__item a, .lb-article .elementor-post-info__item { padding: 6px 0; display: inline-block; }
}

/* v1.4 · Menú móvil con Portal y WhatsApp, sección Portal de clientes */
.elementor-nav-menu--main .lb-mobile-only { display: none !important; }
.elementor-nav-menu--dropdown .lb-mobile-only:first-of-type,
.elementor-nav-menu--dropdown .lb-menu-portal { border-top: 1px solid rgba(233,230,222,.18); margin-top: 6px; }
.elementor-nav-menu--dropdown .lb-mobile-only > a { color: #E9E6DE !important; font-weight: 600 !important; }
.elementor-nav-menu--dropdown .lb-menu-wa > a { background: #E9E6DE !important; color: #3B3C2F !important; margin: 10px 20px 18px; border-radius: 40px; justify-content: center; }
.elementor-nav-menu--dropdown .lb-menu-wa > a:hover { background: #fff !important; }
.lb-portal { position: relative; overflow: hidden; }
.lb-portal .lb-eyebrow .elementor-heading-title { opacity: .7; }
.lb-portal-btn .elementor-button { box-shadow: 0 20px 40px -20px rgba(0,0,0,.55); }
.lb-portal-btn .elementor-button .elementor-button-icon { transition: transform .45s cubic-bezier(.22,1,.36,1); }
.lb-portal-btn .elementor-button:hover .elementor-button-icon { transform: translateX(6px); }
@media (max-width: 1024px) { .lb-portal .elementor-widget-heading p.elementor-heading-title { text-align: left; } }
@media (max-width: 767px) { .lb-portal-btn .elementor-button { width: 100%; justify-content: center; } .lb-portal-btn { width: 100% !important; } }

/* v1.4.1 · Carrusel de testimonios */
.lb-testi-slider.is-ready { display: grid !important; grid-template-columns: 100%; }
.lb-testi-slider.is-ready > .lb-testi-slide { grid-area: 1 / 1; align-self: start; }
.lb-testi-slider:not(.is-ready) > .lb-testi-slide + .lb-testi-slide { margin-top: 50px; }
.lb-testi-nav { grid-area: 2 / 1; display: flex; align-items: center; gap: 18px; margin-top: 34px; }
.lb-testi-arrow { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(59,60,47,.35); background: transparent; color: #3B3C2F; font-size: 18px; line-height: 1; cursor: pointer; transition: background .3s, color .3s, border-color .3s, transform .3s; }
.lb-testi-arrow:hover { background: #3B3C2F; color: #E9E6DE; border-color: #3B3C2F; transform: scale(1.06); }
.lb-testi-dots { display: flex; gap: 10px; }
.lb-testi-dot { width: 10px; height: 10px; padding: 0; border-radius: 10px; border: 0; background: rgba(59,60,47,.3); cursor: pointer; transition: width .4s cubic-bezier(.22,1,.36,1), background .3s; }
.lb-testi-dot.is-active { width: 30px; background: #3B3C2F; }
.lb-testi-dot:focus-visible, .lb-testi-arrow:focus-visible { outline: 2px solid #3B3C2F; outline-offset: 3px; }
.lb-cover .elementor-widget-container { position: relative; overflow: hidden; }
.lb-cover img { position: absolute; left: 0; top: -8%; height: 116% !important; }
.lb-testimonial .lb-cover img { object-position: 6% center; }

/* v1.4.2 · Flechas de testimonios en oliva (anula el rosado del tema en hover/focus) */
.lb-testi-nav .lb-testi-arrow, .lb-testi-nav .lb-testi-arrow:focus { background: #3B3C2F !important; color: #E9E6DE !important; border: 1px solid #3B3C2F !important; }
.lb-testi-nav .lb-testi-arrow:hover { background: #222222 !important; border-color: #222222 !important; color: #E9E6DE !important; transform: scale(1.08); }
.lb-testi-nav .lb-testi-dot, .lb-testi-nav .lb-testi-dot:hover, .lb-testi-nav .lb-testi-dot:focus { background: rgba(59,60,47,.3) !important; }
.lb-testi-nav .lb-testi-dot.is-active { background: #3B3C2F !important; }

/* Portal de clientes: línea en L que entra hacia la etiqueta */
.lb-portal .lb-eyebrow { position: relative; padding-left: 64px; }
.lb-portal .lb-eyebrow::before { content: ""; position: absolute; left: -34px; top: 50%; width: 88px; height: 96px; border-top: 1px solid rgba(233,230,222,.55); border-left: 1px solid rgba(233,230,222,.55); pointer-events: none; clip-path: inset(0 0 0 0); transition: clip-path 1.6s cubic-bezier(.65,0,.35,1) .2s; }
.lb-js .lb-portal:not(.is-in) .lb-eyebrow::before { clip-path: inset(0 100% 100% 0); }
@media (max-width: 767px) { .lb-portal .lb-eyebrow { padding-left: 40px; } .lb-portal .lb-eyebrow::before { left: -14px; width: 46px; height: 74px; } }

/* Footer: créditos */
.lb-footer-credit { flex-wrap: wrap; }
.lb-footer-credit a { color: #C9C9C9; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: color .3s, background-size .5s; }
.lb-footer-credit a:hover { color: #E9E6DE; background-size: 100% 1px; }
.lb-heart { color: #FFFFFF; font-size: 1.15em; line-height: 1; display: inline-block; transform: translateY(1px); }
.lb-footer-credit a { display: inline-block; padding: 8px 2px; }
.elementor-post-info a:not([href]) { cursor: default; color: inherit; }

/* v1.6 · Navegación de testimonios blindada contra estilos de botón del tema/kit de otros sitios */
.lb-testi-nav button.lb-testi-arrow { width: 44px !important; height: 44px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 50% !important; display: inline-grid !important; place-items: center; font: 400 18px/1 Onest, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important; }
.lb-testi-nav button.lb-testi-dot { width: 10px !important; height: 10px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 10px !important; box-shadow: none !important; font-size: 0 !important; line-height: 0 !important; }
.lb-testi-nav button.lb-testi-dot.is-active { width: 30px !important; }


/* ===== v1.6 · WooCommerce con el estilo Legal Broker ===== */
/* Header: carrito sin romper la línea del menú */
.lb-header .e-con-full, .lb-header .e-con-inner { flex-wrap: nowrap; }
.lb-header .elementor-button-text { white-space: nowrap; }
.lb-menu-cart { flex: 0 0 auto; }
.lb-menu-cart .elementor-menu-cart__toggle .elementor-button { background: transparent !important; border: 0 !important; padding: 6px !important; color: #E9E6DE !important; }
.lb-menu-cart .elementor-menu-cart__toggle .elementor-button-icon { font-size: 20px; }
.lb-menu-cart .elementor-button-icon-qty[data-counter] { background: #E9E6DE !important; color: #3B3C2F !important; font-weight: 700; }
.elementor-menu-cart__main { background: #E9E6DE !important; color: #3B3C2F; font-family: Onest, sans-serif; }
.elementor-menu-cart__main .elementor-menu-cart__product-name a, .elementor-menu-cart__main .elementor-menu-cart__product-price { color: #3B3C2F !important; }
.elementor-menu-cart__footer-buttons .elementor-button { border-radius: 60px !important; background: #3B3C2F !important; color: #E9E6DE !important; font: 600 12px Onest, sans-serif !important; letter-spacing: 1.2px; text-transform: uppercase; }
.elementor-menu-cart__footer-buttons .elementor-button--view-cart { background: transparent !important; color: #3B3C2F !important; border: 1px solid #3B3C2F !important; }

/* Filtro de categorías */
.lb-filter .e-filter { display: flex; flex-wrap: wrap; gap: 10px; }
.lb-filter .e-filter-item { padding: 10px 20px !important; border-radius: 40px !important; border: 1px solid rgba(233,230,222,.35) !important; background: transparent !important; color: #E9E6DE !important; font: 500 13px Onest, sans-serif !important; letter-spacing: 1px; text-transform: uppercase; transition: background .3s, color .3s, border-color .3s; }
.lb-filter .e-filter-item:hover { border-color: #E9E6DE !important; }
.lb-filter .e-filter-item[aria-pressed="true"] { background: #E9E6DE !important; color: #3B3C2F !important; border-color: #E9E6DE !important; }

/* Tarjetas de servicio */
.lb-product-card { height: 100%; border-radius: 22px; transition: transform .6s cubic-bezier(.22,1,.36,1), box-shadow .6s; }
.lb-product-card:hover { transform: translateY(-8px); box-shadow: 0 30px 50px -30px rgba(0,0,0,.7); }
.lb-product-media .lb-product-img, .lb-product-media .elementor-widget-container { width: 100%; margin: 0; }
.lb-product-media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform 1.2s cubic-bezier(.22,1,.36,1), filter .8s; filter: saturate(.85); }
.lb-product-card:hover .lb-product-media img { transform: scale(1.08); filter: saturate(1); }
.lb-product-body { flex: 1 1 auto; }
.lb-product-title a { color: inherit !important; }
.lb-product-price .elementor-heading-title del { opacity: .55; font-size: .75em; margin-right: 6px; }
.lb-product-price .elementor-heading-title ins { text-decoration: none; }
.lb-product-btn { margin-top: auto !important; }
.lb-product-btn .elementor-button-icon { transition: transform .45s cubic-bezier(.22,1,.36,1); }
.lb-product-card:hover .lb-product-btn .elementor-button-icon { transform: translateX(5px); }

/* Página de producto */
.lb-woo-breadcrumb .woocommerce-breadcrumb, .lb-woo-breadcrumb .woocommerce-breadcrumb a { color: #9A9A99 !important; font: 400 13px Onest, sans-serif; letter-spacing: .5px; }
.lb-woo-breadcrumb .woocommerce-breadcrumb a:hover { color: #E9E6DE !important; }
.lb-product-hero { border-radius: 26px; overflow: hidden; }
.lb-product-gallery .lb-cover img { top: 0 !important; height: 100% !important; }
.lb-product-desc p:first-child span, .lb-product-desc p:first-child strong { color: #3B3C2F !important; }
.lb-product-desc p:first-child { display: inline-block; padding: 8px 16px; border-radius: 40px; background: rgba(59,60,47,.1); font-weight: 600; margin-bottom: 14px; }
.lb-product-desc ul { list-style: none; margin: 0; padding: 0; }
.lb-product-desc li { position: relative; padding: 6px 0 6px 28px; border-bottom: 1px solid rgba(59,60,47,.12); }
.lb-product-desc li::before { content: ""; position: absolute; left: 2px; top: 11px; width: 12px; height: 7px; border-left: 2px solid #3B3C2F; border-bottom: 2px solid #3B3C2F; transform: rotate(-45deg); }
.lb-product-desc i[class*="fa-"] { display: none; }
.lb-add-to-cart form.cart { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
.lb-add-to-cart .quantity .qty { height: 100%; min-height: 54px; width: 80px; border-radius: 60px !important; border: 1px solid rgba(59,60,47,.35) !important; background: #fff !important; text-align: center; font: 500 16px Onest, sans-serif; color: #3B3C2F; }
.lb-add-to-cart .single_add_to_cart_button { font: 600 13px Onest, sans-serif !important; letter-spacing: 1.5px; text-transform: uppercase; }
.lb-product-trust { list-style: none; margin: 10px 0 0; padding: 18px 0 0; border-top: 1px solid rgba(59,60,47,.2); display: grid; gap: 8px; font: 300 14px Onest, sans-serif; color: #3B3C2F; }
.lb-product-trust li { position: relative; padding-left: 24px; }
.lb-product-trust li::before { content: ""; position: absolute; left: 0; top: 7px; width: 9px; height: 9px; border-radius: 50%; background: #3B3C2F; }
.lb-product-trust a { color: #3B3C2F; text-decoration: underline; text-underline-offset: 3px; }
.lb-related-title { margin-top: 60px; }

/* Botones, avisos y formularios de WooCommerce (carrito, pago y cuenta) */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.checkout-button, .woocommerce #place_order, .woocommerce .button.alt,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce button.button:focus, .woocommerce a.button:focus {
	background: #3B3C2F !important; color: #E9E6DE !important; border: 0 !important; border-radius: 60px !important; padding: 16px 28px !important;
	font: 600 13px/1.2 Onest, sans-serif !important; letter-spacing: 1.3px; text-transform: uppercase; box-shadow: none !important; transition: background .3s, transform .3s; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: #222 !important; transform: translateY(-2px); }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error, .wc-block-components-notice-banner {
	background: #fff !important; color: #3B3C2F !important; border: 0 !important; border-left: 4px solid #3B3C2F !important; border-radius: 14px !important; font: 400 15px Onest, sans-serif; box-shadow: 0 20px 40px -30px rgba(59,60,47,.6); }
.woocommerce .woocommerce-error { border-left-color: #B3261E !important; }
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before { color: #3B3C2F !important; }
.lb-woo input.input-text, .lb-woo select, .lb-woo textarea, .lb-woo .select2-container .select2-selection, .lb-woo input[type=email], .lb-woo input[type=password], .lb-woo input[type=text], .lb-woo input[type=tel] {
	background: #fff !important; border: 1px solid rgba(59,60,47,.25) !important; border-radius: 12px !important; padding: 12px 14px !important; font: 400 15px Onest, sans-serif !important; color: #222 !important; min-height: 48px; }
.lb-woo input:focus, .lb-woo select:focus, .lb-woo textarea:focus { border-color: #3B3C2F !important; outline: none; box-shadow: 0 0 0 3px rgba(59,60,47,.15); }
.lb-woo label { font: 500 13px Onest, sans-serif; color: #3B3C2F; letter-spacing: .3px; }
.lb-woo h2, .lb-woo h3 { font-family: Onest, sans-serif !important; color: #3B3C2F; font-weight: 600; }
.lb-woo table.shop_table, .lb-woo form.login, .lb-woo form.register, .lb-woo .woocommerce-MyAccount-content { background: #fff; border: 0 !important; border-radius: 20px !important; box-shadow: 0 30px 60px -40px rgba(59,60,47,.45); }
.lb-woo form.login, .lb-woo form.register { padding: 30px !important; }
.lb-woo table.shop_table th, .lb-woo table.shop_table td { border-color: rgba(59,60,47,.12) !important; font-family: Onest, sans-serif; }
.lb-woo .cart-empty, .lb-woo .wc-empty-cart-message { font: 500 18px Onest, sans-serif; }
.lb-woo a:not(.button) { color: #3B3C2F; }
.lb-woo .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.lb-woo .woocommerce-MyAccount-navigation a { display: block; padding: 12px 18px; border-radius: 40px; background: rgba(59,60,47,.08); color: #3B3C2F !important; font: 500 14px Onest, sans-serif; text-decoration: none; transition: background .3s, color .3s; }
.lb-woo .woocommerce-MyAccount-navigation .is-active a, .lb-woo .woocommerce-MyAccount-navigation a:hover { background: #3B3C2F; color: #E9E6DE !important; }
.lb-woo .woocommerce-MyAccount-content { padding: 30px; }
.lb-woo #payment { background: #F4F2EC !important; border-radius: 16px !important; }
@media (max-width: 767px) { .lb-product-hero { border-radius: 18px; } .lb-woo form.login, .lb-woo form.register { padding: 20px !important; } }

/* Header con carrito: compacto en portátiles chicos */
.lb-menu-cart .elementor-menu-cart__toggle .elementor-button { padding: 2px 4px !important; line-height: 1 !important; }
.lb-menu-cart .elementor-menu-cart__toggle .elementor-button-icon { font-size: 18px; }
@media (min-width: 1025px) and (max-width: 1279px) {
	.lb-header { padding-left: 24px !important; padding-right: 24px !important; }
	.lb-header .lb-logo img { width: 170px !important; }
	.lb-nav .elementor-nav-menu--main .elementor-item { padding-left: 7px !important; padding-right: 7px !important; letter-spacing: .5px !important; }
	.lb-header .lb-magnetic .elementor-button { padding: 6px 8px !important; letter-spacing: .8px !important; }
}
