/**
 * ==============================================================================
 * 0xCyberLiTech · CLT1 — EXTENSION LUMINOUS SUPREME BLUEPRINT (HARMONISATION RÈGLE MAÎTRESSE)
 * Zéro composant disparate : 100 % aligné sur clt1-theme.css, clt1-rd.css,
 * clt1-showcase.css, clt1-arch-diagrams.css et clt1-responsive.css.
 * Règle 14.7 · Plafond Volumétrique Strict <= 300 lignes · Zéro Dette
 * ==============================================================================
 */

#ambientConstellationCanvas { position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100vh !important; pointer-events: none !important; z-index: 0 !important; }
.showcase-window-frame { margin-top: 28px !important; margin-bottom: 18px !important; }
.showcase-window-frame + .supreme-card { margin-top: 18px !important; margin-bottom: 48px !important; }

/* 0. Double Sanctuaire Souverain (.twin-command-pod : JARVIS & SOC 100 % Symétriques) */
.twin-sanctuary-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px !important; align-items: stretch !important; }
.twin-command-pod { display: flex !important; flex-direction: column !important; justify-content: space-between !important; padding: 30px !important; height: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
.twin-command-pod > div:first-child { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: 34px 38px 72px 286px 246px !important; row-gap: 14px !important; align-items: start !important; }
.twin-command-pod .pod-header-nodal { height: 34px !important; margin: 0 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; flex-wrap: nowrap !important; }
.twin-command-pod .pod-title { height: 38px !important; margin: 0 !important; display: flex !important; align-items: center !important; font-family: var(--font-body) !important; font-size: 1.38rem !important; font-weight: 800 !important; line-height: 1.2 !important; white-space: nowrap !important; }
.twin-command-pod .pod-lead { height: 72px !important; margin: 0 !important; font-size: 0.92rem !important; line-height: 1.55 !important; overflow: hidden !important; }
.twin-command-pod .showcase-window-frame { height: 286px !important; margin: 0 !important; background: #060913 !important; overflow: hidden !important; box-sizing: border-box !important; }
.twin-command-pod .window-screen-body { height: 286px !important; background: #060913 !important; display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; }
.twin-command-pod .window-screen-body img { width: 100% !important; height: 286px !important; object-fit: contain !important; object-position: center !important; background: #060913 !important; display: block !important; }
.twin-command-pod .pod-features-list { height: 246px !important; margin: 0 !important; padding: 0 !important; display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: repeat(4, 54px) !important; row-gap: 10px !important; }
.twin-command-pod .pod-features-list li { position: relative !important; height: 54px !important; padding: 6px 12px 6px 46px !important; background: #f8fafc !important; border: 1px solid #cbd5e1 !important; border-radius: 10px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: flex-start !important; gap: 2px !important; font-size: 0.81rem !important; line-height: 1.3 !important; color: #475569 !important; white-space: nowrap !important; overflow: hidden !important; box-sizing: border-box !important; }
.twin-command-pod .pod-features-list li > i { position: absolute !important; left: 10px !important; top: 50% !important; transform: translateY(-50%) !important; width: 26px !important; height: 26px !important; border-radius: 7px !important; background: #ffffff !important; border: 1px solid #cbd5e1 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: 0.82rem !important; }
.twin-command-pod .pod-features-list li > strong { display: block !important; font-size: 0.85rem !important; font-weight: 800 !important; color: #0f172a !important; line-height: 1.25 !important; }
.twin-command-pod .pod-footer-actions { height: 66px !important; margin-top: 20px !important; padding-top: 20px !important; border-top: 1px solid #e2e8f0 !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; align-items: center !important; box-sizing: border-box !important; }
.twin-command-pod .pod-footer-actions .btn-voice-unified, .twin-command-pod .pod-footer-actions .btn-supreme-secondary { height: 46px !important; width: 100% !important; padding: 0 16px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; white-space: nowrap !important; box-sizing: border-box !important; }

/* 1. Tuiles 3 Colonnes (.split-branch-grid / .split-branch-card) */
.split-branch-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important; align-items: stretch !important; }
.split-branch-card { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: 28px 46px 1fr 42px !important; row-gap: 10px !important; align-items: start !important; padding: 24px !important; height: 100% !important; min-width: 0 !important; overflow: hidden !important; box-sizing: border-box !important; }
.split-branch-card .branch-badge { height: 28px !important; padding: 0 10px !important; margin: 0 !important; display: inline-flex !important; align-items: center !important; justify-self: start !important; font-size: 0.72rem !important; white-space: nowrap !important; box-sizing: border-box !important; }
.split-branch-card h3, .split-branch-card h4, .split-branch-card .split-branch-title { height: 46px !important; min-height: 46px !important; margin: 0 !important; display: flex !important; align-items: center !important; font-family: var(--font-body) !important; font-size: 1.0rem !important; font-weight: 800 !important; line-height: 1.25 !important; color: var(--text-headline) !important; white-space: normal !important; min-width: 0 !important; }
.split-branch-card p, .split-branch-card .split-branch-desc { margin: 0 !important; font-size: 0.88rem !important; line-height: 1.6 !important; color: var(--text-body) !important; align-self: start !important; min-width: 0 !important; }
.split-branch-card .split-branch-footer { height: 42px !important; padding-top: 12px !important; margin: 0 !important; border-top: 1px solid rgba(15, 23, 42, 0.08) !important; display: flex !important; align-items: center !important; gap: 8px !important; font-size: 0.74rem !important; white-space: nowrap !important; min-width: 0 !important; box-sizing: border-box !important; }

/* 2. Grille 2x2 Symétrique Sans Débordement (.arch-flow-pipeline / .arch-flow-node) */
.arch-flow-pipeline { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: 1fr !important; gap: 20px !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; align-items: stretch !important; }
.arch-flow-node:nth-child(2n)::after { display: none !important; }
.arch-flow-node { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: 36px 1fr 42px !important; row-gap: 12px !important; align-items: stretch !important; padding: 22px 24px 20px 24px !important; height: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
.arch-flow-node .arch-node-top { height: 36px !important; margin: 0 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; }
.arch-flow-node > div:nth-child(2) { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: 18px 30px 1fr !important; row-gap: 6px !important; align-items: start !important; min-width: 0 !important; }
.arch-flow-node .arch-node-stage-num { height: 18px !important; margin: 0 !important; display: flex !important; align-items: center !important; }
.arch-flow-node .arch-node-title { height: 30px !important; min-height: 30px !important; margin: 0 !important; display: flex !important; align-items: center !important; font-family: var(--font-body) !important; font-size: 1.05rem !important; line-height: 1.25 !important; white-space: nowrap !important; min-width: 0 !important; }
.arch-flow-node .arch-node-desc { margin: 0 !important; min-height: 0 !important; align-self: start !important; line-height: 1.6 !important; }
.arch-flow-node .arch-node-tags { height: 42px !important; padding-top: 12px !important; margin: 0 !important; border-top: 1px solid rgba(15, 23, 42, 0.08) !important; display: grid !important; grid-auto-flow: column !important; grid-auto-columns: minmax(0, 1fr) !important; gap: 8px !important; align-items: center !important; min-width: 0 !important; box-sizing: border-box !important; }
.arch-flow-node .arch-tag-pill { height: 28px !important; padding: 0 6px !important; font-size: 0.70rem !important; width: 100% !important; min-width: 0 !important; white-space: nowrap !important; justify-content: center !important; box-sizing: border-box !important; }

/* 3. Grilles 6 Caissons (3x2), 5 Bus (3+2 Pleine Largeur) & 4 Phases (2x2) */
.bp-caissons-grid-6 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 24px; align-items: stretch; }
.bp-buses-grid-5 { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; margin-bottom: 24px; align-items: stretch; }
.bp-buses-grid-5 > .arch-phase-card:nth-child(-n+3) { grid-column: span 2; }
.bp-buses-grid-5 > .arch-phase-card:nth-child(n+4) { grid-column: span 3; }
.arch-phases-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; }
.arch-phase-card, .arch-phase-card.is-interactive { cursor: pointer; position: relative; display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: 32px 30px 1fr !important; row-gap: 10px !important; align-items: start !important; padding: 20px 22px !important; height: 100% !important; min-width: 0 !important; background: #f8fafc !important; border: 1.5px solid #cbd5e1 !important; border-radius: 16px !important; box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important; box-sizing: border-box !important; }
.arch-phase-card .arch-phase-card-header { height: 32px !important; margin: 0 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; }
.arch-phase-card .arch-phase-card-header > i { width: 32px !important; height: 32px !important; border-radius: 9px !important; background: #ffffff !important; border: 1px solid #cbd5e1 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: 0.92rem !important; }
.arch-phase-card .arch-phase-num { padding: 4px 10px !important; border-radius: 7px !important; border: 1px solid rgba(15, 23, 42, 0.12) !important; }
.arch-phase-card .arch-phase-name { height: 30px !important; margin: 0 !important; display: flex !important; align-items: center !important; font-family: var(--font-body) !important; font-size: 0.98rem !important; font-weight: 800 !important; line-height: 1.25 !important; white-space: nowrap !important; }
.arch-phase-card .arch-phase-desc { margin: 0 !important; align-self: start !important; font-size: 0.85rem !important; line-height: 1.58 !important; }
.arch-phase-card.is-interactive.is-active { border: 2px solid #0284c7 !important; background: linear-gradient(135deg, #ffffff 0%, #f0f9ff 100%) !important; box-shadow: 0 10px 24px rgba(2, 132, 199, 0.16) !important; transform: translateY(-2px); }

/* --- Triptyque Mobile Souverain --- */
.bp-mobile-triptych { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 24px; background: linear-gradient(180deg, #0b1120 0%, #0f172a 100%); align-items: stretch; }
.bp-mobile-card { background: rgba(15, 23, 42, 0.85); border: 1px solid rgba(56, 189, 248, 0.28); border-radius: 16px; overflow: hidden; box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45); display: grid; grid-template-rows: 38px 1fr; }
.bp-mobile-card-head { height: 38px; padding: 0 14px; background: rgba(2, 132, 199, 0.14); border-bottom: 1px solid rgba(56, 189, 248, 0.2); font-family: var(--font-mono); font-size: 0.74rem; font-weight: 700; color: #38bdf8; display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; }
.bp-mobile-card img { width: 100%; height: auto; display: block; cursor: default !important; }
.clt-lightbox-modal { display: none !important; }
@media (max-width: 1100px) { .split-branch-grid, .bp-caissons-grid-6, .bp-buses-grid-5, .bp-mobile-triptych, .twin-sanctuary-grid { grid-template-columns: 1fr !important; } }
@media print { .clt-navbar, .mobile-nav-drawer, .mobile-nav-backdrop, .btn-voice-unified, .jarvis-holo-modal, .luminous-ambient-bg { display: none !important; } body { background: #ffffff !important; color: #0f172a !important; } .arch-diagram-card, .arch-flow-node, .supreme-card, .specs-table-wrap { break-inside: avoid; box-shadow: none !important; } }
