/* Legal Works pruebas theme scope v173.
   Acota temas a Home/Dashboard, protege login y restaura legibilidad del menu lateral. */

html[data-lw-route="login"] body,
html[data-lw-route="login"] app-root,
html[data-lw-route="login"] app-pages {
  background: initial;
}

html[data-lw-route="login"] .lw-theme-selector {
  display: none !important;
}

/* En rutas distintas de home no se fuerzan colores del motor de temas. */
html:not([data-lw-route="home"]) .lw-theme-selector {
  display: none !important;
}

/* Menu lateral: no ocultar ni apagar funciones ya renderizadas por Angular. */
html[data-lw-route="home"][data-lw-theme-engine="on"] mat-sidenav,
html[data-lw-route="home"][data-lw-theme-engine="on"] .mat-drawer,
html[data-lw-route="home"][data-lw-theme-engine="on"] .mat-drawer-inner-container,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="sidebar"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="sidenav"] {
  background: var(--lw-sidebar-bg) !important;
  color: var(--lw-text) !important;
}

html[data-lw-route="home"][data-lw-theme-engine="on"] mat-sidenav a,
html[data-lw-route="home"][data-lw-theme-engine="on"] mat-sidenav button,
html[data-lw-route="home"][data-lw-theme-engine="on"] mat-sidenav span,
html[data-lw-route="home"][data-lw-theme-engine="on"] mat-sidenav label,
html[data-lw-route="home"][data-lw-theme-engine="on"] .mat-drawer a,
html[data-lw-route="home"][data-lw-theme-engine="on"] .mat-drawer button,
html[data-lw-route="home"][data-lw-theme-engine="on"] .mat-drawer span,
html[data-lw-route="home"][data-lw-theme-engine="on"] .mat-drawer label,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="sidebar"] a,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="sidebar"] button,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="sidebar"] span,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="sidenav"] a,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="sidenav"] button,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="sidenav"] span {
  color: var(--lw-text) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html[data-lw-route="home"][data-lw-theme-engine="on"] mat-sidenav i,
html[data-lw-route="home"][data-lw-theme-engine="on"] mat-sidenav .mat-icon,
html[data-lw-route="home"][data-lw-theme-engine="on"] .mat-drawer i,
html[data-lw-route="home"][data-lw-theme-engine="on"] .mat-drawer .mat-icon,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="sidebar"] i,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="sidebar"] .mat-icon {
  color: var(--lw-primary) !important;
  opacity: 1 !important;
}

/* Hero: aplicar la imagen de tema al contenedor principal sin crear cajas internas. */
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="hero"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="Hero"] {
  background-image: var(--lw-hero-overlay), var(--lw-hero-image) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="hero"] > *,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="Hero"] > * {
  background-color: transparent !important;
}

html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="hero"] h1,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="hero"] h2,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="hero"] p,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="hero"] span {
  color: var(--lw-text-on-hero) !important;
}

/* Carrusel: neutralizar los rectangulos/masks que aparecian encima de tarjetas. */
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carousel"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="Carousel"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carrusel"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="Carrusel"] {
  background: var(--lw-carousel-bg) !important;
}

html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carousel"]::before,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carousel"]::after,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="Carousel"]::before,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="Carousel"]::after,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carrusel"]::before,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carrusel"]::after,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="Carrusel"]::before,
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="Carrusel"]::after {
  opacity: .18 !important;
  pointer-events: none !important;
}

/* Cualquier overlay interno rectangular dentro del carrusel se vuelve transparente. */
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carousel"] [class*="mask"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carousel"] [class*="Mask"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carousel"] [class*="overlay"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carousel"] [class*="Overlay"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carrusel"] [class*="mask"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carrusel"] [class*="overlay"] {
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carousel"] [class*="card"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carousel"] [class*="Card"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carousel"] [class*="slide"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carousel"] [class*="module"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carrusel"] [class*="card"],
html[data-lw-route="home"][data-lw-theme-engine="on"] [class*="carrusel"] [class*="slide"] {
  background: var(--lw-carousel-card-bg) !important;
  color: var(--lw-text) !important;
  border-color: var(--lw-carousel-card-border) !important;
}

/* En tema claro se permite claridad, pero sin cubrir las tarjetas con bloques blancos. */
html[data-theme="legalworks-light"][data-lw-route="home"] [class*="carousel"]::before,
html[data-theme="legalworks-light"][data-lw-route="home"] [class*="carousel"]::after,
html[data-theme="legalworks-light"][data-lw-route="home"] [class*="carrusel"]::before,
html[data-theme="legalworks-light"][data-lw-route="home"] [class*="carrusel"]::after {
  opacity: .08 !important;
}

html[data-theme="legalworks-light"][data-lw-route="home"] [class*="carousel"] [class*="mask"],
html[data-theme="legalworks-light"][data-lw-route="home"] [class*="carousel"] [class*="overlay"],
html[data-theme="legalworks-light"][data-lw-route="home"] [class*="carrusel"] [class*="mask"],
html[data-theme="legalworks-light"][data-lw-route="home"] [class*="carrusel"] [class*="overlay"] {
  background: transparent !important;
}

/* Selector de tema siempre visible en home, nunca dentro del login. */
html[data-lw-route="home"] .lw-theme-selector {
  display: inline-flex !important;
}
