/* ── TABS ── */
.main-tab { transition:all 0.25s; cursor:pointer; white-space:nowrap; }
.main-tab.active { color:#003F87!important; border-bottom:3px solid #003F87; background:rgba(0,63,135,0.06); }
.tab-pane { display:none; }
.tab-pane.active { display:block; }

/* ── FAILLE CARD ── */
.faille-card { transition:all 0.35s cubic-bezier(0.4,0,0.2,1); }
.faille-card:hover { transform:translateY(-5px); box-shadow:0 24px 60px rgba(0,63,135,0.14)!important; }

/* ── ACCORDION ── */
.accordion-content { overflow:hidden; transition:max-height 0.45s cubic-bezier(0.4,0,0.2,1),opacity 0.35s ease; }
.accordion-content.closed { max-height:0; opacity:0; }
.accordion-content.open   { max-height:600px; opacity:1; }
.accordion-icon { transition:transform 0.3s; }
.accordion-header.open .accordion-icon { transform:rotate(180deg); }

/* ── TIMELINE DOT ── */
.timeline-dot { position:relative; }
.timeline-dot::before { content:''; position:absolute; left:50%; top:100%; width:2px; height:100%; background:linear-gradient(180deg,#003F87,transparent); transform:translateX(-50%); }
.timeline-dot:last-child::before { display:none; }

/* ── COMPARISON TABLE ── */
.comp-table td, .comp-table th { padding:12px 16px; border-bottom:1px solid rgba(0,63,135,0.06); font-size:13px; }
.comp-table th { font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:0.05em; color:#003F87; background:rgba(0,63,135,0.05); }
.comp-table tr:hover td { background:rgba(0,63,135,0.03); }

/* ── STAT RING ── */
.stat-ring { width:80px; height:80px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-weight:700; font-size:22px; }

/* ── RISK MATRIX ── */
.risk-cell { width:28px; height:28px; border-radius:6px; transition:transform 0.2s; }
.risk-cell:hover { transform:scale(1.3); }
.risk-high { background:#CE1126; }
.risk-med  { background:#EA580C; }
.risk-low  { background:#EAB308; }
.risk-min  { background:#22C55E; }

/* ── SCROLL REVEAL ── */
.reveal { opacity:0; transform:translateY(20px); transition:opacity 0.6s ease,transform 0.6s ease; }
.reveal.visible { opacity:1; transform:none; }

/* ── PROGRESS BARS ── */
.prog-bar  { height:8px; border-radius:4px; overflow:hidden; background:rgba(0,63,135,0.1); }
.prog-fill { height:100%; border-radius:4px; transition:width 1.5s cubic-bezier(0.4,0,0.2,1); }

/* ── FIX: transparent blocks ── */
.faille-card.glass {
  background: rgba(255,255,255,0.92) !important;
}
.glass.reveal {
  background: rgba(255,255,255,0.92) !important;
}
/* Fallback: ensure active tab content is always visible */
.tab-pane.active .reveal {
  opacity: 1 !important;
  transform: none !important;
}
