.jj-cookie-banner { 
  position: fixed;
  z-index: 100000;
  right: max(1.25rem, 3vw);
  bottom: 1.25rem;
  left: max(1.25rem, 3vw);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
  width: min(1120px, calc(100% - 2 * max(1.25rem, 3vw)));
  margin-inline: auto;
  padding: 1.5rem 1.7rem;
  border-top: 3px solid var(--red);
  border-radius: 1rem;
  background: #080808;
  box-shadow: 0 1rem 3rem #0009;
  color: #fff;
  animation: jj-cookie-in .45s cubic-bezier(.22, 1, .36, 1) 5s both;
}

/* Complianz usa el mismo lenguaje visual del aviso personalizado del tema. */
.cmplz-cookiebanner {
  right: max(1.25rem, 3vw) !important;
  bottom: 1.25rem !important;
  left: max(1.25rem, 3vw) !important;
  width: min(1120px, calc(100% - 2 * max(1.25rem, 3vw))) !important;
  margin-inline: auto !important;
  border: 0 !important;
  border-top: 3px solid var(--red, #a81d24) !important;
  border-radius: 1rem !important;
  background: #080808 !important;
  box-shadow: 0 1rem 3rem #0009 !important;
  color: #fff !important;
  animation: jj-cookie-in .45s cubic-bezier(.22, 1, .36, 1) 5s both !important;
}
.cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-links,
.cmplz-cookiebanner .cmplz-category,
.cmplz-cookiebanner .cmplz-description { color: #fff !important; }
.cmplz-cookiebanner .cmplz-message { color: #d7d0cc !important; line-height: 1.65 !important; }
.cmplz-cookiebanner .cmplz-body { display: block !important; }
.cmplz-cookiebanner .cmplz-message { width: 100% !important; max-width: none !important; text-align: center !important; }
.cmplz-cookiebanner .cmplz-message p { max-width: 820px !important; margin: 0 auto !important; }
.cmplz-cookiebanner .cmplz-buttons { width: 100% !important; margin-top: 1rem !important; justify-content: center !important; }
.cmplz-cookiebanner a { color: var(--yellow, #e6b84d) !important; }
.cmplz-cookiebanner .cmplz-btn { border-radius: .35rem !important; font-weight: 800 !important; }
.cmplz-cookiebanner .cmplz-accept { border-color: var(--red, #a81d24) !important; background: var(--red, #a81d24) !important; }
.cmplz-cookiebanner .cmplz-deny,
.cmplz-cookiebanner .cmplz-view-preferences { border-color: #ffffff55 !important; background: transparent !important; color: #fff !important; }

.jj-cookie-banner[hidden] { display: none; }
.jj-cookie-banner__eyebrow { margin: 0 0 .35rem; color: var(--yellow); font-size: .65rem; font-weight: 900; letter-spacing: .25em; text-transform: uppercase; }
.jj-cookie-banner h2 { margin: 0 0 .55rem; color: #fff; font: 800 clamp(1.35rem, 2.3vw, 2rem)/1 var(--display); letter-spacing: -.06em; text-transform: uppercase; }
.jj-cookie-banner__copy > p:not(.jj-cookie-banner__eyebrow) { max-width: 760px; margin: 0; color: #d7d0cc; font-size: .78rem; line-height: 1.65; }
.jj-cookie-banner a { color: var(--yellow); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.jj-cookie-banner__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; min-width: 13rem; }
.jj-cookie-button { padding: .75rem .95rem; border: 1px solid #ffffff55; border-radius: .35rem; background: transparent; color: #fff; font: 800 .65rem var(--body); letter-spacing: .04em; text-transform: uppercase; cursor: pointer; transition: border-color .2s ease, background-color .2s ease, transform .2s ease; }
.jj-cookie-button:hover, .jj-cookie-button:focus-visible { border-color: var(--yellow); transform: translateY(-2px); }
.jj-cookie-button--primary { border-color: var(--red); background: var(--red); }
.jj-cookie-button--primary:hover, .jj-cookie-button--primary:focus-visible { border-color: #d34a3e; background: #c62d20; }
.jj-cookie-button--text { width: 100%; border-color: transparent; color: var(--yellow); }
.jj-cookie-preferences { display: grid; gap: .65rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #ffffff22; }
.jj-cookie-preferences[hidden] { display: none; }
.jj-cookie-preferences label { display: grid; grid-template-columns: auto 1fr; gap: .45rem .6rem; align-items: center; color: #fff; font-size: .72rem; font-weight: 800; }
.jj-cookie-preferences input { accent-color: var(--red); }
.jj-cookie-preferences small { grid-column: 2; margin-top: -.35rem; color: #a9a09b; font-size: .68rem; font-weight: 400; }
@keyframes jj-cookie-in { from { opacity: 0; transform: translateY(1.5rem) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 768px) {
  .jj-cookie-banner { display: block; right: 1rem; bottom: 1rem; left: 1rem; width: auto; padding: 1.25rem; }
  .jj-cookie-banner__actions { justify-content: stretch; min-width: 0; margin-top: 1.1rem; }
  .jj-cookie-button { flex: 1 1 calc(50% - .55rem); }
  .jj-cookie-button--text { flex-basis: 100%; }
  .cmplz-cookiebanner { right: 1rem !important; bottom: 1rem !important; left: 1rem !important; width: auto !important; }
  .cmplz-cookiebanner .cmplz-message p { max-width: none !important; }
}
@media (prefers-reduced-motion: reduce) { .jj-cookie-banner { animation: none; } }
