/* Luxury Tile 4 Less – estilos de la portada */
.lt-home{
  --ink:#222224; --glaze:#2e2e30; --glaze-d:#1a1a1b; --grout:#ececea;
  --paper:#f7f7f6; --brass:#b82030; /* rojo del logo */ --white:#fff;
}
/* El slider vive en el header de Elementor: se oculta solo en la portada.
   Para volver a mostrarlo, borra esta regla. */
.lt-home .elementor-widget-slides{display:none}

.lt{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
.lt *{box-sizing:border-box}
.lt h1,.lt h2,.lt h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;line-height:1.05;margin:0;color:inherit}
.lt-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.lt a{color:inherit}
.lt-hero :focus-visible,.lt-cta :focus-visible{outline-color:#fff}
.lt :focus-visible,.lt-bar a:focus-visible{outline:3px solid var(--brass);outline-offset:3px}

/* Botones */
.lt-btn{display:inline-block;padding:14px 24px;border-radius:2px;font-weight:600;text-decoration:none;border:2px solid transparent;cursor:pointer;font:600 1rem 'Figtree',sans-serif}
.lt-btn--solid{background:var(--brass);color:#fff}
@media (hover:hover) and (pointer:fine){.lt-btn--solid:hover{background:#98192a}}
.lt-btn--line{border-color:currentColor;color:var(--white)}
@media (hover:hover) and (pointer:fine){.lt-btn--line:hover{background:rgba(255,255,255,.12)}}

/* Hero: pared de azulejos */
.lt-hero{position:relative;background:linear-gradient(160deg,var(--glaze-d),var(--glaze));color:var(--white);padding:104px 0 96px;overflow:hidden}
.lt-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.14) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.14) 2px,transparent 2px);
  background-size:96px 96px;background-position:-1px -1px;
  -webkit-mask-image:linear-gradient(100deg,#000 0%,transparent 70%);mask-image:linear-gradient(100deg,#000 0%,transparent 70%)}
.lt-hero__grid{position:relative;display:grid;gap:40px;grid-template-columns:1fr;align-items:center}
.lt-hero h1{font-size:clamp(1.9rem,8.5vw,5rem);font-weight:700;letter-spacing:-.02em;max-width:12ch}
.lt-lead{font-size:clamp(.98rem,3.6vw,1.2rem);max-width:34em;margin:20px 0 28px;color:#e6e3dc}
.lt-hero__actions{display:flex;gap:12px;flex-wrap:wrap}

/* Formulario */
.lt-form{background:var(--white);color:var(--ink);padding:28px;border-radius:2px;display:grid;gap:14px}
.lt-form h2{font-size:1.6rem}
.lt-form label{display:grid;gap:6px;font-weight:500;font-size:.95rem}
.lt-form input,.lt-form select,.lt-form textarea{width:100%;padding:11px 12px;border:1.5px solid #c9c5bb;border-radius:2px;font:inherit;background:#fff;color:var(--ink)}
.lt-form input:focus,.lt-form select:focus,.lt-form textarea:focus{border-color:var(--brass);outline:none;box-shadow:0 0 0 3px rgba(184,32,48,.3)}
.lt-form .is-invalid{border-color:#b3261e}
.lt-form button{width:100%}
.lt-fine{font-size:.8rem;margin:0;color:#5a5a60}
.lt-hp{position:absolute!important;left:-9999px;height:0;overflow:hidden}
.lt-note{margin:0;padding:10px 12px;border-radius:2px;font-weight:500}
.lt-note--ok{background:#e3f3e8;color:#14532d}
.lt-note--err{background:#fbe6e4;color:#7a1712}

/* Secciones */
.lt-sec{padding:80px 0}
.lt-sec--tint{background:var(--grout)}
/* ".lt h2{margin:0}" pesa más que ".lt-h2": se sube la especificidad para que el margen inferior sí se aplique */
.lt .lt-h2{font-size:clamp(1.5rem,6vw,2.8rem);font-weight:700;letter-spacing:-.01em;margin-bottom:32px}

/* Servicios */
.lt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.lt-card{text-decoration:none;display:block}
.lt-card__img{display:block;aspect-ratio:4/3;margin-bottom:14px;background-size:48px 48px}
img.lt-card__img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.lt-card h3{font-size:1.3rem;margin-bottom:6px}
.lt-card p{margin:0;color:#55555a}
@media (hover:hover) and (pointer:fine){.lt-card:hover h3{text-decoration:underline;text-underline-offset:4px}}
.lt-pat-1{background-color:#2a2a31;background-image:linear-gradient(rgba(255,255,255,.3) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.3) 2px,transparent 2px)}
.lt-pat-2{background-color:#9a9a94;background-image:linear-gradient(#e6e3dc 3px,transparent 3px),linear-gradient(90deg,#e6e3dc 3px,transparent 3px);background-size:32px 32px}
.lt-pat-3{background-color:#d6d6d3;background-image:linear-gradient(#f6f7f5 2px,transparent 2px),linear-gradient(90deg,#f6f7f5 2px,transparent 2px);background-size:64px 24px}
.lt-pat-4{background-color:#b82030;background-image:linear-gradient(rgba(255,255,255,.4) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.4) 2px,transparent 2px);background-size:72px 72px}


/* Ventana del formulario */
.lt-modal{border:0;padding:0;background:transparent;width:calc(100% - 32px);max-width:480px;max-height:92vh;max-height:92dvh;overflow:visible;color:var(--ink)}
.lt-modal::backdrop{background:rgba(24,24,26,.75)}
.lt-modal .lt-form{max-height:88vh;max-height:88dvh;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.lt-modal__close{position:absolute;top:-14px;right:-14px;z-index:2;display:flex;align-items:center;justify-content:center;padding:0;width:40px;height:40px;border-radius:50%;border:0;background:var(--brass);color:#fff;line-height:0;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.3)}
@media (hover:hover) and (pointer:fine){.lt-modal__close:hover{background:#98192a}}
body:has(dialog[open]){overflow:hidden}


.lt-link{font-weight:600;margin-bottom:32px;text-decoration:underline;text-underline-offset:4px}

/* Cómo trabajamos */
.lt-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.lt-steps b{display:block;font:700 3rem/1 'Bricolage Grotesque',sans-serif;color:var(--brass);margin-bottom:8px}
.lt-steps h3{font-size:1.25rem;margin-bottom:6px}
.lt-steps p{margin:0;color:#55555a}

/* Llamado final */
.lt-cta{background:linear-gradient(160deg,var(--glaze-d),var(--glaze));color:var(--white);padding:64px 0}
.lt-cta__in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.lt-cta .lt-h2{margin:0}

/* Encabezado propio de la portada */
.lt-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:4px solid var(--brass);font-family:'Figtree',system-ui,sans-serif}
.lt-header *{box-sizing:border-box}
.lt-header__in{max-width:1180px;margin:0 auto;padding:8px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.lt-header__logo img{display:block;height:54px;width:auto}
.lt-nav{display:flex;gap:28px;align-items:center}
.lt-nav a{font-weight:600;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
@media (hover:hover) and (pointer:fine){.lt-nav a:hover{border-bottom-color:var(--brass)}}
.lt-header__act{display:flex;align-items:center;gap:10px}
.lt-header .lt-btn{padding:10px 18px;font-size:.9rem}
.lt-header :focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.lt-burger{display:none;width:44px;height:44px;border:2px solid var(--ink);background:#fff;border-radius:2px;cursor:pointer;position:relative}
.lt-burger span,.lt-burger span::before,.lt-burger span::after{content:"";position:absolute;left:10px;right:10px;height:2px;background:var(--ink)}
.lt-burger span{top:20px}.lt-burger span::before{left:0;right:0;top:-7px}.lt-burger span::after{left:0;right:0;top:7px}

/* Botón de llamar: texto en computador, ícono de teléfono en móvil y tableta */
.lt-call{display:inline-flex;align-items:center;justify-content:center}
.lt .lt-call,.lt-header .lt-call{color:#fff}
.lt-call__ico{display:none}
/* Barra móvil */
.lt-bar{display:none}

@media (max-width:860px){
  .lt-hero{padding:44px 0 48px}
  .lt-header__in{padding:6px 16px}
  .lt-header__logo img{height:40px}
  .lt-header .lt-btn{padding:9px 14px}
  .lt-header .lt-call{width:44px;height:44px;padding:0;border-radius:50%}
  .lt-call__ico{display:block}
  .lt-call__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .lt-burger{display:block}
  .lt-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;gap:0;border-bottom:4px solid var(--brass);box-shadow:0 12px 20px rgba(0,0,0,.15)}
  .lt-nav a{padding:16px 20px;border-bottom:1px solid #e3e3e0}
  .lt-header.is-open .lt-nav{display:flex}

  .lt-wrap{padding:0 16px}
  .lt-hero__grid{grid-template-columns:1fr;gap:28px}
  .lt-lead{margin:14px 0 20px}
  .lt-btn{padding:12px 18px;font-size:.95rem}
  .lt-hero__actions .lt-btn{flex:1 1 140px;text-align:center}
  .lt-form{padding:20px;gap:12px}
  .lt-form h2{font-size:1.3rem}
  .lt-sec{padding:44px 0}
  .lt-card h3{font-size:1.1rem}
  .lt-steps{grid-template-columns:1fr;gap:20px}
  .lt-steps b{font-size:2.2rem}
  .lt-cta{padding:40px 0}
  body.lt-home{padding-bottom:52px}
  /* Barra móvil: delgada, dos acciones */
  .lt-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:999;background:var(--ink);transition:transform .2s}
  .lt-bar a{color:#fff;text-align:center;padding:14px 8px;font-size:.9rem;font-weight:600;text-decoration:none}
  .lt-bar a:nth-child(2){display:none}
  .lt-bar a:last-child{background:var(--brass);color:#fff}
  .lt-bar.is-hidden{transform:translateY(100%)}
}
@media (prefers-reduced-motion:reduce){.lt-bar{transition:none}}

/* ===== Páginas internas: Products, Services, Contact ===== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lt-hero--page{padding:64px 0 56px}
.lt-hero--page .lt-wrap{position:relative}
.lt-hero--page h1{max-width:none;font-size:clamp(1.9rem,6vw,3.4rem)}
.lt-hero--page .lt-lead{margin-bottom:0}
.lt-nav a.is-current{border-bottom-color:var(--brass)}
.lt-btn--wa{background:#178a4a;color:#fff}
@media (hover:hover) and (pointer:fine){.lt-btn--wa:hover{background:#12723d}}
.lt-btn--dark{background:var(--ink);color:#fff}
@media (hover:hover) and (pointer:fine){.lt-btn--dark:hover{background:#000}}
.lt .lt-h3{font-size:1.2rem;margin:32px 0 12px}

/* Productos */
.lt-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.lt-chips{display:flex;gap:8px;flex-wrap:wrap}
.lt-chip{padding:9px 16px;border:2px solid var(--ink);background:transparent;color:var(--ink);border-radius:2px;font:600 .9rem 'Figtree',sans-serif;cursor:pointer}
@media (hover:hover) and (pointer:fine){.lt-chip:hover{background:var(--grout)}}
.lt-chip.is-on{background:var(--ink);color:#fff}
.lt-search input{width:min(320px,100%);padding:10px 12px;border:1.5px solid #c9c5bb;border-radius:2px;font:inherit;background:#fff;color:var(--ink)}
.lt-search input:focus{border-color:var(--brass);outline:none;box-shadow:0 0 0 3px rgba(184,32,48,.3)}
.lt-count{margin:0 0 20px;color:#55555a;font-size:.9rem}
.lt-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;align-items:start}
.lt-product{background:#fff;border:1px solid #dcdcd9;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.lt-product[hidden]{display:none}
.lt-product__img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background-size:48px 48px}
.lt-product__body{padding:18px 18px 20px}
.lt-product__cat{margin:0 0 6px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b6b73}
.lt-product h3{font-size:1.3rem;margin-bottom:10px}
.lt-specs{list-style:none;margin:0 0 16px;padding:0;color:#55555a;font-size:.95rem}
.lt-product__act{display:grid;gap:10px}
.lt-product__act .lt-btn{text-align:center;width:100%}
.lt-link-sm{font-size:.9rem;font-weight:600;text-align:center;text-decoration:underline;text-underline-offset:3px}
.lt-empty{padding:24px;background:#fff;border-left:6px solid var(--brass)}

/* Servicios: pestañas */
.lt-svc{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:start}
.lt-tabs{display:grid;gap:8px}
.lt-tab{text-align:left;padding:16px 18px;background:#fff;border:2px solid #dcdcd9;border-left:6px solid transparent;border-radius:2px;cursor:pointer;color:var(--ink);font-family:'Figtree',sans-serif}
.lt-tab span{display:block;font:700 1.1rem 'Bricolage Grotesque',sans-serif}
.lt-tab small{display:block;margin-top:2px;color:#55555a;font-size:.85rem;line-height:1.4}
@media (hover:hover) and (pointer:fine){.lt-tab:hover{border-color:var(--ink)}}
.lt-tab[aria-selected="true"]{border-color:var(--ink);border-left-color:var(--brass);background:var(--grout)}
.lt-tab:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.lt-panel{background:#fff;padding:36px;border-top:6px solid var(--brass)}
.lt-panel[hidden]{display:none}
.lt-panel .lt-h2{margin-bottom:12px}
.lt-panel__text{margin:0 0 24px;font-size:1.05rem;color:#3d3d42;max-width:46em}
.lt-panel h3{font-size:1.1rem;margin-bottom:10px}
.lt-checks{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:8px}
.lt-checks li{position:relative;padding-left:28px}
.lt-checks li::before{content:"";position:absolute;left:4px;top:.5em;width:7px;height:12px;border:solid var(--brass);border-width:0 3px 3px 0;transform:translateY(-30%) rotate(45deg)}

/* Contacto */
.lt-contact{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.lt-clist{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.lt-clist li{display:flex;gap:16px;align-items:center;background:#fff;padding:16px 18px;border-left:6px solid var(--brass)}
.lt-clist i{font-size:1.3rem;color:var(--brass);width:28px;text-align:center}
.lt-clist strong{display:block;font-family:'Bricolage Grotesque',sans-serif}
.lt-clist a{text-decoration:none;color:#3d3d42}
@media (hover:hover) and (pointer:fine){.lt-clist a:hover{text-decoration:underline}}
.lt-socials{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.lt-socials a{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;border:2px solid var(--brass);color:var(--brass);font-size:1.4rem;text-decoration:none;transition:background .2s,color .2s,transform .2s}
@media (hover:hover) and (pointer:fine){.lt-socials a:hover{background:var(--brass);color:#fff;transform:translateY(-3px)}}
.lt-map iframe{width:100%;height:420px;border:0;display:block;background:var(--grout)}

@media (max-width:860px){
  .lt-hero--page{padding:36px 0 32px}
  .lt-svc{grid-template-columns:1fr;gap:16px}
  .lt-panel{padding:22px}
  .lt-contact{grid-template-columns:1fr;gap:28px}
  .lt-map iframe{height:300px}
  .lt-search,.lt-search input{width:100%}
}
@media (prefers-reduced-motion:reduce){.lt-product,.lt-socials a{transition:none}@media (hover:hover) and (pointer:fine){.lt-product:hover,.lt-socials a:hover{transform:none}}}

/* ===== Pie de página ===== */
.lt-footer{background:#fff;border-top:14px solid var(--brass);padding:40px 0 32px}
.lt-footer__in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:32px;align-items:start}
.lt-footer h2{font-size:1.05rem;margin-bottom:14px}
.lt-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lt-footer a{text-decoration:none}
@media (hover:hover) and (pointer:fine){.lt-footer ul a:hover{text-decoration:underline;text-underline-offset:3px}}
.lt-footer__brand{display:grid;gap:20px;justify-items:end}
.lt-footer__brand img{width:min(280px,100%);height:auto;display:block}
.lt-socials--sm{margin-bottom:0;gap:10px}
.lt-socials--sm a{width:44px;height:44px;font-size:1.15rem}
@media (max-width:860px){
  .lt-footer{padding:28px 0 24px}
  .lt-footer__in{grid-template-columns:1fr 1fr;gap:24px}
  .lt-footer__col:first-child{grid-column:1/-1}
  .lt-footer__brand{grid-column:1/-1;justify-items:start}
}

/* ===== Tarjetas de producto: como la referencia + efecto al pasar el cursor ===== */
.lt-products{align-items:stretch}
.lt-product{position:relative;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:transform .3s ease,box-shadow .3s ease}
@media (hover:hover) and (pointer:fine){.lt-product:hover{transform:scale(1.05);z-index:2;box-shadow:0 22px 44px rgba(0,0,0,.22)}}
.lt-product:has(:focus-visible){transform:scale(1.05);z-index:2;box-shadow:0 22px 44px rgba(0,0,0,.22)}
.lt-product__media{overflow:hidden;aspect-ratio:3/2;background:var(--grout)}
.lt-product__img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform .5s ease}
@media (hover:hover) and (pointer:fine){.lt-product:hover .lt-product__img{transform:scale(1.12)}}
.lt-product:has(:focus-visible) .lt-product__img{transform:scale(1.12)}
.lt-product__body{flex:1;display:flex;flex-direction:column}
.lt-product__act{margin-top:auto}
.lt-product .lt-btn--wa{background:#1fae55;border-radius:6px;font-weight:700;padding:13px 20px}
@media (hover:hover) and (pointer:fine){.lt-product .lt-btn--wa:hover{background:#188f45}}
@media (prefers-reduced-motion:reduce){.lt-product,.lt-product__img{transition:none}.lt-product:has(:focus-visible),.lt-product:has(:focus-visible) .lt-product__img{transform:none}@media (hover:hover) and (pointer:fine){.lt-product:hover,.lt-product:hover .lt-product__img{transform:none}}}

/* ===== Encabezado fijo cuando hay sesión iniciada (barra negra de WordPress arriba) ===== */
.admin-bar .lt-header{top:32px}
@media (max-width:782px){.admin-bar .lt-header{top:46px}}
@media (max-width:600px){.admin-bar .lt-header{top:0}}

/* Se oculta el pie de página del tema padre ("Todos los derechos reservados"): ya hay pie propio */
.lt-home #site-footer,.lt-home footer.site-footer{display:none}
.lt-footer__copy{margin:28px 0 0;padding-top:16px;border-top:1px solid #e3e3e0;font-size:.85rem;color:#55555a}

/* ===== Reseñas de Google ===== */
.lt-gr-sec{background:#fff;padding:56px 0 64px}
.lt-gr__head{text-align:center;margin-bottom:28px}
.lt-gr__head p{margin:0}
.lt-gr__brand{font-size:1.15rem;display:flex;align-items:center;justify-content:center;gap:8px}
.lt-gr__brand i{color:#4285f4;font-size:1.3rem}
.lt-gr__score{margin-top:12px!important;font-size:clamp(1.3rem,4.5vw,2rem);display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.lt-gr__score strong{font-family:'Bricolage Grotesque',sans-serif;font-weight:700}
.lt-gr__stars{letter-spacing:2px;font-size:.8em}
.lt-gr__sep{font-weight:300}
.lt-gr__sub{margin-top:8px!important;font-size:1.05rem}
.lt-gr{position:relative;max-width:820px;margin:0 auto;display:flex;align-items:center;gap:12px}
.lt-gr__track{flex:1;min-width:0;display:flex;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 18px}
.lt-gr__track::-webkit-scrollbar{display:none}
.lt-gr__card{flex:0 0 100%;scroll-snap-align:center;margin:0;background:#fff;border-radius:16px;padding:28px 26px;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,.13)}
.lt-gr__cardstars{color:#f5a623;font-size:1.7rem;letter-spacing:6px;margin-bottom:14px}
.lt-gr__text{margin:0;font-size:1.05rem;line-height:1.55;color:#2b2b2e;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;line-clamp:7;overflow:hidden}
.lt-gr__text p{margin:0 0 .7em}
.lt-gr__text p:last-child{margin-bottom:0}
.lt-gr__card.is-open .lt-gr__text{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
.lt-gr__more{margin:10px 0 0;background:none;border:0;color:var(--brass);font:600 .95rem 'Figtree',sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.lt-gr__more[hidden]{display:none}
.lt-gr__card figcaption{margin-top:18px;font-size:1.05rem;display:grid;gap:2px;justify-items:center}
.lt-gr__card figcaption i{font-size:1.5rem}
.lt-gr__card figcaption strong{font-family:'Bricolage Grotesque',sans-serif;font-size:1.15rem}
.lt-gr__card figcaption span{font-weight:600}
.lt-gr__nav{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:2px solid var(--ink);background:#fff;color:var(--ink);font-size:1.7rem;line-height:1;cursor:pointer}
@media (hover:hover) and (pointer:fine){.lt-gr__nav:hover{background:var(--ink);color:#fff}}
.lt-gr__dots{display:flex;justify-content:center;gap:10px;margin-top:6px}
.lt-gr__dot{width:12px;height:12px;border-radius:50%;border:0;background:#cfcfcf;padding:0;cursor:pointer}
.lt-gr__dot.is-on{background:#111}
.lt-gr__all{text-align:center;margin:28px 0 0}
@media (max-width:860px){
  .lt-gr-sec{padding:40px 0 44px}
  .lt-gr__nav{display:none}
  .lt-gr__card{padding:22px 18px}
  .lt-gr__text{font-size:1rem;-webkit-line-clamp:8;line-clamp:8}
}

/* ===== Servicios: pestaña seleccionada bien visible ===== */
.lt .lt-tab{background:#fff!important;color:var(--ink)!important;position:relative}
.lt .lt-tab small{color:#55555a!important}
@media (hover:hover) and (pointer:fine){.lt .lt-tab:hover{border-color:var(--ink)!important}}
.lt .lt-tab[aria-selected="true"]{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important;border-left-color:var(--brass)!important;box-shadow:0 8px 20px rgba(0,0,0,.22)}
.lt .lt-tab[aria-selected="true"] small{color:#e6e3dc!important}
.lt .lt-tab[aria-selected="true"]::after{content:"\203A";position:absolute;right:16px;top:50%;transform:translateY(-52%);font-size:1.8rem;line-height:1;color:#fff}
@media (max-width:860px){.lt .lt-tab[aria-selected="true"]::after{content:"\2713";font-size:1.2rem}}

/* ===== Texto de botones: ".lt a{color:inherit}" los dejaba oscuros sobre fondo oscuro ===== */
/* !important: ningún estilo del tema padre o de Elementor debe volver a poner el texto de estos botones en negro */
.lt a.lt-btn--solid,.lt a.lt-btn--line,.lt a.lt-btn--dark,.lt a.lt-btn--wa,.lt .lt-btn--solid,.lt .lt-btn--line,.lt .lt-btn--dark,.lt .lt-btn--wa{color:#fff!important}
.lt a.lt-btn--solid:hover,.lt a.lt-btn--solid:visited,.lt a.lt-btn--solid:active,.lt a.lt-btn--dark:hover,.lt a.lt-btn--dark:visited,.lt a.lt-btn--wa:hover,.lt a.lt-btn--wa:visited,.lt a.lt-btn--line:hover,.lt a.lt-btn--line:visited{color:#fff!important}
.lt-gr__text{overflow-wrap:anywhere}

/* ===== Proveedores (carrusel que se desliza solo) ===== */
.lt-prov{padding:64px 0;background:var(--paper)}
.lt-prov .lt-h2{margin-bottom:8px}
.lt-prov__lead{margin:0 0 28px;color:#55555a}
.lt-prov__marquee{display:flex;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.lt-prov__track{flex:0 0 auto;display:flex;list-style:none;margin:0;padding:0;min-width:100%;animation:lt-prov-scroll var(--lt-dur,60s) linear infinite}
@media (hover:hover) and (pointer:fine){.lt-prov__marquee:hover .lt-prov__track{animation-play-state:paused}}
.lt-prov__marquee:has(:focus-visible) .lt-prov__track{animation-play-state:paused}
.lt-prov__track li{flex:0 0 auto;width:200px;margin-right:14px}
.lt-prov__card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:130px;padding:14px;text-align:center;background:#fff;border:2px solid #dcdcd9;border-radius:2px;text-decoration:none;color:var(--ink);transition:border-color .15s}
@media (hover:hover) and (pointer:fine){.lt-prov__card:hover{border-color:var(--brass)}}
.lt-prov__card img{width:100%;max-width:170px;height:60px;object-fit:contain}
.lt-prov__name{font:700 1.05rem 'Bricolage Grotesque',sans-serif}
.lt-prov__card small{color:#55555a;font-size:.78rem;line-height:1.3}
@keyframes lt-prov-scroll{to{transform:translateX(-100%)}}
@media(max-width:600px){.lt-prov__track li{width:160px}.lt-prov__card{height:116px}}
/* Sin animación (preferencia del usuario): fila que se desliza con el dedo, sin copia */
@media(prefers-reduced-motion:reduce){
	.lt-prov__marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
	.lt-prov__track{animation:none;min-width:0}
	.lt-prov__track[aria-hidden="true"]{display:none}
}

/* ===================================================================
   AJUSTES PARA CELULAR (skill mobile-native)
   =================================================================== */

/* §2 Sin destello gris al tocar (solo en nuestras páginas) y §6 sin inflar el texto en horizontal */
.lt-home{-webkit-tap-highlight-color:transparent}
html:has(body.lt-home){-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* §4 Entradas a 16px como mínimo: iOS no hace zoom al enfocarlas */
.lt-form input,.lt-form select,.lt-form textarea,.lt-search input{font-size:16px}

/* §5 Sin espera de 300 ms al tocar */
.lt-home a,.lt-home button,.lt-home select,.lt-home summary,.lt-home [role="button"]{touch-action:manipulation}

/* §8 Controles: sin seleccionar el texto al mantener presionado.
   Los datos de contacto (teléfono, correo, dirección) y las reseñas SÍ se pueden seleccionar y copiar. */
.lt-home button,.lt-btn,.lt-prov__card,.lt-nav a,.lt-bar a,.lt-socials a,.lt-header__logo,.lt-card,.lt-tab,.lt-chip,.lt-gr__dot,.lt-modal__close{
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.lt-gr__more,.lt-form button{-webkit-user-select:none;user-select:none}

/* §5 Respuesta inmediata al tocar (:active) en todo lo que se puede presionar */
.lt-btn,.lt-chip,.lt-tab,.lt-burger,.lt-gr__nav,.lt-gr__dot,.lt-socials a,.lt-modal__close,.lt-card,.lt-bar a,.lt-prov__card{
  transition-property:transform,background-color,color,opacity,border-color;
  transition-duration:120ms;transition-timing-function:cubic-bezier(.23,1,.32,1)}
.lt-btn:active,.lt-chip:active,.lt-tab:active,.lt-burger:active,.lt-gr__nav:active,.lt-socials a:active,.lt-modal__close:active{transform:scale(.97)}
.lt-card:active{transform:scale(.985)}
.lt-btn--solid:active{background:#98192a}
.lt-btn--line:active{background:rgba(255,255,255,.18)}
.lt-btn--dark:active{background:#000}
.lt-btn--wa:active,.lt-product .lt-btn--wa:active{background:#12723d}
.lt-chip:active{background:var(--grout)}
.lt-gr__nav:active{background:var(--ink);color:#fff}
.lt-socials a:active{background:var(--brass);color:#fff}
.lt-nav a:active{background:var(--grout)}
.lt-bar a:active{opacity:.75}
.lt-prov__card:active{border-color:var(--brass);transform:scale(.97)}
.lt-gr__dot:active{transform:scale(1.25)}
.lt-link-sm:active,.lt-gr__more:active{opacity:.6}
@media (prefers-reduced-motion:reduce){
  .lt-btn:active,.lt-chip:active,.lt-tab:active,.lt-burger:active,.lt-gr__nav:active,.lt-socials a:active,.lt-modal__close:active,.lt-card:active,.lt-gr__dot:active,.lt-prov__card:active{transform:none}
}

/* §6 Carrusel de reseñas: el navegador no usa el gesto de borde para "atrás"; una tarjeta por deslizada */
.lt-gr__track{overscroll-behavior-x:contain}
.lt-gr__card{scroll-snap-stop:always}
.lt-gr__dot{position:relative}
.lt-gr__dot::after{content:"";position:absolute;inset:-16px -5px}

/* §7 Zonas seguras (notch, isla dinámica, barra inferior y bordes en horizontal) */
.lt-header{padding-top:env(safe-area-inset-top,0px)}
.lt-header__in,.lt-wrap{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.lt-modal{width:calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
@media (max-width:860px){
  .lt-header__in,.lt-wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .lt-bar{padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
  body.lt-home{padding-bottom:calc(52px + env(safe-area-inset-bottom,0px))}
}

/* Por qué elegirnos */
.lt-why .lt-h2{text-align:center;margin-bottom:16px}
.lt-why__intro{max-width:40em;margin:0 auto 40px;text-align:center;font-size:1.1rem}
.lt-why__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.lt-why__card{background:#fff;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:36px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;min-height:200px;justify-content:center}
.lt-why__card i{font-size:2.6rem;color:var(--brass)}
.lt-why__card span{font-size:1.05rem;line-height:1.4}
@media (max-width:820px){
  .lt-why__grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .lt-why__card{padding:28px 10px;min-height:170px}
  .lt-why__card i{font-size:2.2rem}
  .lt-why__intro{font-size:1rem;margin-bottom:28px}
}

/* ===== Banner principal con fotos que se van cambiando ===== */
.lt-hero__slides{position:absolute;inset:0;z-index:0}
.lt-hero__slides::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,26,27,.88) 0%,rgba(26,26,27,.62) 55%,rgba(26,26,27,.38) 100%)}
.lt-hero__slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.4s ease}
.lt-hero__slide.is-on{opacity:1}
.lt-hero__slides ~ *{position:relative;z-index:2}
.lt-hero:has(.lt-hero__slides)::before{display:none}
@media(max-width:860px){.lt-hero__slides::after{background:rgba(26,26,27,.66)}}
@media(prefers-reduced-motion:reduce){.lt-hero__slide{transition:none}}

/* ===== "What we do": en tablet y móvil es un carrusel (se desliza solo o con el dedo, con puntitos) ===== */
.lt-cdots{display:none}
@media(max-width:860px){
	.lt-cards{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:6px}
	.lt-cards::-webkit-scrollbar{display:none}
	.lt-cards .lt-card{flex:0 0 calc(50% - 8px);scroll-snap-align:start}
	.lt-cdots{display:flex;justify-content:center;gap:10px;margin-top:14px}
	.lt-cdot{position:relative;width:12px;height:12px;border-radius:50%;border:0;background:#cfcfcf;padding:0;cursor:pointer}
	.lt-cdot::after{content:"";position:absolute;inset:-16px -5px}
	.lt-cdot.is-on{background:#111}
}
@media(max-width:600px){.lt-cards .lt-card{flex:0 0 100%}}

/* ===== Contacto: botones de acción ===== */
.lt-contact .lt-hero__actions{margin-top:4px}
.lt-contact .lt-hero__actions .lt-btn{flex:1 1 200px;text-align:center}

/* ===================================================================
   IMPACTO VISUAL: mismo rojo y gris de la marca, con más contraste y ritmo
   Portada: oscuro (banner) → claro → ROJO (por qué elegirnos) → claro → blanco → oscuro
   =================================================================== */

/* Banner: ocupa la primera pantalla, titular más grande y borde rojo como el del encabezado */
.lt-hero:not(.lt-hero--page){min-height:min(80vh,760px);min-height:min(80svh,760px);display:flex;align-items:center;padding:72px 0}
.lt-hero:not(.lt-hero--page)>.lt-wrap{width:100%}
.lt-hero:not(.lt-hero--page) h1{font-size:clamp(2.3rem,10vw,6.4rem);line-height:.98;max-width:11ch;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.lt-hero:not(.lt-hero--page) .lt-hero__copy{border-left:8px solid var(--brass);padding-left:clamp(16px,3vw,36px)}
.lt-hero:not(.lt-hero--page) .lt-lead{font-size:clamp(1.05rem,3.8vw,1.35rem);color:#fff}
.lt-hero:not(.lt-hero--page) .lt-btn--solid{padding:16px 30px;font-size:1.05rem;box-shadow:0 8px 24px rgba(184,32,48,.45)}
@media(max-width:860px){
  .lt-hero:not(.lt-hero--page){min-height:min(78vh,620px);min-height:min(78svh,620px);padding:44px 0}
  .lt-hero:not(.lt-hero--page) .lt-hero__copy{border-left-width:6px}
}

/* Títulos de sección con la línea roja de la marca */
#services .lt-h2::after,#how .lt-h2::after{content:"";display:block;width:64px;height:6px;margin-top:14px;background:var(--brass)}

/* "Why choose us": banda roja con tarjetas blancas (el momento más llamativo de la página) */
.lt-why{background:var(--brass);color:#fff}
.lt-why .lt-h2,.lt-why__intro{color:#fff}
.lt-why__card{color:var(--ink);box-shadow:0 10px 26px rgba(0,0,0,.22)}
.lt-why :focus-visible{outline-color:#fff}
@media (hover:hover) and (pointer:fine){
  .lt-why__card{transition:transform .2s ease}
  .lt-why__card:hover{transform:translateY(-4px)}
}
@media (prefers-reduced-motion:reduce){.lt-why__card{transition:none}.lt-why__card:hover{transform:none}}

/* Pasos: números grandes sobre el rojo de la marca */
.lt-steps b{font-size:4rem;letter-spacing:-.03em}
.lt-steps li{border-top:4px solid var(--ink);padding-top:18px}
@media(max-width:860px){.lt-steps b{font-size:2.8rem}}

/* Reseñas: tarjeta con borde rojo arriba */
.lt-gr__card{box-shadow:inset 0 5px 0 var(--brass),0 4px 18px rgba(0,0,0,.13)}

/* Llamado final más grande */
.lt-cta{padding:84px 0}
.lt-cta .lt-h2{font-size:clamp(1.9rem,6vw,3.6rem);max-width:14ch;line-height:1.02}
.lt-cta .lt-btn--solid{padding:16px 30px;font-size:1.05rem}
@media(max-width:860px){.lt-cta{padding:48px 0}}

/* ===== Servicios en tablet y móvil: acordeón (el detalle se abre debajo del servicio tocado) ===== */
.lt-acc .lt-tabs{gap:8px}
.lt-acc .lt-tab{scroll-margin-top:88px;padding-right:56px}
.lt-acc .lt-tab::after{content:"\002B";position:absolute;right:16px;top:50%;transform:translateY(-50%);font:400 1.8rem/1 'Figtree',sans-serif;color:var(--brass)}
.lt .lt-acc .lt-tab[aria-expanded="true"],.lt.lt-acc .lt-tab[aria-expanded="true"]{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important;border-left-color:var(--brass)!important}
.lt .lt-acc .lt-tab[aria-expanded="true"] small{color:#e6e3dc!important}
.lt .lt-acc .lt-tab[aria-expanded="true"]::after{content:"\2212";color:#fff}
.lt-acc .lt-panel{margin:-4px 0 4px;border-top:0;border-left:6px solid var(--brass);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.lt-acc .lt-panel .lt-h2{display:none} /* el título ya está en el botón */
.lt-acc .lt-panel .lt-hero__actions .lt-btn{flex:1 1 100%}
.lt-acc .lt-panels{display:none}

/* ===== Servicios en computador: el detalle acompaña al scroll ===== */
/* La lista es larga: al tocar un servicio de abajo, el detalle ya está a la vista y no hay que volver a subir. */
@media (min-width:861px){
	.lt-svc:not(.lt-acc) .lt-panels{position:sticky;top:104px;max-height:calc(100vh - 128px);max-height:calc(100dvh - 128px);overflow-y:auto;overscroll-behavior:contain}
	.admin-bar .lt-svc:not(.lt-acc) .lt-panels{top:136px;max-height:calc(100dvh - 160px)}
}

/* Proveedores: franja clara. El pie de página vuelve a ser blanco con borde rojo (estilo original). */
.lt-prov{background:var(--paper);border-top:0}
