/*
  Estilos compartidos por todos los componentes de la libreria.
  Se cargan dentro del Shadow DOM, asi que NO heredan las clases del sitio.
  Solo heredan propiedades marcadas como `inherit` y las variables del sitio.
*/

*,
*::before,
*::after {
  box-sizing: border-box;
}

:host {
  display: block;
  /* Hereda la tipografia del contenedor de Webflow donde se coloque */
  font-family: inherit;
  color: inherit;
}

.cc-banner {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: var(--cc-banner-radius, 0px);
  color: inherit;
  text-decoration: none;
}

.cc-banner__picture {
  display: block;
  width: 100%;
  /* Mobile primero */
  aspect-ratio: var(--cc-banner-ratio-mobile, auto);
}

.cc-banner__image {
  display: block;
  width: 100%;
  /*
    Con proporcion definida la imagen llena la caja; con `auto` el alto
    lo manda la imagen y no se recorta nada.
  */
  height: 100%;
  object-fit: var(--cc-banner-fit, cover);
  -webkit-user-drag: none;
  user-select: none;
}

.cc-banner__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 120px;
  aspect-ratio: var(--cc-banner-ratio-mobile, auto);
  font-size: 0.875rem;
  color: #6b6b6b;
  background: repeating-linear-gradient(
    45deg,
    #ededed,
    #ededed 10px,
    #e4e4e4 10px,
    #e4e4e4 20px
  );
}

.cc-banner:focus-visible {
  outline: 2px solid var(--cc-focus, #0f55a7);
  outline-offset: 3px;
}

@media (min-width: 768px) {
  .cc-banner__picture,
  .cc-banner__placeholder {
    aspect-ratio: var(--cc-banner-ratio-desktop, auto);
  }
}
