/* ============================================================
   BCI DISCLAIMER: PERFECT 50/50 SPLIT (35% HEIGHT LIMIT)
   ============================================================ */

.consent-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  z-index: 999999;
  background: rgba(13, 27, 62, 0.1); 
  backdrop-filter: blur(25px) saturate(140%);
  -webkit-backdrop-filter: blur(25px) saturate(140%);
  display: flex;
  align-items: flex-end; 
  justify-content: center;
  opacity: 1;
  transition: opacity 0.5s ease;
  overflow: hidden;
}

.consent-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}

.consent-card {
  background: linear-gradient(135deg, #0d1b3e 0%, #162a5a 100%);
  width: 100%;
  height: 40vh; /* LOCKED PERCENTAGE */
  height: 40dvh;
  border-radius: 40px 40px 0 0;
  box-shadow: 0 -20px 100px rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  transform: translateY(0);
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 20px 40px 10px; /* Tight vertical, generous horizontal */
  color: white;
  overflow: hidden;
}

.consent-overlay.hidden .consent-card {
  transform: translateY(100%);
}

/* Header */
.consent-card h2 {
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--saffron);
  text-align: center;
  margin-bottom: 12px;
  text-wrap: balance;
}

/* PERFECT 50/50 SPLIT */
.consent-body {
  display: grid;
  grid-template-columns: 1fr 1fr; /* TWO EXACT HALVES */
  gap: 60px; /* Wide gap to maintain separation while filling width */
  flex: 1;
  min-height: 0;
  overflow-y: auto; /* ALLOW SCROLLER */
}

.consent-col p, .consent-col li {
  font-family: var(--font-sans);
  font-size: 0.7rem; /* Compact for 2-column fit at 35% height */
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 6px; /* Tightened spacing */
  text-align: justify;
  hyphens: auto;
}

.consent-col strong {
  color: white;
  font-weight: 700;
}

.consent-col .privacy-link {
  color: var(--saffron);
  text-decoration: underline;
  font-weight: 700;
}

/* Actions */
.consent-actions {
  display: flex;
  justify-content: center;
  padding: 10px 0 15px;
  background: transparent;
}

.consent-btn {
  background: var(--saffron);
  color: var(--navy);
  font-family: var(--font-sans);
  font-size: 0.85rem;
  font-weight: 700;
  padding: 10px 80px;
  border: none;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.4s ease;
  box-shadow: 0 10px 30px rgba(255, 153, 51, 0.2);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.consent-btn:hover {
  transform: translateY(-2px);
  background: white;
  color: var(--navy);
}

/* Mobile: Adaptive stack */
@media (max-width: 900px) {
  .consent-card {
    height: 75dvh; /* Increased to prevent truncation */
    padding: 24px 20px;
    border-radius: 20px 20px 0 0;
  }
  
  .consent-body {
    grid-template-columns: 1fr;
    gap: 15px;
    overflow-y: auto;
    /* Removed scrollbar-width: none to show it exists */
    padding-bottom: 20px;
  }
  
  .consent-card h2 { font-size: 1.2rem; margin-bottom: 10px; }
  .consent-col p, .consent-col li { 
    font-size: 0.8rem;
    text-align: left;
    margin-bottom: 8px;
  }

  .consent-btn {
    padding: 10px 30px; /* Reduced from 80px for better fit */
    width: 100%; /* Full width on mobile for accessibility */
  }
}
