/* ANALITICA-DOBLE-AD1 — banner/panel de consentimiento v2 (solo se carga con CONSENT_V2_ENABLED).
   Clases propias ctc-*: no añaden utilidades a Tailwind, así tailwind.css no cambia. */

.ctc-banner[hidden] { display: none; }
.ctc-banner-title { font-weight: 600; color: inherit; margin-bottom: 0.25rem; }
.ctc-link { color: #0f766e; text-decoration: underline; text-underline-offset: 2px; }   /* 4.5:1+ sobre el fondo menta */
.dark .ctc-link { color: #5eead4; }
.ctc-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; flex-shrink: 0; }
.ctc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; min-width: 9.5rem;
           font-weight: 600; background: transparent; color: inherit; cursor: pointer; text-decoration: none; }
.ctc-btn:focus-visible, .ctc-panel a:focus-visible, .ctc-panel input:focus-visible, .ctc-panel h2:focus-visible {
  outline: 3px solid #14b8a6; outline-offset: 2px; }

.ctc-panel { position: fixed; inset: 0; z-index: 60; background: rgba(10, 22, 40, 0.55); padding: 1rem;
             display: none; align-items: center; justify-content: center; }
.ctc-panel.is-open { display: flex; }
html:not(.ctc-js) .ctc-panel:target { display: flex; }   /* sin JS (ct-consent.js pone .ctc-js): el enlace abre el panel */
.ctc-panel-box { background: #ffffff; color: #1e293b; border-radius: 0.75rem; max-width: 34rem; width: 100%;
                 max-height: calc(100vh - 2rem); overflow-y: auto; padding: 1.5rem; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25); }
.dark .ctc-panel-box { background: #0f2438; color: #f1f5f9; }
.ctc-panel-box h2 { font-size: 1.25rem; font-weight: 700; margin-bottom: 1rem; }
.ctc-category { border: 1px solid #d7e0da; border-radius: 0.5rem; padding: 0.875rem 1rem; margin-bottom: 0.75rem; }
.dark .ctc-category { border-color: rgba(255, 255, 255, 0.15); }
.ctc-category-head { display: flex; align-items: center; gap: 0.625rem; font-weight: 600; }
.ctc-category-head input { width: 1.25rem; height: 1.25rem; accent-color: #14b8a6; }
.ctc-category p { font-size: 0.875rem; margin-top: 0.375rem; color: #475569; }
.dark .ctc-category p { color: #cbd5e1; }
.ctc-always { margin-left: auto; font-size: 0.75rem; font-weight: 500; color: #57685f; }
.dark .ctc-always { color: #94a3b8; }
.ctc-panel-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1rem; }
.ctc-panel-more { font-size: 0.8125rem; margin-top: 1rem; }
.ctc-panel-more a { color: #0f766e; text-decoration: underline; }
.dark .ctc-panel-more a { color: #5eead4; }

@media (max-width: 640px) {
  .ctc-actions, .ctc-panel-actions { flex-direction: column; align-items: stretch; width: 100%; }
  .ctc-btn { min-width: 0; width: 100%; }
  .ctc-panel { align-items: flex-end; padding: 0; }
  .ctc-panel-box { border-radius: 0.75rem 0.75rem 0 0; max-height: 90vh; }
}
@media (prefers-reduced-motion: reduce) { .ctc-panel, .ctc-panel-box { transition: none; } }
