/* =========================================================
   COMPLIANZ (Cookie banner) – Ajuste visual a la marca
   Pegar al FINAL del CSS (para que gane especificidad)
========================================================= */

/* Caja principal */
.cmplz-cookiebanner.cmplz-show {
  background: var(--color-bg) !important;
  color: var(--color-text) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-md) !important;
  overflow: hidden; /* para respetar radios */
}

/* Texto general del banner */
.cmplz-cookiebanner,
.cmplz-cookiebanner * {
  font-family: inherit !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.cmplz-cookiebanner .cmplz-message {
  color: var(--color-muted) !important;
  line-height: var(--line-height-base) !important;
}

/* Header: título + cerrar */
.cmplz-cookiebanner .cmplz-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  background: var(--color-bg) !important;
}

.cmplz-cookiebanner .cmplz-title {
  display: block !important; /* IMPORTANT: evita display:none por defecto en móvil */
  flex: 1 1 auto !important;
  font-weight: 800 !important;
  color: var(--color-text) !important;
  font-size: 1.05rem !important;
  padding-right: 40px; /* hueco para la X */
}

/* X de cierre */
.cmplz-cookiebanner .cmplz-close {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  border: 1px solid var(--color-border) !important;
  background: var(--color-surface) !important;
  color: var(--color-muted) !important;
  cursor: pointer !important;
}

.cmplz-cookiebanner .cmplz-close:hover {
  color: var(--color-text) !important;
  background: #fff !important;
}

/* Divisores */
.cmplz-cookiebanner .cmplz-divider {
  background: var(--color-border) !important;
  height: 1px !important;
  opacity: 1 !important;
}

/* Categorías (details/summary) */
.cmplz-cookiebanner .cmplz-categories {
  padding: 0 16px 6px !important;
}

.cmplz-cookiebanner details.cmplz-category {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  background: var(--color-surface) !important;
  margin: 10px 0 !important;
  overflow: hidden !important;
}

.cmplz-cookiebanner details.cmplz-category summary {
  cursor: pointer !important;
  padding: 12px 12px !important;
  list-style: none !important;
}

.cmplz-cookiebanner .cmplz-category-title {
  font-weight: 700 !important;
  color: var(--color-text) !important;
}

.cmplz-cookiebanner .cmplz-description {
  padding: 0 12px 12px !important;
  color: var(--color-muted) !important;
}

/* “Siempre activo” */
.cmplz-cookiebanner .cmplz-always-active {
  color: var(--color-muted) !important;
  font-size: 0.9rem !important;
}

/* Links de info (Administrar opciones, etc.) */
.cmplz-cookiebanner .cmplz-links ul,
.cmplz-cookiebanner .cmplz-documents ul {
  padding-left: 16px !important;
  margin: 10px 0 0 !important;
}

.cmplz-cookiebanner a.cmplz-link {
  color: var(--color-link) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.cmplz-cookiebanner a.cmplz-link:hover {
  color: var(--color-link-hover) !important;
  text-decoration: underline !important;
}

/* Botonera */
.cmplz-cookiebanner .cmplz-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 14px 16px 16px !important;
}

.cmplz-cookiebanner .cmplz-btn,
.cmplz-cookiebanner button.cmplz-btn {
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--color-border) !important;
  background: var(--color-surface) !important;
  color: var(--color-text) !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
  box-shadow: var(--shadow-sm) !important;
  transition:
    transform 0.05s ease,
    filter 0.15s ease;
}

.cmplz-cookiebanner .cmplz-btn:hover,
.cmplz-cookiebanner button.cmplz-btn:hover {
  filter: brightness(0.98);
}

.cmplz-cookiebanner .cmplz-btn:active,
.cmplz-cookiebanner button.cmplz-btn:active {
  transform: translateY(1px);
}

/* Primario: Aceptar */
.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background: var(--color-brand-2) !important;
  border-color: var(--color-brand-2) !important;
  color: #fff !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
  filter: brightness(0.95);
}

/* Denegar: estilo “outline” */
.cmplz-cookiebanner .cmplz-btn.cmplz-deny {
  background: #fff !important;
}

/* Móvil: evitar que Complianz oculte el título */
@media (max-width: 425px) {
  /* Sobrescribe el display:none nativo */
  .cmplz-cookiebanner .cmplz-header .cmplz-title {
    display: block !important;
  }

  /* Banner más “mobile friendly” */
  .cmplz-cookiebanner.cmplz-show {
    width: calc(100% - 24px) !important;
    max-width: 420px !important;
    margin: 0 auto !important;
  }

  /* Botones a columna */
  .cmplz-cookiebanner .cmplz-buttons {
    flex-direction: column !important;
  }

  .cmplz-cookiebanner .cmplz-btn,
  .cmplz-cookiebanner button.cmplz-btn {
    width: 100% !important;
    justify-content: center !important;
  }
}
